From 8a22a861d46544f19d0e1a1f1336402b66b251cf Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 22 Mar 2023 23:21:57 +0000 Subject: [PATCH] refactor(nvim): move custom plugins to an overlay --- configuration/pop-os/default.nix | 7 ++- configuration/shared/nixpkgs.nix | 7 +++ configuration/shared/overlays.nix | 73 +++++++++++++++++++++++++++++++ home-manager/modules/common.nix | 72 +----------------------------- 4 files changed, 87 insertions(+), 72 deletions(-) create mode 100644 configuration/shared/nixpkgs.nix create mode 100644 configuration/shared/overlays.nix diff --git a/configuration/pop-os/default.nix b/configuration/pop-os/default.nix index 008cf1d..7b49010 100644 --- a/configuration/pop-os/default.nix +++ b/configuration/pop-os/default.nix @@ -1,5 +1,8 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: +let + nixpkgs = import ../shared/nixpkgs.nix { }; +in { imports = [ ../../home-manager/modules/common.nix @@ -9,6 +12,8 @@ ../../home-manager/modules/zsh.nix ]; + nixpkgs = nixpkgs; + fonts.fontconfig.enable = true; home.packages = with pkgs; [ diff --git a/configuration/shared/nixpkgs.nix b/configuration/shared/nixpkgs.nix new file mode 100644 index 0000000..c0aa10c --- /dev/null +++ b/configuration/shared/nixpkgs.nix @@ -0,0 +1,7 @@ +{ }: { + config = { + allowUnfree = true; + }; + + overlays = [ (import ./overlays.nix) ]; +} diff --git a/configuration/shared/overlays.nix b/configuration/shared/overlays.nix new file mode 100644 index 0000000..1095d1d --- /dev/null +++ b/configuration/shared/overlays.nix @@ -0,0 +1,73 @@ +self: super: { + customVim = with self; { + vim-astro = pkgs.vimUtils.buildVimPlugin { + name = "vim-astro"; + src = pkgs.fetchFromGitHub { + owner = "wuelnerdotexe"; + repo = "vim-astro"; + rev = "main"; + sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; + }; + }; + + vim-heritage = pkgs.vimUtils.buildVimPlugin { + name = "vim-heritage"; + src = pkgs.fetchFromGitHub { + owner = "jessarcher"; + repo = "vim-heritage"; + rev = "cffa05c78c0991c998adc4504d761b3068547db6"; + sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; + }; + }; + + vim-just = pkgs.vimUtils.buildVimPlugin { + name = "vim-just"; + src = pkgs.fetchFromGitHub { + owner = "NoahTheDuke"; + repo = "vim-just"; + rev = "838c9096d4c5d64d1000a6442a358746324c2123"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { + name = "vim-textobj-xmlattr"; + src = pkgs.fetchFromGitHub { + owner = "whatyouhide"; + repo = "vim-textobj-xmlattr"; + rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; + sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; + }; + }; + + tabline-vim = pkgs.vimUtils.buildVimPlugin { + name = "tabline-vim"; + src = pkgs.fetchFromGitHub { + owner = "mkitt"; + repo = "tabline.vim"; + rev = "69c9698a3240860adaba93615f44778a9ab724b4"; + sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; + }; + }; + + vim-caser = pkgs.vimUtils.buildVimPlugin { + name = "vim-caser"; + src = pkgs.fetchFromGitHub { + owner = "arthurxavierx"; + repo = "vim-caser"; + rev = "master"; + sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; + }; + }; + + vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { + name = "vim-visual-star-search"; + src = pkgs.fetchFromGitHub { + owner = "nelstrom"; + repo = "vim-visual-star-search"; + rev = "37259722f45996733fd309add61385a4ad88bdb9"; + sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; + }; + }; + }; +} diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index a7b57e2..d13d0c6 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -14,77 +14,7 @@ in { enable = true; package = pkgs.neovim-nightly; - plugins = let - customVim.vim-astro = pkgs.vimUtils.buildVimPlugin { - name = "vim-astro"; - src = pkgs.fetchFromGitHub { - owner = "wuelnerdotexe"; - repo = "vim-astro"; - rev = "main"; - sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY="; - }; - }; - - customVim.vim-heritage = pkgs.vimUtils.buildVimPlugin { - name = "vim-heritage"; - src = pkgs.fetchFromGitHub { - owner = "jessarcher"; - repo = "vim-heritage"; - rev = "cffa05c78c0991c998adc4504d761b3068547db6"; - sha256 = "Lebe5V1XFxn4kSZ+ImZ69Vst9Nbc0N7eA9IzOCijFS0="; - }; - }; - - customVim.vim-just = pkgs.vimUtils.buildVimPlugin { - name = "vim-just"; - src = pkgs.fetchFromGitHub { - owner = "NoahTheDuke"; - repo = "vim-just"; - rev = "838c9096d4c5d64d1000a6442a358746324c2123"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - customVim.vim-textobj-xmlattr = pkgs.vimUtils.buildVimPlugin { - name = "vim-textobj-xmlattr"; - src = pkgs.fetchFromGitHub { - owner = "whatyouhide"; - repo = "vim-textobj-xmlattr"; - rev = "694a297f1d75fd527e87da9769f3c6519a87ebb1"; - sha256 = "+91FVP95oh00flINdltqx6qJuijYo56tHIh3J098G2Q="; - }; - }; - - customVim.tabline-vim = pkgs.vimUtils.buildVimPlugin { - name = "tabline-vim"; - src = pkgs.fetchFromGitHub { - owner = "mkitt"; - repo = "tabline.vim"; - rev = "69c9698a3240860adaba93615f44778a9ab724b4"; - sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y="; - }; - }; - - customVim.vim-caser = pkgs.vimUtils.buildVimPlugin { - name = "vim-caser"; - src = pkgs.fetchFromGitHub { - owner = "arthurxavierx"; - repo = "vim-caser"; - rev = "master"; - sha256 = "PXAY01O/cHvAdWx3V/pyWFeiV5qJGvLcAKhl5DQc0Ps="; - }; - }; - - customVim.vim-visual-star-search = pkgs.vimUtils.buildVimPlugin { - name = "vim-visual-star-search"; - src = pkgs.fetchFromGitHub { - owner = "nelstrom"; - repo = "vim-visual-star-search"; - rev = "37259722f45996733fd309add61385a4ad88bdb9"; - sha256 = "n8jd6fy30XukZ9NFZX5qclSlMfziP/Ew9dXfkysRl4Y="; - }; - }; - in with pkgs; [ + plugins = with pkgs; [ customVim.tabline-vim customVim.vim-astro customVim.vim-caser