34 lines
2.2 KiB
Nix
34 lines
2.2 KiB
Nix
# Надо удалить оригинальный файл, прежде чем делать симлинк
|
||
# Некоторые проги забивают на симлинки и заменяют их своими файлами (например 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";
|
||
};
|
||
}
|