86 lines
2.5 KiB
Nix
86 lines
2.5 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
...
|
|
}: let
|
|
inherit (pkgs.stdenv.hostPlatform) isLinux;
|
|
repo_root = "../../..";
|
|
nv_fonts_basic = ["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"
|
|
'';
|
|
"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;
|
|
};
|
|
};
|
|
"zed/settings.json".source = ./${repo_root}/zed/settings.json;
|
|
"zed/keymap.json".source = ./${repo_root}/zed/keymap.json;
|
|
};
|
|
}
|