Refactor NixOS configuration: Move GUI apps to desktop modules and create headless config

- Move GUI applications from users/jsutter.nix to appropriate desktop modules:
  * office.nix: slack, signal-desktop
  * gaming.nix: discord, stremio
  * plasma.nix: arc-theme, pinentry, tigervnc
  * dev.nix: putty
  * media.nix (new): vlc, deluge

- Create systems/common-headless.nix for server configurations:
  * Remove GUI dependencies (Flatpak, XDG portals, fonts, graphics drivers)
  * Include only essential CLI tools and server packages
  * Disable X server completely

- Simplify skip01 configuration:
  * Remove Intel graphics drivers and OpenGL support
  * Use headless common configuration
  * Keep unified users/jsutter.nix (no split files)

- Update flake.nix to include new media.nix module in desktop systems

Result: Clean separation between desktop and headless configurations
with improved modularity and maintainability.
This commit is contained in:
Julian Sutter 2025-07-30 23:17:03 -07:00
parent cb68b1cc02
commit 61c3722f5a
10 changed files with 194 additions and 42 deletions

View file

@ -6,6 +6,7 @@ environment.systemPackages = with pkgs; [
(python3.withPackages(ps: with ps; [ pandas requests python-dotenv pip uv ]))
nodejs
rpi-imager
putty # SSH/Telnet client
pkgs-unstable.windsurf # Use windsurf from unstable packages
];

View file

@ -3,8 +3,10 @@
{
environment.systemPackages = with pkgs; [
# parsec-bin
# bottles
discord # Gaming communication
stremio # Media streaming
# parsec-bin
# bottles
];
# Steam

8
desktop/media.nix Normal file
View file

@ -0,0 +1,8 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
vlc # Media player
deluge # BitTorrent client
];
}

View file

@ -1,12 +1,12 @@
{ config, pkgs, ... }:
{ config, pkgs, pkgs-unstable, ... }:
{
environment.systemPackages = with pkgs; [
libreoffice-qt
thunderbird
# gimp # Temporarily commented out to avoid build errors
# calibre
environment.systemPackages = with pkgs; [
libreoffice-qt
thunderbird
slack # Team communication
pkgs-unstable.signal-desktop # Private messaging
# gimp # Temporarily commented out to avoid build errors
# calibre
];
}

View file

@ -15,6 +15,9 @@
environment.systemPackages = with pkgs; [
kdePackages.spectacle
arc-theme # Desktop theme
pinentry # GUI pinentry for GPG
tigervnc # VNC client/server
];
# GNUPG Stuff