bitwarden-desktop: 2024.12.0 -> 2024.12.1 (#373177)
[NixPkgs.git] / nixos / modules / services / x11 / window-managers / mlvwm.nix
blob5d25478a830a93bd79c4cc2c02c28e088738856a
2   config,
3   lib,
4   pkgs,
5   ...
6 }:
8 with lib;
10 let
11   cfg = config.services.xserver.windowManager.mlvwm;
16   options.services.xserver.windowManager.mlvwm = {
17     enable = mkEnableOption "Macintosh-like Virtual Window Manager";
19     configFile = mkOption {
20       default = null;
21       type = with types; nullOr path;
22       description = ''
23         Path to the mlvwm configuration file.
24         If left at the default value, $HOME/.mlvwmrc will be used.
25       '';
26     };
27   };
29   config = mkIf cfg.enable {
31     services.xserver.windowManager.session = [
32       {
33         name = "mlvwm";
34         start = ''
35           ${pkgs.mlvwm}/bin/mlvwm ${optionalString (cfg.configFile != null) "-f /etc/mlvwm/mlvwmrc"} &
36           waitPID=$!
37         '';
38       }
39     ];
41     environment.etc."mlvwm/mlvwmrc" = mkIf (cfg.configFile != null) {
42       source = cfg.configFile;
43     };
45     environment.systemPackages = [ pkgs.mlvwm ];
46   };