The Complete Computer

Creating Soft Link Activation Scripts for Home Manager

LifeTechEmacsArcology

This is a simple CCE home-manager helper. It's used to create softlinks to files/directories/etc that aren't managed by home-manager . Configuration directories kept in sync through Syncthing are a simple example here, but it's also used to inject "secret" files like my password-store .

nix source: :tangle ~/arroyo-nix/lib/mk_activation_local_link.nix :mkdirp yes
{}: config: src: dest: config.lib.dag.entryAfter ["writeBoundary"] '' mkdir -p $(dirname ${dest}) $DRY_RUN_CMD test -e $HOME/${dest} || \ $DRY_RUN_CMD ln -s $VERBOSE_ARG \ ${src} $HOME/${dest} ''

use it like:

nix source: 
mkActivationLocalLink = import lib/mk_activation_local_link.nix {}; mkActivationLocalLink config src dest

or

nix source: 
mkActivationLocalLink = import lib/mk_activation_local_link.nix {}; mkActivationLocalLink config "${pkgs.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools/bin/cpptools" "/home/tor/tmp/cpptools"

or if you have Arroyo Nix Support

nix source: 
pkgs.lib.mkActivationLocalLink config "${pkgs.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools/bin/cpptools" "/home/tor/tmp/cpptools"