chore(release): bump NixOS to 25.11 and update channels

Upgrade the NixOS `stateVersion` from 25.05 to 25.11 in all system configuration files and update all nix channel URLs to the 25.11 releases. Adjust Home Manager and terminal module configurations accordingly, clean up duplicated SSH keys, and update LLaMA server command lines. Minor housekeeping changes to package definitions and other configuration files are also included.
This commit is contained in:
2025-12-12 12:40:09 -05:00
parent a367f724ce
commit 80033fd2ae
24 changed files with 149 additions and 264 deletions

View File

@@ -53,11 +53,11 @@ nix-collect-garbage --delete-old
```bash ```bash
# Update System Channels # Update System Channels
sudo nix-channel --add https://nixos.org/channels/nixpkgs-25.05-darwin nixpkgs sudo nix-channel --add https://nixos.org/channels/nixpkgs-25.11-darwin nixpkgs
sudo nix-channel --update sudo nix-channel --update
# Update Home Manager # Update Home Manager
nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz home-manager nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager
nix-channel --update nix-channel --update
# Link Repo # Link Repo

View File

@@ -1,9 +1,13 @@
{ lib, pkgs, config, namespace, ... }: { lib
, config
, namespace
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
in in
{ {
home.stateVersion = "25.05"; home.stateVersion = "25.11";
reichard = { reichard = {
user = { user = {
@@ -11,15 +15,6 @@ in
inherit (config.snowfallorg.user) name; inherit (config.snowfallorg.user) name;
}; };
services = {
# TODO
# sops = {
# enable = true;
# defaultSopsFile = lib.snowfall.fs.get-file "secrets/mac-va-mbp-personal/evanreichard/default.yaml";
# sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ];
# };
};
programs = { programs = {
graphical = { graphical = {
ghostty = enabled; ghostty = enabled;
@@ -35,25 +30,4 @@ in
}; };
}; };
}; };
# Global Packages
# programs.jq = enabled;
# programs.pandoc = enabled;
# home.packages = with pkgs; [
# android-tools
# imagemagick
# mosh
# python311
# texliveSmall # Pandoc PDF Dep
# google-cloud-sdk
# tldr
# ];
home.packages = with pkgs; [ fastfetch ];
# SQLite Configuration
home.file.".sqliterc".text = ''
.headers on
.mode column
'';
} }

View File

@@ -8,7 +8,7 @@ let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
in in
{ {
home.stateVersion = "25.05"; home.stateVersion = "25.11";
reichard = { reichard = {
user = { user = {
@@ -39,7 +39,6 @@ in
home.packages = with pkgs; [ home.packages = with pkgs; [
android-tools android-tools
imagemagick imagemagick
mosh
python312 python312
texliveSmall # Pandoc PDF Dep texliveSmall # Pandoc PDF Dep
google-cloud-sdk google-cloud-sdk
@@ -47,10 +46,4 @@ in
claude-code claude-code
reichard.qwen-code reichard.qwen-code
]; ];
# SQLite Configuration
home.file.".sqliterc".text = ''
.headers on
.mode column
'';
} }

View File

@@ -1,9 +1,15 @@
{ pkgs, lib, config, namespace, osConfig, ... }: { pkgs
, lib
, config
, namespace
, osConfig
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
in in
{ {
home.stateVersion = "25.05"; home.stateVersion = "25.11";
reichard = { reichard = {
user = { user = {
@@ -49,25 +55,16 @@ in
}; };
}; };
# home.packages = with pkgs; [
# catppuccin-gtk
# ];
dconf = { dconf = {
settings = { settings = {
"org/gnome/desktop/interface" = { "org/gnome/desktop/interface" = {
color-scheme = "prefer-dark"; color-scheme = "prefer-dark";
cursor-theme = "catppuccin-macchiato-mauve-cursors"; cursor-theme = "catppuccin-macchiato-mauve-cursors";
cursor-size = 24; cursor-size = 24;
# enable-hot-corners = false;
# font-name = osConfig.${namespace}.system.fonts.default;
# gtk-theme = cfg.theme.name;
# icon-theme = cfg.icon.name;
}; };
}; };
}; };
home.pointerCursor = { home.pointerCursor = {
gtk.enable = true; gtk.enable = true;
name = "catppuccin-macchiato-mauve-cursors"; name = "catppuccin-macchiato-mauve-cursors";
@@ -81,23 +78,4 @@ in
path = "${config.home.homeDirectory}/.kube/rke2"; path = "${config.home.homeDirectory}/.kube/rke2";
}; };
}; };
# Global Packages
# programs.jq = enabled;
# programs.pandoc = enabled;
# home.packages = with pkgs; [
# android-tools
# imagemagick
# mosh
# python311
# texliveSmall # Pandoc PDF Dep
# google-cloud-sdk
# tldr
# ];
# SQLite Configuration
home.file.".sqliterc".text = ''
.headers on
.mode column
'';
} }

View File

@@ -1,9 +1,13 @@
{ lib, config, namespace, ... }: { lib
, config
, namespace
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
in in
{ {
home.stateVersion = "25.05"; home.stateVersion = "25.11";
reichard = { reichard = {
user = { user = {
@@ -27,10 +31,4 @@ in
}; };
}; };
}; };
# SQLite Configuration
home.file.".sqliterc".text = ''
.headers on
.mode column
'';
} }

View File

@@ -1,9 +1,15 @@
{ pkgs, lib, config, namespace, osConfig, ... }: { pkgs
, lib
, config
, namespace
, osConfig
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
in in
{ {
home.stateVersion = "25.05"; home.stateVersion = "25.11";
reichard = { reichard = {
user = { user = {
@@ -55,15 +61,10 @@ in
color-scheme = "prefer-dark"; color-scheme = "prefer-dark";
cursor-theme = "catppuccin-macchiato-mauve-cursors"; cursor-theme = "catppuccin-macchiato-mauve-cursors";
cursor-size = 24; cursor-size = 24;
# enable-hot-corners = false;
# font-name = osConfig.${namespace}.system.fonts.default;
# gtk-theme = cfg.theme.name;
# icon-theme = cfg.icon.name;
}; };
}; };
}; };
home.pointerCursor = { home.pointerCursor = {
gtk.enable = true; gtk.enable = true;
name = "catppuccin-macchiato-mauve-cursors"; name = "catppuccin-macchiato-mauve-cursors";
@@ -77,10 +78,4 @@ in
path = "${config.home.homeDirectory}/.kube/rke2"; path = "${config.home.homeDirectory}/.kube/rke2";
}; };
}; };
# SQLite Configuration
home.file.".sqliterc".text = ''
.headers on
.mode column
'';
} }

