From c5073b924aa31aba4fd8abf04b4b314bbfc0b9c1 Mon Sep 17 00:00:00 2001 From: Lillian-Violet Date: Wed, 22 Oct 2025 14:18:23 +0200 Subject: [PATCH] unify desktop and shodan --- flake.nix | 1 + home-manager/desktop/default.nix | 2 - home-manager/hosts/shodan/lillian.nix | 88 +-------------- nixos/desktop/default.nix | 17 ++- nixos/hosts/EDI/configuration.nix | 8 ++ nixos/hosts/GLaDOS/configuration.nix | 8 ++ nixos/hosts/shodan/configuration.nix | 152 ++------------------------ 7 files changed, 42 insertions(+), 234 deletions(-) diff --git a/flake.nix b/flake.nix index 4421b8d..4478ef1 100644 --- a/flake.nix +++ b/flake.nix @@ -240,6 +240,7 @@ specialArgs = {inherit inputs outputs;}; modules = sharedModules + ++ desktopModules ++ [ {_module.args = {inherit pkgs-edge;};} # > Our main nixos configuration file < diff --git a/home-manager/desktop/default.nix b/home-manager/desktop/default.nix index 954e5ae..da5024c 100644 --- a/home-manager/desktop/default.nix +++ b/home-manager/desktop/default.nix @@ -150,7 +150,6 @@ direnv git git-credential-manager - git-credential-manager ruff devtoolbox @@ -203,7 +202,6 @@ # Web browsing: firefoxpwa - firefoxpwa ungoogled-chromium ]; }; diff --git a/home-manager/hosts/shodan/lillian.nix b/home-manager/hosts/shodan/lillian.nix index f075b0f..7e7e9bf 100644 --- a/home-manager/hosts/shodan/lillian.nix +++ b/home-manager/hosts/shodan/lillian.nix @@ -12,13 +12,8 @@ # You can also split up your configuration and import pieces of it here: # ./nvim.nix - ../../desktop/package-configs/plasma-desktop - ../../desktop/package-configs/firefox - ../../desktop/package-configs/konsole - ../../desktop/package-configs/foot - ../../desktop/package-configs/freetube - ../../desktop/package-configs/vesktop ../../shared + ../../desktop ]; nixpkgs = { # You can add overlays here @@ -33,93 +28,14 @@ # }); # }) ]; - # Configure your nixpkgs instance - config = { - # Disable if you don't want unfree packages - allowUnfree = true; - }; - }; - - home = { - username = "lillian"; - homeDirectory = "/home/lillian"; }; home.packages = with pkgs; [ - #Chat: - vesktop - #Gaming: - # prismlauncher + prismlauncher r2modman ryubing - - # Multimedia: - freetube - obs-studio - vlc - fcast-receiver - fcast-client - - # System tools: - rage - flameshot - fzf - nextcloud-client - # nitrokey-app - # protonvpn-gui - sops - #watchmate - qbittorrent - zsh - - # Theming: - catppuccin-cursors - (catppuccin-kde.override { - flavour = ["macchiato"]; - accents = ["mauve"]; - }) - catppuccin-plymouth - catppuccin-sddm-corners - - # Web browsing: - firefox - ungoogled-chromium ]; - programs = { - # # Automount services for user - # programs.bashmount.enable = true; - # services.udiskie = { - # enable = true; - # automount = true; - # notify = false; - # tray = "never"; - # }; - - # Enable home-manager and git - home-manager.enable = true; - git = { - enable = true; - settings = { - user = { - name = "Lillian-Violet"; - email = "git@lillianviolet.dev"; - }; - init = { - defaultBranch = "main"; - }; - }; - ignores = [ - "*.direnv" - "*.vscode" - ".envrc" - "venv" - "venv" - ]; - signing.format = "ssh"; - }; - }; - # Make the kde screenlock not require a password :) programs.plasma.kscreenlocker.passwordRequired = false; diff --git a/nixos/desktop/default.nix b/nixos/desktop/default.nix index 8c5c261..5615558 100644 --- a/nixos/desktop/default.nix +++ b/nixos/desktop/default.nix @@ -73,6 +73,13 @@ zsh # KDE/QT + kdePackages.plasma-desktop + kdePackages.plasma-wayland-protocols + kdePackages.libplasma + kdePackages.plasma-integration + kdePackages.plasma-activities + kdePackages.plasma-workspace + kdePackages.plasma-vault kdePackages.discover kdePackages.filelight kdePackages.kcalc @@ -139,6 +146,8 @@ }; }; + xdg.portal.enable = true; + # Enable networking networking.networkmanager.enable = true; # Enables support for 32bit libs that steam uses @@ -149,10 +158,10 @@ xserver.enable = true; # Enable the KDE Plasma Desktop Environment. - displayManager.sddm = { - enable = true; - wayland.enable = true; - }; + # displayManager.sddm = { + # enable = true; + # wayland.enable = true; + # }; displayManager.defaultSession = "plasma"; desktopManager.plasma6.enable = true; desktopManager.plasma6.notoPackage = pkgs.atkinson-hyperlegible; diff --git a/nixos/hosts/EDI/configuration.nix b/nixos/hosts/EDI/configuration.nix index e691266..fc742ef 100644 --- a/nixos/hosts/EDI/configuration.nix +++ b/nixos/hosts/EDI/configuration.nix @@ -35,6 +35,14 @@ virtualisation.spiceUSBRedirection.enable = true; + services.displayManager.sddm = { + enable = true; + wayland.enable = true; + }; + + services.displayManager.defaultSession = "plasma"; + services.desktopManager.plasma6.enable = true; + services.samba = { enable = true; openFirewall = true; diff --git a/nixos/hosts/GLaDOS/configuration.nix b/nixos/hosts/GLaDOS/configuration.nix index 1582ebc..81777e5 100644 --- a/nixos/hosts/GLaDOS/configuration.nix +++ b/nixos/hosts/GLaDOS/configuration.nix @@ -34,6 +34,14 @@ gparted ]; + services.displayManager.sddm = { + enable = true; + wayland.enable = true; + }; + + services.displayManager.defaultSession = "plasma"; + services.desktopManager.plasma6.enable = true; + services.vpn-ip = { ip = "2"; }; diff --git a/nixos/hosts/shodan/configuration.nix b/nixos/hosts/shodan/configuration.nix index b7b60de..162f6b5 100644 --- a/nixos/hosts/shodan/configuration.nix +++ b/nixos/hosts/shodan/configuration.nix @@ -17,7 +17,7 @@ outputs.nixosModules.vpn-ip # Import the shared settings - ../../desktop/package-configs/firefox + ../../desktop # You can also split up your configuration and import pieces of it here: # ./nvim.nix @@ -76,120 +76,32 @@ ip = "4"; }; + xdg.portal.extraPortals = [pkgs.kdePackages.xdg-desktop-portal-kde]; services = { - openssh.enable = true; # Enables support for 32bit libs that steam uses - - # Enable the X11 windowing system. - xserver.enable = true; - - # Enable the KDE Plasma Desktop Environment. - desktopManager.plasma6.enable = true; - desktopManager.plasma6.notoPackage = pkgs.atkinson-hyperlegible; - - avahi = { - nssmdns4 = true; - enable = true; - ipv4 = true; - ipv6 = true; - publish = { - enable = true; - addresses = true; - workstation = true; + displayManager = { + # defaultSession = "plasma"; + sddm.wayland.enable = lib.mkForce true; + sddm.settings = { + Autologin = { + Session = "plasma.desktop"; + User = "lillian"; + }; }; }; - # displayManager = { - # # defaultSession = "plasma"; - # sddm.wayland.enable = lib.mkForce true; - # sddm.settings = { - # Autologin = { - # Session = "plasma.desktop"; - # User = "lillian"; - # }; - # }; - # }; - - # Enable flatpak support - flatpak.enable = true; - packagekit.enable = true; - - # Configure keymap in X11 - xserver = { - xkb.layout = "us"; - xkb.variant = ""; - }; - - # Enable CUPS to print documents. - printing.enable = true; - - # Enable fwupd daemon and user space client - fwupd.enable = true; - # pipewire = { - # enable = true; - # alsa.enable = true; - # alsa.support32Bit = true; - # pulse.enable = true; - # }; }; - nixpkgs = { - # You can add overlays here - overlays = [ - ]; - # Configure your nixpkgs instance - config = { - # Disable if you don't want unfree packages - allowUnfree = true; - }; - }; environment.systemPackages = with pkgs; [ # Custom tools - auto-mount #System: - btrfs-progs decky-loader - efitools - jq noto-fonts noto-fonts-emoji-blob-bin noto-fonts-emoji - qjackctl - ttf-ms-win10 - bottles jre8 # jellyfin-media-player #rustdesk - sbctl - udisks - util-linux - wayland-utils - waypipe - python3 - protonup-qt - - #KDE: - # # KDE/QT - kdePackages.discover - kdePackages.filelight - kdePackages.kcalc - kdePackages.kdepim-addons - kdePackages.kirigami - kdePackages.kdeconnect-kde - kdePackages.konsole - # kdePackages.krunner-ssh - # kdePackages.krunner-symbols - kdePackages.packagekit-qt - kdePackages.plasma-pa - kdePackages.sddm-kcm - kdePackages.dolphin-plugins - kdePackages.qtstyleplugin-kvantum - kdePackages.krdc - kdePackages.krfb - kdePackages.kate - kdePackages.xwaylandvideobridge - libportal-qt5 - libportal #Gaming: heroic @@ -243,56 +155,12 @@ }; }; fonts.packages = [pkgs.ttf-ms-win10]; - programs = { - steam = lib.mkForce { - enable = true; - remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play - dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server - extest.enable = true; - }; - kdeconnect.enable = true; - - noisetorch = { - enable = true; - }; - - git = { - enable = true; - }; - }; - # # Enable automounting of removable media # services.udisks2.enable = true; # services.devmon.enable = true; # services.gvfs.enable = true; # environment.variables.GIO_EXTRA_MODULES = lib.mkForce ["${pkgs.gvfs}/lib/gio/modules"]; - # Set your time zone. - time.timeZone = "Europe/Amsterdam"; - hardware = { - graphics.enable32Bit = true; - - # Enable bluetooth hardware - bluetooth.enable = true; - - # Enable sound with pipewire. - }; - - services.pulseaudio.enable = false; - users.users.lillian.extraGroups = ["decky" "tss" "input"]; - - # Enable completion of system packages by zsh - environment.pathsToLink = ["/share/zsh"]; - - security = { - rtkit.enable = true; - tpm2 = { - enable = true; - pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so - tctiEnvironment.enable = true; - }; - }; - # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = "25.11"; }