diff options
Diffstat (limited to 'users/kassouni/palette/default.nix')
| -rw-r--r-- | users/kassouni/palette/default.nix | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/users/kassouni/palette/default.nix b/users/kassouni/palette/default.nix new file mode 100644 index 0000000..08c68b1 --- /dev/null +++ b/users/kassouni/palette/default.nix @@ -0,0 +1,21 @@ +{ pkgs, lib, ... }: +let + commandFiles = lib.attrNames ( + lib.filterAttrs (name: type: type == "regular" && name != "default.nix" && lib.hasSuffix ".nix" name) + (builtins.readDir ./.) + ); + commands = map (file: pkgs.callPackage (./. + "/${file}") { }) commandFiles; + palette = pkgs.symlinkJoin { + name = "palette"; + paths = commands; + }; +in +{ + home.packages = [ + (pkgs.writers.writeBashBin "open-palette" '' + set -eu + choice=$(${pkgs.coreutils}/bin/ls ${palette}/bin | ${pkgs.rofi}/bin/rofi -dmenu -i -p palette) + exec "${palette}/bin/$choice" + '') + ]; +} |
