refactor: home confign + macos.nix with direnv and additional development tools

This commit is contained in:
DannyDannyDanny 2026-01-11 13:18:43 +01:00
parent 92c6bc69b6
commit 4bc5e5a245
2 changed files with 52 additions and 50 deletions

View file

@ -145,6 +145,19 @@
}; };
}; };
# direnv (user-level tool)
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
# Environment variables (user-level)
home.sessionVariables = {
DBT_USER = "DNTH"; # TODO: remove this
EDITOR = "nvim";
VISUAL = "nvim";
};
# Alacritty terminal configuration with conditional theme switching # Alacritty terminal configuration with conditional theme switching
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;
@ -211,7 +224,42 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
# Google Fonts (includes Michroma) # Google Fonts (includes Michroma)
google-fonts google-fonts
];
# Development tools
ripgrep # replacement for grep
fd # replacement for find
wget # downloader
# azure-cli # TODO: remove this Azure cli tool
gh # github cli tool
git # version control
jujutsu # Git alternative
gnupg # GNU privacy guard (GPG)
coreutils # GNU core utilities
openssl # cryptography swiss army knife
# busybox # doesn't run on darwin
# Utilities
neofetch # system info
btop # resource monitor
zoxide # directory jumping (cd alternative)
tldr # community driven manpage alternative
fzf # fuzzy finder
tree # list directory contents
ffmpeg # video and audio processing
cowsay # ascii art cows for fun
lolcat # rainbow text for fun
# Applications
# alacritty # TODO: configured via programs.alacritty above, so not needed here
# warp-terminal # TODO: Bloat
# vscodium # TODO: Bloat
# zed-editor # TODO: Bloat
code-cursor
cursor-cli
discord
mapscii
mpv
];
# First HM version for this user config; bump only if you understand the migration notes. # First HM version for this user config; bump only if you understand the migration notes.
home.stateVersion = "25.11"; home.stateVersion = "25.11";

View file

@ -9,14 +9,10 @@
system.primaryUser = "danny"; system.primaryUser = "danny";
# Shells & dev ergonomics # Shells (fish config is in fish.nix, imported via flake.nix)
programs.fish.enable = true;
environment.shells = [ pkgs.fish ]; environment.shells = [ pkgs.fish ];
users.users.danny.shell = pkgs.fish; users.users.danny.shell = pkgs.fish;
programs.direnv.enable = true;
programs.direnv.nix-direnv.enable = true;
# ollama # ollama
imports = [../ollama.nix]; imports = [../ollama.nix];
services.ollama = { services.ollama = {
@ -49,50 +45,8 @@
dock.mru-spaces = false; dock.mru-spaces = false;
}; };
# Environment # User-specific packages and environment variables are now in home-manager (home.nix)
environment.variables = { # Only system-level packages should remain here if needed
DBT_USER = "DNTH";
EDITOR = "nvim";
VISUAL = "nvim";
};
environment.systemPackages = with pkgs; [
ripgrep # replacement for grep
fd # replacement for find
wget
# busybox #TODO: doesn't run on darwin
azure-cli
gh
git
jujutsu
gnupg
coreutils
openssl
neofetch
btop
zoxide
tldr
fzf
cowsay
lolcat
alacritty
# vscodium # Bloat
# zed-editor # Bloat
code-cursor
cursor-cli
# warp-terminal # Bloat
discord
tree
mapscii
mpv
ffmpeg
];
# Keep for darwin as well (tracks defaults across upgrades) # Keep for darwin as well (tracks defaults across upgrades)
# current max per nix-darwin; bump only if a release notes says so # current max per nix-darwin; bump only if a release notes says so