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
This commit is contained in:
parent
2267165e52
commit
ce51c7cf8c
8 changed files with 85 additions and 45 deletions
|
|
@ -4,7 +4,7 @@
|
|||
environment.systemPackages = with pkgs; [
|
||||
vlc # Media player
|
||||
deluge # BitTorrent client
|
||||
stremio
|
||||
# stremio
|
||||
];
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -9,18 +9,11 @@
|
|||
lightdm.enable = false;
|
||||
};
|
||||
|
||||
# New-style SDDM option name (explicitly disabled)
|
||||
services.displayManager.gdm.enable = true;
|
||||
services.displayManager.sddm.enable = false;
|
||||
|
||||
# Default to Plasma (Wayland). Use "plasmax11" for X11.
|
||||
services.displayManager.defaultSession = "plasma";
|
||||
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
khelpcenter
|
||||
];
|
||||
|
||||
programs.dconf.enable = true;
|
||||
programs.kdeconnect.enable = true;
|
||||
hardware.bluetooth.enable = true;
|
||||
|
|
@ -28,7 +21,7 @@
|
|||
environment.systemPackages = with pkgs; [
|
||||
kdePackages.spectacle
|
||||
arc-theme # Desktop theme
|
||||
pinentry # GUI pinentry for GPG
|
||||
pinentry-gnome3 # GUI pinentry for GPG
|
||||
tigervnc # VNC client/server
|
||||
firefox # Web browser
|
||||
];
|
||||
|
|
@ -55,8 +48,8 @@
|
|||
# stop PackageKit polling
|
||||
services.packagekit.enable = false;
|
||||
|
||||
# remove the Discover GUI + tray notifier
|
||||
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
khelpcenter
|
||||
discover
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,7 @@
|
|||
virtualisation = {
|
||||
libvirtd = {
|
||||
enable = true;
|
||||
qemu.ovmf.enable = true;
|
||||
qemu.swtpm.enable = true;
|
||||
qemu.ovmf.packages = [ pkgs.OVMFFull ];
|
||||
};
|
||||
spiceUSBRedirection.enable = true;
|
||||
docker = {
|
||||
|
|
@ -30,7 +28,7 @@
|
|||
virt-viewer # gives remote-viewer
|
||||
spice-gtk
|
||||
spice-protocol
|
||||
win-virtio
|
||||
virtio-win
|
||||
win-spice
|
||||
quickemu
|
||||
docker
|
||||
|
|
|
|||
34
flake.lock
generated
34
flake.lock
generated
|
|
@ -25,27 +25,27 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763992789,
|
||||
"narHash": "sha256-WHkdBlw6oyxXIra/vQPYLtqY+3G8dUVZM8bEXk0t8x4=",
|
||||
"lastModified": 1769580047,
|
||||
"narHash": "sha256-tNqCP/+2+peAXXQ2V8RwsBkenlfWMERb+Uy6xmevyhM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "44831a7eaba4360fb81f2acc5ea6de5fde90aaa3",
|
||||
"rev": "366d78c2856de6ab3411c15c1cb4fb4c2bf5c826",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.05",
|
||||
"ref": "release-25.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1768736227,
|
||||
"narHash": "sha256-qgGq7CfrYKc3IBYQ7qp0Z/ZXndQVC5Bj0N8HW9mS2rM=",
|
||||
"lastModified": 1769302137,
|
||||
"narHash": "sha256-QEDtctEkOsbx8nlFh4yqPEOtr4tif6KTqWwJ37IM2ds=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "d447553bcbc6a178618d37e61648b19e744370df",
|
||||
"rev": "a351494b0e35fd7c0b7a1aae82f0afddf4907aa8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -57,26 +57,26 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1767313136,
|
||||
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
|
||||
"lastModified": 1770136044,
|
||||
"narHash": "sha256-tlFqNG/uzz2++aAmn4v8J0vAkV3z7XngeIIB3rM3650=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d",
|
||||
"rev": "e576e3c9cf9bad747afcddd9e34f51d18c855b4e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-25.05",
|
||||
"ref": "nixos-25.11",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1768564909,
|
||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||
"lastModified": 1770115704,
|
||||
"narHash": "sha256-KHFT9UWOF2yRPlAnSXQJh6uVcgNcWlFqqiAZ7OVlHNc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
|
||||
"rev": "e6eae2ee2110f3d31110d5c222cd395303343b08",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -143,11 +143,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767662275,
|
||||
"narHash": "sha256-d5Q1GmQ+sW1Bt8cgDE0vOihzLaswsm8cSdg8124EqXE=",
|
||||
"lastModified": 1769956244,
|
||||
"narHash": "sha256-12RCFLyAedyMOdenUi7cN3ioJPEGjA/ZG1BLjugfUVs=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "51816be33a1ff0d4b22427de83222d5bfa96d30e",
|
||||
"rev": "fe54ea85c6e4413fba03b84d50f2b431d2f7c831",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
11
flake.nix
11
flake.nix
|
|
@ -2,21 +2,22 @@
|
|||
description = "Julian's system configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-25.05";
|
||||
nixpkgs.url = "nixpkgs/nixos-25.11";
|
||||
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-25.05";
|
||||
url = "github:nix-community/home-manager/release-25.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
plasma-manager = {
|
||||
url = "github:nix-community/plasma-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.home-manager.follows = "home-manager";
|
||||
};
|
||||
octofriend = {
|
||||
url = "path:./appflakes/octofriend";
|
||||
};
|
||||
|
||||
octofriend = { url = "path:./appflakes/octofriend"; };
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, plasma-manager, octofriend }:
|
||||
|
|
|
|||
|
|
@ -97,7 +97,6 @@
|
|||
p7zip
|
||||
rsync
|
||||
bumblebee
|
||||
glxinfo
|
||||
libgdiplus
|
||||
unzip
|
||||
clinfo
|
||||
|
|
@ -121,14 +120,14 @@
|
|||
nvme-cli
|
||||
smartmontools
|
||||
ripgrep
|
||||
mesa-demos
|
||||
];
|
||||
|
||||
services.flatpak.enable = true;
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-color-emoji
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
|
|
|
|||
|
|
@ -57,6 +57,5 @@
|
|||
environment.systemPackages = with pkgs; [
|
||||
via
|
||||
radeontop
|
||||
amdvlk
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,8 @@
|
|||
# Set environment variables here
|
||||
|
||||
home.sessionVariables = {
|
||||
OPENAI_API_KEY = "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"; # Replace with the actual API key
|
||||
OPENAI_API_KEY = "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";
|
||||
SYNTHETIC_L_API_KEY = "syn_5bfe68ad3826bb7872f32fcf160e959a";
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
|
|
@ -49,6 +50,52 @@
|
|||
|
||||
programs.go.enable= true;
|
||||
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
|
||||
# Lets Zed update settings.json when you change agent/model settings in the UI
|
||||
mutableUserSettings = true;
|
||||
|
||||
extensions = [
|
||||
"nix"
|
||||
"markdown"
|
||||
"toml"
|
||||
"go"
|
||||
"dracula"
|
||||
];
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
nixd
|
||||
nil
|
||||
go
|
||||
gopls
|
||||
];
|
||||
|
||||
userSettings = {
|
||||
language_models = {
|
||||
openai_compatible = {
|
||||
SyntheticL = {
|
||||
api_url = "https://api.synthetic.new/openai/v1";
|
||||
available_models = [
|
||||
{
|
||||
name = "hf:zai-org/GLM-4.7";
|
||||
display_name = "SyntheticL";
|
||||
max_tokens = 198000;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
agent = {
|
||||
default_model = {
|
||||
provider = "SyntheticL";
|
||||
model = "hf:zai-org/GLM-4.7";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
|
|
@ -60,7 +107,10 @@
|
|||
bbenoist.nix
|
||||
arrterian.nix-env-selector
|
||||
jnoortheen.nix-ide
|
||||
# zazencodes.cline
|
||||
|
||||
saoudrizwan.claude-dev
|
||||
# optional alt:
|
||||
# continue.continue
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue