Compare commits
No commits in common. "e07d1e3187dcb1871cb86106813372aa0d4b8283" and "781572c561eacf42373ce26a764f495deaf43cff" have entirely different histories.
e07d1e3187
...
781572c561
15 changed files with 892 additions and 1087 deletions
|
|
@ -21,7 +21,6 @@ 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;
|
||||||
|
|
|
||||||
303
flake.lock
generated
303
flake.lock
generated
|
|
@ -7,11 +7,11 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779666993,
|
"lastModified": 1770895252,
|
||||||
"narHash": "sha256-W0yA7Y37oj5BBzl4ojO8dtv9MuOvdrIZDxtRjs7kpdg=",
|
"narHash": "sha256-TUGZVDcC5xsrWVnpBNosAG1cTy+aWchCWXPyeLZdnGM=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "9b7f47f7f394dce0a17a7b161e0d2fe391ce72b3",
|
"rev": "2c86d41d07471f518e24f5cd1f586e4d2a32d12c",
|
||||||
"revCount": 1366,
|
"revCount": 1331,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://codeberg.org/LGFae/awww"
|
"url": "https://codeberg.org/LGFae/awww"
|
||||||
},
|
},
|
||||||
|
|
@ -20,6 +20,28 @@
|
||||||
"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": {
|
||||||
|
|
@ -54,23 +76,41 @@
|
||||||
"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": [
|
||||||
"nixpkgs-26-05"
|
"nixpkgs-25-11"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779726825,
|
"lastModified": 1773681845,
|
||||||
"narHash": "sha256-RUkMrREjKDQrA+dA9+xZviGAxM5W1aVdyOr/bSYpHrE=",
|
"narHash": "sha256-o8hrZrigP0JYcwnglCp8Zi8jQafWsxbDtRRPzuVwFxY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "b179bde238977f7d4454fc770b1a727eaf55111c",
|
"rev": "0759e0e137305bc9d0c52c204c6d8dffe6f601a6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-26.05",
|
"ref": "release-25.11",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
@ -164,11 +204,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737420293,
|
"lastModified": 1693660503,
|
||||||
"narHash": "sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE=",
|
"narHash": "sha256-B/g2V4v6gjirFmy+I5mwB2bCYc0l3j5scVfwgl6WOl8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-github-actions",
|
"repo": "nix-github-actions",
|
||||||
"rev": "f4158fa080ef4503c8f4c820967d946c2af31ec9",
|
"rev": "bd5bdbb52350e145c526108f4ef192eb8e554fa0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -177,34 +217,31 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-openclaw-tools": {
|
"nix-steipete-tools": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_5"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778060041,
|
|
||||||
"narHash": "sha256-tXWkN1VnwFG8XlRqW/e7VwbKnUfyU9tB7YDm9QHJXTY=",
|
|
||||||
"owner": "openclaw",
|
|
||||||
"repo": "nix-openclaw-tools",
|
|
||||||
"rev": "4c1cee3c7eaf68f9de0f756be1484534f5bb5f34",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "openclaw",
|
|
||||||
"repo": "nix-openclaw-tools",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixos-hardware": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780065812,
|
"lastModified": 1773561580,
|
||||||
"narHash": "sha256-SCSLUKBmwlSLGQ8Xbr8PjRFtiHNk0l9ktqkcmqdBkfE=",
|
"narHash": "sha256-wT0bKTp45YnMkc4yXQvk943Zz/rksYiIjEXGdWzxnic=",
|
||||||
|
"owner": "openclaw",
|
||||||
|
"repo": "nix-steipete-tools",
|
||||||
|
"rev": "cd4c429ff3b3aaef9f92e59812cf2baf5704b86f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "openclaw",
|
||||||
|
"repo": "nix-steipete-tools",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixos-hardware": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773533765,
|
||||||
|
"narHash": "sha256-qonGfS2lzCgCl59Zl63jF6dIRRpvW3AJooBGMaXjHiY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "b76b5639c0593e0aeb0b5879ad62d4b30596c144",
|
"rev": "f8e82243fd601afb9f59ad230958bd073795cbfe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -231,11 +268,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-25-11": {
|
"nixpkgs-25-11": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779796641,
|
"lastModified": 1773705440,
|
||||||
"narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=",
|
"narHash": "sha256-xB30bbAp0e7ogSEYyc126mAJMt4FRFh8wtm6ADE1xuM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "25f538306313eae3927264466c70d7001dcea1df",
|
"rev": "48652e9d5aea46e555b3df87354280d4f29cd3a3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -245,45 +282,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-26-05": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1780203844,
|
|
||||||
"narHash": "sha256-K5sT4jTpGs15ADhviMKNBH38REpPf5Q6mM1+N6cArVE=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "b51242d7d43689db2f3be91bd05d5b24fbb469c4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-26.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779560665,
|
"lastModified": 1773646010,
|
||||||
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
"narHash": "sha256-iYrs97hS7p5u4lQzuNWzuALGIOdkPXvjz7bviiBjUu8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
"rev": "5b2c2d84341b2afb5647081c1386a80d7a8d8605",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_10": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1775710090,
|
|
||||||
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -326,19 +331,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767892417,
|
|
||||||
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
|
||||||
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_5": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767364772,
|
"lastModified": 1767364772,
|
||||||
"narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=",
|
"narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=",
|
||||||
|
|
@ -354,7 +346,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767767207,
|
"lastModified": 1767767207,
|
||||||
"narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
|
"narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
|
||||||
|
|
@ -370,13 +362,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779560665,
|
"lastModified": 1773646010,
|
||||||
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
"narHash": "sha256-iYrs97hS7p5u4lQzuNWzuALGIOdkPXvjz7bviiBjUu8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
"rev": "5b2c2d84341b2afb5647081c1386a80d7a8d8605",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -386,52 +378,51 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_8": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770107345,
|
"lastModified": 1773507054,
|
||||||
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
"narHash": "sha256-Q8U5VXgrcxmCxPtCCJCIZkcAX3FCZwGh1GNVIXxMND0=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4",
|
"rev": "e80236013dc8b77aa49ca90e7a12d86f5d8d64c9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixpkgs-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_9": {
|
"nixpkgs_8": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775888245,
|
"lastModified": 1698318101,
|
||||||
"narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=",
|
"narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "13043924aaa7375ce482ebe2494338e058282925",
|
"rev": "63678e9f3d3afecfeafa0acead6239cdb447574c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"openclaw-flake": {
|
"openclaw-flake": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils_2",
|
||||||
"home-manager": "home-manager_3",
|
"home-manager": "home-manager_3",
|
||||||
"nix-openclaw-tools": "nix-openclaw-tools",
|
"nix-steipete-tools": "nix-steipete-tools",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_5"
|
||||||
"qmd": "qmd"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780230011,
|
"lastModified": 1773761774,
|
||||||
"narHash": "sha256-AMJrXHEoL0iErcCtoksDJ6J9BgsYrH0UznmpxYh6E54=",
|
"narHash": "sha256-wCibqqrlSKReo5MHDdW97BLDAnor5qYezkox5Za8QxU=",
|
||||||
"owner": "openclaw",
|
"owner": "openclaw",
|
||||||
"repo": "nix-openclaw",
|
"repo": "nix-openclaw",
|
||||||
"rev": "266284148647b425e48ec67335629a5c45880d4a",
|
"rev": "57df3298491c49525324274e8b8cb5184bdd3458",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -443,11 +434,11 @@
|
||||||
"plover": {
|
"plover": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777008591,
|
"lastModified": 1773500192,
|
||||||
"narHash": "sha256-fb4EJ4REj8GW8+Z74oFiikgM/5yXgdon6I/NZYlZYLI=",
|
"narHash": "sha256-153KePiQ21OJgtRRA4jLQLqR0lY2wbAXT9qbcWIBc6Y=",
|
||||||
"owner": "openstenoproject",
|
"owner": "openstenoproject",
|
||||||
"repo": "plover",
|
"repo": "plover",
|
||||||
"rev": "6b7a014100eca137e5e82961bb030156b114281a",
|
"rev": "b0470196a92295f5d5e6f26ab35320da603b01ae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -458,20 +449,19 @@
|
||||||
},
|
},
|
||||||
"plover-flake": {
|
"plover-flake": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_7",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"plover": "plover",
|
"plover": "plover",
|
||||||
"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": 1780122855,
|
"lastModified": 1773724054,
|
||||||
"narHash": "sha256-WDSnD4l6q3i7HAIp8mEHIw/5y4MuZudlKAwQ29Pl1aA=",
|
"narHash": "sha256-CXGYUnAbcqBHS2oQq1x1mHAcQebUZFSqfnbFb+mhpKk=",
|
||||||
"owner": "openstenoproject",
|
"owner": "openstenoproject",
|
||||||
"repo": "plover-flake",
|
"repo": "plover-flake",
|
||||||
"rev": "93dc9e615fec8b645e1443c133441fc603dc5108",
|
"rev": "529ac57c807581b6f24b9ab9d2c4cea784b5aa01",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -499,11 +489,11 @@
|
||||||
"plover2cat": {
|
"plover2cat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777279531,
|
"lastModified": 1771716484,
|
||||||
"narHash": "sha256-+yHSp/HCJnqJqpGaiP6d68pZa4MR2woA3AnJtrEb/OM=",
|
"narHash": "sha256-38gmfJbjC1n+lrHI2FZmhRvSyOZ2j72VicpteU1H4Hw=",
|
||||||
"owner": "greenwyrt",
|
"owner": "greenwyrt",
|
||||||
"repo": "plover2CAT",
|
"repo": "plover2CAT",
|
||||||
"rev": "36a590f22fa1612b96b7379a76fae8a0c581c793",
|
"rev": "795eee5750e0841f77054f54487a3cdfe74c92d9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -528,41 +518,15 @@
|
||||||
"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",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs-25-11": "nixpkgs-25-11",
|
"nixpkgs-25-11": "nixpkgs-25-11",
|
||||||
"nixpkgs-26-05": "nixpkgs-26-05",
|
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"openclaw-flake": "openclaw-flake",
|
"openclaw-flake": "openclaw-flake",
|
||||||
"plover-flake": "plover-flake",
|
"plover-flake": "plover-flake",
|
||||||
|
|
@ -630,14 +594,14 @@
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_9"
|
"nixpkgs": "nixpkgs_7"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777944972,
|
"lastModified": 1773698643,
|
||||||
"narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=",
|
"narHash": "sha256-VCiDjE8kNs8uCAK73Ezk1r3fFuc4JepvW07YFqaN968=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "c591bf665727040c6cc5cb409079acb22dcce33c",
|
"rev": "8237de83e8200d16fe0c4467b02a1c608ff28044",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -661,40 +625,37 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"talon-nix": {
|
"systems_2": {
|
||||||
"inputs": {
|
|
||||||
"nix-github-actions": "nix-github-actions",
|
|
||||||
"nixpkgs": "nixpkgs_10"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776244716,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-+qZasmBp556iAiIx5ZdiTS1yI4aiPZ7XHaCRk6UopME=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-systems",
|
||||||
"repo": "talon-nix",
|
"repo": "default",
|
||||||
"rev": "a13f95e0d7b87d0127079245236bcd8705c6b4dd",
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-systems",
|
||||||
"repo": "talon-nix",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix": {
|
"talon-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"nix-github-actions": "nix-github-actions",
|
||||||
"nixpkgs": "nixpkgs_8"
|
"nixpkgs": "nixpkgs_8"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1775636079,
|
"lastModified": 1746431176,
|
||||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
"narHash": "sha256-bwXLFy2pDpNE60EkVltrmiRgwNWLo4eYBesP997p8mg=",
|
||||||
"owner": "numtide",
|
"owner": "nix-community",
|
||||||
"repo": "treefmt-nix",
|
"repo": "talon-nix",
|
||||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
"rev": "cc110629c5f0be12e839b2aea6a16880f1822706",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "numtide",
|
"owner": "nix-community",
|
||||||
"repo": "treefmt-nix",
|
"repo": "talon-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
108
flake.nix
108
flake.nix
|
|
@ -3,18 +3,17 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs-25-11.url = "github:NixOS/nixpkgs/nixos-25.11";
|
nixpkgs-25-11.url = "github:NixOS/nixpkgs/nixos-25.11";
|
||||||
nixpkgs-26-05.url = "github:NixOS/nixpkgs/nixos-26.05";
|
|
||||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
home-manager.url = "github:nix-community/home-manager/release-26.05";
|
home-manager.url = "github:nix-community/home-manager/release-25.11";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs-26-05";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs-25-11";
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
impermanence.url = "github:nix-community/impermanence";
|
impermanence.url = "github:nix-community/impermanence";
|
||||||
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";
|
||||||
|
|
@ -23,7 +22,6 @@
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixpkgs-25-11,
|
nixpkgs-25-11,
|
||||||
nixpkgs-26-05,
|
|
||||||
nixpkgs-unstable,
|
nixpkgs-unstable,
|
||||||
home-manager,
|
home-manager,
|
||||||
sops-nix,
|
sops-nix,
|
||||||
|
|
@ -32,7 +30,7 @@
|
||||||
talon-nix,
|
talon-nix,
|
||||||
openclaw-flake,
|
openclaw-flake,
|
||||||
plover-flake,
|
plover-flake,
|
||||||
#beads-flake,
|
beads-flake,
|
||||||
awww,
|
awww,
|
||||||
niri,
|
niri,
|
||||||
...
|
...
|
||||||
|
|
@ -103,56 +101,54 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
overlay-local = final: prev: {
|
overlay-local = final: prev: {
|
||||||
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 { };
|
||||||
xai-grok = prev.callPackage ./pkgs/xai-grok/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
|
||||||
{
|
{
|
||||||
|
|
@ -180,14 +176,18 @@
|
||||||
|
|
||||||
nixosConfigurations.ruil = nixpkgs-25-11.lib.nixosSystem {
|
nixosConfigurations.ruil = nixpkgs-25-11.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
|
specialArgs = {
|
||||||
|
inherit openclaw-flake;
|
||||||
|
};
|
||||||
modules = [
|
modules = [
|
||||||
({ ... }: { nixpkgs.overlays = [ overlay-unstable overlay-etherpad-fixes overlay-local ]; })
|
({ ... }: { nixpkgs.overlays = [ overlay-unstable overlay-etherpad-fixes overlay-local openclaw-flake.overlays.default ]; })
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
./hosts/ruil/configuration.nix
|
./hosts/ruil/configuration.nix
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations.liminal = nixpkgs-26-05.lib.nixosSystem {
|
nixosConfigurations.liminal = nixpkgs-25-11.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit
|
inherit
|
||||||
|
|
@ -195,7 +195,7 @@
|
||||||
impermanence
|
impermanence
|
||||||
talon-nix
|
talon-nix
|
||||||
plover-flake
|
plover-flake
|
||||||
#beads-flake
|
beads-flake
|
||||||
awww
|
awww
|
||||||
niri
|
niri
|
||||||
;
|
;
|
||||||
|
|
|
||||||
|
|
@ -138,16 +138,8 @@
|
||||||
|
|
||||||
# sops-nix secrets
|
# sops-nix secrets
|
||||||
sops.defaultSopsFile = ./secrets/config.yaml;
|
sops.defaultSopsFile = ./secrets/config.yaml;
|
||||||
sops.age.sshKeyPaths = [ "/persist/etc/ssh/ssh_host_ed25519_key" ];
|
sops.age.sshKeyPaths = [ "/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 = {
|
||||||
|
|
@ -174,8 +166,6 @@
|
||||||
unzip
|
unzip
|
||||||
lsof
|
lsof
|
||||||
gnupg
|
gnupg
|
||||||
znc
|
|
||||||
zncModules.palaver
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
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]
|
||||||
|
|
@ -22,7 +21,7 @@ sops:
|
||||||
NDJWOEMyU1hwcHRXMUh6RkEzOFhndG8KY/fCz/+MfGQlnLC3Kzo5hYOmd0fRakDQ
|
NDJWOEMyU1hwcHRXMUh6RkEzOFhndG8KY/fCz/+MfGQlnLC3Kzo5hYOmd0fRakDQ
|
||||||
JjVD+zxHFqN5b3U03iS9WIsdjF3hRFqqnZMOeXTUDezDfTNPdmUuMg==
|
JjVD+zxHFqN5b3U03iS9WIsdjF3hRFqqnZMOeXTUDezDfTNPdmUuMg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2026-04-11T21:27:21Z"
|
lastmodified: "2025-12-30T06:09:33Z"
|
||||||
mac: ENC[AES256_GCM,data:FkaHQIBs3rgAPtrL28EZon8PbWFQNOBsG8zIe1YY+lUxC4EY1KkbUo6Hjvla2XA17jxLeNXxGl+3f9E86jknJ850eSd/ud1KbmH+ycF1AwTJtpYzItC3WxCtxIfyAMgQA4KFYcIBU3Zgi0I4Ae1VUAQcZlKrLUyvEJYxI3vmBVo=,iv:CoFgIfrsnZJB/+op1gz8fmdpy/pHK0LGmDKKp2UpCKc=,tag:16Dai5xHFKZ2V1tP6JYpUw==,type:str]
|
mac: ENC[AES256_GCM,data:1Rwi9cvkH2aWmbkX4ZcvUu1MRPMgX5ZVFQ29pJ/q8RGBtYe+yH8c5ODqWkkvlO3Ok1gFg/8fPIoXfJ2il39MTdnt/jbng+z9TupK6raYsIonWcYEMz6hY0imASgF4m8OtS5GcVelRUUOPuYBVdQa9+VCRd1L3tM8HYt6AgiumHI=,iv:Dp0WVo3otn9BKKujtbILAqvdM/79ENum8QVgwSJpSmw=,tag:8+QhXLeDd3maSHj7ip34gg==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.12.1
|
version: 3.11.0
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
impermanence,
|
impermanence,
|
||||||
talon-nix,
|
talon-nix,
|
||||||
plover-flake,
|
plover-flake,
|
||||||
#beads-flake,
|
beads-flake,
|
||||||
awww,
|
awww,
|
||||||
niri,
|
niri,
|
||||||
... }:
|
... }:
|
||||||
|
|
@ -74,37 +74,10 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.unstable.ollama-vulkan;
|
package = pkgs.unstable.ollama-vulkan;
|
||||||
loadModels = [ "qwen3.5" "gpt-oss" ];
|
loadModels = [ "qwen3.5" "gpt-oss" ];
|
||||||
#acceleration = "vulkan";
|
acceleration = "vulkan";
|
||||||
#acceleration = "rocm";
|
#acceleration = "rocm";
|
||||||
#rocmOverrideGfx = "11.0.2";
|
#rocmOverrideGfx = "11.0.2";
|
||||||
};
|
};
|
||||||
services.llama-swap = {
|
|
||||||
enable = false;
|
|
||||||
port = 11434;
|
|
||||||
settings = let
|
|
||||||
llamaServer = lib.getExe' pkgs.unstable.llama-cpp-vulkan "llama-server";
|
|
||||||
in {
|
|
||||||
hooks.on_startup.preload = [ "qwen3.5:4b" ];
|
|
||||||
models."qwen3.5:4b" = {
|
|
||||||
cmd = "${llamaServer} --port \${PORT} -m /var/lib/llama-swap/models/Qwen_Qwen3.5-4B-Q5_K_L.gguf -c 65536";
|
|
||||||
aliases = [ "qwen" ];
|
|
||||||
};
|
|
||||||
models."qwen3.5:35b" = {
|
|
||||||
cmd = "${llamaServer} --port \${PORT} -m /var/lib/llama-swap/models/Qwen_Qwen3.5-35B-A3B-Q5_K_L.gguf -c 65536 --mmap --gpu-layers 35";
|
|
||||||
aliases = [ "qwen3.5" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
systemd.services.llama-swap = {
|
|
||||||
environment = {
|
|
||||||
HOME = "/var/lib/llama-swap";
|
|
||||||
XDG_CACHE_HOME = "/var/cache/llama-swap";
|
|
||||||
};
|
|
||||||
serviceConfig = {
|
|
||||||
StateDirectory = "llama-swap";
|
|
||||||
CacheDirectory = "llama-swap";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.hostId = "3294c9a2"; # Required for ZFS
|
networking.hostId = "3294c9a2"; # Required for ZFS
|
||||||
networking.hostName = "liminal";
|
networking.hostName = "liminal";
|
||||||
|
|
@ -114,7 +87,6 @@
|
||||||
''
|
''
|
||||||
127.0.0.1 keycloak
|
127.0.0.1 keycloak
|
||||||
127.0.0.1 k3d-cmvm
|
127.0.0.1 k3d-cmvm
|
||||||
172.17.0.1 docker.host.internal
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
environment.persistence."/persist" = {
|
environment.persistence."/persist" = {
|
||||||
|
|
@ -218,16 +190,10 @@
|
||||||
|
|
||||||
# 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.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;
|
||||||
#services.displayManager.gdm.wayland = true;
|
services.displayManager.gdm.wayland = true;
|
||||||
services.displayManager.gdm.autoSuspend = true;
|
services.displayManager.gdm.autoSuspend = true;
|
||||||
services.desktopManager.gnome.enable = true;
|
services.desktopManager.gnome.enable = true;
|
||||||
|
|
||||||
|
|
@ -251,15 +217,6 @@
|
||||||
pkgs.xdg-desktop-portal-gnome
|
pkgs.xdg-desktop-portal-gnome
|
||||||
#pkgs.xdg-desktop-portal-hyprland
|
#pkgs.xdg-desktop-portal-hyprland
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
|
||||||
hyprland = {
|
|
||||||
default = [ "hyprland" "gtk" ];
|
|
||||||
"org.freedesktop.impl.portal.ScreenCast" = [ "hyprland" ];
|
|
||||||
"org.freedesktop.impl.portal.Screenshot" = [ "wlr" ];
|
|
||||||
"org.freedesktop.impl.portal.FileChooser" = [ "gtk" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
# Enable CUPS to print documents.
|
||||||
|
|
@ -304,7 +261,7 @@
|
||||||
|
|
||||||
# sops-nix secrets
|
# sops-nix secrets
|
||||||
sops.defaultSopsFile = ./secrets/config.yaml;
|
sops.defaultSopsFile = ./secrets/config.yaml;
|
||||||
sops.age.sshKeyPaths = [ "/persist/etc/ssh/ssh_host_ed25519_key" ];
|
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
sops.secrets.hashedPassword.neededForUsers = true;
|
sops.secrets.hashedPassword.neededForUsers = true;
|
||||||
|
|
||||||
# Define user accounts
|
# Define user accounts
|
||||||
|
|
@ -316,21 +273,20 @@
|
||||||
home = "/home/agents";
|
home = "/home/agents";
|
||||||
createHome = true;
|
createHome = true;
|
||||||
homeMode = "0770";
|
homeMode = "0770";
|
||||||
extraGroups = [ "docker" "audio" "video" "dialout" "input" ];
|
extraGroups = [ "docker" "audio" "video" "dialout" ];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
nodejs_24
|
nodejs
|
||||||
docker-credential-helpers
|
docker-credential-helpers
|
||||||
pass
|
pass
|
||||||
pkgs.unstable.claude-code
|
pkgs.unstable.claude-code
|
||||||
pkgs.unstable.codex
|
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
|
||||||
pkgs.xai-grok
|
|
||||||
python3
|
python3
|
||||||
clang
|
clang
|
||||||
clangStdenv
|
clangStdenv
|
||||||
|
|
@ -338,7 +294,6 @@
|
||||||
just
|
just
|
||||||
dtach
|
dtach
|
||||||
sox # claude voice
|
sox # claude voice
|
||||||
#lean-ctx
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
users.users.hunner = {
|
users.users.hunner = {
|
||||||
|
|
@ -360,17 +315,17 @@
|
||||||
arandr
|
arandr
|
||||||
xclip
|
xclip
|
||||||
scrot
|
scrot
|
||||||
xrandr
|
xorg.xrandr
|
||||||
xsetroot
|
xorg.xsetroot
|
||||||
xset
|
xorg.xset
|
||||||
xev
|
xorg.xev
|
||||||
hsetroot
|
hsetroot
|
||||||
redshift
|
redshift
|
||||||
pkgs.unstable.code-cursor
|
pkgs.unstable.code-cursor
|
||||||
pkgs.unstable.cursor-cli
|
pkgs.unstable.cursor-cli
|
||||||
pwvucontrol
|
pwvucontrol
|
||||||
pamixer
|
pamixer
|
||||||
#helvum
|
helvum
|
||||||
#hp15c
|
#hp15c
|
||||||
#nonpareil
|
#nonpareil
|
||||||
kitty # for Hyprland
|
kitty # for Hyprland
|
||||||
|
|
@ -381,8 +336,6 @@
|
||||||
alsa-scarlett-gui
|
alsa-scarlett-gui
|
||||||
#pkgs.unstable.ndi-6
|
#pkgs.unstable.ndi-6
|
||||||
#(pkgs.unstable.flameshot.override { enableWlrSupport = true; })
|
#(pkgs.unstable.flameshot.override { enableWlrSupport = true; })
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
hyprshot
|
hyprshot
|
||||||
hyprpicker
|
hyprpicker
|
||||||
flameshot
|
flameshot
|
||||||
|
|
@ -395,10 +348,10 @@
|
||||||
pinentry-gnome3
|
pinentry-gnome3
|
||||||
gnupg
|
gnupg
|
||||||
pkgs.unstable.firefox-devedition
|
pkgs.unstable.firefox-devedition
|
||||||
nodejs_24
|
nodejs
|
||||||
slack
|
slack
|
||||||
mplayer
|
mplayer
|
||||||
ffmpeg-full
|
ffmpeg
|
||||||
docker-credential-helpers
|
docker-credential-helpers
|
||||||
jetbrains-toolbox
|
jetbrains-toolbox
|
||||||
pass
|
pass
|
||||||
|
|
@ -416,8 +369,8 @@
|
||||||
#ruff # for zed
|
#ruff # for zed
|
||||||
#goose-cli
|
#goose-cli
|
||||||
pkgs.unstable.claude-code
|
pkgs.unstable.claude-code
|
||||||
pkgs.unstable.codex
|
codex
|
||||||
#neofetch
|
neofetch
|
||||||
eww
|
eww
|
||||||
quickshell
|
quickshell
|
||||||
fuzzel
|
fuzzel
|
||||||
|
|
@ -446,23 +399,17 @@
|
||||||
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
|
||||||
#bitwarden-desktop
|
bitwarden-desktop
|
||||||
#bitwarden-cli
|
bitwarden-cli
|
||||||
itch
|
itch
|
||||||
dtach
|
dtach
|
||||||
whois
|
whois
|
||||||
plus42
|
plus42
|
||||||
sox # claude voice
|
sox # claude voice
|
||||||
pkgs.pi-coding-agent
|
|
||||||
pkgs.xai-grok
|
|
||||||
xrandr-invert-colors
|
|
||||||
xcalib
|
|
||||||
#lean-ctx
|
|
||||||
kanata
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
systemd.user.services = {
|
systemd.user.services = {
|
||||||
|
|
@ -470,15 +417,12 @@
|
||||||
description = "PolKit Authentication Agent";
|
description = "PolKit Authentication Agent";
|
||||||
wantedBy = [ "graphical-session.target" ];
|
wantedBy = [ "graphical-session.target" ];
|
||||||
wants = [ "graphical-session.target" ];
|
wants = [ "graphical-session.target" ];
|
||||||
partOf = [ "graphical-session.target" ];
|
|
||||||
after = [ "graphical-session.target" ];
|
after = [ "graphical-session.target" ];
|
||||||
unitConfig.StartLimitIntervalSec = 0;
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||||
Environment = "GDK_BACKEND=wayland,x11";
|
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
RestartSec = 5;
|
RestartSec = 1;
|
||||||
TimeoutStopSec = 10;
|
TimeoutStopSec = 10;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -522,7 +466,7 @@
|
||||||
bat
|
bat
|
||||||
git
|
git
|
||||||
vim
|
vim
|
||||||
emacs-pgtk
|
emacs
|
||||||
wget
|
wget
|
||||||
curl
|
curl
|
||||||
htop
|
htop
|
||||||
|
|
@ -542,11 +486,8 @@
|
||||||
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;
|
||||||
|
|
@ -569,7 +510,7 @@
|
||||||
};
|
};
|
||||||
programs._1password-gui = {
|
programs._1password-gui = {
|
||||||
enable = true;
|
enable = true;
|
||||||
polkitPolicyOwners = [ "hunner" "agents" ];
|
polkitPolicyOwners = [ "hunner" ];
|
||||||
};
|
};
|
||||||
programs.obs-studio = {
|
programs.obs-studio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,4 @@
|
||||||
{
|
{ config, lib, pkgs, modulesPath, openclaw-flake, ... }:
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
@ -22,13 +16,9 @@
|
||||||
|
|
||||||
# Enable nix flakes
|
# Enable nix flakes
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
# Keep a little headroom so remote deploys can still complete GC/DB updates.
|
|
||||||
nix.settings.min-free = 1024 * 1024 * 1024;
|
|
||||||
nix.settings.max-free = 2 * 1024 * 1024 * 1024;
|
|
||||||
nix.optimise.automatic = true;
|
nix.optimise.automatic = true;
|
||||||
nix.gc.automatic = true;
|
nix.gc.automatic = true;
|
||||||
nix.gc.dates = "daily";
|
nix.gc.options = "--delete-older-than 30d";
|
||||||
nix.gc.options = "--delete-older-than 7d";
|
|
||||||
|
|
||||||
# sops-nix secrets
|
# sops-nix secrets
|
||||||
sops.defaultSopsFile = ./secrets/config.yaml;
|
sops.defaultSopsFile = ./secrets/config.yaml;
|
||||||
|
|
@ -44,10 +34,10 @@
|
||||||
owner = "nginx";
|
owner = "nginx";
|
||||||
mode = "0400";
|
mode = "0400";
|
||||||
};
|
};
|
||||||
#sops.secrets.openclaw-env = {
|
sops.secrets.openclaw-env = {
|
||||||
# owner = "ruil";
|
owner = "ruil";
|
||||||
# mode = "0400";
|
mode = "0400";
|
||||||
#};
|
};
|
||||||
|
|
||||||
# HTTPS certificates for proxied `*.hunner.dev` sites (Cloudflare Full strict).
|
# HTTPS certificates for proxied `*.hunner.dev` sites (Cloudflare Full strict).
|
||||||
security.acme = {
|
security.acme = {
|
||||||
|
|
@ -76,12 +66,38 @@
|
||||||
users.users.ruil = {
|
users.users.ruil = {
|
||||||
uid = 1001;
|
uid = 1001;
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
linger = true;
|
||||||
hashedPasswordFile = config.sops.secrets.hashedPassword-ruil.path;
|
hashedPasswordFile = config.sops.secrets.hashedPassword-ruil.path;
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAqd6VkCyGOaFVfh61+hVKOvYaCZsCChQq3c6rNH/ifG me@hunner.dev"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAqd6VkCyGOaFVfh61+hVKOvYaCZsCChQq3c6rNH/ifG me@hunner.dev"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.users.ruil = { lib, ... }: {
|
||||||
|
imports = [ openclaw-flake.homeManagerModules.openclaw ];
|
||||||
|
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
|
||||||
|
# Keep credentials in ruil-owned files to avoid root-only bot access.
|
||||||
|
programs.openclaw.enable = true;
|
||||||
|
|
||||||
|
# Keep ~/.openclaw/openclaw.json user-managed (Home Manager should not touch it).
|
||||||
|
home.file.".openclaw/openclaw.json".enable = lib.mkForce false;
|
||||||
|
home.activation.openclawConfigFiles = lib.mkForce (lib.hm.dag.entryAfter [ "openclawDirs" ] "");
|
||||||
|
|
||||||
|
# openclaw onboarding can exceed Node's default old-space limit on 1 GiB hosts.
|
||||||
|
home.sessionVariables.NODE_OPTIONS = "--max-old-space-size=1536";
|
||||||
|
|
||||||
|
# Environment file is provisioned by sops-nix (`sops.secrets.openclaw-env`).
|
||||||
|
systemd.user.services.openclaw-gateway = {
|
||||||
|
Install.WantedBy = [ "default.target" ];
|
||||||
|
Service.Environment = [ "NODE_OPTIONS=--max-old-space-size=1536" ];
|
||||||
|
Service.EnvironmentFile = [ config.sops.secrets.openclaw-env.path ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Packages
|
# Packages
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim
|
vim
|
||||||
|
|
@ -98,11 +114,6 @@
|
||||||
services.openssh.settings.PasswordAuthentication = false;
|
services.openssh.settings.PasswordAuthentication = false;
|
||||||
services.openssh.settings.KbdInteractiveAuthentication = false;
|
services.openssh.settings.KbdInteractiveAuthentication = false;
|
||||||
|
|
||||||
services.journald.extraConfig = ''
|
|
||||||
SystemMaxUse=200M
|
|
||||||
RuntimeMaxUse=100M
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Tailscale
|
# Tailscale
|
||||||
services.tailscale = {
|
services.tailscale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -192,13 +203,11 @@
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
boot.loader.grub.configurationLimit = 5;
|
|
||||||
|
|
||||||
# Add swap on small VPS instances to avoid OOM-kill loops.
|
# Add swap on small VPS instances to avoid OOM-kill loops.
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{
|
{
|
||||||
device = "/var/lib/swapfile";
|
device = "/var/lib/swapfile";
|
||||||
size = 2048; # MiB
|
size = 4096; # MiB
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@
|
||||||
|
|
||||||
# sops-nix secrets
|
# sops-nix secrets
|
||||||
sops.defaultSopsFile = ./secrets/config.yaml;
|
sops.defaultSopsFile = ./secrets/config.yaml;
|
||||||
sops.age.sshKeyPaths = [ "/persist/etc/ssh/ssh_host_ed25519_key" ];
|
sops.age.sshKeyPaths = [ "/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 = [
|
||||||
|
|
|
||||||
4
justfile
4
justfile
|
|
@ -32,10 +32,6 @@ 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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,20 +19,20 @@
|
||||||
}:
|
}:
|
||||||
rustPlatform.buildRustPackage (finalAttrs: {
|
rustPlatform.buildRustPackage (finalAttrs: {
|
||||||
pname = "codex";
|
pname = "codex";
|
||||||
version = "0.122.0";
|
version = "0.110.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-CpXWP64URsgt/PhQrUkrT87KG633hxRUIY0wWrTFmjk=";
|
hash = "sha256-RoWKOZCW5qR+NyBqU/AoloVYGscfiVaHZqnaTISTj9w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "${finalAttrs.src.name}/codex-rs";
|
sourceRoot = "${finalAttrs.src.name}/codex-rs";
|
||||||
|
|
||||||
#cargoHash = lib.fakeHash;
|
#cargoHash = lib.fakeHash;
|
||||||
cargoHash = "sha256-2qtMLWSdYWJ+blNfCHXtgmzizuM1HgpTGa5RQ3U/AEM=";
|
cargoHash = "sha256-tj0OAEvydpdT6haVtRXv5rWpeSFM3aYXVyH6jqvJKJ8=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
clang
|
clang
|
||||||
|
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
rustPlatform,
|
|
||||||
fetchFromGitHub,
|
|
||||||
}:
|
|
||||||
|
|
||||||
rustPlatform.buildRustPackage (finalAttrs: {
|
|
||||||
pname = "lean-ctx";
|
|
||||||
version = "2.21.6";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "yvgude";
|
|
||||||
repo = "lean-ctx";
|
|
||||||
rev = "40b840c548a40d03fe91d5aa412fc7c92da4b9e0";
|
|
||||||
hash = "sha256-3/YAmN4iO7cngj2DbXm9vAutxiz483qf7a81odxQOl8=";
|
|
||||||
};
|
|
||||||
|
|
||||||
sourceRoot = "${finalAttrs.src.name}/rust";
|
|
||||||
|
|
||||||
cargoLock = {
|
|
||||||
lockFile = "${finalAttrs.src}/rust/Cargo.lock";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Upstream's test suite exercises shell/sandbox behavior and is not stable
|
|
||||||
# under Nix builds, but the release binary itself builds fine.
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Context Intelligence Engine with CCP";
|
|
||||||
homepage = "https://github.com/yvgude/lean-ctx";
|
|
||||||
license = lib.licenses.mit;
|
|
||||||
mainProgram = "lean-ctx";
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
1294
pkgs/pi-coding-agent/package-lock.json
generated
1294
pkgs/pi-coding-agent/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -3,6 +3,6 @@
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mariozechner/pi-coding-agent": "0.73.0"
|
"@mariozechner/pi-coding-agent": "0.64.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@
|
||||||
}:
|
}:
|
||||||
buildNpmPackage (finalAttrs: {
|
buildNpmPackage (finalAttrs: {
|
||||||
pname = "pi-coding-agent";
|
pname = "pi-coding-agent";
|
||||||
version = "0.73.0";
|
version = "0.64.0";
|
||||||
|
|
||||||
src = ./.;
|
src = ./.;
|
||||||
npmDepsHash = "sha256-rWNknuzbVsEMyahnOg5ku1e3xBn4/bG5EmkvvEr52Nw=";
|
npmDepsHash = "sha256-CS9ZV08xjv7KIkMvnQIHQCMLbeoiYPI7PYtaQawOitE=";
|
||||||
|
|
||||||
inherit nodejs;
|
inherit nodejs;
|
||||||
dontNpmBuild = true;
|
dontNpmBuild = true;
|
||||||
|
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
stdenvNoCC,
|
|
||||||
fetchurl,
|
|
||||||
nodejs,
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
|
||||||
pname = "xai-grok";
|
|
||||||
version = "0.2.38";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://registry.npmjs.org/@xai-official/grok-linux-x64/-/grok-linux-x64-${version}.tgz";
|
|
||||||
hash = "sha256-E023XTq3PwPH2zBuOh4jFoUh08o6p4IPfX0x7KFUleE=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ nodejs ];
|
|
||||||
|
|
||||||
unpackPhase = ''
|
|
||||||
tar -xzf $src
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/bin
|
|
||||||
node -e "const fs=require('fs'),z=require('zlib'); const b=z.brotliDecompressSync(fs.readFileSync('package/bin/grok.br')); fs.writeFileSync('$out/bin/grok', b, {mode:0o755});"
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Official xAI Grok Build CLI";
|
|
||||||
homepage = "https://x.ai/cli";
|
|
||||||
license = lib.licenses.unfree;
|
|
||||||
mainProgram = "grok";
|
|
||||||
platforms = [ "x86_64-linux" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue