nixos/desktop/plasma.nix
Julian Sutter ce51c7cf8c Update NixOS configurations across multiple modules
This commit updates various configuration modules to improve system
functionality and maintain consistency across all managed machines.

## Changed Files

### flake.nix
- Updated to use nixos-25.11 channel (previously 25.05)
- Updated home-manager to release-25.11
- Added octofriend local flake reference
- Simplified commonDesktopModules structure
- Updated framework configuration with additional desktop modules (dnm, stp-elc-udmshare)

### flake.lock
- Updated lock file to reflect new flake inputs and dependency versions

### systems/common.nix
- Updated system stateVersion from "25.05" to "25.05"
- Added more system packages for system administration:
  - kopia (backup tool)
  - dig (DNS lookup utility)
  - pv (pipe viewer for progress monitoring)
  - whois (network information lookup)
  - mesa-demos (OpenGL/demos for graphics testing)
- Added kdePackages.xdg-desktop-portal-kde for better desktop integration
- Maintained all existing hardware, networking, bootloader, and service configurations

### systems/framework.nix
- Maintained existing Framework laptop specific configurations:
  - AMD GPU support with microcode updates
  - Custom kernel parameters (mem_sleep_default=s2idle)
  - Power management (power-profiles-daemon enabled, TLP/thermald disabled for AMD)
  - Logind lid switch configuration (suspend-then-hibernate on lid close)
  - Swapfile configuration (10GB size)
  - Brightness control via acpilight
  - SSD optimization with fstrim
- Added user packages: via (keyboard configurator), radeontop (AMD GPU monitor)

### users/jsutter.nix
- Enhanced Home Manager configuration:
  - Updated stateVersion to "25.05"
  - Added Zed editor configuration with AI model integration:
    - Configured SyntheticL API endpoint for GLM-4.7 model
    - Added extensions: nix, markdown, toml, go, dracula
    - Included extra packages for language support (nixd, nil, gopls)
  - Updated VSCode extensions list with Claude dev support
  - Added Micro editor as alternative light editor
- Maintained all existing user packages, SSH keys, and base configurations

### desktop/media.nix
- Updated multimedia application packages for enhanced media handling

### desktop/plasma.nix
- Updated Plasma desktop environment packages and configurations

### desktop/virtualization.nix
- Updated virtualization settings and package versions

## Testing Notes
- All changes should be tested with 'nix flake check' to verify syntax
- Run 'sudo nixos-rebuild dry-run --flake .#framework' before applying
- Verify that all services start correctly after rebuild

## Impact Scope
- Affects all three managed systems: framework, aurora, labrizor
- Primary focus on framework laptop configuration as primary development machine
- Home Manager changes only affect jsutter user account
2026-02-03 22:13:06 -08:00

55 lines
1.4 KiB
Nix

{ config, pkgs, lib, home-manager, ... }:
{
services.xserver.enable = true;
# Use GDM because SDDM and LightDM suck.
services.xserver.displayManager = {
gdm.enable = true;
lightdm.enable = false;
};
services.displayManager.gdm.enable = true;
services.displayManager.sddm.enable = false;
services.displayManager.defaultSession = "plasma";
services.desktopManager.plasma6.enable = true;
programs.dconf.enable = true;
programs.kdeconnect.enable = true;
hardware.bluetooth.enable = true;
environment.systemPackages = with pkgs; [
kdePackages.spectacle
arc-theme # Desktop theme
pinentry-gnome3 # GUI pinentry for GPG
tigervnc # VNC client/server
firefox # Web browser
];
# GNUPG Stuff
services.pcscd.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
# RDP
services.xrdp.enable = true;
services.xrdp.defaultWindowManager = "startplasma-x11";
networking.firewall.allowedTCPPorts = [ 3389 ];
services.xrdp.openFirewall = true;
# Custom Keyboard Shortcuts for Plasma 6
environment.etc."kglobalshortcutsrc".text = ''
[khotkeys]
Ctrl+Alt+Delete=Lock Session,none,Lock the session
'';
# stop PackageKit polling
services.packagekit.enable = false;
environment.plasma6.excludePackages = with pkgs.kdePackages; [
khelpcenter
discover
];
}