summaryrefslogtreecommitdiff
path: root/programs.nix
diff options
context:
space:
mode:
authorHenry J. Webster <hwebs@hwebs.info>2026-07-30 10:38:54 -0500
committerHenry J. Webster <hwebs@hwebs.info>2026-07-30 10:38:54 -0500
commit11ba75e40728e8b5735c9c7cefc7af1631c942af (patch)
treecaef581fd56be96ec9c5338a17d0332b51b08e64 /programs.nix
parentd47d76336a9680b661220d23c5d429d90a2f3f9e (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.nix98
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;
- };
-}