This repository has no description
3.0 kB
98 lines
1{
2 self,
3 pkgs,
4 ...
5}:
6{
7 imports = [
8 ../../configs
9 ../../configs/network-manager.nix
10 ../../configs/pipewire.nix
11 ../../configs/yubikey.nix
12 ../../configs/tpm2.nix
13 ../../configs/desktops/sway/default.nix
14 ../../configs/power-action.nix
15 ../../configs/rtl-sdr.nix
16 ../../configs/browsers.nix
17 ../../configs/container-bridge.nix
18 ../../configs/android-webcam.nix
19 ../../configs/ipfs.nix
20 ../../configs/steam.nix
21 ../../configs/games.nix
22 ../../configs/auto-timezone.nix
23 self.wrapperModules.workspace-manager
24 ];
25 system.stateVersion = "25.05";
26
27 # bitwarden-desktop pulls electron_39, which nixpkgs marks insecure (EOL).
28 # secureify it via an overlay rather than nixpkgs.config.permittedInsecurePackages,
29 # which doesn't list-merge across modules. See lib/secureify.nix.
30 nixpkgs.overlays = [
31 (_final: prev: {
32 electron_39 = self.lib.secureify prev.electron_39;
33 })
34 ];
35
36 boot.tmp.cleanOnBoot = true;
37
38 environment.systemPackages = [
39 pkgs.bitwarden-desktop
40 pkgs.rbw
41 # retroarch with patched dolphin core (fixes shader compiler thread issue)
42 (pkgs.retroarch.withCores (
43 _cores:
44 builtins.filter (c: c.pname or "" != "libretro-dolphin") pkgs.retroarch-free.cores
45 ++ [ self.packages.${pkgs.system}.libretro-dolphin ]
46 ))
47 pkgs.pavucontrol
48 self.legacyPackages.${pkgs.system}.llm.claude-code
49 pkgs.ripgrep
50 self.packages.${pkgs.system}.mpv
51 pkgs.gh
52 # marked insecure in nixpkgs (private repos unencrypted)
53 (self.lib.secureify pkgs.radicle-node)
54 ];
55
56 documentation.nixos.enable = true;
57 lass.workspace-manager.enable = true;
58
59 # llama-swap: on-demand model hot-swapping proxy for llama.cpp
60 # Models are stored in /data/models/ as GGUF files
61 services.llama-swap =
62 let
63 llama-server = "${pkgs.llama-cpp-rocm}/bin/llama-server";
64 in
65 {
66 enable = true;
67 port = 11434;
68 settings = {
69 healthCheckTimeout = 300;
70 models = {
71 qwen3-32b = {
72 cmd = "${llama-server} --port \${PORT} --model /data/models/qwen3-32b.gguf --ctx-size 16384 --jinja";
73 ttl = 300;
74 };
75 qwen-coder-next = {
76 cmd = "${llama-server} --port \${PORT} --model /data/models/Qwen3-Coder-Next-Q4_K_M/Qwen3-Coder-Next-Q4_K_M-00001-of-00004.gguf --ctx-size 16384 --jinja";
77 ttl = 300;
78 };
79 };
80 };
81 };
82 # ROCm GPU access and environment for llama-swap spawned llama-server processes
83 systemd.services.llama-swap.environment.HSA_OVERRIDE_GFX_VERSION = "11.0.0"; # Radeon 890M (gfx1150/RDNA 3.5) - fallback to gfx1100
84 systemd.services.llama-swap.serviceConfig.SupplementaryGroups = [
85 "render"
86 "video"
87 ];
88
89 # extra-container for testing declarative containers without full rebuilds
90 programs.extra-container.enable = true;
91
92 nix.settings.trusted-users = [
93 "root"
94 "lass"
95 ];
96
97 systemd.services.nix-daemon.environment.SSH_AUTH_SOCK = "/run/user/1000/ssh-tpm-agent.sock";
98}