mirror of
https://github.com/nix-community/home-manager
synced 2024-11-26 21:19:45 +01:00
waylogout: added configuration module
90% of the code is copied over from swaylock so thanks to the creator of that module!
This commit is contained in:
parent
c2ecf4f19f
commit
770748ca05
3 changed files with 63 additions and 0 deletions
|
@ -628,4 +628,10 @@
|
|||
keys =
|
||||
[{ fingerprint = "BC82 4BB5 1656 D144 285E A0EC D382 C4AF EECE AA90"; }];
|
||||
};
|
||||
noodlez = {
|
||||
name = "Nathaniel Barragan";
|
||||
email = "contact@nathanielbarragan.xyz";
|
||||
github = "Noodlez1232";
|
||||
githubId = 12480453;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -253,6 +253,7 @@ let
|
|||
./programs/pywal.nix
|
||||
./programs/rbenv.nix
|
||||
./programs/watson.nix
|
||||
./programs/waylogout.nix
|
||||
./programs/waybar.nix
|
||||
./programs/wezterm.nix
|
||||
./programs/wlogout.nix
|
||||
|
|
56
modules/programs/waylogout.nix
Normal file
56
modules/programs/waylogout.nix
Normal file
|
@ -0,0 +1,56 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.programs.waylogout;
|
||||
in {
|
||||
meta.maintainers = [ hm.maintainers.noodlez ];
|
||||
|
||||
options.programs.waylogout = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
example = true;
|
||||
description = ''
|
||||
Whether or not to enable waylogout.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkPackageOption pkgs "waylogout" { };
|
||||
|
||||
settings = mkOption {
|
||||
type = with types; attrsOf (oneOf [ bool float int str ]);
|
||||
default = { };
|
||||
description = ''
|
||||
Default arguments to {command}`waylogout`. An empty set
|
||||
disables configuration generation.
|
||||
'';
|
||||
example = {
|
||||
color = "808080";
|
||||
poweroff-command = "systemctl poweroff";
|
||||
reboot-command = "systemctl reboot";
|
||||
scaling = "fit";
|
||||
effect-blur = "7x4";
|
||||
screenshots = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
assertions = [
|
||||
(lib.hm.assertions.assertPlatform "programs.waylogout" pkgs
|
||||
lib.platforms.linux)
|
||||
];
|
||||
|
||||
home.packages = [ cfg.package ];
|
||||
|
||||
xdg.configFile."waylogout/config" = mkIf (cfg.settings != { }) {
|
||||
text = concatStrings (mapAttrsToList (n: v:
|
||||
if v == false then
|
||||
""
|
||||
else
|
||||
(if v == true then n else n + "=" + builtins.toString v) + "\n")
|
||||
cfg.settings);
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue