mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-19 07:54:28 +01:00
166 lines
5.0 KiB
Nix
166 lines
5.0 KiB
Nix
{
|
||
pkgs,
|
||
nur-ryan4yin,
|
||
...
|
||
}: {
|
||
home.packages = with pkgs; [
|
||
neofetch
|
||
|
||
# networking tools
|
||
mtr # A network diagnostic tool
|
||
iperf3
|
||
dnsutils # `dig` + `nslookup`
|
||
ldns # replacement of `dig`, it provide the command `drill`
|
||
aria2 # A lightweight multi-protocol & multi-source command-line download utility
|
||
socat # replacement of openbsd-netcat
|
||
nmap # A utility for network discovery and security auditing
|
||
ipcalc # it is a calculator for the IPv4/v6 addresses
|
||
|
||
# archives
|
||
zip
|
||
xz
|
||
unzip
|
||
p7zip
|
||
|
||
# misc
|
||
tldr
|
||
cowsay
|
||
file
|
||
findutils
|
||
which
|
||
tree
|
||
gnutar
|
||
zstd
|
||
gnupg
|
||
rsync
|
||
|
||
# Text Processing
|
||
# Docs: https://github.com/learnbyexample/Command-line-text-processing
|
||
|
||
gnugrep # GNU grep, provides `grep`/`egrep`/`fgrep`
|
||
gnused # GNU sed, very powerful(mainly for replacing text in files)
|
||
gnumake
|
||
gawk # GNU awk, a pattern scanning and processing language
|
||
jq # A lightweight and flexible command-line JSON processor
|
||
|
||
# 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;
|
||
};
|
||
};
|
||
}
|