diff --git a/common/home/neovim/default.nix b/common/home/neovim/default.nix index c0e932c..8ca1b1d 100644 --- a/common/home/neovim/default.nix +++ b/common/home/neovim/default.nix @@ -1,5 +1,6 @@ { config, + neovim-nightly, pkgs, ... }: let @@ -15,6 +16,7 @@ in { programs = { neovim = { enable = true; + package = neovim-nightly.packages.${pkgs.system}.neovim; extraLuaConfig = /* diff --git a/common/home/neovim/langs/bash.nix b/common/home/neovim/langs/bash.nix index 6190786..6e3a91a 100644 --- a/common/home/neovim/langs/bash.nix +++ b/common/home/neovim/langs/bash.nix @@ -37,7 +37,7 @@ in { require('lspconfig').bashls.setup(require('coq').lsp_ensure_capabilities({ settings = { bashIde = { - shellcheckPath = '${pkgs.shellcheck}/bin/shellcheck', + shellcheckPath = '${lib.getExe pkgs.shellcheck}', }, }, })); diff --git a/common/home/neovim/langs/java.nix b/common/home/neovim/langs/java.nix index f76fe67..f94ab5c 100644 --- a/common/home/neovim/langs/java.nix +++ b/common/home/neovim/langs/java.nix @@ -49,7 +49,7 @@ in '' local startJdtls = function() local config = require('coq').lsp_ensure_capabilities({ - cmd = { '${pkgs.jdt-language-server}/bin/jdtls' }, + cmd = { '${lib.getExe pkgs.jdt-language-server}' }, root_dir = vim.fs.dirname(vim.fs.find( { 'gradlew', '.git', 'mvnw', 'pom.xml' }, { upward = true } diff --git a/common/home/neovim/langs/nix.nix b/common/home/neovim/langs/nix.nix index b26fbb9..2414540 100644 --- a/common/home/neovim/langs/nix.nix +++ b/common/home/neovim/langs/nix.nix @@ -55,7 +55,7 @@ in settings = { nixd = { formatting = { - command = { "alejandra" }, + command = { '${lib.getExe pkgs.alejandra}' }, }, }, }, diff --git a/common/home/neovim/langs/web.nix b/common/home/neovim/langs/web.nix index 4f9367e..099fc94 100644 --- a/common/home/neovim/langs/web.nix +++ b/common/home/neovim/langs/web.nix @@ -96,10 +96,7 @@ in plugins = [ vimPlugins.typescript-tools-nvim - - { - plugin = buildPlugin "ts-error-translator" vimplugin-ts-error-translator-src; - } + (buildPlugin "ts-error-translator" vimplugin-ts-error-translator-src) ]; }; }; diff --git a/flake.lock b/flake.lock index 0ee4dc0..d02c153 100644 --- a/flake.lock +++ b/flake.lock @@ -185,6 +185,22 @@ } }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "locked": { "lastModified": 1688025799, "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", @@ -242,6 +258,48 @@ } }, "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714641030, + "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly", + "hercules-ci-effects", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_5": { "inputs": { "nixpkgs-lib": [ "nix-eval-jobs", @@ -262,7 +320,7 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_6": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, @@ -280,7 +338,7 @@ "type": "github" } }, - "flake-parts_5": { + "flake-parts_7": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_2" }, @@ -298,7 +356,7 @@ "type": "github" } }, - "flake-parts_6": { + "flake-parts_8": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_3" }, @@ -316,7 +374,7 @@ "type": "github" } }, - "flake-parts_7": { + "flake-parts_9": { "inputs": { "nixpkgs-lib": [ "nixpkgs-wayland", @@ -389,6 +447,24 @@ "type": "github" } }, + "flake-utils_3": { + "inputs": { + "systems": "systems_7" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "git-theme-src": { "flake": false, "locked": { @@ -538,6 +614,28 @@ "type": "github" } }, + "hercules-ci-effects_2": { + "inputs": { + "flake-parts": "flake-parts_4", + "nixpkgs": [ + "neovim-nightly", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713898448, + "narHash": "sha256-6q6ojsp/Z9P2goqnxyfCSzFOD92T3Uobmj8oVAicUOs=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "c0302ec12d569532a6b6bd218f698bc402e93adc", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -852,7 +950,7 @@ }, "lib-aggregate": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs-lib": "nixpkgs-lib_4" }, "locked": { @@ -901,6 +999,54 @@ "type": "github" } }, + "neovim-flake": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "neovim-nightly", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1715728713, + "narHash": "sha256-DmODP02EhM3+O2hHKB+AVJc+5qykxDh8nz7POO6zGrI=", + "owner": "neovim", + "repo": "neovim", + "rev": "7acf39ddab8ebdb63ebf78ec980149d20783fd4b", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-nightly": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts_3", + "hercules-ci-effects": "hercules-ci-effects_2", + "neovim-flake": "neovim-flake", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1715731444, + "narHash": "sha256-Mdj0NXU5yZCyX8LWigox+ab67RQGcYpmbuw3NQr6L9E=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "5c17e8ef097ee948586858a25e05bc48145a2956", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, "nh": { "inputs": { "nixpkgs": "nixpkgs" @@ -921,7 +1067,7 @@ }, "nix-eval-jobs": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_5", "nix-github-actions": "nix-github-actions", "nixpkgs": [ "nixpkgs" @@ -945,7 +1091,7 @@ }, "nix-eval-jobs_2": { "inputs": { - "flake-parts": "flake-parts_7", + "flake-parts": "flake-parts_9", "nix-github-actions": "nix-github-actions_2", "nixpkgs": "nixpkgs_6", "treefmt-nix": "treefmt-nix_3" @@ -966,7 +1112,7 @@ }, "nix-fast-build": { "inputs": { - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_6", "nixpkgs": [ "nixpkgs" ], @@ -1011,7 +1157,7 @@ }, "nix-gaming": { "inputs": { - "flake-parts": "flake-parts_5", + "flake-parts": "flake-parts_7", "nixpkgs": "nixpkgs_2" }, "locked": { @@ -1138,7 +1284,7 @@ }, "nixd": { "inputs": { - "flake-parts": "flake-parts_6", + "flake-parts": "flake-parts_8", "flake-root": "flake-root", "nixpkgs": "nixpkgs_4" }, @@ -1295,7 +1441,7 @@ }, "nixpkgs-wayland": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "lib-aggregate": "lib-aggregate", "nix-eval-jobs": "nix-eval-jobs_2", "nixpkgs": "nixpkgs_7" @@ -1775,6 +1921,7 @@ "jellyfin-ultrachromic-src": "jellyfin-ultrachromic-src", "libratbag-src": "libratbag-src", "modernx-src": "modernx-src", + "neovim-nightly": "neovim-nightly", "nh": "nh", "nix-eval-jobs": "nix-eval-jobs", "nix-fast-build": "nix-fast-build", @@ -2019,6 +2166,21 @@ } }, "systems_7": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_8": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -2166,7 +2328,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_7" + "systems": "systems_8" }, "locked": { "lastModified": 1714464091, diff --git a/flake.nix b/flake.nix index f0606de..6b85b19 100644 --- a/flake.nix +++ b/flake.nix @@ -334,6 +334,15 @@ # # Neovim inputs + neovim-nightly = { + type = "github"; + owner = "nix-community"; + repo = "neovim-nightly-overlay"; + + inputs.nixpkgs.follows = "nixpkgs"; + }; + + ## LSPs stylelint-lsp = { type = "github"; owner = "matt1432"; @@ -351,6 +360,7 @@ # FIXME: get it from nixpkgs when it gets merged basedpyright.url = "github:kiike/nixpkgs/pkgs/basedpyright"; + ## Plugin sources vimplugin-easytables-src = { type = "github"; owner = "Myzel394";