dotfiles/nix/home-manager/modules/files.nix
2025-02-04 08:20:51 -05:00

93 lines
2.6 KiB
Nix

{
pkgs,
config,
...
}:
let
inherit (pkgs.stdenv.hostPlatform) isLinux;
repo_root = "../../..";
nv_fonts_basic = [
"TX-02-BerkeleyAC"
"Maple Mono NF"
"Departure Mono"
"Fantasque Sans Mono"
];
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;
"/bin/run_ollama" = {
source = ./${repo_root}/zsh/bin/run_ollama;
executable = true;
};
"/bin/age-op" = {
source = ./${repo_root}/bin/age-op;
executable = true;
};
};
xdg.configFile = {
"1Password/ssh/agent.toml".text = ''
[[ssh-keys]]
item = "l24kumgnx3h3gyvon6k5we54qi"
[[ssh-keys]]
item = "mpf42t6kn2hxijw5jsqti4hxfm"
'';
"cy/cyrc.janet".source = ./${repo_root}/cy/cy.janet;
"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;
# "ghostty/config".source = ./${repo_root}/ghostty/config;
"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;
};
};
"zed/settings.json".source = ./${repo_root}/zed/settings.json;
"zed/keymap.json".source = ./${repo_root}/zed/keymap.json;
};
}