mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-11 20:25:32 +03:00
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
This commit is contained in:
commit
94c30e543d
9 changed files with 20 additions and 17 deletions
|
@ -19,6 +19,6 @@ in
|
|||
# To make a cardboard session available for certain DMs like SDDM
|
||||
services.displayManager.sessionPackages = [ cfg.package ];
|
||||
}
|
||||
(import ./wayland-session.nix { inherit lib pkgs; })
|
||||
(import ./wayland-session.nix { inherit lib; })
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ in
|
|||
}
|
||||
|
||||
(import ./wayland-session.nix {
|
||||
inherit lib pkgs;
|
||||
inherit lib;
|
||||
enableXWayland = cfg.xwayland.enable;
|
||||
enableWlrPortal = lib.mkDefault false; # Hyprland has its own portal, wlr is not needed
|
||||
})
|
||||
|
|
|
@ -20,6 +20,6 @@ in
|
|||
# To make a labwc session available for certain DMs like SDDM
|
||||
services.displayManager.sessionPackages = [ cfg.package ];
|
||||
}
|
||||
(import ./wayland-session.nix { inherit lib pkgs; })
|
||||
(import ./wayland-session.nix { inherit lib; })
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ in
|
|||
}
|
||||
|
||||
(import ./wayland-session.nix {
|
||||
inherit lib pkgs;
|
||||
inherit lib;
|
||||
# Hardcoded path in Mir, not really possible to disable
|
||||
enableXWayland = true;
|
||||
# No portal support yet: https://github.com/mattkae/miracle-wm/issues/164
|
||||
|
|
|
@ -56,7 +56,7 @@ in
|
|||
}
|
||||
|
||||
(import ./wayland-session.nix {
|
||||
inherit lib pkgs;
|
||||
inherit lib;
|
||||
enableXWayland = cfg.xwayland.enable;
|
||||
})
|
||||
]);
|
||||
|
|
|
@ -129,8 +129,6 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
programs.gnupg.agent.pinentryPackage = lib.mkDefault pkgs.pinentry-gnome3;
|
||||
|
||||
# To make a Sway session available if a display manager like SDDM is enabled:
|
||||
services.displayManager.sessionPackages = lib.optional (cfg.package != null) cfg.package;
|
||||
|
||||
|
@ -139,7 +137,7 @@ in
|
|||
}
|
||||
|
||||
(import ./wayland-session.nix {
|
||||
inherit lib pkgs;
|
||||
inherit lib;
|
||||
enableXWayland = cfg.xwayland.enable;
|
||||
})
|
||||
]);
|
||||
|
|
|
@ -52,8 +52,6 @@ in
|
|||
|
||||
services.displayManager.sessionPackages = [ finalPackage ];
|
||||
|
||||
xdg.icons.enable = true;
|
||||
|
||||
xdg.portal = {
|
||||
enable = lib.mkDefault true;
|
||||
wlr.enable = lib.mkDefault true;
|
||||
|
@ -65,7 +63,7 @@ in
|
|||
};
|
||||
}
|
||||
(import ./wayland-session.nix {
|
||||
inherit lib pkgs;
|
||||
inherit lib;
|
||||
enableXWayland = cfg.xwayland.enable;
|
||||
})
|
||||
]
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
enableXWayland ? true,
|
||||
enableWlrPortal ? true,
|
||||
}:
|
||||
|
@ -11,15 +10,12 @@
|
|||
pam.services.swaylock = {};
|
||||
};
|
||||
|
||||
hardware.graphics.enable = lib.mkDefault true;
|
||||
fonts.enableDefaultPackages = lib.mkDefault true;
|
||||
|
||||
programs = {
|
||||
dconf.enable = lib.mkDefault true;
|
||||
xwayland.enable = lib.mkDefault enableXWayland;
|
||||
};
|
||||
|
||||
xdg.icons.enable = true;
|
||||
services.graphical-desktop.enable = true;
|
||||
|
||||
xdg.portal.wlr.enable = enableWlrPortal;
|
||||
|
||||
|
|
|
@ -5,11 +5,22 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.graphical-desktop;
|
||||
xcfg = config.services.xserver;
|
||||
dmcfg = config.services.displayManager;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf (xcfg.enable || dmcfg.enable) {
|
||||
options = {
|
||||
services.graphical-desktop.enable =
|
||||
lib.mkEnableOption "bits and pieces required for a graphical desktop session"
|
||||
// {
|
||||
default = xcfg.enable || dmcfg.enable;
|
||||
defaultText = lib.literalExpression "(config.services.xserver.enable || config.services.displayManager.enable)";
|
||||
internal = true;
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# The default max inotify watches is 8192.
|
||||
# Nowadays most apps require a good number of inotify watches,
|
||||
# the value below is used by default on several other distros.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue