mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-07-10 06:32:42 +02:00
feat: add develop environment for ruby
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
{
|
||||
pkgs,
|
||||
attic,
|
||||
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
|
||||
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
|
||||
# self-hosted nix cache server
|
||||
attic.packages.${pkgs.system}.attic-client
|
||||
ncdu # analyzer your disk usage Interactively, via TUI(replacement of `du`)
|
||||
];
|
||||
|
||||
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;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user