From 595f76e12036d57f55bdbe5d5dfc7e84450eaed0 Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Fri, 22 Nov 2024 18:55:25 +0800 Subject: [PATCH] feat(home/base/tui/editors): replace rsync by config.lib.file.mkOutOfStoreSymlink --- Justfile | 21 --------------------- home/base/tui/editors/emacs/default.nix | 7 +++---- home/base/tui/editors/neovim/default.nix | 7 ++++--- 3 files changed, 7 insertions(+), 28 deletions(-) diff --git a/Justfile b/Justfile index de855b798..512f8c630 100644 --- a/Justfile +++ b/Justfile @@ -317,36 +317,15 @@ k3s-prod: k3s-test: colmena apply --on '@k3s-test-*' --verbose --show-trace -############################################################################ -# -# Neovim related commands -# -############################################################################ - -[group('neovim')] -nvim-test: - rm -rf $"($env.HOME)/.config/nvim" - rsync -avz --copy-links --chmod=D2755,F744 home/base/tui/editors/neovim/nvim/ $"($env.HOME)/.config/nvim/" - -[group('neovim')] -nvim-clean: - rm -rf $"($env.HOME)/.config/nvim" - # ================================================= # Emacs related commands # ================================================= [group('emacs')] emacs-test: - rm -rf $"($env.HOME)/.config/doom" - rsync -avz --copy-links --chmod=D2755,F744 home/base/tui/editors/emacs/doom/ $"($env.HOME)/.config/doom/" doom clean doom sync -[group('emacs')] -emacs-clean: - rm -rf $"($env.HOME)/.config/doom/" - [group('emacs')] emacs-purge: doom purge diff --git a/home/base/tui/editors/emacs/default.nix b/home/base/tui/editors/emacs/default.nix index a02359230..d9f370a8b 100644 --- a/home/base/tui/editors/emacs/default.nix +++ b/home/base/tui/editors/emacs/default.nix @@ -27,6 +27,8 @@ with lib; let myEmacsPackagesFor = emacs: ((pkgs.emacsPackagesFor emacs).emacsWithPackages (epkgs: [ epkgs.vterm ])); + # to make this symlink work, we need to git clone this repo to your home directory. + configPath = "${config.home.homeDirectory}/nix-config/home/base/tui/editors/emacs/doom"; in { options.modules.editors.emacs = { enable = mkEnableOption "Emacs Editor"; @@ -65,10 +67,7 @@ in { home.shellAliases = shellAliases; programs.nushell.shellAliases = shellAliases; - xdg.configFile."doom" = { - source = ./doom; - force = true; - }; + xdg.configFile."doom".source = config.lib.file.mkOutOfStoreSymlink configPath; home.activation.installDoomEmacs = lib.hm.dag.entryAfter ["writeBoundary"] '' ${pkgs.rsync}/bin/rsync -avz --chmod=D2755,F744 ${doomemacs}/ ${config.xdg.configHome}/emacs/ diff --git a/home/base/tui/editors/neovim/default.nix b/home/base/tui/editors/neovim/default.nix index c13e63c9c..145238332 100644 --- a/home/base/tui/editors/neovim/default.nix +++ b/home/base/tui/editors/neovim/default.nix @@ -15,10 +15,11 @@ let v = "nvim"; vdiff = "nvim -d"; }; + # the path to nvim directory + # to make this symlink work, we need to git clone this repo to your home directory. + configPath = "${config.home.homeDirectory}/nix-config/home/base/tui/editors/neovim/nvim"; in { - home.activation.installAstroNvim = lib.hm.dag.entryAfter ["writeBoundary"] '' - ${pkgs.rsync}/bin/rsync -avz --chmod=D2755,F744 ${./nvim}/ ${config.xdg.configHome}/nvim/ - ''; + xdg.configFile."nvim".source = config.lib.file.mkOutOfStoreSymlink configPath; home.shellAliases = shellAliases; programs.nushell.shellAliases = shellAliases;