nixos-private-dots/modules/home-manager/symlinks.nix
2025-08-05 16:19:57 +03:00

34 lines
2.2 KiB
Nix
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Надо удалить оригинальный файл, прежде чем делать симлинк
# Некоторые проги забивают на симлинки и заменяют их своими файлами (например thunar)
# Тут уж ничего не поделать, придётся руками настраивать
# Если выдаёт ошибку про home-manager сервис при ребилде,
# значит такой файл уже существует и симлинк туда кинуть нельзя
# Для таких файлов я сделал каталог shit
# Я не уверен надо ли писать "config.lib.file.mkOutOfStoreSymlink"
# Вроде это более простой симлинк, чем просто ссылка на файл
# Типо он напрямую симлинк кидает, а не через 100500 симлинков в nix/store
# Но мб меня обманули
{ config, ... }: let
home-dir = "backups"; # Имя каталога для бекапов. Мб захочу поменять
dir = "${config.home.homeDirectory}/${home-dir}";
in {
home.file = { # В .config этим нельзя кидать
"${home-dir}".source = config.lib.file.mkOutOfStoreSymlink "/mnt/${home-dir}"; # Чтоб остальные симлинки были от ~/backups
# Secrets
".password-store".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Backups/.password-store"; # Для утилиты pass
".ssh".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Backups/.ssh";
# Browsers. Мб сделать .force, чтоб удалить сток. А мб руками удалить сток перед этим
".mozilla".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Backups/Apps/.mozilla";
".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Backups/Apps/.librewolf";
"Downloads/Telegram Desktop".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Telegram Desktop";
};
xdg.configFile = { # Это для каталога .config
# "chromium".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Backups/Apps/chromium";
};
}