feat(home/base/tui/editors): replace rsync by config.lib.file.mkOutOfStoreSymlink

This commit is contained in:
Ryan Yin
2024-11-22 18:55:25 +08:00
parent 961d24c80a
commit 595f76e120
3 changed files with 7 additions and 28 deletions

View File

@@ -317,36 +317,15 @@ k3s-prod:
k3s-test: k3s-test:
colmena apply --on '@k3s-test-*' --verbose --show-trace 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 # Emacs related commands
# ================================================= # =================================================
[group('emacs')] [group('emacs')]
emacs-test: 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 clean
doom sync doom sync
[group('emacs')]
emacs-clean:
rm -rf $"($env.HOME)/.config/doom/"
[group('emacs')] [group('emacs')]
emacs-purge: emacs-purge:
doom purge doom purge

View File

@@ -27,6 +27,8 @@ with lib; let
myEmacsPackagesFor = emacs: ((pkgs.emacsPackagesFor emacs).emacsWithPackages (epkgs: [ myEmacsPackagesFor = emacs: ((pkgs.emacsPackagesFor emacs).emacsWithPackages (epkgs: [
epkgs.vterm 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 { in {
options.modules.editors.emacs = { options.modules.editors.emacs = {
enable = mkEnableOption "Emacs Editor"; enable = mkEnableOption "Emacs Editor";
@@ -65,10 +67,7 @@ in {
home.shellAliases = shellAliases; home.shellAliases = shellAliases;
programs.nushell.shellAliases = shellAliases; programs.nushell.shellAliases = shellAliases;
xdg.configFile."doom" = { xdg.configFile."doom".source = config.lib.file.mkOutOfStoreSymlink configPath;
source = ./doom;
force = true;
};
home.activation.installDoomEmacs = lib.hm.dag.entryAfter ["writeBoundary"] '' home.activation.installDoomEmacs = lib.hm.dag.entryAfter ["writeBoundary"] ''
${pkgs.rsync}/bin/rsync -avz --chmod=D2755,F744 ${doomemacs}/ ${config.xdg.configHome}/emacs/ ${pkgs.rsync}/bin/rsync -avz --chmod=D2755,F744 ${doomemacs}/ ${config.xdg.configHome}/emacs/

View File

@@ -15,10 +15,11 @@ let
v = "nvim"; v = "nvim";
vdiff = "nvim -d"; 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 { in {
home.activation.installAstroNvim = lib.hm.dag.entryAfter ["writeBoundary"] '' xdg.configFile."nvim".source = config.lib.file.mkOutOfStoreSymlink configPath;
${pkgs.rsync}/bin/rsync -avz --chmod=D2755,F744 ${./nvim}/ ${config.xdg.configHome}/nvim/
'';
home.shellAliases = shellAliases; home.shellAliases = shellAliases;
programs.nushell.shellAliases = shellAliases; programs.nushell.shellAliases = shellAliases;