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