summaryrefslogtreecommitdiff
path: root/users/kassouni/palette/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/kassouni/palette/default.nix')
-rw-r--r--users/kassouni/palette/default.nix11
1 files changed, 5 insertions, 6 deletions
diff --git a/users/kassouni/palette/default.nix b/users/kassouni/palette/default.nix
index 08c68b1..235f774 100644
--- a/users/kassouni/palette/default.nix
+++ b/users/kassouni/palette/default.nix
@@ -5,17 +5,16 @@ let
(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"
+ exes=(${lib.concatMapStringsSep " " (c: c.exe) commands})
+ idx=$(${pkgs.rofi}/bin/rofi -dmenu -i -format i -p palette <<EOF
+${lib.concatMapStrings (c: "${c.icon} ${c.name}\n") commands}EOF
+ )
+ exec "''${exes[$idx]}"
'')
];
}