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.
{}:
config: src: dest:
["writeBoundary"] ''
config.lib.dag.entryAfter mkdir -p $(dirname ${dest})
$DRY_RUN_CMD test -e $HOME/${dest} || \
$DRY_RUN_CMD ln -s $VERBOSE_ARG \
${src} $HOME/${dest}
''
use it like:
import lib/mk_activation_local_link.nix {};
mkActivationLocalLink = mkActivationLocalLink config src dest
or
import lib/mk_activation_local_link.nix {};
mkActivationLocalLink = "${pkgs.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools/bin/cpptools" "/home/tor/tmp/cpptools" mkActivationLocalLink config
or if you have Arroyo Nix Support
"${pkgs.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools/bin/cpptools" "/home/tor/tmp/cpptools" pkgs.lib.mkActivationLocalLink config