Merge pull request #97381 from xaverdh/xmonad-configurable

nixos/xmonad: give users some build and runtime control
This commit is contained in:
Lassulus 2020-09-08 20:57:17 +02:00 committed by GitHub
commit dd966067ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -16,6 +16,7 @@ let
cfg.extraPackages cfg.haskellPackages ++
optionals cfg.enableContribAndExtras
(with cfg.haskellPackages; [ xmonad-contrib xmonad-extras ]);
inherit (cfg) ghcArgs;
} cfg.config;
in
@ -76,6 +77,24 @@ in
}
'';
};
xmonadCliArgs = mkOption {
default = [];
type = with lib.types; listOf str;
description = ''
Command line arguments passed to the xmonad binary.
'';
};
ghcArgs = mkOption {
default = [];
type = with lib.types; listOf str;
description = ''
Command line arguments passed to the compiler (ghc)
invocation when xmonad.config is set.
'';
};
};
};
config = mkIf cfg.enable {
@ -85,7 +104,7 @@ in
start = let
xmonadCommand = if (cfg.config != null) then xmonadBin else "${xmonad}/bin/xmonad";
in ''
systemd-cat -t xmonad ${xmonadCommand} &
systemd-cat -t xmonad -- ${xmonadCommand} ${lib.escapeShellArgs cfg.xmonadCliArgs} &
waitPID=$!
'';
}];