From 4da89a329f500100241c6a2f42dea731fb282155 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 25 Oct 2024 00:24:33 +0100 Subject: [PATCH] Move custom Vim plugins back to an overlay --- lib/nixos/configuration.nix | 10 ++- lib/shared/modules/neovim.nix | 145 ++----------------------------- lib/wsl2/default.nix | 4 +- overlays/vim-plugins-overlay.nix | 130 +++++++++++++++++++++++++++ 4 files changed, 149 insertions(+), 140 deletions(-) create mode 100644 overlays/vim-plugins-overlay.nix diff --git a/lib/nixos/configuration.nix b/lib/nixos/configuration.nix index bb0b033..95d5773 100644 --- a/lib/nixos/configuration.nix +++ b/lib/nixos/configuration.nix @@ -11,10 +11,14 @@ in { imports = [ ../../modules/nixos/desktop ]; - nixpkgs.config = { - allowUnfree = true; + nixpkgs = { + config = { + allowUnfree = true; - permittedInsecurePackages = [ "electron-27.3.11" ]; + permittedInsecurePackages = [ "electron-27.3.11" ]; + }; + + overlays = [ (import "${self}/overlays/vim-plugins-overlay.nix") ]; }; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; diff --git a/lib/shared/modules/neovim.nix b/lib/shared/modules/neovim.nix index c289291..b086118 100644 --- a/lib/shared/modules/neovim.nix +++ b/lib/shared/modules/neovim.nix @@ -5,133 +5,6 @@ ... }: -let - inherit (pkgs) fetchFromGitHub; - inherit (pkgs.vimUtils) buildVimPlugin; - - # TODO: move these back into an overlay. - customVim = { - conf-vim = buildVimPlugin { - name = "conf-vim"; - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "conf.vim"; - rev = "master"; - sha256 = "AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0="; - }; - }; - - edit-alternate-vim = buildVimPlugin { - name = "edit-alternate-vim"; - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "edit_alternate.vim"; - rev = "master"; - sha256 = "mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4="; - }; - }; - - nvim-tmux-navigation = buildVimPlugin { - name = "nvim-tmux-navigation"; - src = fetchFromGitHub { - owner = "alexghergh"; - repo = "nvim-tmux-navigation"; - rev = "4898c98702954439233fdaf764c39636681e2861"; - sha256 = "sha256-CxAgQSbOrg/SsQXupwCv8cyZXIB7tkWO+Y6FDtoR8xk="; - }; - }; - - standard-vim = buildVimPlugin { - name = "standard-vim"; - src = fetchFromGitHub { - owner = "tjdevries"; - repo = "standard.vim"; - rev = "master"; - sha256 = "9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E="; - }; - }; - - vim-autoread = buildVimPlugin { - name = "vim-autoread"; - src = fetchFromGitHub { - owner = "djoshea"; - repo = "vim-autoread"; - rev = "24061f84652d768bfb85d222c88580b3af138dab"; - sha256 = "fSADjNt1V9jgAPjxggbh7Nogcxyisi18KaVve8j+c3w="; - }; - }; - - vim-textobj-indent = buildVimPlugin { - name = "vim-textobj-indent"; - src = fetchFromGitHub { - owner = "kana"; - repo = "vim-textobj-indent"; - rev = "deb76867c302f933c8f21753806cbf2d8461b548"; - sha256 = "oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q="; - }; - }; - - toggle-checkbox-nvim = buildVimPlugin { - name = "toggle-checkbox-nvim"; - src = fetchFromGitHub { - owner = "opdavies"; - repo = "toggle-checkbox.nvim"; - rev = "main"; - sha256 = "4YSEagQnLK5MBl2z53e6sOBlCDm220GYVlc6A+HNywg="; - }; - }; - - vim-heritage = buildVimPlugin { - name = "vim-heritage"; - src = fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - vim-textobj-xmlattr = buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - tabline-vim = buildVimPlugin { - name = "tabline-vim"; - src = fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - vim-caser = buildVimPlugin { - name = "vim-caser"; - src = fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - vim-zoom = buildVimPlugin { - name = "vim-zoom"; - src = fetchFromGitHub { - owner = "dhruvasagar"; - repo = "vim-zoom"; - rev = "01c737005312c09e0449d6518decf8cedfee32c7"; - sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; - }; - }; - }; -in { programs.neovim = { enable = true; @@ -168,15 +41,15 @@ in vim-textobj-user vim-unimpaired - customVim.conf-vim - customVim.edit-alternate-vim - customVim.nvim-tmux-navigation - customVim.standard-vim - customVim.tabline-vim - customVim.vim-autoread - customVim.vim-textobj-indent - customVim.vim-textobj-xmlattr - customVim.vim-zoom + conf-vim + edit-alternate-vim + nvim-tmux-navigation + standard-vim + tabline-vim + vim-autoread + vim-textobj-indent + vim-textobj-xmlattr + vim-zoom # Testing vim-test diff --git a/lib/wsl2/default.nix b/lib/wsl2/default.nix index ba93081..5e3c55a 100644 --- a/lib/wsl2/default.nix +++ b/lib/wsl2/default.nix @@ -8,7 +8,9 @@ let inherit (pkgs) lib; - pkgs = inputs.nixpkgs.legacyPackages.${system}; + pkgs = import inputs.nixpkgs { + overlays = [ (import "${self}/overlays/vim-plugins-overlay.nix") ]; + }; shared-config = import "${self}/lib/shared/home-manager.nix" { inherit diff --git a/overlays/vim-plugins-overlay.nix b/overlays/vim-plugins-overlay.nix new file mode 100644 index 0000000..8b9dc8b --- /dev/null +++ b/overlays/vim-plugins-overlay.nix @@ -0,0 +1,130 @@ +final: prev: + +let + inherit (final) fetchFromGitHub; + inherit (final.vimUtils) buildVimPlugin; +in +{ + vimPlugins = prev.vimPlugins // { + conf-vim = buildVimPlugin { + name = "conf-vim"; + src = fetchFromGitHub { + owner = "tjdevries"; + repo = "conf.vim"; + rev = "master"; + sha256 = "AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0="; + }; + }; + + edit-alternate-vim = buildVimPlugin { + name = "edit-alternate-vim"; + src = fetchFromGitHub { + owner = "tjdevries"; + repo = "edit_alternate.vim"; + rev = "master"; + sha256 = "mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4="; + }; + }; + + nvim-tmux-navigation = buildVimPlugin { + name = "nvim-tmux-navigation"; + src = fetchFromGitHub { + owner = "alexghergh"; + repo = "nvim-tmux-navigation"; + rev = "4898c98702954439233fdaf764c39636681e2861"; + sha256 = "sha256-CxAgQSbOrg/SsQXupwCv8cyZXIB7tkWO+Y6FDtoR8xk="; + }; + }; + + standard-vim = buildVimPlugin { + name = "standard-vim"; + src = fetchFromGitHub { + owner = "tjdevries"; + repo = "standard.vim"; + rev = "master"; + sha256 = "9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E="; + }; + }; + + vim-autoread = buildVimPlugin { + name = "vim-autoread"; + src = fetchFromGitHub { + owner = "djoshea"; + repo = "vim-autoread"; + rev = "24061f84652d768bfb85d222c88580b3af138dab"; + sha256 = "fSADjNt1V9jgAPjxggbh7Nogcxyisi18KaVve8j+c3w="; + }; + }; + + vim-textobj-indent = buildVimPlugin { + name = "vim-textobj-indent"; + src = fetchFromGitHub { + owner = "kana"; + repo = "vim-textobj-indent"; + rev = "deb76867c302f933c8f21753806cbf2d8461b548"; + sha256 = "oFzUPG+IOkbKZ2gU/kduQ3G/LsLDlEjFhRP0BHBE+1Q="; + }; + }; + + toggle-checkbox-nvim = buildVimPlugin { + name = "toggle-checkbox-nvim"; + src = fetchFromGitHub { + owner = "opdavies"; + repo = "toggle-checkbox.nvim"; + rev = "main"; + sha256 = "4YSEagQnLK5MBl2z53e6sOBlCDm220GYVlc6A+HNywg="; + }; + }; + + vim-heritage = buildVimPlugin { + name = "vim-heritage"; + src = fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + vim-textobj-xmlattr = buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + + tabline-vim = buildVimPlugin { + name = "tabline-vim"; + src = fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-caser = buildVimPlugin { + name = "vim-caser"; + src = fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "6bc9f41d170711c58e0157d882a5fe8c30f34bf6"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + + vim-zoom = buildVimPlugin { + name = "vim-zoom"; + src = fetchFromGitHub { + owner = "dhruvasagar"; + repo = "vim-zoom"; + rev = "01c737005312c09e0449d6518decf8cedfee32c7"; + sha256 = "/ADzScsG0u6RJbEtfO23Gup2NYdhPkExqqOPVcQa7aQ="; + }; + }; + + }; +}