View File

@@ -1,4 +1,10 @@
{ pkgs, lib, config, namespace, osConfig, ... }: { pkgs
, lib
, config
, namespace
, osConfig
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
in in
@@ -62,7 +68,6 @@ in
}; };
}; };
home.pointerCursor = { home.pointerCursor = {
gtk.enable = true; gtk.enable = true;
name = "catppuccin-macchiato-mauve-cursors"; name = "catppuccin-macchiato-mauve-cursors";
@@ -76,23 +81,4 @@ in
path = "${config.home.homeDirectory}/.kube/rke2"; path = "${config.home.homeDirectory}/.kube/rke2";
}; };
}; };
# Global Packages
# programs.jq = enabled;
# programs.pandoc = enabled;
# home.packages = with pkgs; [
# android-tools
# imagemagick
# mosh
# python311
# texliveSmall # Pandoc PDF Dep
# google-cloud-sdk
# tldr
# ];
# SQLite Configuration
home.file.".sqliterc".text = ''
.headers on
.mode column
'';
} }

View File

@@ -0,0 +1,2 @@
.headers on
.mode column

View File

@@ -1,7 +1,12 @@
{ pkgs, lib, config, namespace, ... }: { pkgs
, lib
, config
, namespace
, ...
}:
let let
inherit (lib) mkIf optionalAttrs; inherit (lib) mkIf optionalAttrs;
inherit (pkgs.stdenv) isLinux; inherit (pkgs.stdenv) isLinux isDarwin;
cfg = config.${namespace}.programs.terminal.bash; cfg = config.${namespace}.programs.terminal.bash;
in in
{ {
@@ -15,8 +20,12 @@ in
shellAliases = { shellAliases = {
grep = "grep --color"; grep = "grep --color";
ssh = "TERM=xterm-256color ssh"; ssh = "TERM=xterm-256color ssh";
} // optionalAttrs isLinux { }
// optionalAttrs isLinux {
sync-watch = "watch -d grep -e Dirty: -e Writeback: /proc/meminfo"; sync-watch = "watch -d grep -e Dirty: -e Writeback: /proc/meminfo";
}
// optionalAttrs isDarwin {
mosh = "mosh --ssh=\"/usr/bin/ssh\"";
}; };
profileExtra = '' profileExtra = ''
export COLORTERM=truecolor export COLORTERM=truecolor
@@ -28,7 +37,11 @@ in
VISUAL=vim VISUAL=vim
EDITOR="$VISUAL" EDITOR="$VISUAL"
fastfetch if [ -z "$CLAUDE_CODE_ENTRYPOINT" ]; then
fastfetch
fi
[[ -f ~/.bash_custom ]] && . ~/.bash_custom
''; '';
}; };
@@ -57,11 +70,13 @@ in
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
fastfetch
bashInteractive bashInteractive
fastfetch
mosh
nerd-fonts.meslo-lg nerd-fonts.meslo-lg
]; ];
home.file.".config/fastfetch/config.jsonc".text = builtins.readFile ./config/fastfetch.jsonc; home.file.".config/fastfetch/config.jsonc".text = builtins.readFile ./config/fastfetch.jsonc;
home.file.".sqliterc".text = builtins.readFile ./config/.sqliterc;
}; };
} }

