diff options
| -rw-r--r-- | modules/plasma.nix | 42 | ||||
| -rw-r--r-- | roles/remote-server.nix | 45 |
2 files changed, 71 insertions, 16 deletions
diff --git a/modules/plasma.nix b/modules/plasma.nix new file mode 100644 index 0000000..8e64efb --- /dev/null +++ b/modules/plasma.nix @@ -0,0 +1,42 @@ +{ pkgs, ... }: + +{ + services.xserver.enable = true; + services.xserver.excludePackages = [ pkgs.xterm ]; + + services.displayManager.sddm = { + enable = true; + wayland.enable = true; + autoLogin = { + enable = true; + user = "mel"; + }; + }; + + services.desktopManager.plasma6.enable = true; + + programs.gamescope = { + enable = true; + capSysNice = true; + }; + + environment.systemPackages = with pkgs; [ + kdePackages.kde-gtk-config + kdePackages.sddm-kcm + ]; + + # dark theme for GTK apps under Plasma + environment.etc = { + "xdg/gtk-2.0/gtkrc".text = '' + gtk-application-prefer-dark-theme = 1 + ''; + "xdg/gtk-3.0/settings.ini".text = '' + [Settings] + gtk-application-prefer-dark-theme = 1 + ''; + "xdg/gtk-4.0/settings.ini".text = '' + [Settings] + gtk-application-prefer-dark-theme = 1 + ''; + }; +} diff --git a/roles/remote-server.nix b/roles/remote-server.nix index 6091bd7..f27721e 100644 --- a/roles/remote-server.nix +++ b/roles/remote-server.nix @@ -1,15 +1,42 @@ { + pkgs, ... }: + { imports = [ - # we inherit from desktop - ./desktop.nix + ../modules/common.nix + ../modules/plasma.nix + ../modules/fonts.nix + ../modules/flatpak.nix + ../modules/hardware-keys.nix # primary streaming setup ../modules/sunshine.nix ]; + services = { + tailscale = { + enable = true; + useRoutingFeatures = "both"; + extraUpFlags = [ "--ssh" ]; + }; + openssh = { + enable = true; + openFirewall = true; + }; + }; + + programs = { + steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + }; + virt-manager.enable = true; + }; + virtualisation = { docker = { enable = true; @@ -20,19 +47,5 @@ }; }; - programs.steam = { - enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; - localNetworkGameTransfers.openFirewall = true; - }; - - services.openssh = { - enable = true; - openFirewall = true; - }; - - # override desktop configuration, because we do run SSH - # on remote-servers. age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; } |
