diff options
| author | Henry J. Webster <hwebs@hwebs.info> | 2026-07-30 10:38:54 -0500 |
|---|---|---|
| committer | Henry J. Webster <hwebs@hwebs.info> | 2026-07-30 10:38:54 -0500 |
| commit | 11ba75e40728e8b5735c9c7cefc7af1631c942af (patch) | |
| tree | caef581fd56be96ec9c5338a17d0332b51b08e64 /programs.nix | |
| parent | d47d76336a9680b661220d23c5d429d90a2f3f9e (diff) | |
Restructure into a multi-machine flake and add the enzo laptop
Split the single-host config into a shared minimal base plus opt-in
profiles, and add a second machine (enzo laptop) alongside kusanagi.
- flake: add mkMachine helper; declare nixosConfigurations.kusanagi and
.enzo; add the disko input; move overlays per-machine.
- common/: minimal base only (boot, networking, tailscale, locale, nix
settings, neovim editor). Old configuration.nix/programs.nix removed.
- profiles/: coarse opt-in bundles (desktop, dev, apps). kusanagi imports
all three and stays byte-for-byte identical to the running system.
- machines/kusanagi/: all workstation-only config (ROCm, Scarlett audio,
optical-disc archiving, NAS mounts, kavita/immich/ollama); hardware
config moved here unchanged. User stays 'henz'.
- machines/enzo/: new laptop. Declarative LUKS+btrfs via disko
(LVM-on-LUKS, TPM2+PIN unlock, zram + encrypted swap for
suspend-then-hibernate); its own minimal niri desktop with
playback-only audio (no rtkit/jack); user 'hwebs'.
Assisted-by: Claude:claude-opus-4-8
Diffstat (limited to 'programs.nix')
| -rw-r--r-- | programs.nix | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/programs.nix b/programs.nix deleted file mode 100644 index 2872cb4..0000000 --- a/programs.nix +++ /dev/null @@ -1,98 +0,0 @@ -{ pkgs, ... }: - -let - # open the MusicBrainz submission URL for the disc in the drive - discid = pkgs.writeShellApplication { - name = "discid"; - runtimeInputs = [ - pkgs.discidurl - pkgs.xdg-utils - ]; - text = "discidurl | xargs -r xdg-open"; - }; -in -{ - environment.systemPackages = with pkgs; [ - discidurl - discid - - itch - haunt - - # --- wayland - mako - - # provides notify-send - libnotify - - # website is down :( - # makemkv - - (aspellWithDicts ( - dicts: with dicts; [ - en - en-computers - en-science - ] - )) - - pi-coding-agent - - (buildNpmPackage rec { - pname = "pi-acp"; - version = "0.0.31"; - src = fetchFromGitHub { - owner = "svkozak"; - repo = "pi-acp"; - rev = "v${version}"; - hash = "sha256-bM3V/3fxkY2Ib+OyfT82StIIRSLXGDuYUbt1CZKpTuo="; - }; - npmDepsHash = "sha256-qN+b/tMbnJLkWjotl3XrA0nfZ3KT/mT6gM+n3Qiz8Wk="; - }) - - ]; - - programs = { - steam.enable = true; - firefox.enable = true; - - gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - }; - - services = { - emacs = { - enable = true; - package = - let - emacs = pkgs.emacs-pgtk.overrideAttrs (old: { - postInstall = (old.postInstall or "") + '' - # I only want the client version - rm -f $out/share/applications/emacs.desktop - ''; - }); - in - (pkgs.emacsPackagesFor emacs).withPackages (epkgs: [ - (epkgs.treesit-grammars.with-grammars (g: [ g.tree-sitter-nix ])) - epkgs.vterm - ]); - }; - - ollama = { - enable = true; - package = pkgs.ollama-rocm; - environmentVariables = { - HIP_VISIBLE_DEVICES = "0"; - OLLAMA_CONTEXT_LENGTH = "32768"; - OLLAMA_KV_CACHE_TYPE = "q8_0"; - }; - }; - }; - - services.immich = { - enable = true; - machine-learning.enable = false; - }; -} |