View File

@@ -133,12 +133,16 @@ in
]; ];
extraPackages = with pkgs; [ extraPackages = with pkgs; [
# Toggle Term
bashInteractive
# Telescope Dependencies # Telescope Dependencies
fd fd
ripgrep ripgrep
tree-sitter tree-sitter
# LSP Dependencies # LSP Dependencies
eslint_d
go go
golangci-lint golangci-lint
golangci-lint-langserver golangci-lint-langserver
@@ -151,7 +155,6 @@ in
nodePackages.typescript-language-server nodePackages.typescript-language-server
nodePackages.vscode-langservers-extracted nodePackages.vscode-langservers-extracted
pyright pyright
eslint_d
python312Packages.autopep8 python312Packages.autopep8
# Formatters # Formatters
@@ -178,14 +181,14 @@ in
# Generate Nix Vars # Generate Nix Vars
"nvim/lua/nix-vars.lua".text = '' "nvim/lua/nix-vars.lua".text = ''
local nix_vars = { local nix_vars = {
clangd = "${pkgs.clang-tools}/bin/clangd",
golintls = "${pkgs.golangci-lint-langserver}/bin/golangci-lint-langserver",
gopls = "${pkgs.gopls}/bin/gopls", gopls = "${pkgs.gopls}/bin/gopls",
luals = "${pkgs.lua-language-server}/bin/lua-language-server", luals = "${pkgs.lua-language-server}/bin/lua-language-server",
omnisharp = "${pkgs.omnisharp-roslyn}/bin/OmniSharp",
sveltels = "${pkgs.nodePackages.svelte-language-server}/bin/svelteserver", sveltels = "${pkgs.nodePackages.svelte-language-server}/bin/svelteserver",
tsls = "${pkgs.nodePackages.typescript-language-server}/bin/typescript-language-server", tsls = "${pkgs.nodePackages.typescript-language-server}/bin/typescript-language-server",
golintls = "${pkgs.golangci-lint-langserver}/bin/golangci-lint-langserver",
vscls = "${pkgs.nodePackages.vscode-langservers-extracted}", vscls = "${pkgs.nodePackages.vscode-langservers-extracted}",
clangd = "${pkgs.clang-tools}/bin/clangd",
omnisharp = "${pkgs.omnisharp-roslyn}/bin/OmniSharp",
} }
return nix_vars return nix_vars
''; '';

View File

@@ -1,4 +1,8 @@
{ config, lib, namespace, ... }: { config
, lib
, namespace
, ...
}:
let let
inherit (lib) inherit (lib)
types types
@@ -9,23 +13,23 @@ let
cfg = config.${namespace}.services.openssh; cfg = config.${namespace}.services.openssh;
authorizedKeys = [ globalKeys = [
# evanreichard@lin-va-mbp-personal # evanreichard@lin-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJJoyXQOv9cAjGUHrUcvsW7vY9W0PmuPMQSI9AMZvNY" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJJoyXQOv9cAjGUHrUcvsW7vY9W0PmuPMQSI9AMZvNY"
# evanreichard@mac-va-mbp-personal # evanreichard@mac-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMWj6rd6uDtHj/gGozgIEgxho/vBKebgN5Kce/N6vQWV" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMWj6rd6uDtHj/gGozgIEgxho/vBKebgN5Kce/N6vQWV"
# evanreichard@lin-va-thinkpad # evanreichard@lin-va-thinkpad
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5JQr/6WJMIHhR434nK95FrDmf2ApW2Ahd2+cBKwDz" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5JQr/6WJMIHhR434nK95FrDmf2ApW2Ahd2+cBKwDz"
# evanreichard@mobile
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIARTNbl4lgQsp7SJEng7vprL0+ChC9e6iR7o/PiC4Jme"
# evanreichard@lin-va-terminal # evanreichard@lin-va-terminal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM5e6Cty+7rX5BjIEHBTU6GnzfOxPJiHpSqin/BnsypO" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM5e6Cty+7rX5BjIEHBTU6GnzfOxPJiHpSqin/BnsypO"
# evanreichard@mobile
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIARTNbl4lgQsp7SJEng7vprL0+ChC9e6iR7o/PiC4Jme"
]; ];
in in
{ {
options.${namespace}.services.openssh = with types; { options.${namespace}.services.openssh = with types; {
enable = lib.mkEnableOption "OpenSSH support"; enable = lib.mkEnableOption "OpenSSH support";
authorizedKeys = mkOpt (listOf str) authorizedKeys "The public keys to apply."; authorizedKeys = mkOpt (listOf str) [ ] "The public keys to apply.";
extraConfig = mkOpt str "" "Extra configuration to apply."; extraConfig = mkOpt str "" "Extra configuration to apply.";
}; };
@@ -80,7 +84,7 @@ in
}; };
reichard = { reichard = {
user.extraOptions.openssh.authorizedKeys.keys = cfg.authorizedKeys; user.extraOptions.openssh.authorizedKeys.keys = cfg.authorizedKeys ++ globalKeys;
}; };
}; };
} }

