From b9c6070a6a0d459e34ffaa7eacab5ac6c6764f6f Mon Sep 17 00:00:00 2001 From: "RingOfStorms (Joshua Bell)" Date: Tue, 30 Apr 2024 12:31:42 -0500 Subject: [PATCH] updates --- flake.nix | 52 +++++++++++++--------------------------------------- init.lua | 14 ++++++-------- 2 files changed, 19 insertions(+), 47 deletions(-) diff --git a/flake.nix b/flake.nix index e7864bf..44fcc53 100644 --- a/flake.nix +++ b/flake.nix @@ -78,42 +78,16 @@ neovim = (pkgs.wrapNeovimUnstable pkgs.neovim-unwrapped - (pkgs.neovimUtils.makeNeovimConfig - { - withPython3 = false; - customRC = '' - lua ${nvimPluginPaths} - lua ${nvimConfigStorePath} - luafile ${./.}/init.lua - set runtimepath^=${builtins.concatStringsSep "," treesitterParsers} - ''; - # lua package.path = package.path .. ";${./.}/lua/?.lua" - # lua print("HELLO WORLD 123! TEST") - # lua print("${./.}") - # -- lua package.runtimepath = "${./.}` - # plugins = [ - # pkgs.vimPlugins.nvim-treesitter.withAllGrammars - # ]; - # customRC = import ./lua { inherit lib self; }; - # wrapperArgs = [ - # # Add runtime dependencies to neovim path - # "--prefix" - # "PATH" - # ":" - # "${lib.makeBinPath runtimeDependencies}" - # # Set the LAZY env path to the nix store - # "--set" - # "LAZY" - # "${inputs.nvim_plugin-folke/lazy.nvim}" - # # Use custom XDG_CONFIG_HOME so it doesn't use the user's real one - # # TODO do I need to set all the XDG_ env vars? - or should I remove this entirely? - # "--set" - # "XDG_CONFIG_HOME" - # "${./.}" - # ]; - } - - ) + (pkgs.neovimUtils.makeNeovimConfig { + withPython3 = false; + customRC = '' + lua IS_NIX=true + lua ${nvimPluginPaths} + lua ${nvimConfigStorePath} + luafile ${./.}/init.lua + set runtimepath^=${builtins.concatStringsSep "," treesitterParsers} + ''; + }) ).overrideAttrs (old: { generatedWrapperArgs = old.generatedWrapperArgs or [ ] ++ [ @@ -122,12 +96,12 @@ "PATH" ":" "${lib.makeBinPath runtimeDependencies}" - # Set the LAZY env path to the nix store + # Set the LAZY env path to the nix store, see init.lua for how it is used "--set" "LAZY" "${inputs."nvim_plugin-folke/lazy.nvim"}" - # Use custom XDG_CONFIG_HOME so it doesn't use the user's real one - # TODO do I need to set all the XDG_ env vars? - or should I remove this entirely? + # Don't use default directories to not collide with another neovim config + # All things at runtime should be deletable since we are using nix to handle downloads and bins. "--set" "XDG_CONFIG_HOME" "/tmp/nvim_flaked/config" diff --git a/init.lua b/init.lua index d49570c..e8e1535 100644 --- a/init.lua +++ b/init.lua @@ -1,4 +1,6 @@ -if NVIM_CONFIG_STORE_PATH then +print("LOADING... is nix: " .. vim.inspect(IS_NIX)) + +if IS_NIX then -- Add my lua dir to the path. THIS IS NOT RECURSIVE! -- For recursive we can do something like this: https://github.com/RingOfStorms/nvim/blob/0b833d555c69e88b450a10eec4e39a782bad1037/init.lua#L1-L17 -- However this pollutes the path, it oculd be limited to just init files but this approach here one level deep is adequate for my own needs @@ -12,8 +14,8 @@ require("keymaps") -- When using nix, it will set lazy via LAZY env variable. local lazypath = vim.env.LAZY or (vim.fn.stdpath("data") .. "/lazy/lazy.nvim") if not vim.loop.fs_stat(lazypath) then - if vim.env.LAZY then - error("LAZY environment variable provided but it does not exist at path: " .. vim.env.LAZY) + if IS_NIX then + error("LAZY environment variable to nix store was not found: " .. vim.env.LAZY) return end -- For non nix systems, pull lazy stable to the normal XDG config path @@ -31,13 +33,9 @@ if not vim.loop.fs_stat(lazypath) then end vim.opt.rtp:prepend(lazypath) -print("TEST") --- local asd = require("plugins") --- print("TEST2 " .. vim.inspect(asd)) - -- Setup lazy function getSpec() - if NVIM_CONFIG_STORE_PATH then + if IS_NIX then local plugins = {} local plugins_path = debug.getinfo(2, "S").source:sub(2):match("(.*/)") .. "lua/plugins" for _, file in ipairs(vim.fn.readdir(plugins_path, [[v:val =~ '\.lua$']])) do