diff --git a/configs/khal.nix b/configs/khal.nix index 5470db5..c3c6245 100644 --- a/configs/khal.nix +++ b/configs/khal.nix @@ -1,6 +1,7 @@ { config, pkgs, + lib, ... }: let davHome = "~/.local/share/dav"; diff --git a/configs/packages.nix b/configs/packages.nix index 7b71892..6a17ef3 100644 --- a/configs/packages.nix +++ b/configs/packages.nix @@ -178,6 +178,7 @@ in { niveumPackages.fkill niveumPackages.wttr niveumPackages.unicodmenu + niveumPackages.emailmenu niveumPackages.closest niveumPackages.trans (niveumPackages.mpv-radio.override { diff --git a/flake.nix b/flake.nix index d4be6b9..d0fd852 100644 --- a/flake.nix +++ b/flake.nix @@ -353,6 +353,7 @@ trans = pkgs.callPackage packages/trans.nix {}; ttspaste = pkgs.callPackage packages/ttspaste.nix {}; unicodmenu = pkgs.callPackage packages/unicodmenu.nix {}; + emailmenu = pkgs.callPackage packages/emailmenu.nix {}; untilport = pkgs.callPackage packages/untilport.nix {}; vg = pkgs.callPackage packages/vg.nix {}; vim = pkgs.callPackage packages/vim.nix {niveumPackages = self.packages.${system};}; diff --git a/packages/emailmenu.nix b/packages/emailmenu.nix new file mode 100644 index 0000000..8bb7efd --- /dev/null +++ b/packages/emailmenu.nix @@ -0,0 +1,18 @@ +{ + writers, + lib, + coreutils, + dmenu, + gawk, + libnotify, + xclip, + khard, +}: +writers.writeDashBin "emailmenu" '' + history_file=$HOME/.cache/emailmenu + PATH=${lib.makeBinPath [coreutils dmenu gawk libnotify xclip]} + chosen=$(${khard}/bin/khard email --parsable | awk '!seen[$0]++' | dmenu -p unicode -1 -l 10 | tee --append "$history_file" | cut -f1) + [ "$chosen" != "" ] || exit + echo "$chosen" | tr -d '\n' | xclip -selection clipboard + notify-send --app-name="$(basename "$0")" "'$chosen' copied to clipboard." & +''