# Надо удалить оригинальный файл, прежде чем делать симлинк
# Некоторые проги клали хуй на симлинки и заменяют их своими файлами
# Таких прог я ебал рот и проклинал хуесосов разработчиков
# Если выдаёт ошибку про 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";

    # Временное решение, где `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
  };
}
