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:
107
flake.nix
107
flake.nix
@@ -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" ]; }];
|
||||
})
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user