29 lines
581 B
Nix
29 lines
581 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.programs.wl-kbptr;
|
|
iniFormat = pkgs.formats.ini {listsAsDuplicateKeys = true;};
|
|
in {
|
|
options = {
|
|
programs.wl-kbptr = {
|
|
enable = mkEnableOption "enable niri desktop";
|
|
settings = mkOption {
|
|
inherit (iniFormat) type;
|
|
default = {};
|
|
};
|
|
};
|
|
};
|
|
config = mkIf cfg.enable {
|
|
home.packages = with pkgs; [
|
|
wl-kbptr
|
|
];
|
|
xdg.configFile."wl-kbptr/config" = mkIf (cfg.settings != {}) {
|
|
source = iniFormat.generate "wl-kbptr-config" cfg.settings;
|
|
};
|
|
};
|
|
}
|