{ 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 # 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; }; }; }