Merge branch 'main' of ssh://git.cyperpunk.de:12222/DerGrumpf/cyper-nix

This commit is contained in:
2026-06-17 20:23:16 +02:00
10 changed files with 249 additions and 166 deletions
Generated
+52 -66
View File
@@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1778857089,
"narHash": "sha256-TclWRW2SdFeETLaiTG4BA8C8C4m/LppQEldncqyTzAQ=",
"lastModified": 1780756231,
"narHash": "sha256-tXQxKdG5716uB9/LIkLQqQwHKf5mRSpHoZhz3lyI2Cg=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "ab2b0af63fbc9fb779d684f19149b790978be8a8",
"rev": "6ecde03f47172753fe5a2f334f9d3facfb7e6784",
"type": "github"
},
"original": {
@@ -36,16 +36,16 @@
"brew-src": {
"flake": false,
"locked": {
"lastModified": 1779646357,
"narHash": "sha256-rnnAaESXxItX4D9xCMGvs3hfDBjbbTYht7OluRcvT8k=",
"lastModified": 1781226006,
"narHash": "sha256-w4ZTuOnhYiDxjaynrMTASzp802QblBWmo3wpB8wVN4Y=",
"owner": "Homebrew",
"repo": "brew",
"rev": "10a163ac127624caa80cc5cc5a705e97f3615b0e",
"rev": "109191be4988470b51a60a5ef1998520aa24c01b",
"type": "github"
},
"original": {
"owner": "Homebrew",
"ref": "5.1.14",
"ref": "6.0.1",
"repo": "brew",
"type": "github"
}
@@ -57,11 +57,11 @@
]
},
"locked": {
"lastModified": 1780755633,
"narHash": "sha256-2NZLaQTroHWrXHOeBJhHD7cb8nM4BnlAMNoxIUqs/Os=",
"lastModified": 1781255309,
"narHash": "sha256-n2P5xkAYGylrJ3feu7L6uaCUw/+jW8rk+HO127gDbFA=",
"owner": "catppuccin",
"repo": "nix",
"rev": "71770b00f2b97631339026e78b4a045cd9aee6f3",
"rev": "036c78ea4cd8a42c8546c6316a944fd7d59d4341",
"type": "github"
},
"original": {
@@ -77,11 +77,11 @@
]
},
"locked": {
"lastModified": 1779036909,
"narHash": "sha256-zXcwYQGCT6pzinK+1dBB2ekTVtfxGZAapb3Evdcu4fY=",
"lastModified": 1781242433,
"narHash": "sha256-bchLZZ3sRn740zyvD2icZSnNoTaanN0nw7l6fjVXO+E=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "56c666e108467d87d13508936aade6d567f2a501",
"rev": "aabb2037edfc0f210723b72cd5f528aab5dd3f0b",
"type": "github"
},
"original": {
@@ -209,11 +209,11 @@
]
},
"locked": {
"lastModified": 1780679734,
"narHash": "sha256-KmRNvpNOb7QEORa06bVgjW9kITcx0VhsI7w0vhmZyD8=",
"lastModified": 1781667738,
"narHash": "sha256-OxrwHpsWf+QGbos1LMDGAcv7sjBGshcw/43th6waeYI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b2b7db486e06e098711dc291bb25db82850e1d16",
"rev": "7664e05e2413d5e2b8c54a884eb8ea0f8a504fc2",
"type": "github"
},
"original": {
@@ -320,11 +320,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1780768552,
"narHash": "sha256-J2gBzBBE9C6LMMJec8buysLAQl7QmqtP/oMrPfVioYc=",
"lastModified": 1781627558,
"narHash": "sha256-qqFd1ufiH/oBB2RCmt7dg5Kyca7grJguIJrNPsD91zk=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "20ee7553c95dd1fa30a00564561f40f7986ffbc7",
"rev": "5b47c782c9f83539a6c642d83844cdc9130a2873",
"type": "github"
},
"original": {
@@ -396,11 +396,11 @@
]
},
"locked": {
"lastModified": 1779209205,
"narHash": "sha256-asc7NpeB8vD66gvZeYcQkaWOs2X6Jgd29vBtP17vjxo=",
"lastModified": 1781442805,
"narHash": "sha256-Kt56e6Bq2sfqN8yq1RHsS6z+8QKCZelmhaeQQRtZyqU=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "1cb37fad68dff5f5840010c314fed5809b4ee66f",
"rev": "1f90c674d51a1ef83c725cd6d02280b4c969fdf7",
"type": "github"
},
"original": {
@@ -580,11 +580,11 @@
]
},
"locked": {
"lastModified": 1779475241,
"narHash": "sha256-Nw4DN0A5krWNcPBvuWe5Gz2yuxsUUPiDgtu6SVPJQeU=",
"lastModified": 1780251518,
"narHash": "sha256-fG9xbb1SOAAJ+2kJRakp3ch+BmA/3dEg/K3PoAZTKkw=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "3cd3972b2ee658a14d2610d8494e09259e530124",
"rev": "40ede2e7bdec80ba5d4c443160d905e9f841ae5f",
"type": "github"
},
"original": {
@@ -652,11 +652,11 @@
"brew-src": "brew-src"
},
"locked": {
"lastModified": 1780492467,
"narHash": "sha256-zMEJwtQPmsPPgPczFkyjWHgd1z0HagOPS2Wt2WDYLJY=",
"lastModified": 1781389246,
"narHash": "sha256-ORqLAo/hoJdsZC7UPAuEHev6S0+XIqKEC7vjo5prz1k=",
"owner": "zhaofengli",
"repo": "nix-homebrew",
"rev": "562332f97de9f5ba51aa647d70462e88222b2988",
"rev": "de7953a08ed4bb9245be043e468561c17b89130d",
"type": "github"
},
"original": {
@@ -675,11 +675,11 @@
"nixpkgs-nixcord": "nixpkgs-nixcord"
},
"locked": {
"lastModified": 1780751320,
"narHash": "sha256-3PlWrZkSwElqYHMnWi4d0A+GxlvCXk0JaMsTGghmQGE=",
"lastModified": 1781659360,
"narHash": "sha256-bwTlMeMALwHREYkYBd9swITfW270tt6GzyY1j+QAqIU=",
"owner": "kaylorben",
"repo": "nixcord",
"rev": "2b70dbed679d2705696deb36f0778c9ef9f1ded2",
"rev": "9dd239d5f8d651ccd94efcf1e3bd384ad41084ca",
"type": "github"
},
"original": {
@@ -726,11 +726,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1779357205,
"narHash": "sha256-cCO8aTqss5x9Ky8GWkpY0Hy5fyTZEbtifSUV8QjSzic=",
"lastModified": 1780749050,
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f83fc3c307e74bc5fd5adb7eb6b8b13ffd2a36e1",
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
"type": "github"
},
"original": {
@@ -773,11 +773,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1780243769,
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
"lastModified": 1781577229,
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github"
},
"original": {
@@ -787,34 +787,20 @@
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1780336545,
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_3",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_3"
},
"locked": {
"lastModified": 1780646548,
"narHash": "sha256-Ckyl/l1XBmEwnaHcHD8PvBZk1uph0NqwbJ//CAvB7iE=",
"lastModified": 1781637822,
"narHash": "sha256-6Fwwt8BBGF5rqwGPhj/9ZMyyjXeJQzeHHJQfPuqJP3I=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "816a15282e58678dde831477964987d0262d4293",
"rev": "d43c763fd9fae0912bdb4103cd842f26fea5b0ed",
"type": "github"
},
"original": {
@@ -831,11 +817,11 @@
]
},
"locked": {
"lastModified": 1780766476,
"narHash": "sha256-BlI1qrW7wqI+pniqRebMttqN/w0H6XHqITGB9JPSQNQ=",
"lastModified": 1781694117,
"narHash": "sha256-TobjUrIR9hSn3PdjooxvNYjuQuCbZ+HIQzExWatX6Bo=",
"owner": "nix-community",
"repo": "NUR",
"rev": "050c04c7c01ad5de7e60f32b66ce0599e3c17d8e",
"rev": "fea207887cf1f76cb19452ffd6978b82311d9746",
"type": "github"
},
"original": {
@@ -913,11 +899,11 @@
"systems": "systems_4"
},
"locked": {
"lastModified": 1780422259,
"narHash": "sha256-dWGk4SEdI189kQW5cE4Uo1Mc+P+kQEdgMcyMgTtmQOA=",
"lastModified": 1781425310,
"narHash": "sha256-GTBka4Df/ZOacmisI/DI2LICyNChEqn/giah83LucdM=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "8414bbf2fcc7bc0a22c675e498e3c7365c1aec0a",
"rev": "aeaf7c81a45d3761da61cb05bfc370ac6d1b0441",
"type": "github"
},
"original": {
@@ -1015,11 +1001,11 @@
]
},
"locked": {
"lastModified": 1778265244,
"narHash": "sha256-8jlPtGSsv/CQY6tVVyLF4Jjd0gnS+Zbn9yk/V13A9nM=",
"lastModified": 1780133819,
"narHash": "sha256-0YPKIY3dlnR7SPq7Z8ekFVvzFsfeiAtEj+QUI3KHrlI=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "813ea5ca9a1702a9a2d1f5836bc00172ef698968",
"rev": "4a170c0ba96fd37374f93d8f91c9ed91814828ac",
"type": "github"
},
"original": {
+1
View File
@@ -51,6 +51,7 @@
# declarative Neovim
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
# declarative Discord
+1
View File
@@ -18,6 +18,7 @@
./neovim
./python.nix
./fonts.nix
./opencode.nix
inputs.sops-nix.homeManagerModules.sops
]
++ lib.optionals (!isDarwin && !isServer) [
+20 -12
View File
@@ -5,18 +5,18 @@
plugins = {
markdown-preview.enable = true;
render-markdown.enable = true;
avante = {
enable = true;
autoLoad = true;
settings = {
provider = "groq";
provider = "ollama";
providers.groq = {
providers = {
groq = {
__inherited_from = "openai";
api_key_name = "cmd:cat /home/phil/.config/sops-nix/secrets/GROQ_API_KEY";
endpoint = "https://api.groq.com/openai/v1/";
model = "qwen/qwen3-32b"; # "llama-3.3-70b-versatile";
model = "qwen/qwen3-32b";
system_promt = "You are a helpful coding assistant. Always respond in plain markdown format without using tool calls or JSON structures.";
disable_tools = true;
extra_request_body = {
@@ -28,6 +28,22 @@
};
};
ollama = {
endpoint = "http://100.109.179.25:11434"; # tailscale IP, no /v1 suffix
model = "qwen2.5:3b"; # swap for "llama3.2:3b" or "deepseek-r1:1.5b"
timeout = 60000; # local + small model can be slow on first load
disable_tools = true; # these small models aren't reliable at tool calling
is_env_set.__raw = ''require("avante.providers.ollama").check_endpoint_alive'';
extra_request_body = {
options = {
temperature = 0.7;
num_ctx = 8192;
keep_alive = "5m";
};
};
};
};
render = {
markdown = true;
syntax = true;
@@ -35,7 +51,6 @@
code = true;
link = true;
};
behaviour = {
enable_cursor_planning_mode = false;
auto_suggestions = false;
@@ -46,7 +61,6 @@
use_selection_as_context = true;
max_context_tokens = 2000;
};
mappings = {
ask = "<leader>aa";
edit = "<leader>ae";
@@ -79,11 +93,9 @@
reverse_switch_windows = "<S-Tab>";
};
};
hints = {
enabled = true;
};
windows = {
position = "right";
wrap = true;
@@ -93,22 +105,18 @@
rounded = true;
};
};
highlights = {
diff = {
current = "DiffText";
incoming = "DiffAdd";
};
};
diff = {
autojump = true;
list_opener = "copen";
};
};
};
extraPackages = with pkgs; [ curl ];
};
};
}
+26 -6
View File
@@ -2,12 +2,32 @@ _: {
programs.nixvim = {
plugins.diffview = {
enable = true;
keymaps = {
"]x" = "<cmd>DiffviewConflictNext<CR>";
"[x" = "<cmd>DiffviewConflictPrev<CR>";
"do" = "<cmd>DiffviewFocusOurs<CR>";
"dt" = "<cmd>DiffviewFocusTheirs<CR>";
};
settings.keymaps.view = [
{
mode = "n";
key = "]x";
action = "<cmd>DiffviewConflictNext<CR>";
description = "Next conflict";
}
{
mode = "n";
key = "[x";
action = "<cmd>DiffviewConflictPrev<CR>";
description = "Previous conflict";
}
{
mode = "n";
key = "do";
action = "<cmd>DiffviewFocusOurs<CR>";
description = "Focus ours";
}
{
mode = "n";
key = "dt";
action = "<cmd>DiffviewFocusTheirs<CR>";
description = "Focus theirs";
}
];
};
};
}
+32
View File
@@ -0,0 +1,32 @@
_: {
programs.opencode = {
enable = true;
settings = {
enabled_providers = [ "ollama" ];
model = "ollama/llama3.2:3b";
provider = {
ollama = {
npm = "@ai-sdk/openai-compatible";
name = "Ollama (tailscale)";
options = {
baseURL = "http://100.109.179.25:11434/v1";
};
models = {
"llama3.2:3b" = {
name = "Llama 3.2 3B";
};
"qwen2.5:3b" = {
name = "Qwen 2.5 3B";
};
"deepseek-r1:1.5b" = {
name = "DeepSeek-R1 1.5B";
};
};
};
};
};
};
}
+2 -1
View File
@@ -11,10 +11,11 @@
../../nixos/roles/gitea.nix
../../nixos/roles/vaultwarden.nix
../../nixos/roles/frontpage
../../nixos/roles/paperless-ngx.nix
#../../nixos/roles/paperless-ngx.nix
../../nixos/roles/octoprint.nix
../../nixos/roles/matrix/postgres-backup.nix
../../nixos/roles/kanidm.nix
../../nixos/roles/ollama.nix
];
networking = {
+16 -4
View File
@@ -17,7 +17,9 @@
};
};
systemd.services.mautrix-discord-env = {
systemd = {
services = {
mautrix-discord-env = {
before = [ "mautrix-discord-registration.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
@@ -34,7 +36,15 @@
'';
};
services.postgresql = {
mautrix-discord-registration.serviceConfig.UMask = lib.mkForce "0750";
};
tmpfiles.rules = [
"z /var/lib/mautrix-discord/discord-registration.yaml 0640 mautrix-discord mautrix-discord -"
];
};
services = {
postgresql = {
ensureUsers = [
{
name = "mautrix-discord";
@@ -44,7 +54,7 @@
ensureDatabases = [ "mautrix-discord" ];
};
services.mautrix-discord = {
mautrix-discord = {
enable = true;
environmentFile = "/run/mautrix-discord/env";
settings = {
@@ -90,5 +100,7 @@
};
};
};
systemd.services.mautrix-discord-registration.serviceConfig.UMask = lib.mkForce "0022";
};
users.users.matrix-synapse.extraGroups = [ "mautrix-discord" ];
}
+10 -10
View File
@@ -74,16 +74,16 @@ in
"calvin.cyperpunk.de" = mkWsProxy 15006;
"auth.cyperpunk.de" = mkHttpsProxy 8444;
"home.cyperpunk.de" = {
forceSSL = true;
enableACME = true;
locations."/" = {
root = "/var/www/home.cyperpunk.de";
extraConfig = ''
try_files $uri $uri/ =404;
'';
};
};
#"home.cyperpunk.de" = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# root = "/var/www/home.cyperpunk.de";
# extraConfig = ''
# try_files $uri $uri/ =404;
# '';
# };
#};
"www.cyperpunk.de" = {
forceSSL = true;
+22
View File
@@ -0,0 +1,22 @@
_: {
services.ollama = {
enable = true;
host = "0.0.0.0";
port = 11434;
openFirewall = true;
loadModels = [
"llama3.2:3b"
"qwen2.5:3b"
"deepseek-r1:1.5b"
];
syncModels = true;
environmentVariables = {
OLLAMA_CONTEXT_LENGTH = "16384";
};
};
}