1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 13:32:50 -05:00

Allow setting quickshell package (#165)

* feat: Add config option to set quickshell package

* refactor: Use configured quickshell package for ipc calls

---------

Co-authored-by: Eduardo Barreto Alexandre <git@dummy.com>
This commit is contained in:
Eduardo B. A.
2025-09-05 22:38:01 -03:00
committed by GitHub
parent 79c21e67dc
commit 353ee355a3

107
flake.nix
View File

@@ -42,12 +42,19 @@
lib.mkEnableOption "DankMaterialShell systemd startup";
enableSpawn =
lib.mkEnableOption "DankMaterialShell Niri spawn-at-startup";
quickshell = {
package = lib.mkPackageOption pkgs "quickshell" {
default = quickshell.packages.${pkgs.system}.quickshell;
nullable = false;
};
};
};
config = lib.mkIf cfg.enable {
programs.quickshell = {
enable = true;
package = quickshell.packages.${pkgs.system}.quickshell;
package = cfg.quickshell.package;
configs.DankMaterialShell = "${
self.packages.${pkgs.system}.dankMaterialShell
}/etc/xdg/quickshell/DankMaterialShell";
@@ -58,109 +65,37 @@
};
};
programs.niri.settings = lib.mkMerge [
programs.niri.settings = lib.mkMerge let
quickShellIpc = spawn "${cfg.quickshell.package}/bin/qs" "-c" "DankMaterialShell" "ipc" "call";
in [
(lib.mkIf cfg.enableKeybinds {
binds = {
"Mod+Space".action.spawn = [
"qs"
"-c"
"DankMaterialShell"
"ipc"
"call"
"spotlight"
"toggle"
];
"Mod+V".action.spawn = [
"qs"
"-c"
"DankMaterialShell"
"ipc"
"call"
"clipboard"
"toggle"
];
"Mod+M".action.spawn = [
"qs"
"-c"
"DankMaterialShell"
"ipc"
"call"
"processlist"
"toggle"
];
"Mod+Comma".action.spawn = [
"qs"
"-c"
"DankMaterialShell"
"ipc"
"call"
"settings"
"toggle"
];
"Super+Alt+L".action.spawn = [
"qs"
"-c"
"DankMaterialShell"
"ipc"
"call"
"lock"
"lock"
];
"Mod+Space".action = quickShellIpc "spotlight" "toggle";
"Mod+V".action = quickShellIpc "clipboard" "toggle";
"Mod+M".action = quickShellIpc "processlist" "toggle";
"Mod+Comma".action = quickShellIpc "settings" "toggle";
"Super+Alt+L".action = quickShellIpc "lock" "lock";
"XF86AudioRaiseVolume" = {
allow-when-locked = true;
action.spawn = [
"qs"
"-c"
"DankMaterialShell"
"ipc"
"call"
"audio"
"increment"
"3"
];
action = quickShellIpc "audio" "increment" "3";
};
"XF86AudioLowerVolume" = {
allow-when-locked = true;
action.spawn = [
"qs"
"-c"
"DankMaterialShell"
"ipc"
"call"
"audio"
"decrement"
"3"
];
action = quickShellIpc "audio" "decrement" "3";
};
"XF86AudioMute" = {
allow-when-locked = true;
action.spawn = [
"qs"
"-c"
"DankMaterialShell"
"ipc"
"call"
"audio"
"mute"
];
action = quickShellIpc "audio" "mute";
};
"XF86AudioMicMute" = {
allow-when-locked = true;
action.spawn = [
"qs"
"-c"
"DankMaterialShell"
"ipc"
"call"
"audio"
"micmute"
];
action = quickShellIpc "audio" "micmute";
};
};
})
(lib.mkIf (cfg.enableSpawn) {
spawn-at-startup =
[{ command = [ "qs" "-c" "DankMaterialShell" ]; }];
[{ command = [ "${cfg.quickshell.package}/bin/qs" "-c" "DankMaterialShell" ]; }];
})
];