From 6bc7c6a5fdf791b98290e181669664f67d8742a3 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 1 May 2024 20:06:17 +0100 Subject: [PATCH] Move `customVim` plugins into an overlay --- flake.nix | 4 +- lib/default.nix | 93 ++++++---------------------------------- overlays/vim-plugins.nix | 73 +++++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+), 83 deletions(-) create mode 100644 overlays/vim-plugins.nix diff --git a/flake.nix b/flake.nix index 7399e51..735f56a 100644 --- a/flake.nix +++ b/flake.nix @@ -4,12 +4,12 @@ nixpkgs-2305.url = "github:NixOS/nixpkgs/nixos-23.05"; }; - outputs = { nixpkgs, ... }@inputs: + outputs = { nixpkgs, self, ... }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; - lib = import ./lib { inherit inputs; }; + lib = import ./lib { inherit inputs self; }; inherit (lib) mkNeovim mkVimPlugin; inherit (pkgs) mkShell; diff --git a/lib/default.nix b/lib/default.nix index b21df9f..70b9091 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,4 +1,5 @@ -{ inputs }: +{ inputs, self }: + let inherit (inputs.nixpkgs) legacyPackages; in rec { mkVimPlugin = { system }: @@ -27,100 +28,30 @@ in rec { mkNeovimPlugins = { system }: let - inherit (pkgs) php82Packages vimPlugins; + inherit (pkgs) vimPlugins; inherit (pkgs.vimUtils) buildVimPlugin; pkgs = import inputs.nixpkgs { inherit system; config.allowUnfree = true; + + overlays = [ (import "${self}/overlays/vim-plugins.nix") ]; }; pkgs2305 = inputs.nixpkgs-2305.legacyPackages.${system}; - customVim = { - nvim-tmux-navigation = buildVimPlugin { - name = "nvim-tmux-navigation"; - src = pkgs.fetchFromGitHub { - owner = "alexghergh"; - repo = "nvim-tmux-navigation"; - rev = "4898c98702954439233fdaf764c39636681e2861"; - sha256 = "CxAgQSbOrg/SsQXupwCv8cyZXIB7tkWO+Y6FDtoR8xk="; - }; - }; - - obsidian-nvim = buildVimPlugin { - name = "obsidian-nvim"; - src = pkgs.fetchFromGitHub { - owner = "epwalsh/"; - repo = "obsidian.nvim"; - rev = "be075a1c8d290a383be755f0cb2411be5d065726"; - sha256 = "ygqCxoXKnSqfV92EkloGRKqe4zklwu9Xu7iG3XKmXFc="; - }; - }; - - tabline-vim = buildVimPlugin { - name = "tabline-vim"; - src = pkgs.fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - vim-caser = buildVimPlugin { - name = "vim-caser"; - src = pkgs.fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - vim-heritage = buildVimPlugin { - name = "vim-heritage"; - src = pkgs.fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - vim-textobj-xmlattr = buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = pkgs.fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - vim-zoom = buildVimPlugin { - name = "vim-zoom"; - src = pkgs.fetchFromGitHub { - owner = "dhruvasagar"; - repo = "vim-zoom"; - rev = "01c737005312c09e0449d6518decf8cedfee32c7"; - sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; - }; - }; - }; - opdavies-nvim = mkVimPlugin { inherit system; }; inherit (vimPlugins) treesj; in [ - customVim.nvim-tmux-navigation - customVim.obsidian-nvim - customVim.tabline-vim - customVim.vim-caser - customVim.vim-heritage - customVim.vim-textobj-xmlattr - customVim.vim-zoom + vimPlugins.nvim-tmux-navigation + vimPlugins.obsidian-nvim + vimPlugins.tabline-vim + vimPlugins.vim-caser + vimPlugins.vim-heritage + vimPlugins.vim-textobj-xmlattr + vimPlugins.vim-zoom vimPlugins.comment-nvim vimPlugins.dial-nvim diff --git a/overlays/vim-plugins.nix b/overlays/vim-plugins.nix new file mode 100644 index 0000000..425a7d2 --- /dev/null +++ b/overlays/vim-plugins.nix @@ -0,0 +1,73 @@ +final: prev: { + vimPlugins = prev.vimPlugins // { + nvim-tmux-navigation = final.vimUtils.buildVimPlugin { + name = "nvim-tmux-navigation"; + src = final.fetchFromGitHub { + owner = "alexghergh"; + repo = "nvim-tmux-navigation"; + rev = "4898c98702954439233fdaf764c39636681e2861"; + sha256 = "CxAgQSbOrg/SsQXupwCv8cyZXIB7tkWO+Y6FDtoR8xk="; + }; + }; + + tabline-vim = final.vimUtils.buildVimPlugin { + name = "tabline-vim"; + src = final.fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-caser = final.vimUtils.buildVimPlugin { + name = "vim-caser"; + src = final.fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + + vim-heritage = final.vimUtils.buildVimPlugin { + name = "vim-heritage"; + src = final.fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + vim-textobj-xmlattr = final.vimUtils.buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = final.fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + + vim-zoom = final.vimUtils.buildVimPlugin { + name = "vim-zoom"; + src = final.fetchFromGitHub { + owner = "dhruvasagar"; + repo = "vim-zoom"; + rev = "01c737005312c09e0449d6518decf8cedfee32c7"; + sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; + }; + }; + + obsidian-nvim = final.vimUtils.buildVimPlugin { + name = "obsidian-nvim"; + src = final.fetchFromGitHub { + owner = "epwalsh"; + repo = "obsidian.nvim"; + rev = "be075a1c8d290a383be755f0cb2411be5d065726"; + sha256 = "ygqCxoXKnSqfV92EkloGRKqe4zklwu9Xu7iG3XKmXFc="; + }; + }; + }; +}