Packages & Tooling
All packages are declared in laptop/modules/packages.nix. System-wide packages go into environment.systemPackages; user-specific tools go into users.users.${username}.packages.
GUI Applications
| Package | Purpose |
|---|---|
librewolf | Privacy-focused Firefox fork |
freetube | Private YouTube client |
obsidian | Note-taking (Markdown vault) |
appflowy | Note-taking / project management (from stable nixpkgs) |
zathura | Minimal PDF/document viewer |
imv | Image viewer |
mpv | Media player |
wezterm | Terminal emulator |
CLI / Shell Tools
| Package | Purpose |
|---|---|
git | Version control |
gh | GitHub CLI |
lazygit | Git TUI |
neix | Fast nix search tool |
helix | Modal text editor (from git master via flake input) |
bat | cat with syntax highlighting |
eza | Modern ls replacement |
fzf | Fuzzy finder |
ripgrep | Fast grep replacement |
yazi | Terminal file manager |
btop | System monitor |
tmux | Terminal multiplexer |
zoxide | Smart cd with frecency |
direnv | Per-directory environment variables |
starship | Cross-shell prompt |
trash-cli | Safe file deletion |
fastfetch | System info display |
stow | Dotfile manager |
opencode | AI coding assistant |
Shell Configuration
Zsh is set as the default shell:
nix
# zsh.nix
programs.zsh.enable = true;
users.users.${username}.shell = pkgs.zsh;My Zsh configurations (aliases, plugins, and prompt) are managed outside of NixOS using Stow in my dotfiles repo.