From 4c5625bb7d9cb3a867207c9acfd9ef98e7400386 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Tue, 12 Jun 2018 22:16:21 -0700 Subject: [PATCH 01/13] [Linux] Support manipulating template units from rofi_systemd --- dotfiles/lib/bin/rofi_systemd.sh | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/dotfiles/lib/bin/rofi_systemd.sh b/dotfiles/lib/bin/rofi_systemd.sh index 5e1e0776..d97977bb 100755 --- a/dotfiles/lib/bin/rofi_systemd.sh +++ b/dotfiles/lib/bin/rofi_systemd.sh @@ -4,14 +4,20 @@ export SYSTEMD_COLORS=0 term=${ROFI_SYSTEMD_TERM-termite -e} default_action=${ROFI_SYSTEMD_DEFAULT_ACTION-"list_actions"} -function user_units { - SYSTEMD_COLORS=0 systemctl --user list-unit-files | tail -n +2 | head -n -2 | - awk '{print $0 " user"}' +function unit_files { + systemctl "$1" list-unit-files --no-legend } -function system_units { - systemctl list-unit-files | tail -n +2 | head -n -2 | - awk '{print $0 " system"}' +# This is needed to list services started from template units +function running_units { + systemctl "$1" list-units --all --type=service --no-legend | + awk '{print $1 " " $3}' +} + + +function get_units { + { unit_files "--$1"; running_units "--$1"; } | + awk -v unit_type="$1" '{print $0 " " unit_type}' } enable="Alt+e" @@ -104,4 +110,4 @@ function get_command_with_args { esac } -{ user_units; system_units; } | column -tc 1 | select_service_and_act +{ get_units user; get_units system; } | column -tc 1 | select_service_and_act From ef83a4b8907c30446df0b5e34154af4587cc3f3e Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 15:16:17 -0700 Subject: [PATCH 02/13] [Emacs] Fix inverted server start condition --- dotfiles/emacs.d/README.org | 2 +- dotfiles/lib/bin/enable_git_sync.sh | 5 +++++ dotfiles/lib/bin/git_sync_directory.sh | 11 +++++++++++ nixos/configuration.nix | 17 +++++++++++++++-- 4 files changed, 32 insertions(+), 3 deletions(-) create mode 100755 dotfiles/lib/bin/enable_git_sync.sh create mode 100755 dotfiles/lib/bin/git_sync_directory.sh diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index c83a941a..444790d5 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -1440,7 +1440,7 @@ The file server file for this emacs instance no longer exists.") (let ((server-dir (if server-use-tcp server-auth-dir server-socket-dir))) (expand-file-name server-name server-dir))) (setq server-use-tcp t) - (unless (equal nil (server-running-p)) (server-start)) + (when (equal nil (server-running-p)) (server-start)) (run-with-timer 0 60 'imalison:make-main-emacs-server))) #+END_SRC ** list-environment diff --git a/dotfiles/lib/bin/enable_git_sync.sh b/dotfiles/lib/bin/enable_git_sync.sh new file mode 100755 index 00000000..2e1ab9d1 --- /dev/null +++ b/dotfiles/lib/bin/enable_git_sync.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env sh + +git config --bool branch.master.sync true +git config --bool branch.master.syncNewFiles true +git branch --set-upstream-to=origin/master diff --git a/dotfiles/lib/bin/git_sync_directory.sh b/dotfiles/lib/bin/git_sync_directory.sh new file mode 100755 index 00000000..ce756041 --- /dev/null +++ b/dotfiles/lib/bin/git_sync_directory.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +cd "$1" + +echo "Syncing $1" +git-sync +enable_git_sync.sh + +while changedFile=$(inotifywait ./ -r -e modify,move,create,delete --format "%w%f" --exclude '\.git' 2>/dev/null); do + git check-ignore "$changedFile" >> /dev/null || git-sync +done diff --git a/nixos/configuration.nix b/nixos/configuration.nix index c3a96cdb..9656b557 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -10,9 +10,16 @@ let pip ]; python-with-my-packages = pkgs.python3.withPackages my-python-packages; + # clipit-master = pkgs.clipt.overrideAttrs (oldAttrs: rec { + # src = fetchFromGitHub { + # owner = "shantzu"; + # repo = "ClipIt"; + # rev = "eb9adaf2b5fd65aac1e83d6544b9076aae6af5b7"; + # sha256 = "01if8y93wa0mwbkzkzx2v1vqh47zlz4k1dysl6yh5rmppd1psknz"; + # }; + # }); in { - boot.loader.systemd-boot.enable = true; nixpkgs.config.allowUnfree = true; security.sudo.wheelNeedsPassword = false; networking.networkmanager.enable = true; @@ -76,12 +83,13 @@ in clipit compton feh - sddm-kcm networkmanagerapplet pinentry pommed_light rofi rofi-pass + sddm-kcm + udiskie volnoti xclip xdotool @@ -107,6 +115,7 @@ in gnumake gnupg htop + inotify-tools ncdu pass python-with-my-packages @@ -117,7 +126,11 @@ in wget zsh + # Nix + nix-prefetch-git + # Miscellaneous + android-udev-rules librsvg ]; From f9fed496843ec32cf6ad6f976df7f88576c6bd8c Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 15:27:24 -0700 Subject: [PATCH 03/13] [Emacs] Use imalison:org-dir for setting deft dir --- dotfiles/emacs.d/README.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index 444790d5..d6203c83 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -4378,7 +4378,7 @@ Not really sure what this is (setq deft-file-naming-rules '((noslash . "_") (nospace . "_") (case-fn . downcase))) - (setq deft-directory "~/SparkleShare/org/notes"))) + (setq deft-directory (imalison:join-paths imalison:org-dir "notes")))) #+END_SRC ** epg #+BEGIN_SRC emacs-lisp From 4a968459744d0bf8710b1c1610ed184049addcf5 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 15:50:38 -0700 Subject: [PATCH 04/13] [Linux] Properly handle escaped template unit names in systemd --- dotfiles/lib/bin/rofi_systemd.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dotfiles/lib/bin/rofi_systemd.sh b/dotfiles/lib/bin/rofi_systemd.sh index d97977bb..e92ac8ee 100755 --- a/dotfiles/lib/bin/rofi_systemd.sh +++ b/dotfiles/lib/bin/rofi_systemd.sh @@ -1,7 +1,7 @@ #!/usr/bin/env sh export SYSTEMD_COLORS=0 -term=${ROFI_SYSTEMD_TERM-termite -e} +term=${ROFI_SYSTEMD_TERM-urxvt -e} default_action=${ROFI_SYSTEMD_DEFAULT_ACTION-"list_actions"} function unit_files { @@ -16,7 +16,7 @@ function running_units { function get_units { - { unit_files "--$1"; running_units "--$1"; } | + { unit_files "--$1"; running_units "--$1"; } | sort -u -k1,1 | awk -v unit_type="$1" '{print $0 " " unit_type}' } @@ -74,7 +74,7 @@ function select_service_and_act { esac selection="$(echo $result | sed -n 's/ \+/ /gp')" - service_name="$(echo $selection | awk '{ print $1 }' | tr -d ' ')" + service_name=$(echo "$selection" | awk '{ print $1 }' | tr -d ' ') is_user="$(echo $selection | awk '{ print $3 }' )" case "$is_user" in @@ -92,20 +92,20 @@ function select_service_and_act { to_run="$(get_command_with_args)" echo "Running $to_run" - eval "$to_run" + eval "$term $to_run" } function get_command_with_args { case "$action" in "tail") - echo "$term 'journalctl $user_arg -u $service_name -f'" + echo "journalctl $user_arg -u '$service_name' -f" ;; "list_actions") action=$(echo "$all_actions" | rofi -dmenu -i -p "Select action: ") get_command_with_args ;; *) - echo "$command $action $service_name" + echo "$command $action '$service_name'" ;; esac } From ba09d93655b219247d057c9ba1514382e2ab3837 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 15:54:16 -0700 Subject: [PATCH 05/13] [Linux] Remove broken extra backspace binding from gtk.css --- dotfiles/config/gtk-3.0/gtk.css | 1 - 1 file changed, 1 deletion(-) diff --git a/dotfiles/config/gtk-3.0/gtk.css b/dotfiles/config/gtk-3.0/gtk.css index e0db194f..d51e3994 100644 --- a/dotfiles/config/gtk-3.0/gtk.css +++ b/dotfiles/config/gtk-3.0/gtk.css @@ -21,7 +21,6 @@ bind "d" { "delete-from-cursor" (chars, 1) }; bind "d" { "delete-from-cursor" (word-ends, 1) }; bind "BackSpace" { "delete-from-cursor" (word-ends, -1) }; - bind "backspace" { "delete-from-cursor" (word-ends, -1) }; bind "k" { "delete-from-cursor" (paragraph-ends, 1) }; bind "backslash" { "delete-from-cursor" (whitespace, 1) }; From 93d12bc22f3e81d2465d3900f181b558a2aec619 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 15:57:27 -0700 Subject: [PATCH 06/13] [XMonad] Remove mtl dependency --- dotfiles/config/xmonad/imalison-xmonad.cabal | 1 - dotfiles/config/xmonad/xmonad.hs | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/dotfiles/config/xmonad/imalison-xmonad.cabal b/dotfiles/config/xmonad/imalison-xmonad.cabal index 0850e817..4469c3c0 100644 --- a/dotfiles/config/xmonad/imalison-xmonad.cabal +++ b/dotfiles/config/xmonad/imalison-xmonad.cabal @@ -20,7 +20,6 @@ executable imalison-xmonad , directory>=1.2.6.2 , filepath>=1.4.1.0 , hostname>=1.0 - , mtl>=2.2.1 , multimap>=1.2.1 , process>=1.4.3.0 , split diff --git a/dotfiles/config/xmonad/xmonad.hs b/dotfiles/config/xmonad/xmonad.hs index 95468e81..3fa29662 100644 --- a/dotfiles/config/xmonad/xmonad.hs +++ b/dotfiles/config/xmonad/xmonad.hs @@ -6,7 +6,7 @@ module Main where import qualified Codec.Binary.UTF8.String as UTF8String (encode) import qualified Control.Arrow as A import Control.Monad -import Control.Monad.Trans +import Control.Monad.Trans.Class import Control.Monad.Trans.Maybe import Data.Aeson import qualified Data.ByteString.Lazy as B @@ -21,13 +21,12 @@ import Data.Tuple.Sequence (sequenceT) import Data.Typeable import Graphics.X11.ExtraTypes.XF86 import Network.HostName +import PagerHints import System.Directory import System.FilePath.Posix import System.Process -import PagerHints import Text.Printf import Unsafe.Coerce - import XMonad hiding ( (|||) ) import XMonad.Actions.CycleWS hiding (nextScreen) import XMonad.Actions.CycleWorkspaceByScreen From 2d25a8fe1937e041de6f278d9d6a6248e4aa320a Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 15:57:43 -0700 Subject: [PATCH 07/13] Symlink everything in ~/.config --- rcm-link.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcm-link.sh b/rcm-link.sh index d17fe704..d4a7834f 100755 --- a/rcm-link.sh +++ b/rcm-link.sh @@ -5,4 +5,4 @@ export THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" export DOTFILES_DIR="$(readlink -f $THIS_DIR/dotfiles)" echo $DOTFILES_DIR -rcup -d $DOTFILES_DIR -S "emacs.d" -S "config/taffybar" -S "config/xmonad" -S "config/xmonad/taffybar" -S "lib" +rcup -d $DOTFILES_DIR -S "emacs.d" -S "config/*" -S "lib" From 7371f0aeaae6af46d143a82bdcbf1f845d7a51a0 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 16:00:30 -0700 Subject: [PATCH 08/13] [Linux] Start using git-sync to auto-synchronize directories --- .../config/systemd/user/git-sync@.service | 12 +++++++++ dotfiles/lib/bin/git_sync_directory.sh | 25 +++++++++++++------ tasks/shell/enable_user_units.sh | 17 +++++++++++++ 3 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 dotfiles/config/systemd/user/git-sync@.service create mode 100755 tasks/shell/enable_user_units.sh diff --git a/dotfiles/config/systemd/user/git-sync@.service b/dotfiles/config/systemd/user/git-sync@.service new file mode 100644 index 00000000..0ce1a70d --- /dev/null +++ b/dotfiles/config/systemd/user/git-sync@.service @@ -0,0 +1,12 @@ +[Unit] +Description=git-sync %f %I %i + +[Service] +Type=simple +ExecStart=/usr/bin/env git_sync_directory.sh %f +ExecStop=/usr/bin/env pkill git_sync_directory.sh +Restart=always +RestartSec=3 + +[Install] +WantedBy=wm.target diff --git a/dotfiles/lib/bin/git_sync_directory.sh b/dotfiles/lib/bin/git_sync_directory.sh index ce756041..088a8a3d 100755 --- a/dotfiles/lib/bin/git_sync_directory.sh +++ b/dotfiles/lib/bin/git_sync_directory.sh @@ -1,11 +1,22 @@ -#!/usr/bin/env bash - -cd "$1" +#!/usr/bin/env zsh echo "Syncing $1" -git-sync -enable_git_sync.sh +cd "$1" -while changedFile=$(inotifywait ./ -r -e modify,move,create,delete --format "%w%f" --exclude '\.git' 2>/dev/null); do - git check-ignore "$changedFile" >> /dev/null || git-sync +counter=0 +while true; do + changedFile=$(inotifywait ./ -r -e modify,move,create,delete --format "%w%f" --exclude '\.git' -t 20 2>/dev/null) + if [ -z "$changedFile" ] + then + counter=$((counter+1)) + if [ $counter -gt 4 ]; then + git-sync + counter=0 + else + git-sync > /dev/null + fi + else + echo "Syncing for: $changedFile" + { git check-ignore "$changedFile" > /dev/null; } || git-sync + fi done diff --git a/tasks/shell/enable_user_units.sh b/tasks/shell/enable_user_units.sh new file mode 100755 index 00000000..9679fedd --- /dev/null +++ b/tasks/shell/enable_user_units.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env sh + +enable_git_sync () { + unit_name=$(systemd-escape -p "$1" --template git-sync@.service) + echo $unit_name + systemctl --user enable "$unit_name" +} + + unit_name=$(systemd-escape -p "$HOME/.password-store" --template git-sync@.service) + + +cd "$HOME/.config/systemd/user/" +find * -type f | grep -v git-sync | grep -E "\.service$" | xargs -I unitname sh -c 'echo unitname && systemctl --user enable unitname' + +enable_git_sync "$HOME/org" +enable_git_sync "$HOME/config" +enable_git_sync "$HOME/.password-store" From 41bea05224a5d1bea30f9a22975ee7ecca0df63e Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 16:01:22 -0700 Subject: [PATCH 09/13] [XMonad] Ignore cached stack install path --- dotfiles/config/xmonad/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/dotfiles/config/xmonad/.gitignore b/dotfiles/config/xmonad/.gitignore index c4c2ae98..e3382581 100644 --- a/dotfiles/config/xmonad/.gitignore +++ b/dotfiles/config/xmonad/.gitignore @@ -7,3 +7,4 @@ /xmonad.o /xmonad.state /prompt-history +/.cached-stack-install-path From f966f44b3c79665caa370a2d9add5ca2569e1f02 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 16:01:35 -0700 Subject: [PATCH 10/13] [Emacs] Use less for pager when no server found --- dotfiles/lib/bin/pager.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotfiles/lib/bin/pager.sh b/dotfiles/lib/bin/pager.sh index 9ecb528d..61643ab3 100755 --- a/dotfiles/lib/bin/pager.sh +++ b/dotfiles/lib/bin/pager.sh @@ -1,6 +1,6 @@ #!/usr/bin/env zsh if environment_variable_exists INSIDE_EMACS; then - emacs_pager "$@" + emacs_pager -a less "$@" else less -FXr fi From 95eecb68569f080d66336a2f20850862d9cf7055 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 16:04:36 -0700 Subject: [PATCH 11/13] Misc tweaks --- dotfiles/config/gtk-3.0/gtk.css | 1 - dotfiles/gitignore | 1 + dotfiles/xprofile | 2 +- nixos/configuration.nix | 1 + nixos/machines/imalison-home.nix | 6 ++++++ tasks/shell/enable_user_units.sh | 2 -- 6 files changed, 9 insertions(+), 4 deletions(-) diff --git a/dotfiles/config/gtk-3.0/gtk.css b/dotfiles/config/gtk-3.0/gtk.css index d51e3994..7c9d0cb2 100644 --- a/dotfiles/config/gtk-3.0/gtk.css +++ b/dotfiles/config/gtk-3.0/gtk.css @@ -22,7 +22,6 @@ bind "d" { "delete-from-cursor" (word-ends, 1) }; bind "BackSpace" { "delete-from-cursor" (word-ends, -1) }; bind "k" { "delete-from-cursor" (paragraph-ends, 1) }; - bind "backslash" { "delete-from-cursor" (whitespace, 1) }; bind "space" { "delete-from-cursor" (whitespace, 1) "insert-at-cursor" (" ") }; diff --git a/dotfiles/gitignore b/dotfiles/gitignore index 5223d35e..95e40732 100644 --- a/dotfiles/gitignore +++ b/dotfiles/gitignore @@ -1,4 +1,5 @@ # emacs +.#* .emacs.desktop .emacs* projectile.cache diff --git a/dotfiles/xprofile b/dotfiles/xprofile index ea51963e..82bcdf19 100644 --- a/dotfiles/xprofile +++ b/dotfiles/xprofile @@ -3,8 +3,8 @@ # If there are issues with path, check /etc/profile for hard overrides of PATH. . "$HOME/.lib/login.sh" # XXX: prevents https://github.com/xmonad/xmonad/issues/86 from affecting startup +rm -f ~/.xmonad -rm -f ~/.xmonad/xmonad.state load_xkb_map.sh run_if_exists systemctl --user import-environment XDG_DATA_DIRS diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 9656b557..7f77237c 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -132,6 +132,7 @@ in # Miscellaneous android-udev-rules librsvg + transmission-gtk ]; # Some programs need SUID wrappers, can be configured further or are diff --git a/nixos/machines/imalison-home.nix b/nixos/machines/imalison-home.nix index 53fd22b5..a3f78654 100644 --- a/nixos/machines/imalison-home.nix +++ b/nixos/machines/imalison-home.nix @@ -9,6 +9,7 @@ boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; + boot.loader.systemd-boot.enable = true; fileSystems."/" = { device = "/dev/disk/by-uuid/110e3bf8-19b7-4a39-8e2a-b4c3c0d59d0e"; @@ -25,6 +26,11 @@ fsType = "ext4"; }; + # fileSystems."/shared" = { + # device = "/dev/disk/by-uuid/4b6f1ca8-6b68-4bdb-b92c-d2d7ba080928"; + # fsType = "ntfs"; + # }; + swapDevices = [ { device = "/dev/disk/by-uuid/a6933b22-c7f4-4c57-b330-1450f313922e"; } { device = "/dev/disk/by-uuid/dbd49a76-4b3e-4b5c-9a88-68a9e61f6210"; } diff --git a/tasks/shell/enable_user_units.sh b/tasks/shell/enable_user_units.sh index 9679fedd..8c0fd8d4 100755 --- a/tasks/shell/enable_user_units.sh +++ b/tasks/shell/enable_user_units.sh @@ -6,8 +6,6 @@ enable_git_sync () { systemctl --user enable "$unit_name" } - unit_name=$(systemd-escape -p "$HOME/.password-store" --template git-sync@.service) - cd "$HOME/.config/systemd/user/" find * -type f | grep -v git-sync | grep -E "\.service$" | xargs -I unitname sh -c 'echo unitname && systemctl --user enable unitname' From 200bbb070b80ab8bcbe591a21373c24fb77867ba Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 17:28:48 -0700 Subject: [PATCH 12/13] [NixOS] Set GDK_PIXBUF_MODULE_FILE explicitly --- nixos/configuration.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 7f77237c..5125c63a 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -135,6 +135,10 @@ in transmission-gtk ]; + environment.variables = { + GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; + }; + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; @@ -190,6 +194,9 @@ in sddm = { enable = true; }; + sessionCommands = '' + systemctl --user import-environment GDK_PIXBUF_MODULE_FILE + ''; }; }; From eea9b3bfd9d0bc8b2ee2ebad43627461560840e2 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 14 Jun 2018 20:50:02 -0700 Subject: [PATCH 13/13] [NixOS] Make udiskie appindicator support work --- nixos/configuration.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 5125c63a..6133502e 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -10,6 +10,16 @@ let pip ]; python-with-my-packages = pkgs.python3.withPackages my-python-packages; + udiskie-appindicator = pkgs.udiskie.overrideAttrs (oldAttrs: rec { + version = "1.7.5"; + src = pkgs.fetchFromGitHub { + owner = "coldfix"; + repo = "udiskie"; + rev = version; + sha256 = "1mcdn8ha5d5nsmrzk6xnnsqrmk94rdrzym9sqm38zk5r8gpyl1k4"; + }; + propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [pkgs.libappindicator-gtk3]; + }); # clipit-master = pkgs.clipt.overrideAttrs (oldAttrs: rec { # src = fetchFromGitHub { # owner = "shantzu"; @@ -89,7 +99,7 @@ in rofi rofi-pass sddm-kcm - udiskie + udiskie-appindicator volnoti xclip xdotool