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
67 lines
1.7 KiB
Nix
67 lines
1.7 KiB
Nix
{ config, pkgs, home-manager, ... }:
|
|
|
|
{
|
|
virtualisation = {
|
|
libvirtd = {
|
|
enable = true;
|
|
qemu.swtpm.enable = true;
|
|
};
|
|
spiceUSBRedirection.enable = true;
|
|
docker = {
|
|
rootless = {
|
|
enable = true;
|
|
setSocketVariable = true;
|
|
};
|
|
# Use journald for logging for better integration with system logs
|
|
extraOptions = "--log-driver=journald";
|
|
# Optional: configure daemon settings as needed (e.g., registry mirrors, storage drivers)
|
|
# settings = {
|
|
# "registry-mirrors" = [ "https://mirror.gcr.io" ];
|
|
# };
|
|
};
|
|
};
|
|
|
|
services.spice-vdagentd.enable = true;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
virt-manager # optional GUI for libvirt, not required for Quickemu
|
|
virt-viewer # gives remote-viewer
|
|
spice-gtk
|
|
spice-protocol
|
|
virtio-win
|
|
win-spice
|
|
quickemu
|
|
docker
|
|
];
|
|
|
|
environment.sessionVariables.LIBVIRT_DEFAULT_URI = [ "qemu:///system" ];
|
|
|
|
boot.kernelModules = [ "bridge" ];
|
|
|
|
# Enable network-online.target
|
|
systemd.services.network-online = {
|
|
enable = true;
|
|
wantedBy = [ "network.target" ];
|
|
};
|
|
|
|
# Tie services to network-online.target
|
|
systemd.services.libvirtd = {
|
|
after = [ "network-online.target" ];
|
|
wants = [ "network-online.target" ];
|
|
};
|
|
|
|
# Optional: Add a debug hook
|
|
systemd.services.network-debug = {
|
|
description = "Log network status";
|
|
serviceConfig = {
|
|
# Use bash and provide full paths for commands
|
|
ExecStart = "${pkgs.bash}/bin/bash -c '${pkgs.iproute2}/bin/ip a && journalctl -u network.target'";
|
|
Type = "oneshot";
|
|
};
|
|
wantedBy = [ "network-online.target" ];
|
|
};
|
|
|
|
virtualisation.libvirtd.allowedBridges =
|
|
[ "br0" ];
|
|
|
|
}
|