nixos_dots/modules/home-manager/symlinks.nix
2025-07-10 23:26:18 +03:00

46 lines
2.6 KiB
Nix
Raw 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"
# Вроде это более простой симлинк, чем просто ссылка на файл
# Но мб меня обманули
{ pkgs, config, ... }: let
home-dir = "Downloads/all/other";
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}/.password-store"; # Для утилиты pass
".ssh".source = config.lib.file.mkOutOfStoreSymlink "${dir}/.ssh";
".gnupg".source = config.lib.file.mkOutOfStoreSymlink "${dir}/.gnupg";
# Games
# Browsers. Мб сделать .force, чтоб удалить сток. А мб руками удалить сток перед этим
".mozilla".source = config.lib.file.mkOutOfStoreSymlink "${dir}/.mozilla";
".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${dir}/.librewolf";
"Redis+pgAdmin".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Redis+pgAdmin";
".kube".source = config.lib.file.mkOutOfStoreSymlink "${dir}/.kube";
# Временное решение, где `native-messaging-hosts/ff2mpv.json` ссылается на ~/ff2mpv.py
#"ff2mpv.py" = {
# source = "${pkgs.ff2mpv}/bin/ff2mpv.py";
# executable = true;
#};
# Надо добавить симлинк на `native-messaging-hosts/ff2mpv.json`.
# Сначала установить это на firefox, который мне не особо важен
# А потом задать симлинк с firefox на librewolf, который мне важен
# и который я не хочу редактировать через nix
# Не знаю на счёт obs, chatbox, planify, calibre, discord, nekobox
};
}