From 690d38df912253dc013a5d34cd25c4eb3967ca14 Mon Sep 17 00:00:00 2001 From: Christoph Schmatzler Date: Thu, 27 Nov 2025 09:20:17 +0000 Subject: [PATCH] up --- flake.lock | 172 ++++++++++++--------- flake.nix | 8 +- modules/darwin/dock/default.nix | 24 +-- modules/home/jjui.nix | 6 +- modules/home/neovim/plugins/toggleterm.nix | 36 ++--- modules/home/opencode.nix | 5 + modules/home/starship.nix | 86 +++++------ modules/packages.nix | 10 +- 8 files changed, 190 insertions(+), 157 deletions(-) diff --git a/flake.lock b/flake.lock index d56e907..816e02f 100644 --- a/flake.lock +++ b/flake.lock @@ -1,37 +1,40 @@ { "nodes": { - "beads": { + "blueprint": { "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" + "nixpkgs": [ + "nix-ai-tools", + "nixpkgs" + ], + "systems": "systems" }, "locked": { - "lastModified": 1763064087, - "narHash": "sha256-5CI213dDDSI0gyPSxu5eAvtlbzY4aPPC+Rsozm0BoYU=", - "owner": "steveyegge", - "repo": "beads", - "rev": "57b6ea606b366f63b35d543c66db5a48e5d15b7a", + "lastModified": 1763308703, + "narHash": "sha256-O9Y+Wer8wOh+N+4kcCK5p/VLrXyX+ktk0/s3HdZvJzk=", + "owner": "numtide", + "repo": "blueprint", + "rev": "5a9bba070f801d63e2af3c9ef00b86b212429f4f", "type": "github" }, "original": { - "owner": "steveyegge", - "repo": "beads", + "owner": "numtide", + "repo": "blueprint", "type": "github" } }, "brew-src": { "flake": false, "locked": { - "lastModified": 1761551821, - "narHash": "sha256-N3Zj73TAxclhLGgADbPVwcVrhYIBKUgAxjfQuOXre6s=", + "lastModified": 1763638478, + "narHash": "sha256-n/IMowE9S23ovmTkKX7KhxXC2Yq41EAVFR2FBIXPcT8=", "owner": "Homebrew", "repo": "brew", - "rev": "8f6719274133c5bcc24c058c5a6bcbb3b0cd48b3", + "rev": "fbfdbaba008189499958a7aeb1e2c36ab10c067d", "type": "github" }, "original": { "owner": "Homebrew", - "ref": "4.6.19", + "ref": "5.0.3", "repo": "brew", "type": "github" } @@ -58,11 +61,11 @@ ] }, "locked": { - "lastModified": 1762627886, - "narHash": "sha256-/QLk1bzmbcqJt9sU43+y/3tHtXhAy0l8Ck0MoO2+evQ=", + "lastModified": 1764161084, + "narHash": "sha256-HN84sByg9FhJnojkGGDSrcjcbeioFWoNXfuyYfJ1kBE=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "5125a3cd414dc98bbe2c528227aa6b62ee61f733", + "rev": "e95de00a471d07435e0527ff4db092c84998698e", "type": "github" }, "original": { @@ -77,11 +80,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1762980239, - "narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=", + "lastModified": 1763759067, + "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "52a2caecc898d0b46b2b905f058ccc5081f842da", + "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", "type": "github" }, "original": { @@ -98,11 +101,11 @@ ] }, "locked": { - "lastModified": 1762980239, - "narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=", + "lastModified": 1763759067, + "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "52a2caecc898d0b46b2b905f058ccc5081f842da", + "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", "type": "github" }, "original": { @@ -112,24 +115,6 @@ } }, "flake-utils": { - "inputs": { - "systems": "systems" - }, - "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" - } - }, - "flake-utils_2": { "inputs": { "systems": "systems_2" }, @@ -147,7 +132,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_2": { "inputs": { "systems": "systems_4" }, @@ -172,11 +157,11 @@ ] }, "locked": { - "lastModified": 1762964643, - "narHash": "sha256-RYHN8O/Aja59XDji6WSJZPkJpYVUfpSkyH+PEupBJqM=", + "lastModified": 1764361670, + "narHash": "sha256-jgWzgpIaHbL3USIq0gihZeuy1lLf2YSfwvWEwnfAJUw=", "owner": "nix-community", "repo": "home-manager", - "rev": "827f2a23373a774a8805f84ca5344654c31f354b", + "rev": "780be8ef503a28939cf9dc7996b48ffb1a3e04c6", "type": "github" }, "original": { @@ -188,11 +173,11 @@ "homebrew-cask": { "flake": false, "locked": { - "lastModified": 1763108319, - "narHash": "sha256-wydP/w2MvdcPwgNFnwFDAQ1pgHKrc353foojVvYFIuk=", + "lastModified": 1764503571, + "narHash": "sha256-ZurN0V5+6FxgAYdwmg/qDe5JlqSHomi8br6v4uYJQAQ=", "owner": "homebrew", "repo": "homebrew-cask", - "rev": "3d59e8141568ee29812a77462f569ec30b7f6ccf", + "rev": "52f4bbdb6b49e54e222b7db4140ac6fd5994987f", "type": "github" }, "original": { @@ -204,11 +189,11 @@ "homebrew-core": { "flake": false, "locked": { - "lastModified": 1763109495, - "narHash": "sha256-cCHObkO8S5poQx37lPGZQ6L8MNPgz+xJY5xrTXeoU94=", + "lastModified": 1764504903, + "narHash": "sha256-Itv2xreWwjQv3lBlnNqa61HhKIhI90xb+yvNh+QRC3U=", "owner": "homebrew", "repo": "homebrew-core", - "rev": "2151c361e8015ce48f148b0758432412fcc801ca", + "rev": "cf300c564bce9cc5dd6839c33e76885f17e2760b", "type": "github" }, "original": { @@ -245,16 +230,36 @@ "type": "github" } }, + "nix-ai-tools": { + "inputs": { + "blueprint": "blueprint", + "nixpkgs": "nixpkgs", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1764470982, + "narHash": "sha256-VZ4HktXis3zsY/9n0KwBBr1nrzFIln1YB8gS5djSfPw=", + "owner": "numtide", + "repo": "nix-ai-tools", + "rev": "d4b50b7ecb123ae1759d5a1754183c431c5f1366", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-ai-tools", + "type": "github" + } + }, "nix-homebrew": { "inputs": { "brew-src": "brew-src" }, "locked": { - "lastModified": 1761927470, - "narHash": "sha256-KsFDGRGD8j1R6TvJ4HkebKsh3HXLY0XazanLrhO3wqE=", + "lastModified": 1764473698, + "narHash": "sha256-C91gPgv6udN5WuIZWNehp8qdLqlrzX6iF/YyboOj6XI=", "owner": "zhaofengli-wip", "repo": "nix-homebrew", - "rev": "3cae36b3a17b09a66435291619dce8cf2c4728ca", + "rev": "6a8ab60bfd66154feeaa1021fc3b32684814a62a", "type": "github" }, "original": { @@ -265,16 +270,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1760284886, - "narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=", + "lastModified": 1764445028, + "narHash": "sha256-ik6H/0Zl+qHYDKTXFPpzuVHSZE+uvVz2XQuQd1IVXzo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43", + "rev": "a09378c0108815dbf3961a0e085936f4146ec415", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -296,11 +301,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1763110429, - "narHash": "sha256-5ehQ6+nLfHDtY93DRILesxjW8H80PBl8dWjMnWlyzH0=", + "lastModified": 1764505701, + "narHash": "sha256-8YrhiGAV+q9zclYpaJhFIzRzUtYfny6vaba5UiC8TfU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bcd08f052a941d598292636c622f1e70ef2bfd14", + "rev": "ee6b220031f720e24fc07cf14c41ec4e90d97ec0", "type": "github" }, "original": { @@ -312,11 +317,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1762943920, - "narHash": "sha256-ITeH8GBpQTw9457ICZBddQEBjlXMmilML067q0e6vqY=", + "lastModified": 1764230294, + "narHash": "sha256-Z63xl5Scj3Y/zRBPAWq1eT68n2wBWGCIEF4waZ0bQBE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "91c9a64ce2a84e648d0cf9671274bb9c2fb9ba60", + "rev": "0d59e0290eefe0f12512043842d7096c4070f30e", "type": "github" }, "original": { @@ -350,11 +355,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1763109970, - "narHash": "sha256-3azi7sNWVxHiUGMPcEwsd3ErYoMEdLRX/JmgoYEe+os=", + "lastModified": 1764443358, + "narHash": "sha256-bd9I02P/Mp9yYGcSWgLLdI/Zt0JqF8igSTAfUzknVHk=", "owner": "nix-community", "repo": "nixvim", - "rev": "6c2ac251d7cfc2416f23257df13c86d84d3eee34", + "rev": "6094d2a4396c0ff4e94b22315cc43f55db626c32", "type": "github" }, "original": { @@ -365,7 +370,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "ixx": "ixx", "nixpkgs": [ "nixvim", @@ -388,12 +393,12 @@ }, "root": { "inputs": { - "beads": "beads", "darwin": "darwin", "flake-parts": "flake-parts", "home-manager": "home-manager", "homebrew-cask": "homebrew-cask", "homebrew-core": "homebrew-core", + "nix-ai-tools": "nix-ai-tools", "nix-homebrew": "nix-homebrew", "nixpkgs": "nixpkgs_2", "nixvim": "nixvim", @@ -429,11 +434,11 @@ ] }, "locked": { - "lastModified": 1763069729, - "narHash": "sha256-A91a+K0Q9wfdPLwL06e/kbHeAWSzPYy2EGdTDsyfb+s=", + "lastModified": 1764483358, + "narHash": "sha256-EyyvCzXoHrbL467YSsQBTWWg4sR96MH1sPpKoSOelB4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "a2bcd1c25c1d29e22756ccae094032ab4ada2268", + "rev": "5aca6ff67264321d47856a2ed183729271107c9c", "type": "github" }, "original": { @@ -502,10 +507,31 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nix-ai-tools", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762938485, + "narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "zjstatus": { "inputs": { "crane": "crane", - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_4", "rust-overlay": "rust-overlay" }, diff --git a/flake.nix b/flake.nix index f0b61b7..62cf146 100644 --- a/flake.nix +++ b/flake.nix @@ -25,10 +25,10 @@ url = "github:homebrew/homebrew-cask"; flake = false; }; - nixvim.url = "github:nix-community/nixvim"; - zjstatus.url = "github:dj95/zjstatus"; - beads.url = "github:steveyegge/beads"; -}; + nixvim.url = "github:nix-community/nixvim"; + zjstatus.url = "github:dj95/zjstatus"; + nix-ai-tools.url = "github:numtide/nix-ai-tools"; + }; outputs = inputs @ {flake-parts, ...}: flake-parts.lib.mkFlake {inherit inputs;} ( diff --git a/modules/darwin/dock/default.nix b/modules/darwin/dock/default.nix index b916e64..89cdde7 100644 --- a/modules/darwin/dock/default.nix +++ b/modules/darwin/dock/default.nix @@ -92,18 +92,18 @@ in { cfg.entries; in { system.activationScripts.postActivation.text = '' - echo >&2 "Setting up the Dock for ${cfg.username}..." - su ${cfg.username} -s /bin/sh <<'USERBLOCK' - haveURIs="$(${dockutil}/bin/dockutil --list | ${pkgs.coreutils}/bin/cut -f2)" - if ! diff -wu <(echo -n "$haveURIs") <(echo -n '${wantURIs}') >&2 ; then - echo >&2 "Resetting Dock." - ${dockutil}/bin/dockutil --no-restart --remove all - ${createEntries} - killall Dock - else - echo >&2 "Dock setup complete." - fi -USERBLOCK + echo >&2 "Setting up the Dock for ${cfg.username}..." + su ${cfg.username} -s /bin/sh <<'USERBLOCK' + haveURIs="$(${dockutil}/bin/dockutil --list | ${pkgs.coreutils}/bin/cut -f2)" + if ! diff -wu <(echo -n "$haveURIs") <(echo -n '${wantURIs}') >&2 ; then + echo >&2 "Resetting Dock." + ${dockutil}/bin/dockutil --no-restart --remove all + ${createEntries} + killall Dock + else + echo >&2 "Dock setup complete." + fi + USERBLOCK ''; } ); diff --git a/modules/home/jjui.nix b/modules/home/jjui.nix index 056e1fc..5a6277d 100644 --- a/modules/home/jjui.nix +++ b/modules/home/jjui.nix @@ -1,5 +1,5 @@ { - programs.jjui = { - enable = true; - }; + programs.jjui = { + enable = true; + }; } diff --git a/modules/home/neovim/plugins/toggleterm.nix b/modules/home/neovim/plugins/toggleterm.nix index 7ccd20a..9854aec 100644 --- a/modules/home/neovim/plugins/toggleterm.nix +++ b/modules/home/neovim/plugins/toggleterm.nix @@ -1,20 +1,20 @@ { - programs.nixvim.plugins.toggleterm = { - enable = true; - settings = { - open_mapping = null; - direction = "float"; - float_opts = { - border = "curved"; - winblend = 3; - }; - size = 20; - hide_numbers = true; - shade_terminals = true; - shading_factor = 2; - start_in_insert = true; - close_on_exit = true; - shell = "fish"; - }; - }; + programs.nixvim.plugins.toggleterm = { + enable = true; + settings = { + open_mapping = null; + direction = "float"; + float_opts = { + border = "curved"; + winblend = 3; + }; + size = 20; + hide_numbers = true; + shade_terminals = true; + shading_factor = 2; + start_in_insert = true; + close_on_exit = true; + shell = "fish"; + }; + }; } diff --git a/modules/home/opencode.nix b/modules/home/opencode.nix index b8fc93f..5b7751a 100644 --- a/modules/home/opencode.nix +++ b/modules/home/opencode.nix @@ -1,6 +1,11 @@ { + inputs, + pkgs, + ... +}: { programs.opencode = { enable = true; + package = inputs.nix-ai-tools.packages.${pkgs.system}.opencode; settings = { theme = "catppuccin"; instructions = [ diff --git a/modules/home/starship.nix b/modules/home/starship.nix index 98eed3a..e052dca 100644 --- a/modules/home/starship.nix +++ b/modules/home/starship.nix @@ -1,45 +1,45 @@ { - programs.starship = { - enable = true; - enableFishIntegration = true; - settings = { - add_newline = true; - command_timeout = 2000; - format = "[$directory$\{custom.jj}]($style)$character"; - character = { - error_symbol = "[✗ ](bold #e64553)"; - success_symbol = "[❯](bold #40a02b)[❯](bold #df8e1d)[❯](bold #dc8a78)"; - }; - directory = { - truncation_length = 2; - truncation_symbol = "…/"; - repo_root_style = "bold cyan"; - repo_root_format = "[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) "; - }; - custom.jj = { - command = '' - jj log --revisions @ --no-graph --ignore-working-copy --color always --limit 1 --template ' - separate(" ", - change_id.shortest(4), - bookmarks, - "|", - concat( - if(conflict, "💥"), - if(divergent, "🚧"), - if(hidden, "👻"), - if(immutable, "🔒"), - ), - raw_escape_sequence("\x1b[1;32m") ++ if(empty, "(empty)"), - raw_escape_sequence("\x1b[1;32m") ++ coalesce( - truncate_end(29, description.first_line(), "…"), - "(no description set)", - ) ++ raw_escape_sequence("\x1b[0m"), - ) - ' - ''; - when = "jj --ignore-working-copy root"; - symbol = "🥋"; - }; - }; - }; + programs.starship = { + enable = true; + enableFishIntegration = true; + settings = { + add_newline = true; + command_timeout = 2000; + format = "[$directory$\{custom.jj}]($style)$character"; + character = { + error_symbol = "[✗ ](bold #e64553)"; + success_symbol = "[❯](bold #40a02b)[❯](bold #df8e1d)[❯](bold #dc8a78)"; + }; + directory = { + truncation_length = 2; + truncation_symbol = "…/"; + repo_root_style = "bold cyan"; + repo_root_format = "[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) "; + }; + custom.jj = { + command = '' + jj log --revisions @ --no-graph --ignore-working-copy --color always --limit 1 --template ' + separate(" ", + change_id.shortest(4), + bookmarks, + "|", + concat( + if(conflict, "💥"), + if(divergent, "🚧"), + if(hidden, "👻"), + if(immutable, "🔒"), + ), + raw_escape_sequence("\x1b[1;32m") ++ if(empty, "(empty)"), + raw_escape_sequence("\x1b[1;32m") ++ coalesce( + truncate_end(29, description.first_line(), "…"), + "(no description set)", + ) ++ raw_escape_sequence("\x1b[0m"), + ) + ' + ''; + when = "jj --ignore-working-copy root"; + symbol = "🥋"; + }; + }; + }; } diff --git a/modules/packages.nix b/modules/packages.nix index aa74bda..22be2bb 100644 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -1,8 +1,10 @@ -{pkgs, inputs, ...}: +{ + pkgs, + inputs, + ... +}: with pkgs; [ - (inputs.beads.packages.${pkgs.system}.default.overrideAttrs (old: { - vendorHash = "sha256-jpaeKw5dbZuhV9Z18aQ9tDMS/Eo7HaXiZefm26UlPyI="; - })) + inputs.nix-ai-tools.packages.${pkgs.system}.amp (callPackage ./bin/open-project.nix {}) age alejandra