mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-01-11 20:40:24 +01:00
123 lines
3.9 KiB
Nix
123 lines
3.9 KiB
Nix
{ pkgs, ... }:
|
||
{
|
||
home.packages = with pkgs; [
|
||
# Misc
|
||
cowsay
|
||
gnupg
|
||
gnumake
|
||
|
||
# Modern 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 processor https://github.com/mikefarah/yq
|
||
just # a command runner like make, but simpler
|
||
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
|
||
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
|
||
hydra-check # check hydra(nix's build farm) for the build status of a package
|
||
nix-index # A small utility to index nix store paths
|
||
nix-init # generate nix derivation from url
|
||
# https://github.com/nix-community/nix-melt
|
||
nix-melt # A TUI flake.lock viewer
|
||
# https://github.com/utdemir/nix-tree
|
||
nix-tree # A TUI to visualize the dependency graph of a nix derivation
|
||
|
||
# productivity
|
||
caddy # A webserver with automatic HTTPS via Let's Encrypt(replacement of nginx)
|
||
croc # File transfer between computers securely and easily
|
||
ncdu # analyzer your disk usage Interactively, via TUI(replacement of `du`)
|
||
];
|
||
|
||
# A modern replacement for ‘ls’
|
||
# useful in bash/zsh prompt, not in nushell.
|
||
programs.eza = {
|
||
enable = true;
|
||
# do not enable aliases in nushell!
|
||
enableNushellIntegration = false;
|
||
git = true;
|
||
icons = "auto";
|
||
};
|
||
|
||
# a cat(1) clone with syntax highlighting and Git integration.
|
||
programs.bat = {
|
||
enable = true;
|
||
config = {
|
||
pager = "less -FR";
|
||
};
|
||
};
|
||
|
||
# A command-line fuzzy finder
|
||
programs.fzf.enable = true;
|
||
|
||
# very fast version of tldr in Rust
|
||
programs.tealdeer = {
|
||
enable = true;
|
||
enableAutoUpdates = true;
|
||
settings = {
|
||
display = {
|
||
compact = false;
|
||
use_pager = true;
|
||
};
|
||
updates = {
|
||
auto_update = false;
|
||
auto_update_interval_hours = 720;
|
||
};
|
||
};
|
||
};
|
||
|
||
# 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)
|
||
programs.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.
|
||
programs.atuin = {
|
||
enable = true;
|
||
enableBashIntegration = true;
|
||
enableZshIntegration = true;
|
||
enableNushellIntegration = true;
|
||
};
|
||
}
|