neovim configuration using rocks.nvim plugin manager

feat(nix): add nightly dev shell

Changed files
+247 -9
+226 -7
flake.lock
··· 1 1 { 2 2 "nodes": { 3 + "flake-compat": { 4 + "flake": false, 5 + "locked": { 6 + "lastModified": 1733328505, 7 + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", 8 + "owner": "edolstra", 9 + "repo": "flake-compat", 10 + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", 11 + "type": "github" 12 + }, 13 + "original": { 14 + "owner": "edolstra", 15 + "repo": "flake-compat", 16 + "type": "github" 17 + } 18 + }, 19 + "flake-compat_2": { 20 + "flake": false, 21 + "locked": { 22 + "lastModified": 1696426674, 23 + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 24 + "owner": "edolstra", 25 + "repo": "flake-compat", 26 + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 27 + "type": "github" 28 + }, 29 + "original": { 30 + "owner": "edolstra", 31 + "repo": "flake-compat", 32 + "type": "github" 33 + } 34 + }, 3 35 "flake-parts": { 4 36 "inputs": { 5 37 "nixpkgs-lib": "nixpkgs-lib" ··· 18 50 "type": "github" 19 51 } 20 52 }, 53 + "flake-parts_2": { 54 + "inputs": { 55 + "nixpkgs-lib": [ 56 + "neovim-nightly-overlay", 57 + "nixpkgs" 58 + ] 59 + }, 60 + "locked": { 61 + "lastModified": 1736143030, 62 + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", 63 + "owner": "hercules-ci", 64 + "repo": "flake-parts", 65 + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", 66 + "type": "github" 67 + }, 68 + "original": { 69 + "owner": "hercules-ci", 70 + "repo": "flake-parts", 71 + "type": "github" 72 + } 73 + }, 74 + "flake-parts_3": { 75 + "inputs": { 76 + "nixpkgs-lib": [ 77 + "neovim-nightly-overlay", 78 + "hercules-ci-effects", 79 + "nixpkgs" 80 + ] 81 + }, 82 + "locked": { 83 + "lastModified": 1733312601, 84 + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", 85 + "owner": "hercules-ci", 86 + "repo": "flake-parts", 87 + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", 88 + "type": "github" 89 + }, 90 + "original": { 91 + "id": "flake-parts", 92 + "type": "indirect" 93 + } 94 + }, 95 + "git-hooks": { 96 + "inputs": { 97 + "flake-compat": "flake-compat_2", 98 + "gitignore": "gitignore", 99 + "nixpkgs": [ 100 + "neovim-nightly-overlay", 101 + "nixpkgs" 102 + ] 103 + }, 104 + "locked": { 105 + "lastModified": 1735882644, 106 + "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", 107 + "owner": "cachix", 108 + "repo": "git-hooks.nix", 109 + "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", 110 + "type": "github" 111 + }, 112 + "original": { 113 + "owner": "cachix", 114 + "repo": "git-hooks.nix", 115 + "type": "github" 116 + } 117 + }, 118 + "gitignore": { 119 + "inputs": { 120 + "nixpkgs": [ 121 + "neovim-nightly-overlay", 122 + "git-hooks", 123 + "nixpkgs" 124 + ] 125 + }, 126 + "locked": { 127 + "lastModified": 1709087332, 128 + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", 129 + "owner": "hercules-ci", 130 + "repo": "gitignore.nix", 131 + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", 132 + "type": "github" 133 + }, 134 + "original": { 135 + "owner": "hercules-ci", 136 + "repo": "gitignore.nix", 137 + "type": "github" 138 + } 139 + }, 140 + "hercules-ci-effects": { 141 + "inputs": { 142 + "flake-parts": "flake-parts_3", 143 + "nixpkgs": [ 144 + "neovim-nightly-overlay", 145 + "nixpkgs" 146 + ] 147 + }, 148 + "locked": { 149 + "lastModified": 1735695978, 150 + "narHash": "sha256-cwk53OX1S1bCFY09zydubZNmmwcx9l5XEba8mVYuNE4=", 151 + "owner": "hercules-ci", 152 + "repo": "hercules-ci-effects", 153 + "rev": "f6233b5cfbada692d93a73d6ed35bdbfd0fdb9c4", 154 + "type": "github" 155 + }, 156 + "original": { 157 + "owner": "hercules-ci", 158 + "repo": "hercules-ci-effects", 159 + "type": "github" 160 + } 161 + }, 162 + "neovim-nightly-overlay": { 163 + "inputs": { 164 + "flake-compat": "flake-compat", 165 + "flake-parts": "flake-parts_2", 166 + "git-hooks": "git-hooks", 167 + "hercules-ci-effects": "hercules-ci-effects", 168 + "neovim-src": "neovim-src", 169 + "nixpkgs": "nixpkgs", 170 + "treefmt-nix": "treefmt-nix" 171 + }, 172 + "locked": { 173 + "lastModified": 1736233375, 174 + "narHash": "sha256-I6fqKdaoKOVU33SyPv+MuxWRiOs+PXQTO94aCLA3rAc=", 175 + "owner": "nix-community", 176 + "repo": "neovim-nightly-overlay", 177 + "rev": "721f5f602b876a3ee21be04f68ab3cedf162e7f6", 178 + "type": "github" 179 + }, 180 + "original": { 181 + "owner": "nix-community", 182 + "repo": "neovim-nightly-overlay", 183 + "type": "github" 184 + } 185 + }, 186 + "neovim-src": { 187 + "flake": false, 188 + "locked": { 189 + "lastModified": 1736193797, 190 + "narHash": "sha256-5S4RnwKfa5nn/r+8OsMtfgD6TEA5P6cWKti76A0zIMc=", 191 + "owner": "neovim", 192 + "repo": "neovim", 193 + "rev": "b6ab294838421afb6932c52dd6e6d35d571e621d", 194 + "type": "github" 195 + }, 196 + "original": { 197 + "owner": "neovim", 198 + "repo": "neovim", 199 + "type": "github" 200 + } 201 + }, 21 202 "nixpkgs": { 22 203 "locked": { 23 - "lastModified": 1735291276, 24 - "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", 25 - "owner": "nixos", 204 + "lastModified": 1736042175, 205 + "narHash": "sha256-jdd5UWtLVrNEW8K6u5sy5upNAFmF3S4Y+OIeToqJ1X8=", 206 + "owner": "NixOS", 26 207 "repo": "nixpkgs", 27 - "rev": "634fd46801442d760e09493a794c4f15db2d0cbb", 208 + "rev": "bf689c40d035239a489de5997a4da5352434632e", 28 209 "type": "github" 29 210 }, 30 211 "original": { 31 - "owner": "nixos", 32 - "ref": "nixos-unstable", 212 + "owner": "NixOS", 213 + "ref": "nixpkgs-unstable", 33 214 "repo": "nixpkgs", 34 215 "type": "github" 35 216 } ··· 46 227 "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" 47 228 } 48 229 }, 230 + "nixpkgs_2": { 231 + "locked": { 232 + "lastModified": 1735291276, 233 + "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", 234 + "owner": "nixos", 235 + "repo": "nixpkgs", 236 + "rev": "634fd46801442d760e09493a794c4f15db2d0cbb", 237 + "type": "github" 238 + }, 239 + "original": { 240 + "owner": "nixos", 241 + "ref": "nixos-unstable", 242 + "repo": "nixpkgs", 243 + "type": "github" 244 + } 245 + }, 49 246 "root": { 50 247 "inputs": { 51 248 "flake-parts": "flake-parts", 52 - "nixpkgs": "nixpkgs" 249 + "neovim-nightly-overlay": "neovim-nightly-overlay", 250 + "nixpkgs": "nixpkgs_2" 251 + } 252 + }, 253 + "treefmt-nix": { 254 + "inputs": { 255 + "nixpkgs": [ 256 + "neovim-nightly-overlay", 257 + "nixpkgs" 258 + ] 259 + }, 260 + "locked": { 261 + "lastModified": 1736154270, 262 + "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", 263 + "owner": "numtide", 264 + "repo": "treefmt-nix", 265 + "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", 266 + "type": "github" 267 + }, 268 + "original": { 269 + "owner": "numtide", 270 + "repo": "treefmt-nix", 271 + "type": "github" 53 272 } 54 273 } 55 274 },
+21 -2
flake.nix
··· 4 4 inputs = { 5 5 nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; 6 6 flake-parts.url = "github:hercules-ci/flake-parts"; 7 + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; 7 8 }; 8 9 9 10 outputs = inputs @ { ··· 18 19 "aarch64-linux" 19 20 "aarch64-darwin" 20 21 ]; 21 - perSystem = { system, pkgs, ... }: { 22 + perSystem = { system, ... }: let 23 + pkgs = import nixpkgs { 24 + inherit system; 25 + overlays = [ 26 + (self: super: { 27 + neovim-nightly = inputs.neovim-nightly-overlay.packages.${system}.default; 28 + }) 29 + ]; 30 + }; 31 + in { 22 32 devShells.default = pkgs.mkShell { 23 - name = "NativeVim devShell"; 33 + name = "NativeVim (stable) devShell"; 24 34 buildInputs = [ 25 35 pkgs.neovim 36 + pkgs.sumneko-lua-language-server 37 + pkgs.stylua 38 + ]; 39 + }; 40 + devShells.nightly = pkgs.mkShell { 41 + name = "NativeVim (nightly) devShell"; 42 + buildInputs = [ 43 + pkgs.vim 44 + pkgs.neovim-nightly 26 45 pkgs.sumneko-lua-language-server 27 46 pkgs.stylua 28 47 ];