grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / services / x11 / window-managers / mlvwm.nix
blob08dd04020296d6f46c3a625e8c2444b932bea13f
1 { config, lib, pkgs, ... }:
3 with lib;
5 let cfg = config.services.xserver.windowManager.mlvwm;
7 in
10   options.services.xserver.windowManager.mlvwm = {
11     enable = mkEnableOption "Macintosh-like Virtual Window Manager";
13     configFile = mkOption {
14       default = null;
15       type = with types; nullOr path;
16       description = ''
17         Path to the mlvwm configuration file.
18         If left at the default value, $HOME/.mlvwmrc will be used.
19       '';
20     };
21   };
23   config = mkIf cfg.enable {
25     services.xserver.windowManager.session = [{
26       name = "mlvwm";
27       start = ''
28         ${pkgs.mlvwm}/bin/mlvwm ${optionalString (cfg.configFile != null)
29           "-f /etc/mlvwm/mlvwmrc"
30         } &
31         waitPID=$!
32       '';
33     }];
35     environment.etc."mlvwm/mlvwmrc" = mkIf (cfg.configFile != null) {
36       source = cfg.configFile;
37     };
39     environment.systemPackages = [ pkgs.mlvwm ];
40   };