Use at your own risk.
The dotfiles needs aid of Devbox to isolate development environment and to reduce onboarding time.
- Devbox leverages Nixpkgs as package collection.
- Native Nix is not intuitive for me and it requires too much configuration.
The dotfiles do not specify a desktop environment and window manager becuase none is compatible with all operating systems (WSL, Mac OS, Linux, BSD).
For the same reason, the dotfiles do not specify a terminal emulator.
Check Git is set up on your machine before installation.
Run bootstrap first.
# Install `bash` and `bash-completion`.
# Install Devbox.
curl -fsSL https://get.jetify.com/devbox | bash
# Make shell to use global profile.
echo 'eval "$(devbox global shellenv --init-hook)"' < ~/.bashrc
# Pull global config.
#
# WARN: existing global profile on local will be removed.
devbox global pull <repo>The dotfiles is located on $DEVBOX_PROJECT_ROOT.
Add the scripts to bashrc for using the dotfiles.
eval "$(devbox global shellenv --init-hook)"
. $DEVBOX_PROJECT_ROOT/.config/bash_completionRun devbox global push <repo> to update the dotfiles same as local.
Version control system
git
SSH client
opensshdropbearcould be a good replacement but I do not prefer it due to lack of some OpenSSH compatibility.
Security token
- YubiKey: List of known vendors and products
yubikey-manageryubico-piv-tool
Text processor
ripgrep: grep in paralleljqyqbiome: an replacement ofprettier(Differences with Prettier)
Pager
delta
Language support
- Ctags
universal-ctags
- Shell scripts
shellcheck
- C/C++/Obj-C
clang
- Node.js
nodejs: for running LSP server
- Go
go_1_24goplsgoimports-reviser
- Rust
rustccargorust-analyzer
- Solidity
foundrysolc-select
- Cross compile
llvmlldclang-tools
Terminal multiplexer
tmux
Text editor
neovimhelixcould be a good replacement but I do not prefer it due to lack of plugin system.
Process viewer
htophtopcan replace pstree by using tree view (press F5 key).- For more process details, use
ps.
File manager
- None (use Netrw in nvim)
Periodic monitoring
viddy- Use
viddyto support paging and time machine mode. - For tracking file changes in real-time, use
less +Fortail -f.
- Use
Communication protocol
websocatgrpcurl
Parallel gzip (de)compression
pigz