Compare commits
7 Commits
9b2b7add1c
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 1bce17c5f9 | |||
| 9234782492 | |||
| bf7cc81a61 | |||
| 8e1a2ad85a | |||
| ff5cd52dce | |||
| 0ee4bbfbfe | |||
| 7649de4472 |
@@ -50,5 +50,6 @@ in
|
|||||||
colima
|
colima
|
||||||
docker
|
docker
|
||||||
keycastr
|
keycastr
|
||||||
|
_1password-cli
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ in
|
|||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.claude-code = {
|
programs.claude-code = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.reichard.claude-code;
|
||||||
mcpServers = {
|
mcpServers = {
|
||||||
gopls = {
|
gopls = {
|
||||||
type = "stdio";
|
type = "stdio";
|
||||||
@@ -27,7 +28,7 @@ in
|
|||||||
|
|
||||||
programs.bash = lib.mkIf config.programs.bash.enable {
|
programs.bash = lib.mkIf config.programs.bash.enable {
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
claude = "default_claude_custom";
|
claude-custom = "default_claude_custom";
|
||||||
};
|
};
|
||||||
|
|
||||||
initExtra =
|
initExtra =
|
||||||
@@ -68,13 +69,21 @@ in
|
|||||||
local prev=''${COMP_WORDS[COMP_CWORD-1]}
|
local prev=''${COMP_WORDS[COMP_CWORD-1]}
|
||||||
|
|
||||||
if [[ "$prev" == "-m" || "$prev" == "--model" ]]; then
|
if [[ "$prev" == "-m" || "$prev" == "--model" ]]; then
|
||||||
local models=( $(${pkgs.curl}/bin/curl -s -H "Authorization: Bearer ${authToken}" "${baseUrl}/v1/models" | ${pkgs.jq}/bin/jq -r '.data[].id' 2>/dev/null) )
|
local models=( $(${pkgs.curl}/bin/curl -s -H "Authorization: Bearer ${authToken}" "${baseUrl}/v1/models" | ${pkgs.jq}/bin/jq -r '
|
||||||
|
.data[] |
|
||||||
|
select(
|
||||||
|
(try (.meta.llamaswap.type[] | contains("coding")) catch false) or
|
||||||
|
(.name | startswith("synthetic:"))
|
||||||
|
) |
|
||||||
|
.id
|
||||||
|
' 2>/dev/null) )
|
||||||
|
|
||||||
COMPREPLY=( $(compgen -W "''${models[*]}" -- "$cur") )
|
COMPREPLY=( $(compgen -W "''${models[*]}" -- "$cur") )
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Register Completion
|
# Register Completion
|
||||||
complete -F _complete_claude_custom claude
|
complete -F _complete_claude_custom claude-custom
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
local llm_endpoint = "https://llm-api.va.reichard.io"
|
local llm_endpoint = "https://llm-api.va.reichard.io"
|
||||||
local llm_assistant_model = "qwen3-coder-next-80b-instruct"
|
local llm_assistant_model = "qwen3.5-27b-thinking"
|
||||||
local llm_infill_model = llm_assistant_model
|
local llm_infill_model = llm_assistant_model
|
||||||
local current_fim = "copilot"
|
local current_fim = "copilot"
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ codecompanion.setup({
|
|||||||
inline = { adapter = "llamaswap" },
|
inline = { adapter = "llamaswap" },
|
||||||
cmd = { adapter = "llamaswap" },
|
cmd = { adapter = "llamaswap" },
|
||||||
},
|
},
|
||||||
chat = { dispay = "telescope" },
|
chat = { display = "telescope" },
|
||||||
memory = { opts = { chat = { enabled = true } } },
|
memory = { opts = { chat = { enabled = true } } },
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -54,27 +54,6 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://huggingface.co/unsloth/GLM-4-32B-0414-GGUF/tree/main
|
|
||||||
"glm-4-32b-instruct" = {
|
|
||||||
name = "GLM 4 (32B) - Instruct";
|
|
||||||
macros.ctx = "32768";
|
|
||||||
cmd = ''
|
|
||||||
${llama-cpp}/bin/llama-server \
|
|
||||||
--port ''${PORT} \
|
|
||||||
-m /mnt/ssd/Models/GLM/GLM-4-32B-0414-Q4_K_M.gguf \
|
|
||||||
-c ''${ctx} \
|
|
||||||
--temp 0.6 \
|
|
||||||
--top-k 40 \
|
|
||||||
--top-p 0.95 \
|
|
||||||
--min-p 0.0 \
|
|
||||||
-fit off \
|
|
||||||
-dev CUDA0
|
|
||||||
'';
|
|
||||||
metadata = {
|
|
||||||
type = [ "text-generation" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://huggingface.co/mradermacher/gpt-oss-20b-heretic-v2-i1-GGUF/tree/main
|
# https://huggingface.co/mradermacher/gpt-oss-20b-heretic-v2-i1-GGUF/tree/main
|
||||||
"gpt-oss-20b-thinking" = {
|
"gpt-oss-20b-thinking" = {
|
||||||
name = "GPT OSS (20B) - Thinking";
|
name = "GPT OSS (20B) - Thinking";
|
||||||
@@ -165,6 +144,58 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# https://huggingface.co/AesSedai/Qwen3.5-35B-A3B-GGUF/tree/main
|
||||||
|
"qwen3.5-35b-thinking" = {
|
||||||
|
name = "Qwen3.5 (35B) - Thinking";
|
||||||
|
macros.ctx = "262144";
|
||||||
|
cmd = ''
|
||||||
|
${llama-cpp}/bin/llama-server \
|
||||||
|
--port ''${PORT} \
|
||||||
|
-m /mnt/ssd/Models/Qwen3.5/Qwen3.5-35B-A3B-IQ4_XS-00001-of-00002.gguf \
|
||||||
|
-c ''${ctx} \
|
||||||
|
--temp 0.6 \
|
||||||
|
--top-p 0.95 \
|
||||||
|
--top-k 20 \
|
||||||
|
--min-p 0.00 \
|
||||||
|
-dev CUDA0 \
|
||||||
|
-fit off
|
||||||
|
'';
|
||||||
|
# --chat-template-kwargs "{\"enable_thinking\": false}"
|
||||||
|
metadata = {
|
||||||
|
type = [
|
||||||
|
"text-generation"
|
||||||
|
"coding"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# https://huggingface.co/bartowski/Qwen_Qwen3.5-27B-GGUF/tree/main
|
||||||
|
"qwen3.5-27b-thinking" = {
|
||||||
|
name = "Qwen3.5 (27B) - Thinking";
|
||||||
|
macros.ctx = "196608";
|
||||||
|
cmd = ''
|
||||||
|
${llama-cpp}/bin/llama-server \
|
||||||
|
--port ''${PORT} \
|
||||||
|
-m /mnt/ssd/Models/Qwen3.5/Qwen_Qwen3.5-27B-IQ4_XS.gguf \
|
||||||
|
-c ''${ctx} \
|
||||||
|
--temp 0.6 \
|
||||||
|
--top-p 0.95 \
|
||||||
|
--top-k 20 \
|
||||||
|
--min-p 0.00 \
|
||||||
|
-ctk q8_0 \
|
||||||
|
-ctv q8_0 \
|
||||||
|
-dev CUDA0 \
|
||||||
|
-fit off
|
||||||
|
'';
|
||||||
|
# --chat-template-kwargs "{\"enable_thinking\": false}"
|
||||||
|
metadata = {
|
||||||
|
type = [
|
||||||
|
"text-generation"
|
||||||
|
"coding"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# https://huggingface.co/unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF/tree/main
|
# https://huggingface.co/unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF/tree/main
|
||||||
"qwen3-30b-2507-instruct" = {
|
"qwen3-30b-2507-instruct" = {
|
||||||
name = "Qwen3 2507 (30B) - Instruct";
|
name = "Qwen3 2507 (30B) - Instruct";
|
||||||
@@ -287,24 +318,6 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://huggingface.co/unsloth/Qwen2.5-Coder-7B-Instruct-128K-GGUF/tree/main
|
|
||||||
"qwen2.5-coder-7b-instruct" = {
|
|
||||||
name = "Qwen2.5 Coder (7B) - Instruct";
|
|
||||||
macros.ctx = "131072";
|
|
||||||
cmd = ''
|
|
||||||
${llama-cpp}/bin/llama-server \
|
|
||||||
-m /mnt/ssd/Models/Qwen2.5/Qwen2.5-Coder-7B-Instruct-Q8_0.gguf \
|
|
||||||
--fim-qwen-7b-default \
|
|
||||||
-c ''${ctx} \
|
|
||||||
--port ''${PORT} \
|
|
||||||
-fit off \
|
|
||||||
-dev CUDA1
|
|
||||||
'';
|
|
||||||
metadata = {
|
|
||||||
type = [ "text-generation" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://huggingface.co/unsloth/Qwen3-4B-Instruct-2507-GGUF/tree/main
|
# https://huggingface.co/unsloth/Qwen3-4B-Instruct-2507-GGUF/tree/main
|
||||||
"qwen3-4b-2507-instruct" = {
|
"qwen3-4b-2507-instruct" = {
|
||||||
name = "Qwen3 2507 (4B) - Instruct";
|
name = "Qwen3 2507 (4B) - Instruct";
|
||||||
@@ -418,26 +431,13 @@ in
|
|||||||
synthetic = {
|
synthetic = {
|
||||||
proxy = "https://api.synthetic.new/openai/";
|
proxy = "https://api.synthetic.new/openai/";
|
||||||
models = [
|
models = [
|
||||||
"hf:deepseek-ai/DeepSeek-R1-0528"
|
|
||||||
"hf:deepseek-ai/DeepSeek-V3"
|
|
||||||
"hf:deepseek-ai/DeepSeek-V3-0324"
|
|
||||||
"hf:deepseek-ai/DeepSeek-V3.1"
|
|
||||||
"hf:deepseek-ai/DeepSeek-V3.1-Terminus"
|
|
||||||
"hf:deepseek-ai/DeepSeek-V3.2"
|
|
||||||
"hf:meta-llama/Llama-3.3-70B-Instruct"
|
|
||||||
"hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8"
|
|
||||||
"hf:MiniMaxAI/MiniMax-M2"
|
|
||||||
"hf:MiniMaxAI/MiniMax-M2.1"
|
"hf:MiniMaxAI/MiniMax-M2.1"
|
||||||
|
"hf:MiniMaxAI/MiniMax-M2.5"
|
||||||
"hf:moonshotai/Kimi-K2.5"
|
"hf:moonshotai/Kimi-K2.5"
|
||||||
"hf:moonshotai/Kimi-K2-Instruct-0905"
|
"hf:moonshotai/Kimi-K2-Instruct-0905"
|
||||||
"hf:moonshotai/Kimi-K2-Thinking"
|
"hf:moonshotai/Kimi-K2-Thinking"
|
||||||
"hf:openai/gpt-oss-120b"
|
"hf:openai/gpt-oss-120b"
|
||||||
"hf:Qwen/Qwen3-235B-A22B-Instruct-2507"
|
"hf:Qwen/Qwen3.5-397B-A17B"
|
||||||
"hf:Qwen/Qwen3-235B-A22B-Thinking-2507"
|
|
||||||
"hf:Qwen/Qwen3-Coder-480B-A35B-Instruct"
|
|
||||||
"hf:Qwen/Qwen3-VL-235B-A22B-Instruct"
|
|
||||||
"hf:zai-org/GLM-4.5"
|
|
||||||
"hf:zai-org/GLM-4.6"
|
|
||||||
"hf:zai-org/GLM-4.7"
|
"hf:zai-org/GLM-4.7"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ in
|
|||||||
"hmac-sha2-512-etm@openssh.com"
|
"hmac-sha2-512-etm@openssh.com"
|
||||||
"hmac-sha2-256-etm@openssh.com"
|
"hmac-sha2-256-etm@openssh.com"
|
||||||
"umac-128-etm@openssh.com"
|
"umac-128-etm@openssh.com"
|
||||||
|
"hmac-sha2-512"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
25
packages/claude-code/README.md
Normal file
25
packages/claude-code/README.md
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# claude-code
|
||||||
|
|
||||||
|
Nix package for [@anthropic-ai/claude-code](https://www.npmjs.com/package/@anthropic-ai/claude-code).
|
||||||
|
|
||||||
|
## Updating
|
||||||
|
|
||||||
|
1. Fetch the tarball and generate a `package-lock.json`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir /tmp/claude-update && cd /tmp/claude-update
|
||||||
|
npm pack @anthropic-ai/claude-code@<version>
|
||||||
|
tar -xf anthropic-ai-claude-code-<version>.tgz
|
||||||
|
cd package
|
||||||
|
npm install --package-lock-only --ignore-scripts
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Copy the lockfile into the package directory:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cp package-lock.json /path/to/nixpkgs/pkgs/by-name/cl/claude-code/package-lock.json
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Update the `version` and `hash` fields in `package.nix`. Set `hash` to `lib.fakeHash` temporarily, then build to get the correct hash:
|
||||||
|
|
||||||
|
4. Do the same for `npmDepsHash`:
|
||||||
61
packages/claude-code/default.nix
Normal file
61
packages/claude-code/default.nix
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{ lib
|
||||||
|
, buildNpmPackage
|
||||||
|
, fetchzip
|
||||||
|
, writableTmpDirAsHomeHook
|
||||||
|
, versionCheckHook
|
||||||
|
,
|
||||||
|
}:
|
||||||
|
buildNpmPackage (finalAttrs: {
|
||||||
|
pname = "claude-code";
|
||||||
|
version = "2.1.59";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
|
||||||
|
hash = "sha256-Dam9aJ0qBdqU40ACfzGQHuytW6ur0fMLm8D5fIKd1TE=";
|
||||||
|
};
|
||||||
|
|
||||||
|
npmDepsHash = "sha256-K+8xoBc3apvxQ9hCpYywqgBcfLxMWSxacgJcMH8mK7E=";
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
cp ${./package-lock.json} package-lock.json
|
||||||
|
'';
|
||||||
|
|
||||||
|
dontNpmBuild = true;
|
||||||
|
|
||||||
|
env.AUTHORIZED = "1";
|
||||||
|
|
||||||
|
# `claude-code` tries to auto-update by default, this disables that functionality.
|
||||||
|
# https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview#environment-variables
|
||||||
|
# The DEV=true env var causes claude to crash with `TypeError: window.WebSocket is not a constructor`
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/claude \
|
||||||
|
--set DISABLE_AUTOUPDATER 1 \
|
||||||
|
--unset DEV
|
||||||
|
'';
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
nativeInstallCheckInputs = [
|
||||||
|
writableTmpDirAsHomeHook
|
||||||
|
versionCheckHook
|
||||||
|
];
|
||||||
|
versionCheckKeepEnvironment = [ "HOME" ];
|
||||||
|
versionCheckProgramArg = "--version";
|
||||||
|
|
||||||
|
passthru.updateScript = ./update.sh;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster";
|
||||||
|
homepage = "https://github.com/anthropics/claude-code";
|
||||||
|
downloadPage = "https://www.npmjs.com/package/@anthropic-ai/claude-code";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
malo
|
||||||
|
markus1189
|
||||||
|
omarjatoi
|
||||||
|
xiaoxiangmoe
|
||||||
|
];
|
||||||
|
mainProgram = "claude";
|
||||||
|
};
|
||||||
|
})
|
||||||
334
packages/claude-code/package-lock.json
generated
Normal file
334
packages/claude-code/package-lock.json
generated
Normal file
@@ -0,0 +1,334 @@
|
|||||||
|
{
|
||||||
|
"name": "@anthropic-ai/claude-code",
|
||||||
|
"version": "2.1.59",
|
||||||
|
"lockfileVersion": 3,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "@anthropic-ai/claude-code",
|
||||||
|
"version": "2.1.59",
|
||||||
|
"license": "SEE LICENSE IN README.md",
|
||||||
|
"bin": {
|
||||||
|
"claude": "cli.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18.0.0"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-darwin-arm64": "^0.34.2",
|
||||||
|
"@img/sharp-darwin-x64": "^0.34.2",
|
||||||
|
"@img/sharp-linux-arm": "^0.34.2",
|
||||||
|
"@img/sharp-linux-arm64": "^0.34.2",
|
||||||
|
"@img/sharp-linux-x64": "^0.34.2",
|
||||||
|
"@img/sharp-linuxmusl-arm64": "^0.34.2",
|
||||||
|
"@img/sharp-linuxmusl-x64": "^0.34.2",
|
||||||
|
"@img/sharp-win32-arm64": "^0.34.2",
|
||||||
|
"@img/sharp-win32-x64": "^0.34.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-darwin-arm64": {
|
||||||
|
"version": "0.34.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz",
|
||||||
|
"integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-darwin-arm64": "1.2.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-darwin-x64": {
|
||||||
|
"version": "0.34.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz",
|
||||||
|
"integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-darwin-x64": "1.2.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-libvips-darwin-arm64": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-libvips-darwin-x64": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-libvips-linux-arm": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-libvips-linux-arm64": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-libvips-linux-x64": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-linux-arm": {
|
||||||
|
"version": "0.34.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz",
|
||||||
|
"integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linux-arm": "1.2.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-linux-arm64": {
|
||||||
|
"version": "0.34.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz",
|
||||||
|
"integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linux-arm64": "1.2.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-linux-x64": {
|
||||||
|
"version": "0.34.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz",
|
||||||
|
"integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linux-x64": "1.2.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-linuxmusl-arm64": {
|
||||||
|
"version": "0.34.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz",
|
||||||
|
"integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linuxmusl-arm64": "1.2.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-linuxmusl-x64": {
|
||||||
|
"version": "0.34.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz",
|
||||||
|
"integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linuxmusl-x64": "1.2.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-win32-arm64": {
|
||||||
|
"version": "0.34.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
|
||||||
|
"integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0 AND LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@img/sharp-win32-x64": {
|
||||||
|
"version": "0.34.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz",
|
||||||
|
"integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0 AND LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
packages/claude-code/update.sh
Normal file
10
packages/claude-code/update.sh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#!nix-shell --pure --keep NIX_PATH -i bash --packages nodejs nix-update git cacert
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
version=$(npm view @anthropic-ai/claude-code version)
|
||||||
|
|
||||||
|
# Update version and hashes
|
||||||
|
AUTHORIZED=1 NIXPKGS_ALLOW_UNFREE=1 nix-update claude-code --version="$version" --generate-lockfile
|
||||||
|
nix-update vscode-extensions.anthropic.claude-code --use-update-script --version "$version"
|
||||||
@@ -7,12 +7,12 @@
|
|||||||
vulkanSupport = true;
|
vulkanSupport = true;
|
||||||
}).overrideAttrs
|
}).overrideAttrs
|
||||||
(oldAttrs: rec {
|
(oldAttrs: rec {
|
||||||
version = "8089";
|
version = "8196";
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "ggml-org";
|
owner = "ggml-org";
|
||||||
repo = "llama.cpp";
|
repo = "llama.cpp";
|
||||||
tag = "b${version}";
|
tag = "b${version}";
|
||||||
hash = "sha256-9gELhI5K4ZmeFg2jf9on5d77TpYsf+3a9u2mIo22FGo=";
|
hash = "sha256-GZRHiyT8mvhV5RTczDRnCSh31UxRZ3F8tEBC1l8oFNQ=";
|
||||||
leaveDotGit = true;
|
leaveDotGit = true;
|
||||||
postFetch = ''
|
postFetch = ''
|
||||||
git -C "$out" rev-parse --short HEAD > $out/COMMIT
|
git -C "$out" rev-parse --short HEAD > $out/COMMIT
|
||||||
|
|||||||
@@ -13,13 +13,13 @@ let
|
|||||||
in
|
in
|
||||||
buildGoModule (finalAttrs: {
|
buildGoModule (finalAttrs: {
|
||||||
pname = "llama-swap";
|
pname = "llama-swap";
|
||||||
version = "192";
|
version = "197";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mostlygeek";
|
owner = "mostlygeek";
|
||||||
repo = "llama-swap";
|
repo = "llama-swap";
|
||||||
tag = "v${finalAttrs.version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-CMzF935cREAFfWHt5yzX05wvp/DC/3GWZZfhRtJVYaA=";
|
hash = "sha256-EXgyYmpbN/zzr6KeSpvFEB+FS7gDIZFinNMv70v5boY=";
|
||||||
# populate values that require us to use git. By doing this in postFetch we
|
# populate values that require us to use git. By doing this in postFetch we
|
||||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||||
leaveDotGit = true;
|
leaveDotGit = true;
|
||||||
@@ -35,7 +35,7 @@ buildGoModule (finalAttrs: {
|
|||||||
vendorHash = "sha256-XiDYlw/byu8CWvg4KSPC7m8PGCZXtp08Y1velx4BR8U=";
|
vendorHash = "sha256-XiDYlw/byu8CWvg4KSPC7m8PGCZXtp08Y1velx4BR8U=";
|
||||||
|
|
||||||
passthru.ui = callPackage ./ui.nix { llama-swap = finalAttrs.finalPackage; };
|
passthru.ui = callPackage ./ui.nix { llama-swap = finalAttrs.finalPackage; };
|
||||||
passthru.npmDepsHash = "sha256-4VH9jJ1Ae16p8kUubZBrIwwqw/X8I+wDg378G82WCtU=";
|
passthru.npmDepsHash = "sha256-Fs7+JKE8YBp2Xj8bVBlwmT+UwuD642VeUHiPx+fv94c=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
versionCheckHook
|
versionCheckHook
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Three Finger Drag
|
|
||||||
system.primaryUser = "evanreichard";
|
system.primaryUser = "evanreichard";
|
||||||
system.defaults = {
|
system.defaults = {
|
||||||
trackpad = {
|
trackpad = {
|
||||||
@@ -27,11 +26,15 @@
|
|||||||
};
|
};
|
||||||
NSGlobalDomain = {
|
NSGlobalDomain = {
|
||||||
KeyRepeat = 2;
|
KeyRepeat = 2;
|
||||||
|
NSWindowShouldDragOnGesture = true;
|
||||||
|
AppleICUForce24HourTime = true;
|
||||||
};
|
};
|
||||||
WindowManager = {
|
WindowManager = {
|
||||||
HideDesktop = true;
|
HideDesktop = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
security.pam.services.sudo_local.touchIdAuth = true;
|
||||||
|
|
||||||
reichard = { };
|
reichard = { };
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user