Compare commits
11 Commits
polecat/ch
...
polecat/ru
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
41bd72fc40 | ||
| 2cdc15163c | |||
| a77b1230fe | |||
| 623a387127 | |||
| 737f2b09e4 | |||
| cddc9de14a | |||
| 53e3bbe78f | |||
| c258eafe34 | |||
| 03d0b76f97 | |||
| b5f7233214 | |||
| 1203662237 |
@@ -12,7 +12,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: https://git.johnogle.info/johno/gitea-actions/nix-setup@main
|
||||
- uses: https://git.johnogle.info/johno/gitea-actions/nix-setup@v1
|
||||
|
||||
- name: Check flake
|
||||
run: nix flake check
|
||||
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,3 +1,8 @@
|
||||
result
|
||||
thoughts
|
||||
.beads
|
||||
|
||||
# Gas Town (added by gt)
|
||||
.runtime/
|
||||
.claude/
|
||||
.logs/
|
||||
|
||||
24
flake.lock
generated
24
flake.lock
generated
@@ -8,11 +8,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768509852,
|
||||
"narHash": "sha256-4oZXrqBjK9V8qKHoxlfil20qcJdOU8HXJA4627nX1nQ=",
|
||||
"lastModified": 1769020852,
|
||||
"narHash": "sha256-MR6evuoa8w6mjYTesTAa3bsRH+c3IB7EOEDTCjsiAp8=",
|
||||
"owner": "steveyegge",
|
||||
"repo": "beads",
|
||||
"rev": "d3db8253ff09e0f139ffbb6f839afe13acbf7bdb",
|
||||
"rev": "cb46db603d34c0190605eecb8724a6c581119f09",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -81,17 +81,17 @@
|
||||
"gastown": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1768682809,
|
||||
"narHash": "sha256-PCP5PQasLqL5/OVNw6LsjiFfIU4RNniicTUcVq2ggHg=",
|
||||
"owner": "steveyegge",
|
||||
"repo": "gastown",
|
||||
"rev": "9cd2696abe68ac0defc612ace5028d327d4f207d",
|
||||
"type": "github"
|
||||
"lastModified": 1769031452,
|
||||
"narHash": "sha256-tTvtLvTr38okqbpNnr5exfurI6VkVKNLcnM+A6O7DGY=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "93e22595cd59802a24253b100dcfae98a6849428",
|
||||
"revCount": 2938,
|
||||
"type": "git",
|
||||
"url": "ssh://git@git.johnogle.info:2222/johno/gastown.git"
|
||||
},
|
||||
"original": {
|
||||
"owner": "steveyegge",
|
||||
"repo": "gastown",
|
||||
"type": "github"
|
||||
"type": "git",
|
||||
"url": "ssh://git@git.johnogle.info:2222/johno/gastown.git"
|
||||
}
|
||||
},
|
||||
"google-cookie-retrieval": {
|
||||
|
||||
27
flake.nix
27
flake.nix
@@ -48,7 +48,7 @@
|
||||
};
|
||||
|
||||
gastown = {
|
||||
url = "github:steveyegge/gastown";
|
||||
url = "git+ssh://git@git.johnogle.info:2222/johno/gastown.git";
|
||||
flake = false; # No flake.nix upstream yet
|
||||
};
|
||||
|
||||
@@ -89,11 +89,20 @@
|
||||
};
|
||||
|
||||
|
||||
# Shared unstable overlays for custom package builds
|
||||
customUnstableOverlays = [
|
||||
# Override claude-code in unstable to use our custom GCS-based build
|
||||
# (needed for corporate networks that block npm registry)
|
||||
(ufinal: uprev: {
|
||||
claude-code = uprev.callPackage ./packages/claude-code {};
|
||||
})
|
||||
];
|
||||
|
||||
nixosModules = [
|
||||
./roles
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
{
|
||||
nixpkgs.overlays = [ (mkBaseOverlay {}) ];
|
||||
nixpkgs.overlays = [ (mkBaseOverlay { unstableOverlays = customUnstableOverlays; }) ];
|
||||
}
|
||||
(mkHomeManagerConfig {
|
||||
sharedModules = [ inputs.plasma-manager.homeModules.plasma-manager ];
|
||||
@@ -106,7 +115,7 @@
|
||||
inputs.home-manager-unstable.nixosModules.home-manager
|
||||
inputs.jovian.nixosModules.jovian
|
||||
{
|
||||
nixpkgs.overlays = [ (mkBaseOverlay {}) ];
|
||||
nixpkgs.overlays = [ (mkBaseOverlay { unstableOverlays = customUnstableOverlays; }) ];
|
||||
}
|
||||
(mkHomeManagerConfig {
|
||||
sharedModules = [ inputs.plasma-manager-unstable.homeModules.plasma-manager ];
|
||||
@@ -117,17 +126,7 @@
|
||||
./roles/darwin.nix
|
||||
inputs.home-manager.darwinModules.home-manager
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(mkBaseOverlay {
|
||||
# Override claude-code in unstable to use our custom GCS-based build
|
||||
# (needed for corporate networks that block npm registry)
|
||||
unstableOverlays = [
|
||||
(ufinal: uprev: {
|
||||
claude-code = uprev.callPackage ./packages/claude-code {};
|
||||
})
|
||||
];
|
||||
})
|
||||
];
|
||||
nixpkgs.overlays = [ (mkBaseOverlay { unstableOverlays = customUnstableOverlays; }) ];
|
||||
}
|
||||
(mkHomeManagerConfig { sharedModules = []; })
|
||||
];
|
||||
|
||||
@@ -65,6 +65,7 @@ in
|
||||
pkgs.unstable.claude-code
|
||||
pkgs.unstable.claude-code-router
|
||||
pkgs.unstable.codex
|
||||
pkgs.sqlite
|
||||
|
||||
# Custom packages
|
||||
pkgs.custom.tea-rbw
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, patchelf
|
||||
, glibc
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -38,8 +39,14 @@ in stdenv.mkDerivation {
|
||||
|
||||
dontUnpack = true;
|
||||
dontBuild = true;
|
||||
# Bun standalone binaries have JS code appended after the ELF sections
|
||||
# stripping/patching would remove or corrupt this appended data
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
|
||||
# Don't use autoPatchelfHook - it rewrites the ELF and strips the appended
|
||||
# bun bundle (the JS code is appended after the ELF sections)
|
||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ patchelf ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
@@ -49,6 +56,14 @@ in stdenv.mkDerivation {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# Manually patch the interpreter for bun standalone binaries
|
||||
# patchelf --set-interpreter modifies in-place without rewriting the entire ELF,
|
||||
# preserving the appended JS bundle that bun needs at runtime
|
||||
postFixup = lib.optionalString stdenv.isLinux ''
|
||||
interpreter="${glibc}/lib/${if stdenv.hostPlatform.system == "aarch64-linux" then "ld-linux-aarch64.so.1" else "ld-linux-x86-64.so.2"}"
|
||||
patchelf --set-interpreter "$interpreter" $out/bin/claude
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terminal-based AI coding assistant from Anthropic";
|
||||
homepage = "https://www.anthropic.com/claude-code";
|
||||
|
||||
Reference in New Issue
Block a user