mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-18 15:34:13 +01:00
133 lines
4.1 KiB
Nix
133 lines
4.1 KiB
Nix
{
|
||
pkgs,
|
||
nur-ryan4yin,
|
||
...
|
||
}: {
|
||
home.packages = with pkgs; [
|
||
# Misc
|
||
tldr
|
||
cowsay
|
||
gnupg
|
||
gnumake
|
||
|
||
# Morden cli tools, replacement of grep/sed/...
|
||
|
||
# Interactively filter its input using fuzzy searching, not limit to filenames.
|
||
fzf
|
||
# search for files by name, faster than find
|
||
fd
|
||
# search for files by its content, replacement of grep
|
||
(ripgrep.override {withPCRE2 = true;})
|
||
|
||
# A fast and polyglot tool for code searching, linting, rewriting at large scale
|
||
# supported languages: only some mainstream languages currently(do not support nix/nginx/yaml/toml/...)
|
||
ast-grep
|
||
|
||
sad # CLI search and replace, just like sed, but with diff preview.
|
||
yq-go # yaml processer https://github.com/mikefarah/yq
|
||
just # a command runner like make, but simpler
|
||
delta # A viewer for git and diff output
|
||
lazygit # Git terminal UI.
|
||
hyperfine # command-line benchmarking tool
|
||
gping # ping, but with a graph(TUI)
|
||
doggo # DNS client for humans
|
||
duf # Disk Usage/Free Utility - a better 'df' alternative
|
||
du-dust # A more intuitive version of `du` in rust
|
||
ncdu # analyzer your disk usage Interactively, via TUI(replacement of `du`)
|
||
gdu # disk usage analyzer(replacement of `du`)
|
||
|
||
# nix related
|
||
#
|
||
# it provides the command `nom` works just like `nix
|
||
# with more details log output
|
||
nix-output-monitor
|
||
|
||
# productivity
|
||
caddy # A webserver with automatic HTTPS via Let's Encrypt(replacement of nginx)
|
||
croc # File transfer between computers securely and easily
|
||
];
|
||
|
||
programs = {
|
||
# A modern replacement for ‘ls’
|
||
# useful in bash/zsh prompt, not in nushell.
|
||
eza = {
|
||
enable = true;
|
||
enableAliases = false; # do not enable aliases in nushell!
|
||
git = true;
|
||
icons = true;
|
||
};
|
||
|
||
# a cat(1) clone with syntax highlighting and Git integration.
|
||
bat = {
|
||
enable = true;
|
||
config = {
|
||
pager = "less -FR";
|
||
theme = "catppuccin-mocha";
|
||
};
|
||
themes = {
|
||
# https://raw.githubusercontent.com/catppuccin/bat/main/Catppuccin-mocha.tmTheme
|
||
catppuccin-mocha = {
|
||
src = nur-ryan4yin.packages.${pkgs.system}.catppuccin-bat;
|
||
file = "Catppuccin-mocha.tmTheme";
|
||
};
|
||
};
|
||
};
|
||
|
||
# A command-line fuzzy finder
|
||
fzf = {
|
||
enable = true;
|
||
# https://github.com/catppuccin/fzf
|
||
# catppuccin-mocha
|
||
colors = {
|
||
"bg+" = "#313244";
|
||
"bg" = "#1e1e2e";
|
||
"spinner" = "#f5e0dc";
|
||
"hl" = "#f38ba8";
|
||
"fg" = "#cdd6f4";
|
||
"header" = "#f38ba8";
|
||
"info" = "#cba6f7";
|
||
"pointer" = "#f5e0dc";
|
||
"marker" = "#f5e0dc";
|
||
"fg+" = "#cdd6f4";
|
||
"prompt" = "#cba6f7";
|
||
"hl+" = "#f38ba8";
|
||
};
|
||
};
|
||
|
||
# zoxide is a smarter cd command, inspired by z and autojump.
|
||
# It remembers which directories you use most frequently,
|
||
# so you can "jump" to them in just a few keystrokes.
|
||
# zoxide works on all major shells.
|
||
#
|
||
# z foo # cd into highest ranked directory matching foo
|
||
# z foo bar # cd into highest ranked directory matching foo and bar
|
||
# z foo / # cd into a subdirectory starting with foo
|
||
#
|
||
# z ~/foo # z also works like a regular cd command
|
||
# z foo/ # cd into relative path
|
||
# z .. # cd one level up
|
||
# z - # cd into previous directory
|
||
#
|
||
# zi foo # cd with interactive selection (using fzf)
|
||
#
|
||
# z foo<SPACE><TAB> # show interactive completions (zoxide v0.8.0+, bash 4.4+/fish/zsh only)
|
||
zoxide = {
|
||
enable = true;
|
||
enableBashIntegration = true;
|
||
enableZshIntegration = true;
|
||
enableNushellIntegration = true;
|
||
};
|
||
|
||
# Atuin replaces your existing shell history with a SQLite database,
|
||
# and records additional context for your commands.
|
||
# Additionally, it provides optional and fully encrypted
|
||
# synchronisation of your history between machines, via an Atuin server.
|
||
atuin = {
|
||
enable = true;
|
||
enableBashIntegration = true;
|
||
enableZshIntegration = true;
|
||
enableNushellIntegration = true;
|
||
};
|
||
};
|
||
}
|