commit
This commit is contained in:
parent
bdaf917c15
commit
cf4346ffed
57 changed files with 2505 additions and 53 deletions
|
|
@ -3,7 +3,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
nvimDir = "${config.my.configDir}/modules/home/config/programs/neovim";
|
||||
in {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
package = pkgs.neovim-nightly;
|
||||
|
|
@ -40,43 +42,29 @@
|
|||
xdg.configFile = {
|
||||
# Raw symlink to the plugin manager lock file, so that it stays writeable
|
||||
"nvim/lazy-lock.json".source = config.lib.file.mkOutOfStoreSymlink "${nvimDir}/lazy-lock.json";
|
||||
"nvim/lua/nix/palette.lua".text = "return ${lib.generators.toLua {} palette}";
|
||||
"nvim/lua/nix/tools.lua".text = ''
|
||||
vim.g.sqlite_clib_path = '${pkgs.sqlite.out}/lib/libsqlite3.so'
|
||||
|
||||
return {
|
||||
gcc = '${lib.getExe pkgs.gcc}';
|
||||
}
|
||||
'';
|
||||
"nvim" = {
|
||||
source = ./config;
|
||||
recursive = true;
|
||||
};
|
||||
"${config.my.configDir}/.nixd.json".text = builtins.toJSON {
|
||||
options = {
|
||||
enable = true;
|
||||
target.installable = ".#homeConfigurations.nixd.options";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.activation.neovim = lib.home-manager.hm.dag.entryAfter ["linkGeneration"] ''
|
||||
#! /bin/bash
|
||||
NVIM_WRAPPER=~/.nix-profile/bin/nvim
|
||||
STATE_DIR=~/.local/state/nix/
|
||||
STATE_FILE=$STATE_DIR/lazy-lock-checksum
|
||||
LOCK_FILE=~/.config/nvim/lazy-lock.json
|
||||
HASH=$(nix-hash --flat $LOCK_FILE)
|
||||
|
||||
[ ! -d $STATE_DIR ] && mkdir -p $STATE_DIR
|
||||
[ ! -f $STATE_FILE ] && touch $STATE_FILE
|
||||
|
||||
if [ "$(cat $STATE_FILE)" != "$HASH" ]; then
|
||||
echo "Syncing neovim plugins"
|
||||
PATH="$PATH:${pkgs.git}/bin" $DRY_RUN_CMD $NVIM_WRAPPER --headless "+Lazy! restore" +qa
|
||||
$DRY_RUN_CMD echo $HASH >$STATE_FILE
|
||||
else
|
||||
$VERBOSE_ECHO "Neovim plugins already synced, skipping"
|
||||
fi
|
||||
'';
|
||||
# home.activation.neovim = hm.dag.entryAfter ["linkGeneration"] ''
|
||||
# #! /bin/bash
|
||||
# NVIM_WRAPPER=~/.nix-profile/bin/nvim
|
||||
# STATE_DIR=~/.local/state/nix/
|
||||
# STATE_FILE=$STATE_DIR/lazy-lock-checksum
|
||||
# LOCK_FILE=~/.config/nvim/lazy-lock.json
|
||||
# HASH=$(nix-hash --flat $LOCK_FILE)
|
||||
#
|
||||
# [ ! -d $STATE_DIR ] && mkdir -p $STATE_DIR
|
||||
# [ ! -f $STATE_FILE ] && touch $STATE_FILE
|
||||
#
|
||||
# if [ "$(cat $STATE_FILE)" != "$HASH" ]; then
|
||||
# echo "Syncing neovim plugins"
|
||||
# PATH="$PATH:${pkgs.git}/bin" $DRY_RUN_CMD $NVIM_WRAPPER --headless "+Lazy! restore" +qa
|
||||
# $DRY_RUN_CMD echo $HASH >$STATE_FILE
|
||||
# else
|
||||
# $VERBOSE_ECHO "Neovim plugins already synced, skipping"
|
||||
# fi
|
||||
# '';
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue