Skip to content

Commit 94c30e5

Browse files
authored
Merge pull request #335115 from SuperSandro2000/graphical-desktop
nixos/graphical-desktop: add enable option, nixos/wayland-session: use graphical-desktop option and remove implicit defaults
2 parents 3f08237 + 4f34325 commit 94c30e5

File tree

9 files changed

+20
-17
lines changed

9 files changed

+20
-17
lines changed

nixos/modules/programs/wayland/cardboard.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ in
1919
# To make a cardboard session available for certain DMs like SDDM
2020
services.displayManager.sessionPackages = [ cfg.package ];
2121
}
22-
(import ./wayland-session.nix { inherit lib pkgs; })
22+
(import ./wayland-session.nix { inherit lib; })
2323
]);
2424
}

nixos/modules/programs/wayland/hyprland.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ in
7070
}
7171

7272
(import ./wayland-session.nix {
73-
inherit lib pkgs;
73+
inherit lib;
7474
enableXWayland = cfg.xwayland.enable;
7575
enableWlrPortal = lib.mkDefault false; # Hyprland has its own portal, wlr is not needed
7676
})

nixos/modules/programs/wayland/labwc.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@ in
2020
# To make a labwc session available for certain DMs like SDDM
2121
services.displayManager.sessionPackages = [ cfg.package ];
2222
}
23-
(import ./wayland-session.nix { inherit lib pkgs; })
23+
(import ./wayland-session.nix { inherit lib; })
2424
]);
2525
}

nixos/modules/programs/wayland/miracle-wm.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ in
3030
}
3131

3232
(import ./wayland-session.nix {
33-
inherit lib pkgs;
33+
inherit lib;
3434
# Hardcoded path in Mir, not really possible to disable
3535
enableXWayland = true;
3636
# No portal support yet: https://github.com/mattkae/miracle-wm/issues/164

nixos/modules/programs/wayland/river.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ in
5656
}
5757

5858
(import ./wayland-session.nix {
59-
inherit lib pkgs;
59+
inherit lib;
6060
enableXWayland = cfg.xwayland.enable;
6161
})
6262
]);

nixos/modules/programs/wayland/sway.nix

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,6 @@ in
129129
};
130130
};
131131

132-
programs.gnupg.agent.pinentryPackage = lib.mkDefault pkgs.pinentry-gnome3;
133-
134132
# To make a Sway session available if a display manager like SDDM is enabled:
135133
services.displayManager.sessionPackages = lib.optional (cfg.package != null) cfg.package;
136134

@@ -139,7 +137,7 @@ in
139137
}
140138

141139
(import ./wayland-session.nix {
142-
inherit lib pkgs;
140+
inherit lib;
143141
enableXWayland = cfg.xwayland.enable;
144142
})
145143
]);

nixos/modules/programs/wayland/wayfire.nix

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ in
5252

5353
services.displayManager.sessionPackages = [ finalPackage ];
5454

55-
xdg.icons.enable = true;
56-
5755
xdg.portal = {
5856
enable = lib.mkDefault true;
5957
wlr.enable = lib.mkDefault true;
@@ -65,7 +63,7 @@ in
6563
};
6664
}
6765
(import ./wayland-session.nix {
68-
inherit lib pkgs;
66+
inherit lib;
6967
enableXWayland = cfg.xwayland.enable;
7068
})
7169
]

nixos/modules/programs/wayland/wayland-session.nix

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
lib,
3-
pkgs,
43
enableXWayland ? true,
54
enableWlrPortal ? true,
65
}:
@@ -11,15 +10,12 @@
1110
pam.services.swaylock = {};
1211
};
1312

14-
hardware.graphics.enable = lib.mkDefault true;
15-
fonts.enableDefaultPackages = lib.mkDefault true;
16-
1713
programs = {
1814
dconf.enable = lib.mkDefault true;
1915
xwayland.enable = lib.mkDefault enableXWayland;
2016
};
2117

22-
xdg.icons.enable = true;
18+
services.graphical-desktop.enable = true;
2319

2420
xdg.portal.wlr.enable = enableWlrPortal;
2521

nixos/modules/services/misc/graphical-desktop.nix

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,22 @@
55
...
66
}:
77
let
8+
cfg = config.services.graphical-desktop;
89
xcfg = config.services.xserver;
910
dmcfg = config.services.displayManager;
1011
in
1112
{
12-
config = lib.mkIf (xcfg.enable || dmcfg.enable) {
13+
options = {
14+
services.graphical-desktop.enable =
15+
lib.mkEnableOption "bits and pieces required for a graphical desktop session"
16+
// {
17+
default = xcfg.enable || dmcfg.enable;
18+
defaultText = lib.literalExpression "(config.services.xserver.enable || config.services.displayManager.enable)";
19+
internal = true;
20+
};
21+
};
22+
23+
config = lib.mkIf cfg.enable {
1324
# The default max inotify watches is 8192.
1425
# Nowadays most apps require a good number of inotify watches,
1526
# the value below is used by default on several other distros.

0 commit comments

Comments
 (0)