1{ config, lib, pkgs, ... }:
2
3let
4 inherit (lib) mdDoc mkEnableOption mkIf mkPackageOptionMD singleton;
5 cfg = config.services.xserver.windowManager.katriawm;
6in
7{
8 ###### interface
9 options = {
10 services.xserver.windowManager.katriawm = {
11 enable = mkEnableOption (mdDoc "katriawm");
12 package = mkPackageOptionMD pkgs "katriawm" {};
13 };
14 };
15
16 ###### implementation
17 config = mkIf cfg.enable {
18 services.xserver.windowManager.session = singleton {
19 name = "katriawm";
20 start = ''
21 ${cfg.package}/bin/katriawm &
22 waitPID=$!
23 '';
24 };
25 environment.systemPackages = [ cfg.package ];
26 };
27}