diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-10-24 15:13:13 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-10-24 15:13:13 +0200 |
commit | 6cd16cfab0e9d8557d8a6e876fffb636da615cc9 (patch) | |
tree | f7893309ec1a3e776df733384ff7cd984a7c0aff /flake | |
parent | refactor({modules,pkgs}/by-name-overlay): De-duplicate in a `nixLib` (diff) | |
download | nixos-config-6cd16cfab0e9d8557d8a6e876fffb636da615cc9.tar.gz nixos-config-6cd16cfab0e9d8557d8a6e876fffb636da615cc9.zip |
feat(modules/unison): Auto-ignore all symlinks made with `home.file`
This allows us to actually sync symlinks, as most of the unwanted ones are already ignored. And syncing the `.direnv` gc-roots is not that much of a problem, because these are re-generated when they point to a non-existent path.
Diffstat (limited to 'flake')
-rw-r--r-- | flake/nixosConfigurations/common.nix | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/flake/nixosConfigurations/common.nix b/flake/nixosConfigurations/common.nix index 2ff85521..68533bd8 100644 --- a/flake/nixosConfigurations/common.nix +++ b/flake/nixosConfigurations/common.nix @@ -43,16 +43,24 @@ foreign.userName = "soispha"; dataDir = "${config.home-manager.users.soispha.xdg.dataHome}/unison"; userSourceDir = "/srv/home/soispha"; - pathsToIgnore = [ - # already synchronized by the taskserver - "~/.local/share/task" + pathsToIgnore = let + extractTarget = attr: "~/${attr.target}"; + homeManagerSymlinks = + builtins.map extractTarget + (builtins.attrValues + config.home-manager.users.soispha.home.file); + in + [ + # already synchronized by the taskserver + "~/.local/share/task" - # Should not be synchronized - "~/.local/share/unison" + # Should not be synchronized + "~/.local/share/unison" - # Is just to big to be synchronized (# TODO: Work around that <2024-08-31> ) - "~/media/music" - ]; + # Is just to big to be synchronized (# TODO: Work around that <2024-08-31> ) + "~/media/music" + ] + ++ homeManagerSymlinks; pathsToSync = [ "~/.local/state/mpv" |