diff options
Diffstat (limited to 'nix')
| -rw-r--r-- | nix/hm-module.nix | 20 | ||||
| -rw-r--r-- | nix/module.nix | 26 |
2 files changed, 46 insertions, 0 deletions
diff --git a/nix/hm-module.nix b/nix/hm-module.nix new file mode 100644 index 0000000..87b47f2 --- /dev/null +++ b/nix/hm-module.nix @@ -0,0 +1,20 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.xsession.windowManager.YATwm; +in + +{ + options.xsession.windowManager.YATwm = { + enable = mkEnableOption "YATwm"; + package = mkPackageOption pkgs null { }; + }; + + config = mkIf cfg.enable { + home.packages = [ cfg.package ]; + xsession.windowManager.command = "${cfg.package}/bin/YATwm"; + xsession.enable = true; + }; +} diff --git a/nix/module.nix b/nix/module.nix new file mode 100644 index 0000000..829c26d --- /dev/null +++ b/nix/module.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.windowManager.YATwm; +in + +{ + options.services.xserver.windowManager.YATwm = { + enable = mkEnableOption "YATwm"; + + package = mkPackageOption pkgs null { }; + }; + + config = mkIf cfg.enable { + services.xserver.windowManager.session = [{ + name = "YATwm"; + start = '' + ${cfg.package}/bin/YATwm & + waitPID=$! + ''; + }]; + environment.systemPackages = [ cfg.package ]; + }; +} |
