From 4520dece5f0a96e762c032e7d98d9080481f33a4 Mon Sep 17 00:00:00 2001 From: teutat3s Date: Tue, 18 Oct 2022 16:24:43 +0200 Subject: [PATCH 1/2] neovim: use nvfetcher for custom plugins --- modules/terminal-life/nvim/default.nix | 72 ++------------------- overlays/neovim-plugins.nix | 22 +++++++ overlays/rnix-lsp.nix | 9 +-- pkgs/_sources/generated.nix | 90 ++++++++++++++++++++++++-- pkgs/sources.toml | 28 ++++++++ 5 files changed, 140 insertions(+), 81 deletions(-) create mode 100644 overlays/neovim-plugins.nix diff --git a/modules/terminal-life/nvim/default.nix b/modules/terminal-life/nvim/default.nix index bc06943b..4df1892a 100644 --- a/modules/terminal-life/nvim/default.nix +++ b/modules/terminal-life/nvim/default.nix @@ -5,66 +5,6 @@ let xdg = config.home-manager.users."${psCfg.user.name}".xdg; preview-file = pkgs.writeShellScriptBin "preview-file" (import ./preview-file.nix pkgs); - - vimagit-master = pkgs.vimUtils.buildVimPlugin { - name = "vimagit-master"; - src = pkgs.fetchFromGitHub { - owner = "jreybert"; - repo = "vimagit"; - rev = "308650ddc1e9a94e49fae0ea04bbc1c45f23d4c4"; - sha256 = "sha256-fhazQQqyFaO0fdoeNI9nBshwTDhKNHH262H/QThtuO0="; - }; - }; - - instant-nvim = pkgs.vimUtils.buildVimPlugin { - name = "instant"; - src = pkgs.fetchFromGitHub { - owner = "jbyuki"; - repo = "instant.nvim"; - rev = "c02d72267b12130609b7ad39b76cf7f4a3bc9554"; - sha256 = "sha256-7Pr2Au/oGKp5kMXuLsQY4BK5Wny9L1EBdXtyS5EaZPI="; - }; - }; - - vim-caddyfile = pkgs.vimUtils.buildVimPlugin { - name = "vim-caddyfile"; - src = pkgs.fetchFromGitHub { - owner = "isobit"; - repo = "vim-caddyfile"; - rev = "24fe0720551883e407cb70ae1d7c03f162d1d5a0"; - sha256 = "sha256-rRYv3vnt31g7hNTxttTD6BWdv5JJ+ko3rPNyDUEOZ9o="; - }; - }; - - workspace = pkgs.vimUtils.buildVimPlugin { - name = "vim-workspace"; - src = pkgs.fetchFromGitHub { - owner = "thaerkh"; - repo = "vim-workspace"; - rev = "c26b473f9b073f24bacecd38477f44c5cd1f5a62"; - sha256 = "sha256-XV7opLyfkHIDO0+JJaO/x0za0gsHuklrzapTGdLHJmI="; - }; - }; - - beautify = pkgs.vimUtils.buildVimPlugin { - name = "vim-beautify"; - src = pkgs.fetchFromGitHub { - owner = "zeekay"; - repo = "vim-beautify"; - rev = "e0691483927dc5a0c051433602397419f9628623"; - sha256 = "QPTCl6KaGcAjTS5yVDov9yxmv0fDaFoPLMsrtVIG6GQ="; - }; - }; - - apprentice = pkgs.vimUtils.buildVimPlugin { - name = "vim-apprentice"; - src = pkgs.fetchFromGitHub { - owner = "romainl"; - repo = "Apprentice"; - rev = "ecd41698037f15a58125b349be76dbd2595bfb6d"; - sha256 = "sha256-9s7Yzn3IEJBjcyUq9NBIQ9wb45Xr7jOkEIoWf0lAYYg="; - }; - }; in { enable = true; @@ -108,7 +48,7 @@ in lsp_extensions-nvim nvim-lspconfig - instant-nvim + instant-nvim-nvfetcher ack-vim vim-airline @@ -119,23 +59,23 @@ in syntastic vim-gutentags vim-vinegar - workspace + vim-workspace-nvfetcher sonokai vim-hybrid-material vim-airline-themes - apprentice + vim-apprentice-nvfetcher fugitive vim-gitgutter vim-rhubarb - vimagit-master + vimagit-nvfetcher fzf-vim fzfWrapper vim-highlightedyank - beautify + vim-beautify-nvfetcher vim-surround vim-bufkill @@ -144,7 +84,7 @@ in ansible-vim emmet-vim rust-vim - vim-caddyfile + vim-caddyfile-nvfetcher vim-go vim-javascript vim-json diff --git a/overlays/neovim-plugins.nix b/overlays/neovim-plugins.nix new file mode 100644 index 00000000..b022049c --- /dev/null +++ b/overlays/neovim-plugins.nix @@ -0,0 +1,22 @@ +final: prev: { + vimPlugins = prev.vimPlugins // { + instant-nvim-nvfetcher = prev.vimUtils.buildVimPluginFrom2Nix { + inherit (prev.sources.instant-nvim-nvfetcher) pname version src; + }; + vimagit-nvfetcher = prev.vimUtils.buildVimPluginFrom2Nix { + inherit (prev.sources.vimagit-nvfetcher) pname version src; + }; + vim-caddyfile-nvfetcher = prev.vimUtils.buildVimPluginFrom2Nix { + inherit (prev.sources.vim-caddyfile-nvfetcher) pname version src; + }; + vim-workspace-nvfetcher = prev.vimUtils.buildVimPluginFrom2Nix { + inherit (prev.sources.vim-workspace-nvfetcher) pname version src; + }; + vim-beautify-nvfetcher = prev.vimUtils.buildVimPluginFrom2Nix { + inherit (prev.sources.vim-beautify-nvfetcher) pname version src; + }; + vim-apprentice-nvfetcher = prev.vimUtils.buildVimPluginFrom2Nix { + inherit (prev.sources.vim-apprentice-nvfetcher) pname version src; + }; + }; +} diff --git a/overlays/rnix-lsp.nix b/overlays/rnix-lsp.nix index 62c0f2b0..f755d110 100644 --- a/overlays/rnix-lsp.nix +++ b/overlays/rnix-lsp.nix @@ -1,13 +1,6 @@ final: prev: { rnix-lsp = prev.rnix-lsp.overrideAttrs (oldAttrs: rec { - version = "unstable-2022-07-28"; - - src = prev.fetchFromGitHub { - owner = "nix-community"; - repo = "rnix-lsp"; - rev = "ff18e04551a39ccdab0ff9c83926db3807b23478"; - sha256 = "sha256-4OIpATLdPQvryyhRQPELeqNYC0n6PCyjD6LCPdwOztc="; - }; + inherit (prev.sources.rnix-lsp-nvfetcher) pname version src; cargoDeps = oldAttrs.cargoDeps.overrideAttrs (prev.lib.const { name = "rnix-lsp-vendor.tar.gz"; diff --git a/pkgs/_sources/generated.nix b/pkgs/_sources/generated.nix index 71be3965..f8bdd149 100644 --- a/pkgs/_sources/generated.nix +++ b/pkgs/_sources/generated.nix @@ -1,16 +1,92 @@ # This file was generated by nvfetcher, please do not modify it manually. -{ fetchgit, fetchurl }: +{ fetchgit, fetchurl, fetchFromGitHub }: { + instant-nvim-nvfetcher = { + pname = "instant-nvim-nvfetcher"; + version = "294b6d08143b3db8f9db7f606829270149e1a786"; + src = fetchFromGitHub ({ + owner = "jbyuki"; + repo = "instant.nvim"; + rev = "294b6d08143b3db8f9db7f606829270149e1a786"; + fetchSubmodules = false; + sha256 = "sha256-DXJWji/NR8ZCxe014rD51v3EHJHMhRQeOoI3SsY8mR4="; + }); + }; manix = { pname = "manix"; version = "d08e7ca185445b929f097f8bfb1243a8ef3e10e4"; - src = fetchgit { - url = "https://github.com/mlvzk/manix"; + src = fetchFromGitHub ({ + owner = "mlvzk"; + repo = "manix"; rev = "d08e7ca185445b929f097f8bfb1243a8ef3e10e4"; fetchSubmodules = false; - deepClone = false; - leaveDotGit = false; - sha256 = "1b7xi8c2drbwzfz70czddc4j33s7g1alirv12dwl91hbqxifx8qs"; - }; + sha256 = "sha256-GqPuYscLhkR5E2HnSFV4R48hCWvtM3C++3zlJhiK/aw="; + }); + }; + rnix-lsp-nvfetcher = { + pname = "rnix-lsp-nvfetcher"; + version = "6925256babec4307479a4080b44f2be38056f210"; + src = fetchFromGitHub ({ + owner = "nix-community"; + repo = "rnix-lsp"; + rev = "6925256babec4307479a4080b44f2be38056f210"; + fetchSubmodules = false; + sha256 = "sha256-OKLyIXIXhUnRB3Xw+7zI3u6XkwF7Mrbfz1XaasV6i7Q="; + }); + }; + vim-apprentice-nvfetcher = { + pname = "vim-apprentice-nvfetcher"; + version = "9942d0bb0a5d82f7a24450b00051c1f2cc008659"; + src = fetchFromGitHub ({ + owner = "romainl"; + repo = "Apprentice"; + rev = "9942d0bb0a5d82f7a24450b00051c1f2cc008659"; + fetchSubmodules = false; + sha256 = "sha256-Xs+vTdnihNbBFPOKsW+NB40pqN9eaadqzc0DIeNoOFo="; + }); + }; + vim-beautify-nvfetcher = { + pname = "vim-beautify-nvfetcher"; + version = "e0691483927dc5a0c051433602397419f9628623"; + src = fetchFromGitHub ({ + owner = "zeekay"; + repo = "vim-beautify"; + rev = "e0691483927dc5a0c051433602397419f9628623"; + fetchSubmodules = false; + sha256 = "sha256-QPTCl6KaGcAjTS5yVDov9yxmv0fDaFoPLMsrtVIG6GQ="; + }); + }; + vim-caddyfile-nvfetcher = { + pname = "vim-caddyfile-nvfetcher"; + version = "24fe0720551883e407cb70ae1d7c03f162d1d5a0"; + src = fetchFromGitHub ({ + owner = "isobit"; + repo = "vim-caddyfile"; + rev = "24fe0720551883e407cb70ae1d7c03f162d1d5a0"; + fetchSubmodules = false; + sha256 = "sha256-rRYv3vnt31g7hNTxttTD6BWdv5JJ+ko3rPNyDUEOZ9o="; + }); + }; + vim-workspace-nvfetcher = { + pname = "vim-workspace-nvfetcher"; + version = "c26b473f9b073f24bacecd38477f44c5cd1f5a62"; + src = fetchFromGitHub ({ + owner = "thaerkh"; + repo = "vim-workspace"; + rev = "c26b473f9b073f24bacecd38477f44c5cd1f5a62"; + fetchSubmodules = false; + sha256 = "sha256-XV7opLyfkHIDO0+JJaO/x0za0gsHuklrzapTGdLHJmI="; + }); + }; + vimagit-nvfetcher = { + pname = "vimagit-nvfetcher"; + version = "308650ddc1e9a94e49fae0ea04bbc1c45f23d4c4"; + src = fetchFromGitHub ({ + owner = "jreybert"; + repo = "vimagit"; + rev = "308650ddc1e9a94e49fae0ea04bbc1c45f23d4c4"; + fetchSubmodules = false; + sha256 = "sha256-fhazQQqyFaO0fdoeNI9nBshwTDhKNHH262H/QThtuO0="; + }); }; } diff --git a/pkgs/sources.toml b/pkgs/sources.toml index f7af168e..b3535048 100644 --- a/pkgs/sources.toml +++ b/pkgs/sources.toml @@ -2,3 +2,31 @@ [manix] src.git = "https://github.com/mlvzk/manix" fetch.github = "mlvzk/manix" + +[rnix-lsp-nvfetcher] +src.git = "https://github.com/nix-community/rnix-lsp" +fetch.github = "nix-community/rnix-lsp" + +[vimagit-nvfetcher] +src.git = "https://github.com/jreybert/vimagit" +fetch.github = "jreybert/vimagit" + +[instant-nvim-nvfetcher] +src.git = "https://github.com/jbyuki/instant.nvim" +fetch.github = "jbyuki/instant.nvim" + +[vim-caddyfile-nvfetcher] +src.git = "https://github.com/isobit/vim-caddyfile" +fetch.github = "isobit/vim-caddyfile" + +[vim-workspace-nvfetcher] +src.git = "https://github.com/thaerkh/vim-workspace" +fetch.github = "thaerkh/vim-workspace" + +[vim-beautify-nvfetcher] +src.git = "https://github.com/zeekay/vim-beautify" +fetch.github = "zeekay/vim-beautify" + +[vim-apprentice-nvfetcher] +src.git = "https://github.com/romainl/Apprentice" +fetch.github = "romainl/Apprentice" From ea6233f57e994286bd989c4527f4999c108713db Mon Sep 17 00:00:00 2001 From: teutat3s Date: Tue, 18 Oct 2022 16:44:00 +0200 Subject: [PATCH 2/2] zsh: fetch plugins using nvfetcher --- modules/terminal-life/zsh/default.nix | 31 ++++--------------- pkgs/_sources/generated.nix | 44 +++++++++++++++++++++++++++ pkgs/sources.toml | 16 ++++++++++ 3 files changed, 66 insertions(+), 25 deletions(-) diff --git a/modules/terminal-life/zsh/default.nix b/modules/terminal-life/zsh/default.nix index b68a4270..36ec41ad 100644 --- a/modules/terminal-life/zsh/default.nix +++ b/modules/terminal-life/zsh/default.nix @@ -40,46 +40,27 @@ in myip = "dig +short myip.opendns.com @208.67.222.222 2>&1"; }; plugins = [ + # src gets fetched by nvfetcher, see: ./pkgs/sources.toml { # will source ohmyzsh/plugins/z/ name = "zsh-plugins-z"; - file = "plugins/z/z.sh"; - src = pkgs.fetchFromGitHub { - owner = "ohmyzsh"; - repo = "ohmyzsh"; - rev = "249c708ed3a4a7a63d16a6e911a46b6fb9623cbd"; - sha256 = "sha256-NAVotL5RxpS/zKnO+ngMIjv787lqc1dj/c4blQrQcvU="; - }; + file = "plugins/z/z.plugin.zsh"; + src = pkgs.sources.ohmyzsh.src; } { name = "zsh-powerlevel10k"; file = "powerlevel10k.zsh-theme"; - src = pkgs.fetchFromGitHub { - owner = "romkatv"; - repo = "powerlevel10k"; - rev = "2dd6a29e4d7a33bfef10973d6550e087be37ddee"; - sha256 = "sha256-9vc4cMBCNOmPOyzGwnPeMrXXyQUq4pC9Du3AWl9+Rys="; - }; + src = pkgs.sources.powerlevel10k.src; } { name = "zsh-fast-syntax-highlighting"; file = "F-Sy-H.plugin.zsh"; - src = pkgs.fetchFromGitHub { - owner = "z-shell"; - repo = "F-Sy-H"; - rev = "c4bdc485b67b58351a24f21fcac92c9e0232b939"; - sha256 = "sha256-uXBGIdJwubuueNhQRdGxPUi0eJN17cflYAuHTjeQ8FQ="; - }; + src = pkgs.sources.F-Sy-H.src; } { name = "zsh-nix-shell"; file = "nix-shell.plugin.zsh"; - src = pkgs.fetchFromGitHub { - owner = "chisui"; - repo = "zsh-nix-shell"; - rev = "af6f8a266ea1875b9a3e86e14796cadbe1cfbf08"; - sha256 = "sha256-BjgMhILEL/qdgfno4LR64LSB8n9pC9R+gG7IQWwgyfQ="; - }; + src = pkgs.sources.zsh-nix-shell.src; } ]; diff --git a/pkgs/_sources/generated.nix b/pkgs/_sources/generated.nix index f8bdd149..30bcbdef 100644 --- a/pkgs/_sources/generated.nix +++ b/pkgs/_sources/generated.nix @@ -1,6 +1,17 @@ # This file was generated by nvfetcher, please do not modify it manually. { fetchgit, fetchurl, fetchFromGitHub }: { + F-Sy-H = { + pname = "F-Sy-H"; + version = "b935a87a75560f8173dd78deee6717c59d464e06"; + src = fetchFromGitHub ({ + owner = "z-shell"; + repo = "F-Sy-H"; + rev = "b935a87a75560f8173dd78deee6717c59d464e06"; + fetchSubmodules = false; + sha256 = "sha256-448OlDnrDkUjvaSLDhXsa9bkgYXzj1Ju8CTpJVjH8LM="; + }); + }; instant-nvim-nvfetcher = { pname = "instant-nvim-nvfetcher"; version = "294b6d08143b3db8f9db7f606829270149e1a786"; @@ -23,6 +34,28 @@ sha256 = "sha256-GqPuYscLhkR5E2HnSFV4R48hCWvtM3C++3zlJhiK/aw="; }); }; + ohmyzsh = { + pname = "ohmyzsh"; + version = "65a1e4edbe678cdac37ad96ca4bc4f6d77e27adf"; + src = fetchFromGitHub ({ + owner = "ohmyzsh"; + repo = "ohmyzsh"; + rev = "65a1e4edbe678cdac37ad96ca4bc4f6d77e27adf"; + fetchSubmodules = false; + sha256 = "sha256-qyI7CU0vKhhADZfQtD73GsyAbqdMPhDQ1uA03h4erpw="; + }); + }; + powerlevel10k = { + pname = "powerlevel10k"; + version = "8091c8a3a8a845c70046684235a01cd500075def"; + src = fetchFromGitHub ({ + owner = "romkatv"; + repo = "powerlevel10k"; + rev = "8091c8a3a8a845c70046684235a01cd500075def"; + fetchSubmodules = false; + sha256 = "sha256-I0/tktXCbZ3hMYTNvPoWfOEYWRgmHoXsar/jcUB6bpo="; + }); + }; rnix-lsp-nvfetcher = { pname = "rnix-lsp-nvfetcher"; version = "6925256babec4307479a4080b44f2be38056f210"; @@ -89,4 +122,15 @@ sha256 = "sha256-fhazQQqyFaO0fdoeNI9nBshwTDhKNHH262H/QThtuO0="; }); }; + zsh-nix-shell = { + pname = "zsh-nix-shell"; + version = "af6f8a266ea1875b9a3e86e14796cadbe1cfbf08"; + src = fetchFromGitHub ({ + owner = "chisui"; + repo = "zsh-nix-shell"; + rev = "af6f8a266ea1875b9a3e86e14796cadbe1cfbf08"; + fetchSubmodules = false; + sha256 = "sha256-BjgMhILEL/qdgfno4LR64LSB8n9pC9R+gG7IQWwgyfQ="; + }); + }; } diff --git a/pkgs/sources.toml b/pkgs/sources.toml index b3535048..5ec5e936 100644 --- a/pkgs/sources.toml +++ b/pkgs/sources.toml @@ -3,6 +3,22 @@ src.git = "https://github.com/mlvzk/manix" fetch.github = "mlvzk/manix" +[ohmyzsh] +src.git = "https://github.com/ohmyzsh/ohmyzsh" +fetch.github = "ohmyzsh/ohmyzsh" + +[powerlevel10k] +src.git = "https://github.com/romkatv/powerlevel10k" +fetch.github = "romkatv/powerlevel10k" + +[F-Sy-H] +src.git = "https://github.com/z-shell/F-Sy-H" +fetch.github = "z-shell/F-Sy-H" + +[zsh-nix-shell] +src.git = "https://github.com/chisui/zsh-nix-shell" +fetch.github = "chisui/zsh-nix-shell" + [rnix-lsp-nvfetcher] src.git = "https://github.com/nix-community/rnix-lsp" fetch.github = "nix-community/rnix-lsp"