View File

@@ -7,12 +7,12 @@
vulkanSupport = true; vulkanSupport = true;
}).overrideAttrs }).overrideAttrs
(oldAttrs: rec { (oldAttrs: rec {
version = "7343"; version = "7360";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "ggml-org"; owner = "ggml-org";
repo = "llama.cpp"; repo = "llama.cpp";
tag = "b${version}"; tag = "b${version}";
hash = "sha256-hD8cyorU5NezRmKx+iN5gOD+3bAzS3IDVl7Ju5/zVHc="; hash = "sha256-576UL3aZ4AFvxCUP2U4W1gJuAjStRZ6y0uUy/hsdRW0=";
leaveDotGit = true; leaveDotGit = true;
postFetch = '' postFetch = ''
git -C "$out" rev-parse --short HEAD > $out/COMMIT git -C "$out" rev-parse --short HEAD > $out/COMMIT

View File

@@ -1,4 +1,10 @@
{ namespace, config, pkgs, lib, modulesPath, ... }: { namespace
, config
, pkgs
, lib
, modulesPath
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
@@ -9,7 +15,7 @@ in
(modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
]; ];
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "UTC"; time.timeZone = "UTC";
boot.loader.grub = { boot.loader.grub = {
@@ -41,19 +47,6 @@ in
}; };
}; };
users.users.${cfg.name} = {
openssh = {
authorizedKeys.keys = [
# evanreichard@lin-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJJoyXQOv9cAjGUHrUcvsW7vY9W0PmuPMQSI9AMZvNY"
# evanreichard@mac-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMWj6rd6uDtHj/gGozgIEgxho/vBKebgN5Kce/N6vQWV"
# evanreichard@lin-va-thinkpad
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5JQr/6WJMIHhR434nK95FrDmf2ApW2Ahd2+cBKwDz"
];
};
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
btop btop
tmux tmux

View File

@@ -1,15 +1,18 @@
{ namespace, config, pkgs, lib, modulesPath, ... }: { namespace
, pkgs
, lib
, modulesPath
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
cfg = config.${namespace}.user;
in in
{ {
imports = [ imports = [
(modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
]; ];
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "UTC"; time.timeZone = "UTC";
boot.loader.grub = { boot.loader.grub = {
@@ -39,19 +42,6 @@ in
}; };
}; };
users.users.${cfg.name} = {
openssh = {
authorizedKeys.keys = [
# evanreichard@lin-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJJoyXQOv9cAjGUHrUcvsW7vY9W0PmuPMQSI9AMZvNY"
# evanreichard@mac-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMWj6rd6uDtHj/gGozgIEgxho/vBKebgN5Kce/N6vQWV"
# evanreichard@lin-va-thinkpad
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5JQr/6WJMIHhR434nK95FrDmf2ApW2Ahd2+cBKwDz"
];
};
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
btop btop
tmux tmux

View File

@@ -7,7 +7,7 @@ in
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "America/New_York"; time.timeZone = "America/New_York";
# System Config # System Config

View File

@@ -1,4 +1,10 @@
{ namespace, config, pkgs, lib, modulesPath, ... }: { namespace
, config
, pkgs
, lib
, modulesPath
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
@@ -9,7 +15,7 @@ in
(modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
]; ];
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "UTC"; time.timeZone = "UTC";
boot.loader.grub = { boot.loader.grub = {
@@ -39,19 +45,6 @@ in
}; };
}; };
users.users.${cfg.name} = {
openssh = {
authorizedKeys.keys = [
# evanreichard@lin-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJJoyXQOv9cAjGUHrUcvsW7vY9W0PmuPMQSI9AMZvNY"
# evanreichard@mac-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMWj6rd6uDtHj/gGozgIEgxho/vBKebgN5Kce/N6vQWV"
# evanreichard@lin-va-thinkpad
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5JQr/6WJMIHhR434nK95FrDmf2ApW2Ahd2+cBKwDz"
];
};
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
btop btop
tmux tmux

View File

@@ -1,4 +1,10 @@
{ namespace, config, pkgs, lib, modulesPath, ... }: { namespace
, config
, pkgs
, lib
, modulesPath
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
@@ -9,7 +15,7 @@ in
(modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
]; ];
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "UTC"; time.timeZone = "UTC";
networking.firewall.allowedTCPPorts = [ 443 ]; networking.firewall.allowedTCPPorts = [ 443 ];
@@ -44,19 +50,6 @@ in
}; };
}; };
users.users.${cfg.name} = {
openssh = {
authorizedKeys.keys = [
# evanreichard@lin-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJJoyXQOv9cAjGUHrUcvsW7vY9W0PmuPMQSI9AMZvNY"
# evanreichard@mac-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMWj6rd6uDtHj/gGozgIEgxho/vBKebgN5Kce/N6vQWV"
# evanreichard@lin-va-thinkpad
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5JQr/6WJMIHhR434nK95FrDmf2ApW2Ahd2+cBKwDz"
];
};
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
btop btop
tmux tmux

View File

@@ -1,15 +1,18 @@
{ namespace, config, pkgs, lib, modulesPath, ... }: { namespace
, pkgs
, lib
, modulesPath
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
cfg = config.${namespace}.user;
in in
{ {
imports = [ imports = [
(modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
]; ];
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "UTC"; time.timeZone = "UTC";
networking.firewall.allowedTCPPorts = [ 443 ]; networking.firewall.allowedTCPPorts = [ 443 ];
@@ -52,19 +55,6 @@ in
}; };
}; };
# users.users.${cfg.name} = {
# openssh = {
# authorizedKeys.keys = [
# # evanreichard@lin-va-mbp-personal
# "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJJoyXQOv9cAjGUHrUcvsW7vY9W0PmuPMQSI9AMZvNY"
# # evanreichard@mac-va-mbp-personal
# "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMWj6rd6uDtHj/gGozgIEgxho/vBKebgN5Kce/N6vQWV"
# # evanreichard@lin-va-thinkpad
# "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5JQr/6WJMIHhR434nK95FrDmf2ApW2Ahd2+cBKwDz"
# ];
# };
# };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
btop btop
tmux tmux

View File

@@ -92,10 +92,11 @@ in
package = pkgs.reichard.llama-swap; package = pkgs.reichard.llama-swap;
settings = { settings = {
models = { models = {
# https://huggingface.co/mradermacher/gpt-oss-20b-heretic-GGUF/tree/main # https://huggingface.co/mradermacher/gpt-oss-20b-heretic-v2-i1-GGUF/tree/main
# --chat-template-kwargs '{\"reasoning_effort\":\"low\"}'
"gpt-oss-20b-thinking" = { "gpt-oss-20b-thinking" = {
name = "GPT OSS (20B) - Thinking"; name = "GPT OSS (20B) - Thinking";
cmd = "${pkgs.reichard.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/gpt-oss-20b-heretic-MXFP4.gguf --ctx-size 128000 -ts 75,25 --mlock --chat-template-kwargs '{\"reasoning_effort\":\"low\"}'"; cmd = "${pkgs.reichard.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/gpt-oss-20b-heretic-v2.i1-MXFP4_MOE.gguf --ctx-size 131072 -ts 57,43 --temp 1.0 --top-p 1.0 --top-k 40 --mlock";
aliases = [ aliases = [
"claude-sonnet-4-5" "claude-sonnet-4-5"
"claude-sonnet-4-5-20250929" "claude-sonnet-4-5-20250929"
@@ -109,19 +110,19 @@ in
# https://huggingface.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF/tree/main # https://huggingface.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF/tree/main
"qwen3-coder-30b-instruct" = { "qwen3-coder-30b-instruct" = {
name = "Qwen3 Coder (30B) - Instruct"; name = "Qwen3 Coder (30B) - Instruct";
cmd = "${pkgs.reichard.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/Qwen3-Coder-30B-A3B-Instruct-UD-IQ2_M.gguf --ctx-size 262144 --temp 0.7 --min-p 0.0 --top-p 0.8 --top-k 20 --repeat-penalty 1.05 --cache-type-k q4_0 --cache-type-v q4_0 --mlock"; cmd = "${pkgs.reichard.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/Qwen3-Coder-30B-A3B-Instruct-IQ4_XS.gguf --ctx-size 65536 --temp 0.7 --min-p 0.0 --top-p 0.8 --top-k 20 --repeat-penalty 1.05 --cache-type-k q4_0 --cache-type-v q4_0 --mlock";
}; };
# https://huggingface.co/unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF/tree/main # https://huggingface.co/unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF/tree/main
"qwen3-30b-2507-instruct" = { "qwen3-30b-2507-instruct" = {
name = "Qwen3 2507 (30B) - Instruct"; name = "Qwen3 2507 (30B) - Instruct";
cmd = "${pkgs.reichard.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/Qwen3-30B-A3B-Instruct-2507-UD-IQ2_M.gguf --ctx-size 262144 --temp 0.7 --min-p 0.0 --top-p 0.8 --top-k 20 --repeat-penalty 1.05 --cache-type-k q4_0 --cache-type-v q4_0"; cmd = "${pkgs.reichard.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/Qwen3-30B-A3B-Instruct-2507-IQ4_XS.gguf --ctx-size 65536 --temp 0.7 --min-p 0.0 --top-p 0.8 --top-k 20 --repeat-penalty 1.05 --cache-type-k q4_0 --cache-type-v q4_0 --mlock";
}; };
# https://huggingface.co/unsloth/Qwen3-30B-A3B-Thinking-2507-GGUF/tree/main # https://huggingface.co/unsloth/Qwen3-30B-A3B-Thinking-2507-GGUF/tree/main
"qwen3-30b-2507-thinking" = { "qwen3-30b-2507-thinking" = {
name = "Qwen3 2507 (30B) - Thinking"; name = "Qwen3 2507 (30B) - Thinking";
cmd = "${pkgs.reichard.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/Qwen3-30B-A3B-Thinking-2507-Q4_K_M.gguf --ctx-size 16384 --temp 0.7 --min-p 0.0 --top-p 0.8 --top-k 20 --cache-type-k q4_0 --cache-type-v q4_0"; cmd = "${pkgs.reichard.llama-cpp}/bin/llama-server --port \${PORT} -m /mnt/ssd/Models/Qwen3-30B-A3B-Thinking-2507-IQ4_XS.gguf --ctx-size 65536 --temp 0.7 --min-p 0.0 --top-p 0.8 --top-k 20 --repeat-penalty 1.05 --cache-type-k q4_0 --cache-type-v q4_0 --mlock";
}; };
# https://huggingface.co/unsloth/Qwen3-Next-80B-A3B-Instruct-GGUF/tree/main # https://huggingface.co/unsloth/Qwen3-Next-80B-A3B-Instruct-GGUF/tree/main
@@ -151,7 +152,7 @@ in
# https://huggingface.co/unsloth/Qwen2.5-Coder-3B-Instruct-128K-GGUF/tree/main # https://huggingface.co/unsloth/Qwen2.5-Coder-3B-Instruct-128K-GGUF/tree/main
"qwen2.5-coder-3b-instruct" = { "qwen2.5-coder-3b-instruct" = {
name = "Qwen2.5 Coder (3B) - Instruct"; name = "Qwen2.5 Coder (3B) - Instruct";
cmd = "${pkgs.reichard.llama-cpp}/bin/llama-server -m /mnt/ssd/Models/Qwen2.5-Coder-3B-Instruct-Q4_K_M.gguf --fim-qwen-3b-default --ctx-size 32768 -dev CUDA1 --port \${PORT}"; cmd = "${pkgs.reichard.llama-cpp}/bin/llama-server -m /mnt/ssd/Models/Qwen2.5-Coder-3B-Instruct-Q4_K_M.gguf --fim-qwen-3b-default --ctx-size 20000 -ts 60,40 --port \${PORT}";
}; };
# https://huggingface.co/unsloth/Qwen3-VL-8B-Instruct-GGUF/tree/main # https://huggingface.co/unsloth/Qwen3-VL-8B-Instruct-GGUF/tree/main

View File

@@ -1,10 +1,9 @@
{ namespace, config, pkgs, ... }: { pkgs
let , ...
cfg = config.${namespace}.user; }:
in
{ {
time.timeZone = "America/New_York"; time.timeZone = "America/New_York";
system.stateVersion = "25.05"; system.stateVersion = "25.11";
reichard = { reichard = {
system = { system = {
@@ -31,12 +30,6 @@ in
openssh = { openssh = {
enable = true; enable = true;
authorizedKeys = [ authorizedKeys = [
# evanreichard@lin-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJJoyXQOv9cAjGUHrUcvsW7vY9W0PmuPMQSI9AMZvNY"
# evanreichard@mac-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMWj6rd6uDtHj/gGozgIEgxho/vBKebgN5Kce/N6vQWV"
# evanreichard@lin-va-thinkpad
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5JQr/6WJMIHhR434nK95FrDmf2ApW2Ahd2+cBKwDz"
# NixOS Builder # NixOS Builder
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDF8QjeN8lpT+Mc70zwEJQqN9W/GKvTOTd32VgfNhVdN" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDF8QjeN8lpT+Mc70zwEJQqN9W/GKvTOTd32VgfNhVdN"
]; ];
@@ -44,21 +37,6 @@ in
}; };
}; };
users.users.${cfg.name} = {
openssh = {
authorizedKeys.keys = [
# evanreichard@lin-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJJoyXQOv9cAjGUHrUcvsW7vY9W0PmuPMQSI9AMZvNY"
# evanreichard@mac-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMWj6rd6uDtHj/gGozgIEgxho/vBKebgN5Kce/N6vQWV"
# evanreichard@lin-va-thinkpad
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5JQr/6WJMIHhR434nK95FrDmf2ApW2Ahd2+cBKwDz"
# NixOS Builder
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDF8QjeN8lpT+Mc70zwEJQqN9W/GKvTOTd32VgfNhVdN"
];
};
};
# System Packages # System Packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
btop btop

View File

@@ -1,10 +1,15 @@
{ namespace, pkgs, config, lib, ... }: { namespace
, pkgs
, config
, lib
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
cfg = config.${namespace}.user; cfg = config.${namespace}.user;
in in
{ {
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "America/New_York"; time.timeZone = "America/New_York";
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@@ -47,19 +52,6 @@ in
}; };
}; };
users.users.${cfg.name} = {
openssh = {
authorizedKeys.keys = [
# evanreichard@lin-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJJoyXQOv9cAjGUHrUcvsW7vY9W0PmuPMQSI9AMZvNY"
# evanreichard@mac-va-mbp-personal
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMWj6rd6uDtHj/gGozgIEgxho/vBKebgN5Kce/N6vQWV"
# evanreichard@lin-va-thinkpad
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAq5JQr/6WJMIHhR434nK95FrDmf2ApW2Ahd2+cBKwDz"
];
};
};
# System Packages # System Packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
btop btop

View File

@@ -3,7 +3,7 @@ let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
in in
{ {
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "America/New_York"; time.timeZone = "America/New_York";
boot.supportedFilesystems = [ "nfs" ]; boot.supportedFilesystems = [ "nfs" ];

View File

@@ -1,12 +1,15 @@
{ namespace, pkgs, lib, ... }: { namespace
, pkgs
, lib
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
in in
{ {
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "America/New_York"; time.timeZone = "America/New_York";
boot = { boot = {
supportedFilesystems = [ "nfs" ]; supportedFilesystems = [ "nfs" ];
kernelParams = [ kernelParams = [

View File

@@ -1,4 +1,8 @@
{ namespace, lib, modulesPath, ... }: { namespace
, lib
, modulesPath
, ...
}:
let let
inherit (lib.${namespace}) enabled; inherit (lib.${namespace}) enabled;
in in
@@ -9,7 +13,7 @@ in
config = { config = {
# Basic System # Basic System
system.stateVersion = "25.05"; system.stateVersion = "25.11";
time.timeZone = "UTC"; time.timeZone = "UTC";
reichard = { reichard = {