72 lines
1.5 KiB
Nix
Executable File
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;
|
|
};
|
|
};
|
|
}
|