{
  pkgs,
  config,
  ...
}: let
  inherit (pkgs.stdenv.hostPlatform) isLinux;
  repo_root = "../../..";
  nv_fonts_basic = ["Iosevka Custom"];
  nv_fonts_normal =
    nv_fonts_basic
    ++ (
      if isLinux
      then ["Noto Color Emoji"]
      else ["Apple Color Emoji"]
    );
  nv_fonts_italic = ["Dank Mono"] ++ nv_fonts_basic;
in {
  home.file = {
    "/.zsh.d/" = {
      source = ./${repo_root}/zsh/funcs;
    };
    "/.cache/zsh/completions/.keep" = {
      text = "";
      recursive = true;
    };
    ".cargo/config.toml".source = (pkgs.formats.toml {}).generate "cargo-config" {
      net = {
        git-fetch-with-cli = true;
      };
      "profile.release" = {
        lto = true;
        opt-level = 3;
      };
      # Could avoid setting this at all with another `isLinux` but whatever, doesn't truly matter
      "target.x86_64-unknown-linux-gnu" = {
        linker = "clang";
        rustflags = ["-C" "link-arg=-fuse-ld=${config.home.profileDirectory}/bin/mold"];
      };
      "registries.crates-io" = {
        protocol = "sparse";
      };
    };
    ".ideavimrc".source = ./${repo_root}/ideavim/ideavimrc;
  };
  xdg.configFile = {
    "doom/init.el" = {
      source = ./${repo_root}/emacs/emacs.doom/init.el;
      onChange = "~/.emacs.d/bin/doom sync";
    };
    "doom/config.el" = {
      source = ./${repo_root}/emacs/emacs.doom/config.el;
      onChange = "~/.emacs.d/bin/doom sync";
    };
    "doom/packages.el" = {
      source = ./${repo_root}/emacs/emacs.doom/packages.el;
      onChange = "~/.emacs.d/bin/doom sync";
    };
    "erdtree/.erdtreerc".source = ./${repo_root}/erdtree/erdtreerc;
    "kitty/kitty.conf".source = ./${repo_root}/kitty/kitty.conf;
    "lsd/config.yaml".source = ./${repo_root}/lsd/config.yaml;
    "neovide/config.toml".source = (pkgs.formats.toml {}).generate "neovide-config" {
      font = {
        normal = nv_fonts_normal;
        italic = nv_fonts_italic;
        size = 14;
      };
    };
    "ov/config.yaml".source = ./${repo_root}/ov/ov-less.yaml;
    "zed/settings.json".source = ./${repo_root}/zed/settings.json;
  };
}