Me dotfiles.
wget -qO- https://raw.githubusercontent.com/d-gubert/dotfiles/main/bootstrap.sh | bashThis clones the repo to ~/dev/dotfiles, installs git first if needed, and runs make all.
git clone https://github.com/d-gubert/dotfiles.git ~/dev/dotfiles
cd ~/dev/dotfiles# Install everything
make all
# Or install by category
make essential # core tools, shell, window manager
make development # dev runtimes and CLI tools
make utilities # optional quality-of-life toolsIndividual packages can also be installed on their own:
make install-neovim
make install-zsh # also installs oh-my-zsh and all pluginsStow would error out if directories already exist and are not owned by it, so we actually run stow as the first step in make.
If you add other configuration files to the ubuntu directory, you can get stow to manage them as well by running make stow.
Stow is usually used by having one directory for each software you want to manage, with the internal structure of that directory being mirrored in the target. I didn't like that, so I just threw all config files into the ubuntu directory, then I can stow everything there to my home directory.
| Tool | Description | Installed via |
|---|---|---|
| alacritty | GPU-accelerated terminal emulator | apt |
| homebrew | Package manager | install script |
| zsh | Shell | brew |
| oh-my-zsh | Zsh framework | install script |
| powerlevel10k | Zsh theme | git |
| zellij | Terminal multiplexer | brew |
| kanata | Software keyboard remapper | brew |
| i3 | Tiling window manager | apt |
| fzf | Fuzzy finder | brew |
| ripgrep | Fast grep replacement (rg) |
brew |
| neovim | Text editor | brew |
| stow | Dotfiles symlink manager | brew |
| gh | GitHub CLI | brew |
| glow | Markdown renderer for the terminal | brew |
| jq | JSON processor | brew |
| arandr | GUI front-end for xrandr (display configuration) | apt |
| bat | cat with syntax highlighting |
brew |
| xclip | Clipboard CLI tool | apt |
| docker | Container runtime | install script |
| btop | System resource monitor | brew |
| tmux | The OG terminal multiplexer | brew |
| ffmpeg | Audio/video processing | brew |
| Plugin | Description |
|---|---|
| zsh-autosuggestions | Fish-like command suggestions |
| zsh-syntax-highlighting | Shell syntax highlighting |
| zsh-vi-mode | Better vi mode for zsh |
| zsh-autopair | Auto closes pairs of symbols |
| Plugin | Description |
|---|---|
| TPM | Tmux Plugin Manager |
| tmux-sensible | Sensible defaults for Tmux |
| tmux-resurrect | Save and restore sessions |
| tmux-yank | Better copy-mode |
| catppuccin | Catppuccin for Tmux |
| Tool | Description | Installed via |
|---|---|---|
| ast-grep | AST-based code search and rewrite (sg) |
brew |
| dvm | Deno version manager | install script |
| lazygit | Terminal UI for git | brew |
| meteor | Full-stack JavaScript framework | install script |
| tealdeer | Fast tldr client |
brew |
| vi-mongo | MongoDB TUI | brew |
| volta | Node.js toolchain manager | install script |
| Tool | Description | Installed via |
|---|---|---|
| jwt-ui | JWT TUI codec | brew |
| lazyjira | Jira TUI client | brew |
| spotatui | Spotify TUI | brew |
| carapace | Multi-shell completion generator | brew |
| tree-sitter | Parser generator and incremental parsing | brew |