dotfiles/module/home-manager.nix
2026-06-29 12:03:28 +02:00

169 lines
3.5 KiB
Nix

{ email }: { config, inputs, pkgs, ... }:
let
piFirecrawl = pkgs.callPackage ../pkgs/pi-firecrawl.nix { };
in
{
home.file.".clojure/deps.edn".source = ../config/clojure/deps.edn;
sops = {
age.keyFile = "${config.home.homeDirectory}/Library/Application Support/sops/age/keys.txt";
defaultSopsFile = ../secrets/secrets.yaml;
secrets.firecrawl_api_key = { };
};
targets.darwin.defaults = {
NSGlobalDomain = {
AppleLanguages = [ "en" "de" ];
AppleLocale = "en_US";
AppleMeasurementUnits = "Centimeters";
AppleMetricUnits = true;
AppleTemperatureUnit = "Celsius";
};
};
home.packages = with pkgs; [
babashka
bottom
btop
bun
cascadia-code
clj-kondo
cloc
cmake
codex-acp
coreutils
curl
fira-code
gnupg
htop
imagemagick
inputs.hermes-agent.packages.${pkgs.stdenv.hostPlatform.system}.messaging
iosevka-comfy.comfy
iosevka-comfy.comfy-motion-duo
jetbrains-mono
jq
kubectl
ledger
nixd
nixpkgs-fmt
nodejs
typescript-language-server
vscode-json-languageserver
noto-fonts
pass
pinentry_mac
ripgrep
sops
tree
typescript
wget
];
home.stateVersion = "24.11";
home.sessionVariables = {
PAGER = "less";
CLICOLOR = 1;
EDITOR = "emacs";
};
programs = {
direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
fzf = {
enable = true;
enableZshIntegration = true;
};
git = {
enable = true;
signing.format = null;
settings = {
core.editor = "emacsclient -c -a ''";
init.defaultBranch = "main";
pull.rebase = true;
rebase.updateRefs = true;
user.name = "Tobias Ostner";
user.email = email;
};
};
opencode = {
enable = true;
};
pi.coding-agent = {
enable = true;
environment = {
FIRECRAWL_API_KEY = config.sops.secrets.firecrawl_api_key.path;
};
settings = {
defaultProvider = "openai-codex";
defaultModel = "gpt-5.5";
defaultThinkingLevel = "medium";
packages = [
"${piFirecrawl}/lib/pi-packages/@firecrawl/pi-firecrawl"
];
};
};
starship = {
enable = true;
enableZshIntegration = true;
settings = {
gcloud.disabled = true;
aws.disabled = true;
hostname.style = "bold green";
};
};
zoxide = {
enable = true;
enableZshIntegration = true;
};
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
initContent = builtins.readFile ../config/zsh/zshrc;
syntaxHighlighting.enable = true;
shellAliases = {
ls = "ls --color=auto -F";
emacs = "emacsclient -c -a ''";
};
};
};
services.gpg-agent = {
enable = true;
pinentry.package = pkgs.pinentry_mac;
};
launchd.agents.disable-hotkey = {
enable = true;
config = {
ProgramArguments = [
"defaults"
"write"
"com.apple.symbolichotkeys"
"AppleSymbolicHotKeys"
"-dict-add"
"70"
"<dict><key>enabled</key><false/></dict>"
];
RunAtLoad = true;
};
};
xdg.configFile."aerospace/aerospace.toml".text = builtins.readFile ../config/aerospace/aerospace.toml;
xdg.configFile.".bunfig.toml".text = builtins.readFile ../config/bun/bunfig.toml;
xdg.configFile."ghostty/config".text = builtins.readFile ../config/ghostty/config;
}