From 957cc89ec5d94d042073c4a0988bc12b235bde8b Mon Sep 17 00:00:00 2001 From: Youwen Wu Date: Thu, 12 Sep 2024 15:42:33 -0700 Subject: [PATCH] refactor: use flake inputs to track extra neovim plugins --- config/plugins/lsps.nix | 16 ++-------- config/plugins/qol.nix | 16 ++-------- flake.lock | 70 ++++++++++++++++++++++++++++++++++++++++- flake.nix | 20 ++++++++++++ 4 files changed, 95 insertions(+), 27 deletions(-) diff --git a/config/plugins/lsps.nix b/config/plugins/lsps.nix index d466ea9..6863662 100644 --- a/config/plugins/lsps.nix +++ b/config/plugins/lsps.nix @@ -1,5 +1,5 @@ # LSP setup -{ pkgs, ... }: +{ pkgs, inputs, ... }: { extraPackages = with pkgs; [ rust-analyzer @@ -26,21 +26,11 @@ extraPlugins = [ (pkgs.vimUtils.buildVimPlugin { name = "haskell-tools-nvim"; - src = pkgs.fetchFromGitHub { - owner = "mrcjkb"; - repo = "haskell-tools.nvim"; - rev = "959eac0fadbdd27442904a8cb363f39afb528027"; - hash = "sha256-5CS5kvUSqQJe7iFFpicinBjCQXgFPL0ElGgnrZHTT+Y="; - }; + src = inputs.haskell-tools; }) (pkgs.vimUtils.buildVimPlugin { name = "rustaceanvim"; - src = pkgs.fetchFromGitHub { - owner = "mrcjkb"; - repo = "rustaceanvim"; - rev = "7cba8e599deca98d4b44cac1bcbd720c62937d90"; - hash = "sha256-OYfeJuo4FZUBdW9wGGCT0lZGYr/ur1uy8frcyUJMF3k="; - }; + src = inputs.rustaceanvim; }) ]; } diff --git a/config/plugins/qol.nix b/config/plugins/qol.nix index 8f96f35..e896bf0 100644 --- a/config/plugins/qol.nix +++ b/config/plugins/qol.nix @@ -1,5 +1,5 @@ # Quality of life plugins -{ pkgs, ... }: +{ pkgs, inputs, ... }: { extraPackages = with pkgs; [ ripgrep @@ -33,21 +33,11 @@ extraPlugins = [ (pkgs.vimUtils.buildVimPlugin { name = "satellite.nvim"; - src = pkgs.fetchFromGitHub { - owner = "lewis6991"; - repo = "satellite.nvim"; - rev = "777ed56e1ef45ec808df701730b6597fc4fb0fbc"; - hash = "sha256-04Js+9SB4VuCq/ACbNh5BZcolu8i8vlGU72qo5xxfpk="; - }; + src = inputs.satellite; }) (pkgs.vimUtils.buildVimPlugin { name = "render-markdown.nvim"; - src = pkgs.fetchFromGitHub { - owner = "MeanderingProgrammer"; - repo = "render-markdown.nvim"; - rev = "7986be47531d652e950776536987e01dd5b55b94"; - hash = "sha256-lc++IrXzEA3M2iUFZACAZOcH2EwVqX4p0fhET+en37o="; - }; + src = inputs.render-markdown; }) ]; } diff --git a/flake.lock b/flake.lock index 5c18d98..d46ed52 100644 --- a/flake.lock +++ b/flake.lock @@ -144,6 +144,22 @@ "type": "github" } }, + "haskell-tools": { + "flake": false, + "locked": { + "lastModified": 1725935019, + "narHash": "sha256-M+AcprniBOBQFkhXCacAyBtFF5FZyGSG5F6e8ld+r9c=", + "owner": "mrcjkb", + "repo": "haskell-tools.nvim", + "rev": "2443c3b2ab049561009d1b5712e839db546b6586", + "type": "github" + }, + "original": { + "owner": "mrcjkb", + "repo": "haskell-tools.nvim", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -264,11 +280,63 @@ "type": "github" } }, + "render-markdown": { + "flake": false, + "locked": { + "lastModified": 1726165713, + "narHash": "sha256-6EoJWKXePglg8hiErp1VOaI/xmYFonthHZL4s96fZXc=", + "owner": "MeanderingProgrammer", + "repo": "render-markdown.nvim", + "rev": "cb935afe5bb52965e2bfc11cf7b563bb159ef4f5", + "type": "github" + }, + "original": { + "owner": "MeanderingProgrammer", + "repo": "render-markdown.nvim", + "type": "github" + } + }, "root": { "inputs": { "flake-parts": "flake-parts", + "haskell-tools": "haskell-tools", "nixpkgs": "nixpkgs", - "nixvim": "nixvim" + "nixvim": "nixvim", + "render-markdown": "render-markdown", + "rustaceanvim": "rustaceanvim", + "satellite": "satellite" + } + }, + "rustaceanvim": { + "flake": false, + "locked": { + "lastModified": 1726158967, + "narHash": "sha256-wZ8SZjHSU1WnhkKx2hXgI5pLRSglOM52kOtJbB3QCds=", + "owner": "mrcjkb", + "repo": "rustaceanvim", + "rev": "5610d5e01dc803717cc0b6b87625f2fbb548b49e", + "type": "github" + }, + "original": { + "owner": "mrcjkb", + "repo": "rustaceanvim", + "type": "github" + } + }, + "satellite": { + "flake": false, + "locked": { + "lastModified": 1725437627, + "narHash": "sha256-5WMKEsS9e9nTuylZ5pRPIW+G/52HKC1bjSdz3GvJg+8=", + "owner": "lewis6991", + "repo": "satellite.nvim", + "rev": "dfc2b220f4969ebc49b0f2a94ab6faae240705bd", + "type": "github" + }, + "original": { + "owner": "lewis6991", + "repo": "satellite.nvim", + "type": "github" } }, "systems": { diff --git a/flake.nix b/flake.nix index 7824e40..c1a5927 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,23 @@ nixvim.url = "github:nix-community/nixvim"; nixvim.inputs.nixpkgs.follows = "nixpkgs"; flake-parts.url = "github:hercules-ci/flake-parts"; + + render-markdown = { + url = "github:MeanderingProgrammer/render-markdown.nvim"; + flake = false; + }; + satellite = { + url = "github:lewis6991/satellite.nvim"; + flake = false; + }; + haskell-tools = { + url = "github:mrcjkb/haskell-tools.nvim"; + flake = false; + }; + rustaceanvim = { + url = "github:mrcjkb/rustaceanvim"; + flake = false; + }; }; outputs = @@ -33,6 +50,9 @@ nixvim' = nixvim.legacyPackages.${system}; nixvimModule = { inherit pkgs; + extraSpecialArgs = { + inherit inputs; + }; module = import ./config; }; nvim = nixvim'.makeNixvimWithModule nixvimModule;