mirror of
https://github.com/nix-community/home-manager
synced 2024-11-23 11:39:46 +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 =
|
keys =
|
||||||
[{ fingerprint = "BC82 4BB5 1656 D144 285E A0EC D382 C4AF EECE AA90"; }];
|
[{ 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/pywal.nix
|
||||||
./programs/rbenv.nix
|
./programs/rbenv.nix
|
||||||
./programs/watson.nix
|
./programs/watson.nix
|
||||||
|
./programs/waylogout.nix
|
||||||
./programs/waybar.nix
|
./programs/waybar.nix
|
||||||
./programs/wezterm.nix
|
./programs/wezterm.nix
|
||||||
./programs/wlogout.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