From 22cf8ab600c71c9e61bc2d74da9b31b3a208eafc Mon Sep 17 00:00:00 2001 From: kat witch Date: Wed, 24 Mar 2021 01:06:16 +0000 Subject: [PATCH] swayidle, gammastep, backups, base16 wip, weechat, xdg --- config/profiles/common/nixos/nix.nix | 1 + config/profiles/gui/home/default.nix | 2 + config/profiles/gui/home/email.nix | 2 +- config/profiles/gui/home/firefox/default.nix | 2 - config/profiles/gui/home/kitty.nix | 26 +++--- config/profiles/gui/home/mpv.nix | 15 +++ config/profiles/gui/home/music.nix | 11 +++ config/profiles/gui/home/packages.nix | 10 +- config/profiles/gui/home/weechat.nix | 93 +++++++++++++++++++ config/profiles/kat/home/base16.nix | 14 +++ config/profiles/kat/home/default.nix | 1 + config/profiles/kat/home/git.nix | 4 +- config/profiles/kat/home/kitty.nix | 3 +- config/profiles/kat/home/packages.nix | 2 +- config/profiles/kat/home/tmux.nix | 63 +++++++------ config/profiles/kat/home/vim/vimrc.nix | 3 +- config/profiles/kat/home/xdg.nix | 17 +++- config/profiles/kat/home/zsh/default.nix | 2 +- config/profiles/kat/nixos.nix | 2 + config/profiles/sway/home/default.nix | 2 +- config/profiles/sway/home/gammastep.nix | 11 +++ config/profiles/sway/home/grimshot.sh | 2 +- config/profiles/sway/home/sway.nix | 20 +++- config/profiles/sway/home/swayidle.nix | 26 ++++++ config/profiles/sway/home/waybar/default.nix | 11 ++- .../profiles/sway/home/waybar/waybar.css.nix | 4 +- modules/home/default.nix | 2 + modules/nixos/deploy/default.nix | 4 +- pkgs/default.nix | 20 ++-- 29 files changed, 296 insertions(+), 79 deletions(-) create mode 100644 config/profiles/gui/home/mpv.nix create mode 100644 config/profiles/gui/home/weechat.nix create mode 100644 config/profiles/kat/home/base16.nix create mode 100644 config/profiles/sway/home/gammastep.nix create mode 100644 config/profiles/sway/home/swayidle.nix diff --git a/config/profiles/common/nixos/nix.nix b/config/profiles/common/nixos/nix.nix index 67bdcea3..3a25cf1b 100644 --- a/config/profiles/common/nixos/nix.nix +++ b/config/profiles/common/nixos/nix.nix @@ -5,6 +5,7 @@ boot.loader.systemd-boot.configurationLimit = 8; nixpkgs.config = { allowUnfree = true; }; + nix = { nixPath = [ "nixpkgs=${sources.nixpkgs}" diff --git a/config/profiles/gui/home/default.nix b/config/profiles/gui/home/default.nix index 56949b81..a4e25193 100644 --- a/config/profiles/gui/home/default.nix +++ b/config/profiles/gui/home/default.nix @@ -7,7 +7,9 @@ ./packages.nix ./email.nix ./gpg.nix + ./weechat.nix ./gtk.nix ./music.nix + ./mpv.nix ]; } diff --git a/config/profiles/gui/home/email.nix b/config/profiles/gui/home/email.nix index b40a16f7..e73a2c08 100644 --- a/config/profiles/gui/home/email.nix +++ b/config/profiles/gui/home/email.nix @@ -16,7 +16,7 @@ realName = "kat witch"; userName = "kat@kittywit.ch"; passwordCommand = '' - bitw -p gpg://${ + ${pkgs.arc.pkgs.rbw-bitw}/bin/bitw -p gpg://${ ../../../private/files/bitw/master.gpg } get "kittywitch email"''; msmtp.enable = true; diff --git a/config/profiles/gui/home/firefox/default.nix b/config/profiles/gui/home/firefox/default.nix index 082015f6..239d92fa 100644 --- a/config/profiles/gui/home/firefox/default.nix +++ b/config/profiles/gui/home/firefox/default.nix @@ -65,8 +65,6 @@ in { userChrome = import ./userChrome.css.nix { profile = "lewd"; }; }; }; - package = - pkgs.wrapFirefox pkgs.firefox-unwrapped { forceWayland = true; }; }; home.file.".config/tridactyl/tridactylrc".source = ./tridactylrc; diff --git a/config/profiles/gui/home/kitty.nix b/config/profiles/gui/home/kitty.nix index 4b06b929..78cc8a3f 100644 --- a/config/profiles/gui/home/kitty.nix +++ b/config/profiles/gui/home/kitty.nix @@ -7,19 +7,19 @@ font.name = witch.style.font.name; settings = { font_size = witch.style.font.size; - background = witch.style.base16.color0; - background_opacity = "0.9"; - foreground = witch.style.base16.color7; - selection_background = witch.style.base16.color7; - selection_foreground = witch.style.base16.color0; - url_color = witch.style.base16.color3; - cursor = witch.style.base16.color7; - active_border_color = "#75715e"; - active_tab_background = "#9900ff"; - active_tab_foreground = witch.style.base16.color7; - inactive_tab_background = "#3a3a3a"; - inactive_tab_foreground = "#665577"; - } // witch.style.base16; + # background = witch.style.base16.color0; + background_opacity = "0.95"; + # foreground = witch.style.base16.color7; + # selection_background = witch.style.base16.color7; + # selection_foreground = witch.style.base16.color0; + # url_color = witch.style.base16.color3; + # cursor = witch.style.base16.color7; + # active_border_color = "#75715e"; + # active_tab_background = "#9900ff"; + # active_tab_foreground = witch.style.base16.color7; + # inactive_tab_background = "#3a3a3a"; + # inactive_tab_foreground = "#665577"; + }; # // witch.style.base16; }; }; } diff --git a/config/profiles/gui/home/mpv.nix b/config/profiles/gui/home/mpv.nix new file mode 100644 index 00000000..3a4cd4a5 --- /dev/null +++ b/config/profiles/gui/home/mpv.nix @@ -0,0 +1,15 @@ +{ config, lib, ... }: + +{ + config = lib.mkIf config.deploy.profile.gui { + programs.mpv = { + enable = true; + config = { + profile = "gpu-hq"; + gpu-context = "wayland"; + vo = "gpu"; + hwdec = "auto"; + }; + }; + }; +} diff --git a/config/profiles/gui/home/music.nix b/config/profiles/gui/home/music.nix index 6e306872..8f92a175 100644 --- a/config/profiles/gui/home/music.nix +++ b/config/profiles/gui/home/music.nix @@ -39,6 +39,16 @@ media_library_primary_tag = "album_artist"; search_engine_display_mode = "columns"; }; + bindings = [ + { + key = "+"; + command = "add"; + } + { + key = "-"; + command = "load"; + } + ]; }; programs.beets = { enable = true; @@ -56,6 +66,7 @@ }; services.mpd = { enable = true; + package = pkgs.mpd-youtube-dl; network.startWhenNeeded = true; musicDirectory = "/home/kat/media-share/music"; extraConfig = '' diff --git a/config/profiles/gui/home/packages.nix b/config/profiles/gui/home/packages.nix index 33527bc2..ddf6f6ec 100644 --- a/config/profiles/gui/home/packages.nix +++ b/config/profiles/gui/home/packages.nix @@ -1,11 +1,16 @@ { config, lib, pkgs, ... }: -{ +let + bitw = pkgs.writeShellScriptBin "bitw" '' + ${pkgs.arc.pkgs.rbw-bitw}/bin/bitw -p gpg://${ + ../../../private/files/bitw/master.gpg + } "$@"''; +in { config = lib.mkIf config.deploy.profile.gui { home.packages = with pkgs; [ _1password bitwarden - arc.pkgs.rbw-bitw + bitw mpv element-desktop mumble @@ -13,6 +18,7 @@ niv feh duc + exiftool audacity avidemux vlc diff --git a/config/profiles/gui/home/weechat.nix b/config/profiles/gui/home/weechat.nix new file mode 100644 index 00000000..da6b0e4d --- /dev/null +++ b/config/profiles/gui/home/weechat.nix @@ -0,0 +1,93 @@ +{ config, pkgs, lib, superConfig, ... }: + +{ + config = lib.mkIf config.deploy.profile.gui { + home.file = { + ".local/share/weechat/sec.conf" = lib.mkIf config.deploy.profile.private { + source = "${../../../private/files/weechat/sec.conf}"; + }; + }; + programs.weechat = { + enable = true; + init = lib.mkBefore '' + /server add freenode athame.kittywit.ch/5001 -ssl -autoconnect + /server add espernet athame.kittywit.ch/5001 -ssl -autoconnect + /matrix server add kat kittywit.ch + ''; + packageUnwrapped = pkgs.unstable.weechat-unwrapped; + homeDirectory = "${config.xdg.dataHome}/weechat"; + plugins.python = { + enable = true; + packages = [ "weechat-matrix" ]; + }; + scripts = with pkgs.weechatScripts; [ + go + auto_away + autosort + colorize_nicks + unread_buffer + urlgrab + vimode-git + weechat-matrix + weechat-notify-send + ]; + config = { + weechat = { + look = { mouse = true; }; + bar = { + buflist = { size_max = 24; }; + nicklist = { size_max = 18; }; + }; + }; + urlgrab.default.copycmd = "${pkgs.wl-clipboard}/bin/wl-copy"; + plugins.var.python.vimode.copy_clipboard_cmd = "wl-copy"; + plugins.var.python.vimode.paste_clipboard_cmd = "wl-paste --no-newline"; + plugins.var.python.notify_send.icon = ""; + sec = { + crypt = { + passphrase_command = '' + ${pkgs.rbw-bitw}/bin/bitw -p gpg://${ + ../../../private/files/bitw/master.gpg + } get "weechat"''; + hash_algo = "sha512"; + }; + }; + irc = { + look = { server_buffer = "independent"; }; + server = { + freenode = { + address = "athame.kittywit.ch/5001"; + password = "kat/freenode:\${sec.data.znc}"; + ssl = true; + ssl_verify = false; + autoconnect = true; + }; + espernet = { + address = "athame.kittywit.ch/5001"; + password = "kat/espernet:\${sec.data.znc}"; + ssl = true; + ssl_verify = false; + autoconnect = true; + }; + }; + }; + matrix = { + network = { + max_backlog_sync_events = 30; + lazy_load_room_users = true; + autoreconnect_delay_max = 5; + lag_min-show = 1000; + }; + look = { server_buffer = "independent"; }; + server.kat = { + address = "kittywit.ch"; + device_name = "${superConfig.networking.hostName}/weechat"; + username = "kat"; + password = "\${sec.data.matrix}"; + autoconnect = true; + }; + }; + }; + }; + }; +} diff --git a/config/profiles/kat/home/base16.nix b/config/profiles/kat/home/base16.nix new file mode 100644 index 00000000..e58664c6 --- /dev/null +++ b/config/profiles/kat/home/base16.nix @@ -0,0 +1,14 @@ +{ config, ... }: + +{ + config = lib.mkIf config.deploy.profile.kat { + base16 = { + shell.enable = true; + schemes = [ "rebecca.rebecca" ]; + }; + # home.base16-shell = { + # enable = true; + # defaultTheme = "rebecca.rebecca"; + # }; + }; +} diff --git a/config/profiles/kat/home/default.nix b/config/profiles/kat/home/default.nix index da615e9e..b5c3e879 100644 --- a/config/profiles/kat/home/default.nix +++ b/config/profiles/kat/home/default.nix @@ -8,6 +8,7 @@ ./kitty.nix ./tmux.nix ./secrets.nix + #./base16.nix ./xdg.nix ./ssh.nix ./packages.nix diff --git a/config/profiles/kat/home/git.nix b/config/profiles/kat/home/git.nix index 60247ad4..a9a09053 100644 --- a/config/profiles/kat/home/git.nix +++ b/config/profiles/kat/home/git.nix @@ -5,7 +5,7 @@ home.packages = with pkgs; [ git-crypt gitAndTools.gitRemoteGcrypt - gitAndTools.gitAnnex + unstable.gitAndTools.gitAnnex git-revise arc.pkgs.gitAndTools.git-annex-remote-b2 ]; @@ -19,7 +19,7 @@ protocol.gcrypt.allow = "always"; annex = { autocommit = false; - backend = "SHA256"; + backend = "BLAKE2B512"; synccontent = true; }; }; diff --git a/config/profiles/kat/home/kitty.nix b/config/profiles/kat/home/kitty.nix index 0e8888a7..c3e16519 100644 --- a/config/profiles/kat/home/kitty.nix +++ b/config/profiles/kat/home/kitty.nix @@ -1,5 +1,6 @@ { config, pkgs, ... }: { - home.sessionVariables.TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo"; + home.sessionVariables.TERMINFO_DIRS = + "${pkgs.kitty.terminfo.outPath}/share/terminfo"; } diff --git a/config/profiles/kat/home/packages.nix b/config/profiles/kat/home/packages.nix index ffe5894b..128cae6e 100644 --- a/config/profiles/kat/home/packages.nix +++ b/config/profiles/kat/home/packages.nix @@ -2,6 +2,6 @@ { config = lib.mkIf config.deploy.profile.kat { - home.packages = with pkgs; [ kitty.terminfo weechat ]; + home.packages = with pkgs; [ kitty.terminfo ]; }; } diff --git a/config/profiles/kat/home/tmux.nix b/config/profiles/kat/home/tmux.nix index d70c4cfb..2e2c7626 100644 --- a/config/profiles/kat/home/tmux.nix +++ b/config/profiles/kat/home/tmux.nix @@ -10,45 +10,48 @@ programs.tmux = { enable = true; extraConfig = '' - # start from 1 - set -g base-index 1 - setw -g pane-base-index 1 + # start from 1 + set -g base-index 1 + setw -g pane-base-index 1 - # proper title handling - set -g set-titles on - set -g set-titles-string "#T" + # proper title handling + set -g set-titles on + set -g set-titles-string "#T" - # modes - setw -g clock-mode-colour colour5 - setw -g mode-style 'fg=colour1 bg=colour18 bold' + # 256 color + set -g default-terminal "screen-256color" - # panes - set -g pane-border-style 'fg=colour19 bg=colour0' - set -g pane-active-border-style 'bg=colour0 fg=colour9' + # modes + setw -g clock-mode-colour colour5 + setw -g mode-style 'fg=colour1 bg=colour18 bold' - # statusbar - set -g status-position bottom - set -g status-justify left - set -g status-style 'bg=colour18 fg=colour137 dim' - set -g status-left ''' - set -g status-right '#[fg=colour233,bg=colour19] %F #[fg=colour233,bg=colour8] %H:%M:%S %Z' - set -g status-right-length 50 - set -g status-left-length 20 + # panes + set -g pane-border-style 'fg=colour19 bg=colour0' + set -g pane-active-border-style 'bg=colour0 fg=colour9' - setw -g window-status-current-style 'fg=colour1 bg=colour19 bold' - setw -g window-status-current-format ' #I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F ' + # statusbar + set -g status-position bottom + set -g status-justify left + set -g status-style 'bg=colour18 fg=colour137 dim' + set -g status-left ''' + set -g status-right '#[fg=colour233,bg=colour19] %F #[fg=colour233,bg=colour8] %H:%M:%S %Z' + set -g status-right-length 50 + set -g status-left-length 20 - setw -g window-status-style 'fg=colour9 bg=colour18' - setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' + setw -g window-status-current-style 'fg=colour1 bg=colour19 bold' + setw -g window-status-current-format ' #I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F ' - setw -g window-status-bell-style 'fg=colour255 bg=colour1 bold' + setw -g window-status-style 'fg=colour9 bg=colour18' + setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' - # messages - set -g message-style 'fg=colour232 bg=colour16 bold' + setw -g window-status-bell-style 'fg=colour255 bg=colour1 bold' - # mouse - set -g mouse on - ''; + # messages + set -g message-style 'fg=colour232 bg=colour16 bold' + + # mouse + set -g mouse on + ''; }; }; } diff --git a/config/profiles/kat/home/vim/vimrc.nix b/config/profiles/kat/home/vim/vimrc.nix index 12874fab..3cda3ade 100644 --- a/config/profiles/kat/home/vim/vimrc.nix +++ b/config/profiles/kat/home/vim/vimrc.nix @@ -6,7 +6,8 @@ " colors let base16colorspace=256 - colorscheme base16-rebecca + "colorscheme base16-rebecca + colorscheme default " notmuch! let g:notmuch_config_file='${config.xdg.configHome}/notmuch/notmuchrc' diff --git a/config/profiles/kat/home/xdg.nix b/config/profiles/kat/home/xdg.nix index 2ded714a..09797426 100644 --- a/config/profiles/kat/home/xdg.nix +++ b/config/profiles/kat/home/xdg.nix @@ -1,5 +1,20 @@ { config, lib, ... }: { - config = lib.mkIf config.deploy.profile.kat { xdg.enable = true; }; + config = lib.mkIf config.deploy.profile.kat { + xdg = { + enable = true; + userDirs = { + enable = true; + pictures = "$HOME/media"; + videos = "$HOME/media/videos"; + documents = "$HOME/docs"; + download = "$HOME/downloads"; + desktop = "$HOME/tmp"; + templates = "$HOME/tmp"; + publicShare = "$HOME/shared"; + music = "$HOME/media-share/music"; + }; + }; + }; } diff --git a/config/profiles/kat/home/zsh/default.nix b/config/profiles/kat/home/zsh/default.nix index bcb37509..df1e7f17 100644 --- a/config/profiles/kat/home/zsh/default.nix +++ b/config/profiles/kat/home/zsh/default.nix @@ -13,7 +13,7 @@ lla = "exa -lga"; }; initExtra = '' - ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=3,bold" + ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=3,bold" ''; plugins = [{ name = "zsh-autosuggestions"; diff --git a/config/profiles/kat/nixos.nix b/config/profiles/kat/nixos.nix index 26391cf5..afb1eeff 100644 --- a/config/profiles/kat/nixos.nix +++ b/config/profiles/kat/nixos.nix @@ -10,6 +10,8 @@ ]; shell = pkgs.zsh; extraGroups = [ "wheel" "video" ]; + hashedPassword = + "$6$i28yOXoo$/WokLdKds5ZHtJHcuyGrH2WaDQQk/2Pj0xRGLgS8UcmY2oMv3fw2j/85PRpsJJwCB2GBRYRK5LlvdTleHd3mB."; }; }; diff --git a/config/profiles/sway/home/default.nix b/config/profiles/sway/home/default.nix index e2bf5fdf..bef27a59 100644 --- a/config/profiles/sway/home/default.nix +++ b/config/profiles/sway/home/default.nix @@ -1,5 +1,5 @@ { config, pkgs, sources, ... }: { - imports = [ ./waybar ./mako.nix ./sway.nix ]; + imports = [ ./waybar ./mako.nix ./sway.nix ./swayidle.nix ./gammastep.nix ]; } diff --git a/config/profiles/sway/home/gammastep.nix b/config/profiles/sway/home/gammastep.nix new file mode 100644 index 00000000..9e206f3c --- /dev/null +++ b/config/profiles/sway/home/gammastep.nix @@ -0,0 +1,11 @@ +{ config, lib, ... }: + +{ + config = lib.mkIf config.deploy.profile.sway { + services.gammastep = { + enable = true; + latitude = "51.5074"; + longitude = "0.1278"; + }; + }; +} diff --git a/config/profiles/sway/home/grimshot.sh b/config/profiles/sway/home/grimshot.sh index 3d544a97..58a0e66c 100755 --- a/config/profiles/sway/home/grimshot.sh +++ b/config/profiles/sway/home/grimshot.sh @@ -13,7 +13,7 @@ ## See `man 1 grimshot` or `grimshot usage` for further details. getTargetDirectory() { - echo "/home/kat/scrots" + echo "/home/kat/media/scrots" } if [ "$1" = "--notify" ]; then diff --git a/config/profiles/sway/home/sway.nix b/config/profiles/sway/home/sway.nix index 49bffbc2..73490afc 100644 --- a/config/profiles/sway/home/sway.nix +++ b/config/profiles/sway/home/sway.nix @@ -10,6 +10,22 @@ home.packages = with pkgs; [ grim slurp wl-clipboard jq ]; + programs.zsh.profileExtra = '' + # If running from tty1 start sway + if [ "$(tty)" = "/dev/tty1" ]; then + systemctl --user unset-environment \ + SWAYSOCK \ + I3SOCK \ + WAYLAND_DISPLAY \ + DISPLAY \ + IN_NIX_SHELL \ + __HM_SESS_VARS_SOURCED \ + GPG_TTY \ + NIX_PATH \ + SHLVL + exec env --unset=SHLVL systemd-cat -t sway -- sway + fi + ''; wayland.windowManager.sway = { enable = true; config = let @@ -76,10 +92,6 @@ always = true; } { command = "mkchromecast -t"; } - { - command = - "${pkgs.swayidle}/bin/swayidle -w before-sleep '${lockCommand}'"; - } ]; window = { diff --git a/config/profiles/sway/home/swayidle.nix b/config/profiles/sway/home/swayidle.nix new file mode 100644 index 00000000..d58609a8 --- /dev/null +++ b/config/profiles/sway/home/swayidle.nix @@ -0,0 +1,26 @@ +{ config, pkgs, lib, ... }: + +{ + config = lib.mkIf config.deploy.profile.sway { + systemd.user.services.swayidle = { + Unit = { + Description = "swayidle"; + Documentation = [ "man:swayidle(1)" ]; + PartOf = [ "graphical-session.target" ]; + }; + Service = { + Type = "simple"; + ExecStart = '' + ${pkgs.swayidle}/bin/swayidle -w \ + timeout 300 '${pkgs.swaylock}/bin/swaylock' \ + timeout 600 'swaymsg "output * dpms off"' \ + resume 'swaymsg "output * dpms on"' \ + before-sleep '${pkgs.swaylock}/bin/swaylock' + ''; + RestartSec = 3; + Restart = "always"; + }; + Install = { WantedBy = [ "sway-session.target" ]; }; + }; + }; +} diff --git a/config/profiles/sway/home/waybar/default.nix b/config/profiles/sway/home/waybar/default.nix index a3916422..3063b0e9 100644 --- a/config/profiles/sway/home/waybar/default.nix +++ b/config/profiles/sway/home/waybar/default.nix @@ -18,6 +18,7 @@ "temperature" "backlight" "battery" + "idle_inhibitor" #"mpd" "network" "custom/weather" @@ -41,12 +42,20 @@ }; cpu = { format = " {usage}%"; }; #mpd = { - # format = " {album} - {artist} - {title}"; + # format = " {albumArtist} - {title}"; # format-stopped = "ﱙ"; # format-paused = " Paused"; + # title-len = 16; #}; memory = { format = " {percentage}%"; }; temperature = { format = "﨎 {temperatureC}°C"; }; + idle_inhibitor = { + format = "{icon}"; + format-icons = { + activated = ""; + deactivated = ""; + }; + }; backlight = { format = "{icon} {percent}%"; format-icons = [ "" "" ]; diff --git a/config/profiles/sway/home/waybar/waybar.css.nix b/config/profiles/sway/home/waybar/waybar.css.nix index ab812d4f..183ae5aa 100644 --- a/config/profiles/sway/home/waybar/waybar.css.nix +++ b/config/profiles/sway/home/waybar/waybar.css.nix @@ -9,7 +9,7 @@ min-height: 14px } - #clock, #memory, #cpu, #temperature, #pulseaudio, #network, #mpd, #backlight, #battery, #custom-weather { + #clock, #memory, #cpu, #temperature, #pulseaudio, #network, #mpd, #backlight, #battery, #custom-weather, #idle_inhibitor { margin-left: 8px; margin-right: 8px; padding-left: 8px; @@ -54,7 +54,7 @@ border-bottom-color: ${style.base16.color2} } - #mpd { border-color: #5af78e } + #mpd, #idle_inhibitor { border-color: #5af78e } #mpd.disconnected, #mpd.stopped { border-color: #282a36 } #network { border-color: ${style.base16.color3} } #custom-weather { border-color: ${style.base16.color14} } diff --git a/modules/home/default.nix b/modules/home/default.nix index d0ac49d4..75dd7c3d 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -5,6 +5,8 @@ imports = [ ./vim.nix (sources.tf-nix + "/modules/home/secrets.nix") + (import (sources.arc-nixexprs + "/modules")).home-manager.base16 + # (sources.arc-nixexprs + "/modules/home/base16-shell.nix") (sources.arc-nixexprs + "/modules/home/weechat.nix") ]; } diff --git a/modules/nixos/deploy/default.nix b/modules/nixos/deploy/default.nix index 4cc61212..f9dd8d00 100644 --- a/modules/nixos/deploy/default.nix +++ b/modules/nixos/deploy/default.nix @@ -15,8 +15,8 @@ let + (if file.source != null then '' < ${toString file.source} '' else '' - <<'EOF' - ${file.text} + <<${if hasPrefix "__FUCKERY__" file.text then "EOF" else "'EOF'"} + ${removePrefix "__FUCKERY__" file.text} EOF '')) (attrValues config.secrets.files); in { diff --git a/pkgs/default.nix b/pkgs/default.nix index 7c958cb6..5c84f772 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -2,33 +2,26 @@ let pkgs = import sources.nixpkgs { inherit config; }; - overlay = self: super: rec { dino = super.callPackage "${sources.qyliss-nixlib}/overlays/patches/dino" { inherit (super) dino; }; + discord = unstable.discord.override { nss = self.nss_latest; }; + lib = super.lib.extend + (self: super: { deployEmbedFuckery = txt: "__FUCKERY__" + txt; }); + ncmpcpp = unstable.ncmpcpp.override { visualizerSupport = true; clockSupport = true; }; - weechat = arc.pkgs.wrapWeechat arc.pkgs.weechat-unwrapped { - configure = { availablePlugins, ... }: { - scripts = [ arc.pkgs.weechatScripts.weechat-matrix ]; - plugins = [ - availablePlugins.perl - (availablePlugins.python.withPackages - (ps: [ ps.potr ps.weechat-matrix ])) - ]; - }; - }; + waybar = super.waybar.override { pulseSupport = true; }; notmuch = super.callPackage ./notmuch { inherit (super) notmuch; }; - arc = import sources.arc-nixexprs { pkgs = super; }; unstable = import sources.nixpkgs-unstable { inherit (self) config; }; nur = import sources.NUR { nurpkgs = self; @@ -46,4 +39,5 @@ let }); }; -in pkgs.extend (overlay) +in (pkgs.extend (import (sources.arc-nixexprs + "/top-level.nix"))).extend +overlay