Files
2026-02-22 19:25:39 +01:00

72 lines
1.5 KiB
Nix
Executable File

{ user, pkgs, ... }:
{
programs = {
vscode.enable = true; # yes, sometimes i like to dabble
vim.enable = true; # and this one too
ripgrep.enable = true; # fast text search across projects
btop.enable = true; # even better task manager
# nicer terminal info
starship = {
enable = true;
enableZshIntegration = true;
enableBashIntegration = true;
};
# fuzzy finder
fzf = {
enable = true;
enableZshIntegration = true;
enableBashIntegration = true;
};
# better cd
zoxide = {
enable = true;
enableZshIntegration = true;
enableBashIntegration = true;
};
# better ls
eza = {
enable = true;
enableZshIntegration = true;
enableBashIntegration = true;
};
# this is mainly for integration with nix flakes in individual projects
direnv = {
enable = true;
enableZshIntegration = true;
enableBashIntegration = true;
nix-direnv.enable = true;
};
# zsh everywhere with oh-my-zsh
zsh = {
enable = true;
oh-my-zsh = {
enable = true;
plugins = [ "git" ];
theme = "robbyrussell";
};
shellAliases = {
cd = "z"; # zoxide
};
# for emacs-eat package
initContent = pkgs.lib.mkOrder 1200 ''
[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && \
source "$EAT_SHELL_INTEGRATION_DIR/zsh"
'';
};
# git with lfs
git = {
lfs.enable = true;
enable = true;
};
};
}