Archived
1
0
Fork 0
This repository has been archived on 2025-08-13. You can view files and clone it, but cannot push or open issues or pull requests.
nix-darwin/home/home.nix
2025-07-02 03:50:48 -05:00

178 lines
4.2 KiB
Nix

{ pkgs, spicetify-nix, ... }:
let
localFastModel = "qwen2.5-coder-num_ctx";
localReasoningModel = "deepseek-r1-num_ctx";
remoteFastModel = "deepseek/deepseek-chat-v3-0324:free"; # "qwen/qwen-2.5-coder-32b-instruct:free";
remoteReasoningModel = "deepseek/deepseek-r1-0528:free";
in
{
home = {
stateVersion = "23.11";
packages = with pkgs; [
htop
curl
coreutils
appcleaner
nil
grandperspective
iterm2
nerd-fonts.jetbrains-mono
signal-desktop-bin
the-unarchiver
bitwarden-desktop
zoom-us
teams-for-linux
ncdu
];
shell = {
enableNushellIntegration = true;
enableZshIntegration = true;
enableFishIntegration = true;
};
};
programs = {
helix = {
enable = true;
defaultEditor = true;
settings = {
editor.soft-wrap = {
enable = true;
};
};
};
nushell = {
enable = true;
settings = {
completions = {
algorithm = "fuzzy";
external.enable = true;
};
};
shellAliases = {
aichat_reasoning_remote = "aichat --model openrouter:${remoteReasoningModel}";
aichat_reasoning_local = "aichat --model ollama:${localReasoningModel}";
aichat_fast_remote = "aichat --model openrouter:${remoteFastModel}";
aichat_fast_local = "aichat --model ollama:${localFastModel}";
codex_remote = "codex --provider openrouter --model ${remoteFastModel}";
codex_local = "codex --provider ollama --model ${localFastModel}";
};
};
starship = {
enable = true;
};
carapace = {
enable = true;
};
git = {
enable = true;
delta = {
enable = true;
};
signing = {
format = "openpgp";
signByDefault = true;
};
userEmail = "contact@ethanreece.com";
userName = "Ethan Reece";
};
nix-your-shell = {
enable = true;
};
codex = {
enable = true;
settings = {
model = "${localFastModel}";
provider = "ollama";
providers = {
ollama = {
name = "Ollama";
baseURL = "http://localhost:11434/v1";
envKey = "OLLAMA_API_KEY";
};
openrouter = {
name = "OpenRouter";
baseURL = "https://openrouter.ai/api/v1";
envKey = "OPENROUTER_API_KEY";
};
};
};
};
aichat = {
enable = true;
settings = {
model = "ollama:${localFastModel}";
clients = [
{
type = "openai-compatible";
name = "ollama";
api_base = "http://localhost:11434/v1";
models = [
{
name = "${localFastModel}";
supports_function_calling = true;
supports_vision = true;
}
{
name = "${localReasoningModel}";
supports_function_calling = true;
supports_vision = true;
}
];
}
{
type = "openai-compatible";
name = "openrouter";
api_base = "https://openrouter.ai/api/v1";
models = [
{
name = "${remoteFastModel}";
supports_function_calling = true;
supports_vision = true;
}
{
name = "${remoteReasoningModel}";
supports_function_calling = true;
supports_vision = true;
}
];
}
];
};
};
rbw = {
enable = true;
settings = {
base_url = "vault.sudoer777.dev";
email = "vaultwarden@sudoer777.dev";
};
};
direnv = {
enable = true;
mise.enable = true;
nix-direnv.enable = true;
};
spicetify =
let
spicePkgs = spicetify-nix.legacyPackages.${pkgs.system};
in
{
enable = true;
enabledExtensions = with spicePkgs.extensions; [
adblock
hidePodcasts
shuffle
];
theme = spicePkgs.themes.catppuccin;
colorScheme = "mocha";
};
};
services = {
gpg-agent = {
enable = true;
};
};
}