- Remove incorrect 'applications:' prefix from desktop file names
- All modules now use correct format (e.g., 'steam.desktop' not 'applications:steam.desktop')
- Fixed modules: gaming.nix, office.nix, dev.nix, media.nix, dnm.nix
- Modular Plasma pinning system now works correctly for all desktop modules
- All 14 applications should now appear pinned after Plasma session restart
- Add modular pinning system using NixOS module options
- Each desktop module now defines its own pinned applications:
* plasma.nix: konsole, dolphin, firefox, tigervnc
* gaming.nix: steam, discord
* office.nix: slack, signal, libreoffice-writer, libreoffice-calc
* dev.nix: windsurf
* media.nix: rustdesk
* dnm.nix: tor-browser, kleopatra (moved from crypto.nix)
- Move Plasma config from user-specific to desktop module for consistency
- Rename crypto.nix to dnm.nix and update references
- All users with Plasma desktop get automatic taskbar pinning
- Applications only appear when their desktop modules are active
- Add comprehensive Plasma taskbar configuration to users/jsutter.nix
- Configure pinned applications based on active desktop modules:
* Base (plasma): konsole, dolphin, firefox, tigervnc, tor, kleopatra
* Development (dev.nix): windsurf
* Office (office.nix): slack, signal, libreoffice-writer, libreoffice-calc
* Gaming (gaming.nix): discord, steam
- Add required packages to plasma.nix: firefox, tor-browser, kleopatra
- Use static list approach - Plasma ignores missing .desktop files
- Applications only appear when their corresponding module is active
- Maintains modularity while providing consistent desktop experience
Result: Clean, adaptive taskbar that automatically adjusts based on
which desktop modules are included in the system configuration.
- Remove Syncthing service and configurations from users/jsutter.nix
- Remove OpenVPN configurations and delete users/openvpn/ folder
- Move Android development (programs.adb.enable) to desktop/dev.nix
- Remove syncthing and adbusers groups from user extraGroups
- Organize documentation: move README-hybrid-packages.md to docs/ folder
- Keep main README.md in root for project overview
Result: Cleaner, more focused user configuration with development
features properly organized in desktop modules and documentation
structured in dedicated docs folder.
- 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.
- Extract common specialArgs into reusable commonSpecialArgs variable
- Create mkSystem helper function to eliminate duplication
- Extract commonDesktopModules for shared desktop configurations
- Reduce flake.nix from ~90 lines to ~60 lines with better maintainability
- All system configurations (framework, aurora, labrizor, skip01) now use consistent pattern
- Maintain full functionality while dramatically reducing code duplication
Benefits:
- Single source of truth for specialArgs configuration
- Easier to add new systems or modify existing ones
- More maintainable and readable code structure
- Consistent unstable package access across all systems
- Add nixpkgs-unstable input to flake.nix
- Configure specialArgs to pass pkgs-unstable to all system configs
- Update desktop/dev.nix to use windsurf from unstable packages
- Create comprehensive documentation in README-hybrid-packages.md
- Enable selective use of cutting-edge packages while maintaining system stability
Usage: Add pkgs-unstable parameter to any .nix file and use pkgs-unstable.package-name
Example: pkgs-unstable.windsurf for latest Windsurf editor
- Created systems/skip01.nix with 13th gen Intel i5 NUC optimizations
- Configured for headless server operation with SSH access
- Enabled Docker and Podman for container services
- Added Intel graphics support and thermal management
- Network performance tuning for server workloads
- Added skip01 to flake.nix nixosConfigurations