Merge pull request #24 from moons-14/codex/gnomely

Add GNOME module, centralize Wayland portals, set default Ly session, and remove camera portal
This commit is contained in:
2026-06-25 15:55:08 +09:00
committed by GitHub
6 changed files with 41 additions and 8 deletions
+1
View File
@@ -14,6 +14,7 @@
./git ./git
./gnupg ./gnupg
./grok.nix ./grok.nix
./gnome.nix
./greetd.nix ./greetd.nix
./ly ./ly
./gtk ./gtk
+26
View File
@@ -0,0 +1,26 @@
{
pkgs,
lib,
config,
...
}:
let
cfg = config.my.applications.gnome;
in
{
options.my.applications.gnome = {
enable = lib.mkEnableOption "GNOME desktop environment";
};
config = lib.mkIf cfg.enable {
services.desktopManager.gnome.enable = true;
# ly is the display manager for switching between installed sessions.
services.displayManager.gdm.enable = lib.mkForce false;
environment.systemPackages = with pkgs; [
gnome-tweaks # GNOME desktop customization tool
gnome-extension-manager # GNOME Shell extension manager
];
};
}
+2
View File
@@ -17,6 +17,8 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.displayManager.defaultSession = lib.mkDefault "niri";
services.displayManager.ly = { services.displayManager.ly = {
enable = true; enable = true;
settings = { settings = {
+10 -2
View File
@@ -15,19 +15,27 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
programs.xwayland.enable = true; programs.xwayland.enable = true;
# Keep global Wayland portal settings in this module so hardware/application
# modules do not each append their own portal backends.
xdg.portal = { xdg.portal = {
enable = true; enable = true;
wlr.enable = true; wlr.enable = true;
extraPortals = [ extraPortals = [
pkgs.xdg-desktop-portal-wlr pkgs.xdg-desktop-portal-gnome
pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-wlr
]; ];
xdgOpenUsePortal = true; xdgOpenUsePortal = true;
config = { config = {
common.default = [ common.default = [ "gtk" ];
niri.default = lib.mkForce [
"wlr" "wlr"
"gtk" "gtk"
]; ];
gnome.default = [
"gnome"
"gtk"
];
}; };
}; };
+2 -1
View File
@@ -8,11 +8,12 @@ let
in in
{ {
options.my.features.gui.desktop = { options.my.features.gui.desktop = {
enable = lib.mkEnableOption "Niri Wayland compositor environment"; enable = lib.mkEnableOption "Graphical desktop sessions";
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
my.applications = { my.applications = {
gnome.enable = true;
gtk.enable = true; gtk.enable = true;
niri.enable = true; niri.enable = true;
wayland.enable = true; wayland.enable = true;
-5
View File
@@ -32,10 +32,5 @@ in
pulse.enable = true; pulse.enable = true;
}; };
security.rtkit.enable = true; security.rtkit.enable = true;
xdg.portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
}; };
} }