aboutsummaryrefslogtreecommitdiffstats
path: root/hosts/common/optional
diff options
context:
space:
mode:
authorMark Nipper <nipsy@bitgnome.net>2026-01-27 16:31:09 -0800
committerMark Nipper <nipsy@bitgnome.net>2026-01-27 16:31:09 -0800
commita959a4470bda92234a63bbac8a312a49fe864edc (patch)
tree3e4df3bb6613828abb5fc9b75a3a0364f6c917fa /hosts/common/optional
parent4f81ff3994851d85e2404f95197623d5c4bf8c9e (diff)
downloadnix-a959a4470bda92234a63bbac8a312a49fe864edc.tar
nix-a959a4470bda92234a63bbac8a312a49fe864edc.tar.gz
nix-a959a4470bda92234a63bbac8a312a49fe864edc.tar.bz2
nix-a959a4470bda92234a63bbac8a312a49fe864edc.tar.lz
nix-a959a4470bda92234a63bbac8a312a49fe864edc.tar.xz
nix-a959a4470bda92234a63bbac8a312a49fe864edc.tar.zst
nix-a959a4470bda92234a63bbac8a312a49fe864edc.zip
Break out GUI options from display server
Diffstat (limited to 'hosts/common/optional')
-rw-r--r--hosts/common/optional/gui.nix76
-rw-r--r--hosts/common/optional/services/wayland.nix83
-rw-r--r--hosts/common/optional/services/xorg.nix108
3 files changed, 95 insertions, 172 deletions
diff --git a/hosts/common/optional/gui.nix b/hosts/common/optional/gui.nix
new file mode 100644
index 0000000..eb6242d
--- /dev/null
+++ b/hosts/common/optional/gui.nix
@@ -0,0 +1,76 @@
+{ pkgs, ... }:
+{
+ environment.systemPackages = [
+ pkgs.chafa
+ pkgs.evince
+ pkgs.feh
+ pkgs.gcr
+ #pkgs.geeqie
+ pkgs.ghostty
+ pkgs.gimp3
+ #pkgs.gimp-with-plugins
+ pkgs.google-chrome
+ pkgs.gv
+ pkgs.inkscape
+ pkgs.kdePackages.okular
+ pkgs.libreoffice
+ pkgs.libva-utils
+ pkgs.mako
+ pkgs.mangohud
+ pkgs.mesa-demos
+ pkgs.mpv
+ pkgs.polkit_gnome
+ pkgs.rdesktop
+ pkgs.read-edid
+ pkgs.slurp
+ pkgs.st
+ pkgs.swayimg
+ pkgs.sxiv
+ pkgs.vdpauinfo
+ pkgs.vlc
+ pkgs.vulkan-tools
+ pkgs.wireshark
+ pkgs.xclip
+ pkgs.xdotool
+ pkgs.xorg.appres
+ pkgs.xorg.editres
+ pkgs.xorg.xdpyinfo
+ pkgs.xorg.xev
+ pkgs.xsnow
+ pkgs.xterm
+ ];
+
+ programs = {
+ firefox = {
+ enable = true;
+ #package = pkgs.master.firefox;
+ };
+
+ #gamemode.enable = true;
+ #steam.gamescopeSession.enable = true;
+ };
+
+ security.pam.loginLimits = [
+ { domain = "@users"; item = "rtprio"; type = "-"; value = 1; }
+ ];
+
+ services = {
+ blueman.enable = true;
+ libinput.enable = true;
+ printing.enable = true;
+ };
+
+ systemd.user.services.polkit-gnome-authentication-agent-1 = {
+ after = [ "graphical-session.target" ];
+ description = "polkit-gnome-authentication-agent-1";
+ serviceConfig = {
+ Type = "simple";
+ ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
+ Restart = "on-failure";
+ RestartSec = 1;
+ TimeoutStopSec = 10;
+ };
+ wantedBy = [ "graphical-session.target" ];
+ wants = [ "graphical-session.target" ];
+ };
+}
diff --git a/hosts/common/optional/services/wayland.nix b/hosts/common/optional/services/wayland.nix
index 493e0e4..501e173 100644
--- a/hosts/common/optional/services/wayland.nix
+++ b/hosts/common/optional/services/wayland.nix
@@ -1,95 +1,16 @@
-{ config, lib, pkgs, ... }:
+{ pkgs, ... }:
{
environment.systemPackages = [
- pkgs.chafa
- pkgs.evince
- pkgs.feh
- pkgs.gcr
- #pkgs.geeqie
- pkgs.ghostty
- pkgs.gimp3
- #pkgs.gimp-with-plugins
- pkgs.google-chrome
pkgs.grim
- pkgs.gv
- pkgs.inkscape
- pkgs.kdePackages.okular
- pkgs.libreoffice
- pkgs.libva-utils
- pkgs.mako
- pkgs.mangohud
- pkgs.mesa-demos
- pkgs.mpv
- pkgs.polkit_gnome
- pkgs.rdesktop
- pkgs.read-edid
- pkgs.slurp
- pkgs.st
- pkgs.swayimg
- pkgs.sxiv
- #pkgs.tigervnc
- #pkgs.turbovnc
- pkgs.vdpauinfo
- pkgs.vlc
- pkgs.vulkan-tools
- pkgs.wireshark
+ pkgs.wev
pkgs.wl-clipboard
pkgs.wlvncc
- #pkgs.x11vnc
- pkgs.xclip
- pkgs.xdotool
- pkgs.xorg.appres
- pkgs.xorg.editres
- pkgs.xorg.xdpyinfo
- pkgs.xorg.xev
- pkgs.xscreensaver
- pkgs.xsnow
- pkgs.xterm
];
programs = {
- firefox = {
- enable = true;
- #package = pkgs.master.firefox;
- };
-
- gamemode.enable = true;
-
- steam.gamescopeSession.enable = true;
-
sway = {
enable = true;
wrapperFeatures.gtk = true;
};
};
-
- security = {
- pam = {
- loginLimits = [
- { domain = "@users"; item = "rtprio"; type = "-"; value = 1; }
- ];
- };
- };
-
- services = {
- blueman.enable = true;
- libinput.enable = true;
- printing.enable = true;
- };
-
- systemd = {
- user.services.polkit-gnome-authentication-agent-1 = {
- description = "polkit-gnome-authentication-agent-1";
- wantedBy = [ "graphical-session.target" ];
- wants = [ "graphical-session.target" ];
- after = [ "graphical-session.target" ];
- serviceConfig = {
- Type = "simple";
- ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
- Restart = "on-failure";
- RestartSec = 1;
- TimeoutStopSec = 10;
- };
- };
- };
}
diff --git a/hosts/common/optional/services/xorg.nix b/hosts/common/optional/services/xorg.nix
index 0c5ca0c..9852a51 100644
--- a/hosts/common/optional/services/xorg.nix
+++ b/hosts/common/optional/services/xorg.nix
@@ -1,95 +1,37 @@
{ config, lib, pkgs, ... }:
{
environment.systemPackages = [
- pkgs.chafa
- pkgs.evince
- pkgs.feh
- pkgs.gcr
- #pkgs.geeqie
- pkgs.ghostty
- pkgs.gimp3
- #pkgs.gimp-with-plugins
- pkgs.google-chrome
- pkgs.gv
- pkgs.inkscape
- pkgs.kdePackages.okular
- pkgs.libreoffice
- pkgs.libva-utils
- pkgs.mangohud
- pkgs.mesa-demos
- pkgs.mpv
- pkgs.polkit_gnome
- pkgs.rdesktop
- pkgs.read-edid
- pkgs.st
- pkgs.sxiv
#pkgs.tigervnc
pkgs.turbovnc
- pkgs.vdpauinfo
- pkgs.vlc
- pkgs.vulkan-tools
- pkgs.wireshark
pkgs.x11vnc
- pkgs.xclip
- pkgs.xdotool
- pkgs.xorg.appres
- pkgs.xorg.editres
- pkgs.xorg.xdpyinfo
- pkgs.xorg.xev
pkgs.xscreensaver
- pkgs.xsnow
- pkgs.xterm
];
- programs = {
- dconf = {
- enable = true;
- profiles.user.databases = [{
- settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
- }];
- };
-
- firefox = {
- enable = true;
- #package = pkgs.master.firefox;
- };
- };
-
- security = {
- pam = {
- loginLimits = [
- { domain = "@users"; item = "rtprio"; type = "-"; value = 1; }
- ];
- };
- polkit = {
- enable = true;
- extraConfig = ''
- polkit.addRule(function(action, subject) {
- if (
- subject.isInGroup("users")
- && (
- action.id == "org.freedesktop.login1.reboot" ||
- action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
- action.id == "org.freedesktop.login1.power-off" ||
- action.id == "org.freedesktop.login1.power-off-multiple-sessions"
- )
+ security.polkit = {
+ enable = true;
+ extraConfig = ''
+ polkit.addRule(function(action, subject) {
+ if (
+ subject.isInGroup("users")
+ && (
+ action.id == "org.freedesktop.login1.reboot" ||
+ action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
+ action.id == "org.freedesktop.login1.power-off" ||
+ action.id == "org.freedesktop.login1.power-off-multiple-sessions"
)
- {
- return polkit.Result.YES;
- }
- })
- '';
- };
+ )
+ {
+ return polkit.Result.YES;
+ }
+ })
+ '';
};
services = {
- blueman.enable = true;
displayManager = lib.mkIf (config.networking.hostName != "fangorn") {
defaultSession = "xsession";
};
- libinput.enable = true;
picom.enable = true;
- printing.enable = true;
xserver = {
displayManager.lightdm = lib.mkMerge [
(lib.mkIf (config.networking.hostName == "fangorn") {
@@ -114,20 +56,4 @@
xkb.options = "caps:super,compose:ralt";
};
};
-
- systemd = {
- user.services.polkit-gnome-authentication-agent-1 = {
- description = "polkit-gnome-authentication-agent-1";
- wantedBy = [ "graphical-session.target" ];
- wants = [ "graphical-session.target" ];
- after = [ "graphical-session.target" ];
- serviceConfig = {
- Type = "simple";
- ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
- Restart = "on-failure";
- RestartSec = 1;
- TimeoutStopSec = 10;
- };
- };
- };
}