diff --git a/shared/home/default.nix b/shared/home/default.nix index 9b3436f..9c3bf48 100644 --- a/shared/home/default.nix +++ b/shared/home/default.nix @@ -5,7 +5,26 @@ email, devEnvironment, ... -}: { +}: let + queryWatchman = with pkgs; let + # TODO: this is a perl script which needs $LOCALE_ARCHIVE. + # As of writing, I have this in my ~/.bashrc: + # export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive + fsmon = + runCommand "fsmonitor-watchman" + { + src = "${git}/share/git-core/templates/hooks/fsmonitor-watchman.sample"; + buildInputs = [gnused]; + } '' + sed -e 's@^#!/usr/bin/perl@#!${perl}@' $src > $out + chmod +x $out + ''; + in + writeShellScript "query-watchman" '' + export PATH=${pkgs.watchman}/bin:$PATH + exec ${fsmon.outPath} "$@" + ''; +in { home = { inherit stateVersion; @@ -75,6 +94,8 @@ userName = "Motiejus Jakštys"; aliases.yolo = "commit --amend --no-edit -a"; extraConfig = { + core.fsmonitor = queryWatchman.outPath; + core.untrackedcache = true; rerere.enabled = true; pull.ff = "only"; merge.conflictstyle = "diff3";