diff --git a/flake.lock b/flake.lock index 32976db..2142b0c 100644 --- a/flake.lock +++ b/flake.lock @@ -76,6 +76,22 @@ "type": "github" } }, + "code-review-nvim": { + "flake": false, + "locked": { + "lastModified": 1765543014, + "narHash": "sha256-WpbQswkUpB4Nblos8+5UE5I/PHUQOi+RQ+hj4CCdL4o=", + "owner": "choplin", + "repo": "code-review.nvim", + "rev": "ed91462e20bd08c3be71efb11a4a7d00459f0b47", + "type": "github" + }, + "original": { + "owner": "choplin", + "repo": "code-review.nvim", + "type": "github" + } + }, "crane": { "locked": { "lastModified": 1765739568, @@ -170,11 +186,32 @@ "fenix": { "inputs": { "nixpkgs": [ - "himalaya", "nixpkgs" ], "rust-analyzer-src": "rust-analyzer-src" }, + "locked": { + "lastModified": 1773385614, + "narHash": "sha256-1+i0VQqlGLcWWwZLexCnyN6lm2dKRQzYm1cW7V9Nckk=", + "owner": "nix-community", + "repo": "fenix", + "rev": "812445139cfdcf6824b1bce1d8e67361fc4e472b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "fenix_2": { + "inputs": { + "nixpkgs": [ + "himalaya", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src_2" + }, "locked": { "lastModified": 1767250179, "narHash": "sha256-PnQdWvPZqHp+7yaHWDFX3NYSKaOy0fjkwpR+rIQC7AY=", @@ -190,13 +227,13 @@ "type": "github" } }, - "fenix_2": { + "fenix_3": { "inputs": { "nixpkgs": [ "naersk", "nixpkgs" ], - "rust-analyzer-src": "rust-analyzer-src_2" + "rust-analyzer-src": "rust-analyzer-src_3" }, "locked": { "lastModified": 1752475459, @@ -212,14 +249,14 @@ "type": "github" } }, - "fenix_3": { + "fenix_4": { "inputs": { "nixpkgs": [ "tuicr", "naersk", "nixpkgs" ], - "rust-analyzer-src": "rust-analyzer-src_3" + "rust-analyzer-src": "rust-analyzer-src_4" }, "locked": { "lastModified": 1752475459, @@ -402,7 +439,7 @@ }, "himalaya": { "inputs": { - "fenix": "fenix", + "fenix": "fenix_2", "nixpkgs": "nixpkgs_2", "pimalaya": "pimalaya" }, @@ -502,6 +539,38 @@ "type": "github" } }, + "jj-diffconflicts": { + "flake": false, + "locked": { + "lastModified": 1772304648, + "narHash": "sha256-nzjRWHrE2jIcaDoPbixzpvflrtLhPZrihOEQWwqqU0s=", + "owner": "rafikdraoui", + "repo": "jj-diffconflicts", + "rev": "2b8431c014bbf764e97b82567e30da52e3b00c1f", + "type": "github" + }, + "original": { + "owner": "rafikdraoui", + "repo": "jj-diffconflicts", + "type": "github" + } + }, + "jj-nvim": { + "flake": false, + "locked": { + "lastModified": 1773335406, + "narHash": "sha256-GaiDUDTwPANbFtvIcrs1VOqTlSIBI+vnB7nOGBQxjW0=", + "owner": "NicolasGB", + "repo": "jj.nvim", + "rev": "d471a03685836faedbe952ab3794fdca65c4af60", + "type": "github" + }, + "original": { + "owner": "NicolasGB", + "repo": "jj.nvim", + "type": "github" + } + }, "jj-ryu": { "flake": false, "locked": { @@ -562,7 +631,7 @@ }, "naersk": { "inputs": { - "fenix": "fenix_2", + "fenix": "fenix_3", "nixpkgs": [ "nixpkgs" ] @@ -584,7 +653,7 @@ }, "naersk_2": { "inputs": { - "fenix": "fenix_3", + "fenix": "fenix_4", "nixpkgs": [ "tuicr", "nixpkgs" @@ -825,6 +894,22 @@ "type": "github" } }, + "opencode-nvim": { + "flake": false, + "locked": { + "lastModified": 1773400860, + "narHash": "sha256-+ijlFNKwPrnv+/PAjlJqd7GKcD43nSjr2a984jfjN5U=", + "owner": "sudo-tee", + "repo": "opencode.nvim", + "rev": "e95905bee7feb6175f0f783f18ef3f83c201e93e", + "type": "github" + }, + "original": { + "owner": "sudo-tee", + "repo": "opencode.nvim", + "type": "github" + } + }, "pimalaya": { "flake": false, "locked": { @@ -843,10 +928,12 @@ }, "root": { "inputs": { + "code-review-nvim": "code-review-nvim", "darwin": "darwin", "den": "den", "deploy-rs": "deploy-rs", "disko": "disko", + "fenix": "fenix", "flake-aspects": "flake-aspects", "flake-file": "flake-file", "flake-parts": "flake-parts", @@ -855,6 +942,8 @@ "homebrew-cask": "homebrew-cask", "homebrew-core": "homebrew-core", "import-tree": "import-tree", + "jj-diffconflicts": "jj-diffconflicts", + "jj-nvim": "jj-nvim", "jj-ryu": "jj-ryu", "jj-starship": "jj-starship", "llm-agents": "llm-agents", @@ -867,12 +956,30 @@ ], "nixvim": "nixvim", "nono": "nono", + "opencode-nvim": "opencode-nvim", "sops-nix": "sops-nix", "tuicr": "tuicr", "zjstatus": "zjstatus" } }, "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1773326183, + "narHash": "sha256-tj3piRd9RnnP36HwHmQD4O4XZeowsH/rvMeyp9Pmot0=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "6254616e97f358e67b70dfc0463687f5f7911c1a", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "rust-analyzer-src_2": { "flake": false, "locked": { "lastModified": 1767191410, @@ -889,7 +996,7 @@ "type": "github" } }, - "rust-analyzer-src_2": { + "rust-analyzer-src_3": { "flake": false, "locked": { "lastModified": 1752428706, @@ -906,7 +1013,7 @@ "type": "github" } }, - "rust-analyzer-src_3": { + "rust-analyzer-src_4": { "flake": false, "locked": { "lastModified": 1752428706, diff --git a/flake.nix b/flake.nix index bd5851f..e907a9a 100644 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,10 @@ outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} (inputs.import-tree ./modules); inputs = { + code-review-nvim = { + url = "github:choplin/code-review.nvim"; + flake = false; + }; darwin = { url = "github:LnL7/nix-darwin/master"; inputs.nixpkgs.follows = "nixpkgs"; @@ -14,6 +18,10 @@ url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; + fenix = { + url = "github:nix-community/fenix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; flake-aspects.url = "github:vic/flake-aspects"; flake-file.url = "github:vic/flake-file"; flake-parts = { @@ -34,6 +42,14 @@ flake = false; }; import-tree.url = "github:vic/import-tree"; + jj-diffconflicts = { + url = "github:rafikdraoui/jj-diffconflicts"; + flake = false; + }; + jj-nvim = { + url = "github:NicolasGB/jj.nvim"; + flake = false; + }; jj-ryu = { url = "github:dmmulroy/jj-ryu"; flake = false; @@ -56,6 +72,10 @@ url = "github:always-further/nono"; flake = false; }; + opencode-nvim = { + url = "github:sudo-tee/opencode.nvim"; + flake = false; + }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/_neovim/plugins/code-review.nix b/modules/_neovim/plugins/code-review.nix index 5964232..88f51ef 100644 --- a/modules/_neovim/plugins/code-review.nix +++ b/modules/_neovim/plugins/code-review.nix @@ -1,15 +1,13 @@ -{pkgs, ...}: let +{ + pkgs, + nvim-plugin-sources, + ... +}: let code-review-nvim = pkgs.vimUtils.buildVimPlugin { pname = "code-review-nvim"; - version = "unstable-2026-03-10"; - src = - pkgs.fetchFromGitHub { - owner = "choplin"; - repo = "code-review.nvim"; - rev = "ed91462e20bd08c3be71efb11a4a7d00459f0b47"; - hash = "sha256-WpbQswkUpB4Nblos8+5UE5I/PHUQOi+RQ+hj4CCdL4o="; - }; + version = "unstable"; + src = nvim-plugin-sources.code-review-nvim; doCheck = false; }; in { diff --git a/modules/_neovim/plugins/jj-diffconflicts.nix b/modules/_neovim/plugins/jj-diffconflicts.nix index 090d21e..27e15c4 100644 --- a/modules/_neovim/plugins/jj-diffconflicts.nix +++ b/modules/_neovim/plugins/jj-diffconflicts.nix @@ -1,14 +1,12 @@ -{pkgs, ...}: { +{ + pkgs, + nvim-plugin-sources, + ... +}: { programs.nixvim.extraPlugins = [ (pkgs.vimUtils.buildVimPlugin { name = "jj-diffconflicts"; - src = - pkgs.fetchFromGitHub { - owner = "rafikdraoui"; - repo = "jj-diffconflicts"; - rev = "main"; - hash = "sha256-nzjRWHrE2jIcaDoPbixzpvflrtLhPZrihOEQWwqqU0s="; - }; + src = nvim-plugin-sources.jj-diffconflicts; }) ]; } diff --git a/modules/_neovim/plugins/jj-nvim.nix b/modules/_neovim/plugins/jj-nvim.nix index ef0f68f..c95def3 100644 --- a/modules/_neovim/plugins/jj-nvim.nix +++ b/modules/_neovim/plugins/jj-nvim.nix @@ -1,15 +1,13 @@ -{pkgs, ...}: let +{ + pkgs, + nvim-plugin-sources, + ... +}: let jj-nvim = pkgs.vimUtils.buildVimPlugin { pname = "jj-nvim"; - version = "unstable-2026-03-10"; - src = - pkgs.fetchFromGitHub { - owner = "NicolasGB"; - repo = "jj.nvim"; - rev = "bbba4051c862473637e98277f284d12b050588ca"; - hash = "sha256-nokftWcAmmHX6UcH6O79xkLwbUpq1W8N9lf1e+NyGqE="; - }; + version = "unstable"; + src = nvim-plugin-sources.jj-nvim; doCheck = false; }; in { diff --git a/modules/_neovim/plugins/opencode.nix b/modules/_neovim/plugins/opencode.nix index fddf2e9..2e6129b 100644 --- a/modules/_neovim/plugins/opencode.nix +++ b/modules/_neovim/plugins/opencode.nix @@ -1,15 +1,13 @@ -{pkgs, ...}: let +{ + pkgs, + nvim-plugin-sources, + ... +}: let opencode-nvim = pkgs.vimUtils.buildVimPlugin { pname = "opencode-nvim"; - version = "unstable-2026-03-12"; - src = - pkgs.fetchFromGitHub { - owner = "sudo-tee"; - repo = "opencode.nvim"; - rev = "800c4f891f5d940f2805780a39872a0207b5a446"; - hash = "sha256-3xyZux5S8ThBsi7AC4AWnd2h2LEI5L+I5Am2PNWKu64="; - }; + version = "unstable"; + src = nvim-plugin-sources.opencode-nvim; doCheck = false; postPatch = '' # Widen sign column and move border further left for more padding diff --git a/modules/dendritic.nix b/modules/dendritic.nix index c4916af..0cc4be0 100644 --- a/modules/dendritic.nix +++ b/modules/dendritic.nix @@ -75,8 +75,21 @@ url = "github:always-further/nono"; flake = false; }; - vite-plus = { - url = "github:voidzero-dev/vite-plus/v0.1.11"; + # Neovim plugin inputs + opencode-nvim = { + url = "github:sudo-tee/opencode.nvim"; + flake = false; + }; + code-review-nvim = { + url = "github:choplin/code-review.nvim"; + flake = false; + }; + jj-nvim = { + url = "github:NicolasGB/jj.nvim"; + flake = false; + }; + jj-diffconflicts = { + url = "github:rafikdraoui/jj-diffconflicts"; flake = false; }; # Secrets inputs diff --git a/modules/neovim.nix b/modules/neovim.nix index 8fd521a..ecd0ba9 100644 --- a/modules/neovim.nix +++ b/modules/neovim.nix @@ -4,5 +4,12 @@ inputs.nixvim.homeModules.nixvim ./_neovim/default.nix ]; + + _module.args.nvim-plugin-sources = { + opencode-nvim = inputs.opencode-nvim; + code-review-nvim = inputs.code-review-nvim; + jj-nvim = inputs.jj-nvim; + jj-diffconflicts = inputs.jj-diffconflicts; + }; }; }