buncha stuff

This commit is contained in:
Hunter Haugen 2026-05-09 09:15:55 -07:00
parent c53e9d23d4
commit 73b91347ec
Signed by: hunner
GPG key ID: EF99694AA599DDAD
12 changed files with 859 additions and 813 deletions

View file

@ -21,6 +21,7 @@ in
[ [
./hardware-configuration.nix ./hardware-configuration.nix
"${impermanence}/nixos.nix" "${impermanence}/nixos.nix"
#./lemonade.nix
]; ];
boot.loader.grub.enable = true; boot.loader.grub.enable = true;

236
flake.lock generated
View file

@ -7,11 +7,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1774191766, "lastModified": 1777136912,
"narHash": "sha256-bvO+gfuUOVUiBEwAJ5A2RjpysPzCfyXD+DM8piOa1+4=", "narHash": "sha256-owyQdC2vi0kYC119fzyVQp0J4G0t1n4xXUwryhlBbqA=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "7a8fc2e646b97e5ae508a44d3449e3b41345d456", "rev": "f66e12a76dbc4c669b2f1375f78bce49f5b19d66",
"revCount": 1336, "revCount": 1363,
"type": "git", "type": "git",
"url": "https://codeberg.org/LGFae/awww" "url": "https://codeberg.org/LGFae/awww"
}, },
@ -20,28 +20,6 @@
"url": "https://codeberg.org/LGFae/awww" "url": "https://codeberg.org/LGFae/awww"
} }
}, },
"beads-flake": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs-25-11"
]
},
"locked": {
"lastModified": 1770530478,
"narHash": "sha256-zopOpBqaHC2t+tGYtrHyalOUsFDZai2NmZZOKJs2vfQ=",
"owner": "steveyegge",
"repo": "beads",
"rev": "c064f2aa99814d65a439b7b700fa02c44c4e0bb2",
"type": "github"
},
"original": {
"owner": "steveyegge",
"ref": "v0.49.6",
"repo": "beads",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -76,24 +54,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -101,11 +61,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775425411, "lastModified": 1777851538,
"narHash": "sha256-KY6HsebJHEe5nHOWP7ur09mb0drGxYSzE3rQxy62rJo=", "narHash": "sha256-Gp8qwTEYNoy2yvmErVGlvLOQvrtEECCAKbonW7VJef8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "0d02ec1d0a05f88ef9e74b516842900c41f0f2fe", "rev": "cc09c0f9b7eaa95c2d9827338a5eb03d32505ca5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -204,11 +164,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1693660503, "lastModified": 1737420293,
"narHash": "sha256-B/g2V4v6gjirFmy+I5mwB2bCYc0l3j5scVfwgl6WOl8=", "narHash": "sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-github-actions", "repo": "nix-github-actions",
"rev": "bd5bdbb52350e145c526108f4ef192eb8e554fa0", "rev": "f4158fa080ef4503c8f4c820967d946c2af31ec9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -217,31 +177,31 @@
"type": "github" "type": "github"
} }
}, },
"nix-steipete-tools": { "nix-openclaw-tools": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1774239543, "lastModified": 1778060041,
"narHash": "sha256-ZZ7V6xN0ATIHibLyaDBhmUGOqLqQzxuTx1ekOGCvLHI=", "narHash": "sha256-tXWkN1VnwFG8XlRqW/e7VwbKnUfyU9tB7YDm9QHJXTY=",
"owner": "openclaw", "owner": "openclaw",
"repo": "nix-steipete-tools", "repo": "nix-openclaw-tools",
"rev": "5f677a283da837cad26c1ce982d85ee181085fc6", "rev": "4c1cee3c7eaf68f9de0f756be1484534f5bb5f34",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "openclaw", "owner": "openclaw",
"repo": "nix-steipete-tools", "repo": "nix-openclaw-tools",
"type": "github" "type": "github"
} }
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1775490113, "lastModified": 1777917524,
"narHash": "sha256-2ZBhDNZZwYkRmefK5XLOusCJHnoeKkoN95hoSGgMxWM=", "narHash": "sha256-k+LVe9YaO2BEPB9AaCtTtOMCeGi4dxDo6gt4Un3qoPY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "c775c2772ba56e906cbeb4e0b2db19079ef11ff7", "rev": "df7783100babf59001340a7a874ba3824e441ecb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -268,11 +228,11 @@
}, },
"nixpkgs-25-11": { "nixpkgs-25-11": {
"locked": { "locked": {
"lastModified": 1775525138, "lastModified": 1778003029,
"narHash": "sha256-BQb70+B378ECLO8iQT3P/b1hCC5/CJVHZdeulY8futc=", "narHash": "sha256-q/nkKLDtHIyLjZpKhWk3cSK5IYsFqtMd6UtXF3ddjgA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d96b37bbeb9840f1c0ebfe90585ef5067b69bbb3", "rev": "0c88e1f2bdb93d5999019e99cb0e61e1fe2af4c5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -284,11 +244,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1775423009, "lastModified": 1777954456,
"narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -364,11 +324,11 @@
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1775423009, "lastModified": 1777954456,
"narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -380,11 +340,27 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1775126147, "lastModified": 1770107345,
"narHash": "sha256-J0dZU4atgcfo4QvM9D92uQ0Oe1eLTxBVXjJzdEMQpD0=", "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1775888245,
"narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8d8c1fa5b412c223ffa47410867813290cdedfef", "rev": "13043924aaa7375ce482ebe2494338e058282925",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -394,13 +370,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_8": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1698318101, "lastModified": 1775710090,
"narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=", "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "63678e9f3d3afecfeafa0acead6239cdb447574c", "rev": "4c1018dae018162ec878d42fec712642d214fdfa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -412,17 +388,18 @@
}, },
"openclaw-flake": { "openclaw-flake": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils",
"home-manager": "home-manager_3", "home-manager": "home-manager_3",
"nix-steipete-tools": "nix-steipete-tools", "nix-openclaw-tools": "nix-openclaw-tools",
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_5",
"qmd": "qmd"
}, },
"locked": { "locked": {
"lastModified": 1775683890, "lastModified": 1778094402,
"narHash": "sha256-Ybq0dKch413xPes8B2RScdo+ZraTGDDJQS3OLYEwv+Y=", "narHash": "sha256-dv03sU5E8IFrj70vTbugFHxPD+GDWG0zNAjgzvs7Tb8=",
"owner": "openclaw", "owner": "openclaw",
"repo": "nix-openclaw", "repo": "nix-openclaw",
"rev": "fab18e9e1588ee8b3eee3bda8c9e1c21b81a1421", "rev": "a2ea92cce24eccf1058b8558fc6cee46d917b7dc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -434,11 +411,11 @@
"plover": { "plover": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1774841439, "lastModified": 1777008591,
"narHash": "sha256-QF/tf4OD7lwD/BD5s1tSJytlqttoA5bgwK8HKrZoj6U=", "narHash": "sha256-fb4EJ4REj8GW8+Z74oFiikgM/5yXgdon6I/NZYlZYLI=",
"owner": "openstenoproject", "owner": "openstenoproject",
"repo": "plover", "repo": "plover",
"rev": "126e37725b8f1a91c63e515315d1388c5ee0e2d4", "rev": "6b7a014100eca137e5e82961bb030156b114281a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -454,14 +431,15 @@
"plover-stroke": "plover-stroke", "plover-stroke": "plover-stroke",
"plover2cat": "plover2cat", "plover2cat": "plover2cat",
"plover_plugins_registry": "plover_plugins_registry", "plover_plugins_registry": "plover_plugins_registry",
"rtf-tokenize": "rtf-tokenize" "rtf-tokenize": "rtf-tokenize",
"treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1775539385, "lastModified": 1778048142,
"narHash": "sha256-vIBU1Q2BcJWvz0fMb6+PCdW2sCB1KhFP92XYUw6BgJk=", "narHash": "sha256-ojX+VsfofIgJIi6zajqRxTCU80VibsNGSGzkwW457Ls=",
"owner": "openstenoproject", "owner": "openstenoproject",
"repo": "plover-flake", "repo": "plover-flake",
"rev": "ea4aac1e1032ffeef7e5d8d4ff972baa9211913a", "rev": "8c313794f2f1548eeb350a04c68e887eaeac9c94",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -489,11 +467,11 @@
"plover2cat": { "plover2cat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1775262288, "lastModified": 1777279531,
"narHash": "sha256-osxDtZPkgXhCDnKL7lDQS17NNYbl4HSrtgvy4sc5nmE=", "narHash": "sha256-+yHSp/HCJnqJqpGaiP6d68pZa4MR2woA3AnJtrEb/OM=",
"owner": "greenwyrt", "owner": "greenwyrt",
"repo": "plover2CAT", "repo": "plover2CAT",
"rev": "b8f3618f485aae6f70e15bde2591070b92a7a032", "rev": "36a590f22fa1612b96b7379a76fae8a0c581c793",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -518,10 +496,35 @@
"type": "github" "type": "github"
} }
}, },
"qmd": {
"inputs": {
"flake-utils": [
"openclaw-flake",
"flake-utils"
],
"nixpkgs": [
"openclaw-flake",
"nixpkgs"
]
},
"locked": {
"lastModified": 1775429264,
"narHash": "sha256-bqIVaNRTa8H5vrw3RwsD7QdtTa0xNvRuEVzlzE1hIBQ=",
"owner": "tobi",
"repo": "qmd",
"rev": "65cd1b3fd02891d1ee0eefa751620918664fa321",
"type": "github"
},
"original": {
"owner": "tobi",
"ref": "v2.1.0",
"repo": "qmd",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"awww": "awww", "awww": "awww",
"beads-flake": "beads-flake",
"home-manager": "home-manager", "home-manager": "home-manager",
"impermanence": "impermanence", "impermanence": "impermanence",
"niri": "niri", "niri": "niri",
@ -594,14 +597,14 @@
}, },
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1775682595, "lastModified": 1777944972,
"narHash": "sha256-0E9PohY/VuESLq0LR4doaH7hTag513sDDW5n5qmHd1Q=", "narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "d2e8438d5886e92bc5e7c40c035ab6cae0c41f76", "rev": "c591bf665727040c6cc5cb409079acb22dcce33c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -625,32 +628,17 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"talon-nix": { "talon-nix": {
"inputs": { "inputs": {
"nix-github-actions": "nix-github-actions", "nix-github-actions": "nix-github-actions",
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1746431176, "lastModified": 1776244716,
"narHash": "sha256-bwXLFy2pDpNE60EkVltrmiRgwNWLo4eYBesP997p8mg=", "narHash": "sha256-+qZasmBp556iAiIx5ZdiTS1yI4aiPZ7XHaCRk6UopME=",
"owner": "nix-community", "owner": "nix-community",
"repo": "talon-nix", "repo": "talon-nix",
"rev": "cc110629c5f0be12e839b2aea6a16880f1822706", "rev": "a13f95e0d7b87d0127079245236bcd8705c6b4dd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -658,6 +646,24 @@
"repo": "talon-nix", "repo": "talon-nix",
"type": "github" "type": "github"
} }
},
"treefmt-nix": {
"inputs": {
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1775636079,
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -12,8 +12,8 @@
talon-nix.url = "github:nix-community/talon-nix"; talon-nix.url = "github:nix-community/talon-nix";
openclaw-flake.url = "github:openclaw/nix-openclaw"; openclaw-flake.url = "github:openclaw/nix-openclaw";
plover-flake.url = "github:openstenoproject/plover-flake"; plover-flake.url = "github:openstenoproject/plover-flake";
beads-flake.url = "github:steveyegge/beads?ref=v0.49.6"; #beads-flake.url = "github:steveyegge/beads?ref=v0.49.6";
beads-flake.inputs.nixpkgs.follows = "nixpkgs-25-11"; #beads-flake.inputs.nixpkgs.follows = "nixpkgs-25-11";
awww.url = "git+https://codeberg.org/LGFae/awww"; awww.url = "git+https://codeberg.org/LGFae/awww";
niri.url = "github:hunner/niri/hunner/focus-to-workspace"; niri.url = "github:hunner/niri/hunner/focus-to-workspace";
#niri.inputs.nixpkgs.follows = "nixpkgs-25-11"; #niri.inputs.nixpkgs.follows = "nixpkgs-25-11";
@ -30,7 +30,7 @@
talon-nix, talon-nix,
openclaw-flake, openclaw-flake,
plover-flake, plover-flake,
beads-flake, #beads-flake,
awww, awww,
niri, niri,
... ...
@ -102,54 +102,54 @@
overlay-local = final: prev: { overlay-local = final: prev: {
lean-ctx = prev.callPackage ./pkgs/lean-ctx/package.nix { }; lean-ctx = prev.callPackage ./pkgs/lean-ctx/package.nix { };
codex = prev.callPackage ./pkgs/codex/package.nix { }; #codex = prev.callPackage ./pkgs/codex/package.nix { };
flow = prev.callPackage ./pkgs/flow/package.nix { }; flow = prev.callPackage ./pkgs/flow/package.nix { };
opencode = prev.callPackage ./pkgs/opencode/package.nix { }; opencode = prev.callPackage ./pkgs/opencode/package.nix { };
pi-coding-agent = prev.callPackage ./pkgs/pi-coding-agent/package.nix { }; pi-coding-agent = prev.callPackage ./pkgs/pi-coding-agent/package.nix { };
beads = #beads =
let # let
bdBase = # bdBase =
( # (
final.callPackage "${beads-flake}/default.nix" { # final.callPackage "${beads-flake}/default.nix" {
pkgs = final; # pkgs = final;
self = beads-flake; # self = beads-flake;
} # }
).overrideAttrs # ).overrideAttrs
(old: { # (old: {
vendorHash = "sha256-RyOxrW0C+2E+ULhGeF2RbUhaUFt58sux7neHPei5QJI="; # vendorHash = "sha256-RyOxrW0C+2E+ULhGeF2RbUhaUFt58sux7neHPei5QJI=";
env = (old.env or { }) // { # env = (old.env or { }) // {
# Upstream pulls an ICU-backed regex dep; keep Nix build pure-Go. # # Upstream pulls an ICU-backed regex dep; keep Nix build pure-Go.
CGO_ENABLED = "0"; # CGO_ENABLED = "0";
}; # };
postPatch = # postPatch =
(old.postPatch or "") # (old.postPatch or "")
+ '' # + ''
# Upstream source currently references a removed internal package. # # Upstream source currently references a removed internal package.
rm -f cmd/bd/integration_test_stubs_test.go # rm -f cmd/bd/integration_test_stubs_test.go
rm -rf examples/monitor-webui # rm -rf examples/monitor-webui
''; # '';
}); # });
in # in
final.stdenv.mkDerivation { # final.stdenv.mkDerivation {
pname = "beads"; # pname = "beads";
version = bdBase.version; # version = bdBase.version;
phases = [ "installPhase" ]; # phases = [ "installPhase" ];
installPhase = '' # installPhase = ''
mkdir -p $out/bin # mkdir -p $out/bin
cp ${bdBase}/bin/bd $out/bin/bd # cp ${bdBase}/bin/bd $out/bin/bd
ln -s bd $out/bin/beads # ln -s bd $out/bin/beads
mkdir -p $out/share/fish/vendor_completions.d # mkdir -p $out/share/fish/vendor_completions.d
mkdir -p $out/share/bash-completion/completions # mkdir -p $out/share/bash-completion/completions
mkdir -p $out/share/zsh/site-functions # mkdir -p $out/share/zsh/site-functions
$out/bin/bd completion fish > $out/share/fish/vendor_completions.d/bd.fish # $out/bin/bd completion fish > $out/share/fish/vendor_completions.d/bd.fish
$out/bin/bd completion bash > $out/share/bash-completion/completions/bd # $out/bin/bd completion bash > $out/share/bash-completion/completions/bd
$out/bin/bd completion zsh > $out/share/zsh/site-functions/_bd # $out/bin/bd completion zsh > $out/share/zsh/site-functions/_bd
''; # '';
meta = bdBase.meta; # meta = bdBase.meta;
}; # };
}; };
in in
{ {
@ -196,7 +196,7 @@
impermanence impermanence
talon-nix talon-nix
plover-flake plover-flake
beads-flake #beads-flake
awww awww
niri niri
; ;

View file

@ -138,8 +138,16 @@
# sops-nix secrets # sops-nix secrets
sops.defaultSopsFile = ./secrets/config.yaml; sops.defaultSopsFile = ./secrets/config.yaml;
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.age.sshKeyPaths = [ "/persist/etc/ssh/ssh_host_ed25519_key" ];
sops.secrets.hashedPassword.neededForUsers = true; sops.secrets.hashedPassword.neededForUsers = true;
sops.secrets.hashedPassword-root.neededForUsers = true;
users.users.root = {
hashedPasswordFile = config.sops.secrets.hashedPassword-root.path;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAqd6VkCyGOaFVfh61+hVKOvYaCZsCChQq3c6rNH/ifG me@hunner.dev"
];
};
# Define a user account # Define a user account
users.users.hunner = { users.users.hunner = {
@ -166,6 +174,8 @@
unzip unzip
lsof lsof
gnupg gnupg
znc
zncModules.palaver
]; ];
}; };

View file

@ -1,3 +1,4 @@
hashedPassword-root: ENC[AES256_GCM,data:50/GFDAyvI1QvDv8JNoXHTzeCHY+ZK0+DQdg+8cfpdm2Vx5CAKXQ5cBxUNv9dKqLugS5vDtZTbxtHB/MIXFvEtV4wN1k6xhC3A==,iv:jZXZrGhew33nymDKUrhcp/HGu3WLeb2zZhryoHcvVQ4=,tag:kya/1TH8dsk0PcnqSg4Skw==,type:str]
hashedPassword: ENC[AES256_GCM,data:iUN2iaC2RPDa/vq6H7Xp2KqHYcHfQHU6IhZ2FWXEuaNhByFzpyMbJC7N2bmbDUD3ERLudHg686Uqt6XJV2PevQoXa1iYhv9cLw==,iv:ekGMzP2TXSrxLkqZVclHgN1NQIv6OqtsVLHdvsTgXQc=,tag:RRSZCHjmhn8ClrUTYteWWA==,type:str] hashedPassword: ENC[AES256_GCM,data:iUN2iaC2RPDa/vq6H7Xp2KqHYcHfQHU6IhZ2FWXEuaNhByFzpyMbJC7N2bmbDUD3ERLudHg686Uqt6XJV2PevQoXa1iYhv9cLw==,iv:ekGMzP2TXSrxLkqZVclHgN1NQIv6OqtsVLHdvsTgXQc=,tag:RRSZCHjmhn8ClrUTYteWWA==,type:str]
syncoidSshKey: ENC[AES256_GCM,data:tfNUtOa40qTuoE/Ge5wBhQOTqBcYHvjlyhyBclFyqcbWSTSjZzh0WbkZaM5002YHO0izWD5V4TrK2lTgEYRq3wrMyWhkKgHj51LIBqJmw08Gk1+JQ9+hfRoM2ql6GtJLzUb0bOewPzY5aqDBNVNUrMPF5NyqYFDOoUfAbwWy3yOYdXVOsYwUnGMH+g8MnXdvnBT7RYVGZYLp8Kfj2qi6a+WDQh8qBwaJDKeNhVFOy3Ft00e8ykT5koK4pHSK5D8g5xNXzbMibB3CtGW90wTS2D/o1Ybxkh2ZjcescxD+U/NMIHhRuYdzv/1yiiu1IWnDYjcHCnLUfAiVac5IoCtu0IMmC+jy76Z1lxYmhQt6PINAeh4LHTrtp+5+RGKW+XIzVYguwTcH1WSJGOkHCe7a3VKyI0CrUkD9mhgEjvSLKPVOPgmU+vNggbqu9HrGUlCz53acvdYN8GQP9xKOZLjDgYk5d/zRW5NMj3H7PPW+eLpT/P9i+nISui0WDZQVnFo2IEiElRHkDu2pbENNUvKxDIMkb0nCR8BE+a2e,iv:okNdm2cKrP4DDPflGaN5XRZh/OMFhl30sdTdbbvqsGQ=,tag:O9fv2X1nAf9Ed0FN3xlV3A==,type:str] syncoidSshKey: ENC[AES256_GCM,data:tfNUtOa40qTuoE/Ge5wBhQOTqBcYHvjlyhyBclFyqcbWSTSjZzh0WbkZaM5002YHO0izWD5V4TrK2lTgEYRq3wrMyWhkKgHj51LIBqJmw08Gk1+JQ9+hfRoM2ql6GtJLzUb0bOewPzY5aqDBNVNUrMPF5NyqYFDOoUfAbwWy3yOYdXVOsYwUnGMH+g8MnXdvnBT7RYVGZYLp8Kfj2qi6a+WDQh8qBwaJDKeNhVFOy3Ft00e8ykT5koK4pHSK5D8g5xNXzbMibB3CtGW90wTS2D/o1Ybxkh2ZjcescxD+U/NMIHhRuYdzv/1yiiu1IWnDYjcHCnLUfAiVac5IoCtu0IMmC+jy76Z1lxYmhQt6PINAeh4LHTrtp+5+RGKW+XIzVYguwTcH1WSJGOkHCe7a3VKyI0CrUkD9mhgEjvSLKPVOPgmU+vNggbqu9HrGUlCz53acvdYN8GQP9xKOZLjDgYk5d/zRW5NMj3H7PPW+eLpT/P9i+nISui0WDZQVnFo2IEiElRHkDu2pbENNUvKxDIMkb0nCR8BE+a2e,iv:okNdm2cKrP4DDPflGaN5XRZh/OMFhl30sdTdbbvqsGQ=,tag:O9fv2X1nAf9Ed0FN3xlV3A==,type:str]
zimaKnownHosts: ENC[AES256_GCM,data:7osQI01DJ8OQBEOIYXt0HO1ZZg1iDW6dTfxEyo3luJ5er5DlgZqvxXHuiiHT6tMzjP+uyQCiN0SnQgDBjFP7lp4i7SIToF+4aAkGLbhCoTND4BjwtoBn4t+nbYgAgPkSFvvqhXgaKhdTYPUZBdxp0d8yUd+EA798mZwsS1k2rJYXcq0D1Dn2D7JmGAD1vD4GC76VP5L8XJC3Wc0MVYOTUeftqLHZQ7H5qCIu+QEFwlQw4CPt7IiClN0u2yx+y2yOwFkw6A3+F5/BqGzEh1KsxBXF+THDuzJpipLiCYzjnK04OZa9x/LR7r0A7XZrDkTMD+NSCLsoZzQOv+9cNw4+6qIYKBvarjAOIdZpP/EHiXrDYy53jrOeG3SU+P/NggL0ryq9aHEjUhX+idAXfspYl5EklrlXYw0JjZE8T6NbGP7706VPrcHzGoB1YjAvnAmQP8846ZH99yw8wWDuEoG6i8O0VaY0Q+RVfPZgKbUVqd0L936VMMN6t8jXSPvtOFCjviqgGCfTC9mcciQ2C83G+j9YWi0rM9/dX04m6a6eOBFtTAp4ryKRI6zoSn7Wh+nF1I3M8Yd+qUE7iVJpDOFb4IjJLNy6E+Xw/mTNlIRBET+2Pqmem+pcqmlr8opg4X0Rn2jp23PzDmH5mBrTJpfs/trPaOZLAZ5N+JKX1WLsKIZdT0AK4AVcs7CCj2FSIVicnrR8H9mwgVCY6HDHJvk7E460bo1Jg0YFYsauvd7FeNpCTk3VnFjsloR7WcXj9jrlkcSoR3d/AuelNreXT2XupVU5pHOHDYPd2fvqTd3i0ZEIhSm71p6Ely6HVONwUU9HHMwrnuXccW3YZyD2VsZKJ61AeG01WRSbOF/fPExSpsU1wiIqMrImD13Sh2je0gmznbJGvm+muvknUCUYprH7WORK0ib5mihfwYalPAnwLNHuECQJt+EdIRQJyGay8Ju5brA+N9o7ImeRWtG5ITdTCZba5QvJGN8+Cdkv1WpFkKnEXihdFBwnd/fuswkNGA04m5YSkg2JBstEKDkDIOq9yICtDfPVMi4H7obqbhJ3GAbQ2O6sPLt3NF4i1ib+TiH6,iv:thh4YjrSjpAdBtQgyW/M6fU3V3Sa/5X5EYKwPoJazn8=,tag:5VYDipu5iMnsI+qp0xNSTg==,type:str] zimaKnownHosts: ENC[AES256_GCM,data:7osQI01DJ8OQBEOIYXt0HO1ZZg1iDW6dTfxEyo3luJ5er5DlgZqvxXHuiiHT6tMzjP+uyQCiN0SnQgDBjFP7lp4i7SIToF+4aAkGLbhCoTND4BjwtoBn4t+nbYgAgPkSFvvqhXgaKhdTYPUZBdxp0d8yUd+EA798mZwsS1k2rJYXcq0D1Dn2D7JmGAD1vD4GC76VP5L8XJC3Wc0MVYOTUeftqLHZQ7H5qCIu+QEFwlQw4CPt7IiClN0u2yx+y2yOwFkw6A3+F5/BqGzEh1KsxBXF+THDuzJpipLiCYzjnK04OZa9x/LR7r0A7XZrDkTMD+NSCLsoZzQOv+9cNw4+6qIYKBvarjAOIdZpP/EHiXrDYy53jrOeG3SU+P/NggL0ryq9aHEjUhX+idAXfspYl5EklrlXYw0JjZE8T6NbGP7706VPrcHzGoB1YjAvnAmQP8846ZH99yw8wWDuEoG6i8O0VaY0Q+RVfPZgKbUVqd0L936VMMN6t8jXSPvtOFCjviqgGCfTC9mcciQ2C83G+j9YWi0rM9/dX04m6a6eOBFtTAp4ryKRI6zoSn7Wh+nF1I3M8Yd+qUE7iVJpDOFb4IjJLNy6E+Xw/mTNlIRBET+2Pqmem+pcqmlr8opg4X0Rn2jp23PzDmH5mBrTJpfs/trPaOZLAZ5N+JKX1WLsKIZdT0AK4AVcs7CCj2FSIVicnrR8H9mwgVCY6HDHJvk7E460bo1Jg0YFYsauvd7FeNpCTk3VnFjsloR7WcXj9jrlkcSoR3d/AuelNreXT2XupVU5pHOHDYPd2fvqTd3i0ZEIhSm71p6Ely6HVONwUU9HHMwrnuXccW3YZyD2VsZKJ61AeG01WRSbOF/fPExSpsU1wiIqMrImD13Sh2je0gmznbJGvm+muvknUCUYprH7WORK0ib5mihfwYalPAnwLNHuECQJt+EdIRQJyGay8Ju5brA+N9o7ImeRWtG5ITdTCZba5QvJGN8+Cdkv1WpFkKnEXihdFBwnd/fuswkNGA04m5YSkg2JBstEKDkDIOq9yICtDfPVMi4H7obqbhJ3GAbQ2O6sPLt3NF4i1ib+TiH6,iv:thh4YjrSjpAdBtQgyW/M6fU3V3Sa/5X5EYKwPoJazn8=,tag:5VYDipu5iMnsI+qp0xNSTg==,type:str]
@ -21,7 +22,7 @@ sops:
NDJWOEMyU1hwcHRXMUh6RkEzOFhndG8KY/fCz/+MfGQlnLC3Kzo5hYOmd0fRakDQ NDJWOEMyU1hwcHRXMUh6RkEzOFhndG8KY/fCz/+MfGQlnLC3Kzo5hYOmd0fRakDQ
JjVD+zxHFqN5b3U03iS9WIsdjF3hRFqqnZMOeXTUDezDfTNPdmUuMg== JjVD+zxHFqN5b3U03iS9WIsdjF3hRFqqnZMOeXTUDezDfTNPdmUuMg==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-12-30T06:09:33Z" lastmodified: "2026-04-11T21:27:21Z"
mac: ENC[AES256_GCM,data:1Rwi9cvkH2aWmbkX4ZcvUu1MRPMgX5ZVFQ29pJ/q8RGBtYe+yH8c5ODqWkkvlO3Ok1gFg/8fPIoXfJ2il39MTdnt/jbng+z9TupK6raYsIonWcYEMz6hY0imASgF4m8OtS5GcVelRUUOPuYBVdQa9+VCRd1L3tM8HYt6AgiumHI=,iv:Dp0WVo3otn9BKKujtbILAqvdM/79ENum8QVgwSJpSmw=,tag:8+QhXLeDd3maSHj7ip34gg==,type:str] mac: ENC[AES256_GCM,data:FkaHQIBs3rgAPtrL28EZon8PbWFQNOBsG8zIe1YY+lUxC4EY1KkbUo6Hjvla2XA17jxLeNXxGl+3f9E86jknJ850eSd/ud1KbmH+ycF1AwTJtpYzItC3WxCtxIfyAMgQA4KFYcIBU3Zgi0I4Ae1VUAQcZlKrLUyvEJYxI3vmBVo=,iv:CoFgIfrsnZJB/+op1gz8fmdpy/pHK0LGmDKKp2UpCKc=,tag:16Dai5xHFKZ2V1tP6JYpUw==,type:str]
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.11.0 version: 3.12.1

View file

@ -7,7 +7,7 @@
impermanence, impermanence,
talon-nix, talon-nix,
plover-flake, plover-flake,
beads-flake, #beads-flake,
awww, awww,
niri, niri,
... }: ... }:
@ -217,6 +217,12 @@
# Enable the X11 windowing system. # Enable the X11 windowing system.
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.sessionCommands = ''
(
sleep 2
${pkgs.xorg.xrandr}/bin/xrandr --output eDP --mode 2560x1600 --rate 120 --primary --auto || true
) &
'';
# Enable the GNOME Desktop Environment. # Enable the GNOME Desktop Environment.
services.displayManager.gdm.enable = true; services.displayManager.gdm.enable = true;
@ -288,7 +294,7 @@
# sops-nix secrets # sops-nix secrets
sops.defaultSopsFile = ./secrets/config.yaml; sops.defaultSopsFile = ./secrets/config.yaml;
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.age.sshKeyPaths = [ "/persist/etc/ssh/ssh_host_ed25519_key" ];
sops.secrets.hashedPassword.neededForUsers = true; sops.secrets.hashedPassword.neededForUsers = true;
# Define user accounts # Define user accounts
@ -307,10 +313,10 @@
docker-credential-helpers docker-credential-helpers
pass pass
pkgs.unstable.claude-code pkgs.unstable.claude-code
codex pkgs.unstable.codex
just just
socat socat
pkgs.beads #pkgs.beads
gh gh
pkgs.unstable.opencode pkgs.unstable.opencode
pkgs.pi-coding-agent pkgs.pi-coding-agent
@ -379,7 +385,7 @@
nodejs nodejs
slack slack
mplayer mplayer
ffmpeg ffmpeg-full
docker-credential-helpers docker-credential-helpers
jetbrains-toolbox jetbrains-toolbox
pass pass
@ -397,7 +403,7 @@
#ruff # for zed #ruff # for zed
#goose-cli #goose-cli
pkgs.unstable.claude-code pkgs.unstable.claude-code
codex pkgs.unstable.codex
neofetch neofetch
eww eww
quickshell quickshell
@ -427,7 +433,7 @@
socat socat
#plover-flake.packages.${pkgs.stdenv.hostPlatform.system}.plover-full #plover-flake.packages.${pkgs.stdenv.hostPlatform.system}.plover-full
pkgs.unstable.zoom-us pkgs.unstable.zoom-us
pkgs.beads #pkgs.beads
awww.packages.${pkgs.stdenv.hostPlatform.system}.awww awww.packages.${pkgs.stdenv.hostPlatform.system}.awww
nix-index # for nix-locate nix-index # for nix-locate
sops sops
@ -518,8 +524,11 @@
devenv devenv
lsof lsof
sg3_utils sg3_utils
libimobiledevice
ifuse
]; ];
services.usbmuxd.enable = true;
services.clipmenu.enable = true; services.clipmenu.enable = true;
services.picom = { services.picom = {
enable = true; enable = true;

View file

@ -83,7 +83,7 @@
# sops-nix secrets # sops-nix secrets
sops.defaultSopsFile = ./secrets/config.yaml; sops.defaultSopsFile = ./secrets/config.yaml;
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.age.sshKeyPaths = [ "/persist/etc/ssh/ssh_host_ed25519_key" ];
sops.secrets.hashedPassword.neededForUsers = true; sops.secrets.hashedPassword.neededForUsers = true;
users.users."root".openssh.authorizedKeys.keys = [ users.users."root".openssh.authorizedKeys.keys = [

View file

@ -32,6 +32,10 @@ deploy-liminal:
deploy-zima: deploy-zima:
just deploy-auto zima root@zima just deploy-auto zima root@zima
# Shortcut: deploy cryochamber
deploy-cryochamber:
just deploy-auto cryochamber root@cryochamber
update-package package version="": update-package package version="":
if [ -n "{{version}}" ]; then scripts/update-local-package {{package}} --version {{version}}; else scripts/update-local-package {{package}}; fi if [ -n "{{version}}" ]; then scripts/update-local-package {{package}} --version {{version}}; else scripts/update-local-package {{package}}; fi

View file

@ -19,20 +19,20 @@
}: }:
rustPlatform.buildRustPackage (finalAttrs: { rustPlatform.buildRustPackage (finalAttrs: {
pname = "codex"; pname = "codex";
version = "0.110.0"; version = "0.122.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openai"; owner = "openai";
repo = "codex"; repo = "codex";
tag = "rust-v${finalAttrs.version}"; tag = "rust-v${finalAttrs.version}";
#hash = lib.fakeHash; #hash = lib.fakeHash;
hash = "sha256-RoWKOZCW5qR+NyBqU/AoloVYGscfiVaHZqnaTISTj9w="; hash = "sha256-CpXWP64URsgt/PhQrUkrT87KG633hxRUIY0wWrTFmjk=";
}; };
sourceRoot = "${finalAttrs.src.name}/codex-rs"; sourceRoot = "${finalAttrs.src.name}/codex-rs";
#cargoHash = lib.fakeHash; #cargoHash = lib.fakeHash;
cargoHash = "sha256-tj0OAEvydpdT6haVtRXv5rWpeSFM3aYXVyH6jqvJKJ8="; cargoHash = "sha256-2qtMLWSdYWJ+blNfCHXtgmzizuM1HgpTGa5RQ3U/AEM=";
nativeBuildInputs = [ nativeBuildInputs = [
clang clang

File diff suppressed because it is too large Load diff

View file

@ -3,6 +3,6 @@
"version": "1.0.0", "version": "1.0.0",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@mariozechner/pi-coding-agent": "0.66.0" "@mariozechner/pi-coding-agent": "0.73.0"
} }
} }

View file

@ -5,10 +5,10 @@
}: }:
buildNpmPackage (finalAttrs: { buildNpmPackage (finalAttrs: {
pname = "pi-coding-agent"; pname = "pi-coding-agent";
version = "0.66.0"; version = "0.73.0";
src = ./.; src = ./.;
npmDepsHash = "sha256-x7XNa88oV96hl3Cr4JO4gdvaNsSUE9Vn0/qhMAnwX8g="; npmDepsHash = "sha256-rWNknuzbVsEMyahnOg5ku1e3xBn4/bG5EmkvvEr52Nw=";
inherit nodejs; inherit nodejs;
dontNpmBuild = true; dontNpmBuild = true;