This repo manages my dotfiles and works nicely with the vscode dev container extension. It handles the installation and, where applicable, configuration of:
- Curl
- Git
- GnuPG
- Less
- Tmux
- Vim - configured in full install mode only; minimal mode installs the package without configuration
- .vimrc
- Pathogen Plugin Manager - pathogen and all plugins are pinned to specific commits to reduce supply chain risk; plugins no longer listed in vim/configure.sh are automatically removed
- zsh
- zshrc
- Oh My Zsh
- powerlevel10k
- zsh-autosuggestions
- zsh-syntax-highlighting
- Built-in plugins: colored-man-pages, colorize, gh, git, gpg-agent, kubectl, ssh-agent, tmux, wd
- Custom functions and completions (see omz/)
- bat - A cat clone with syntax highlighting
- Custom Tokyo Night theme
- fd - A simple, fast and user-friendly alternative to find
- fzf - A command-line fuzzy finder
- fzf-git.sh - Git integration for fzf
- fzf-tab - fzf integration for zsh tab completion
- getRelease - A tool to download the latest release of a binary from GitHub
- ripgrep - A line-oriented search tool
This repo also includes a PowerShell profile for Linux, which is not installed by install.sh.
The following are only installed when using ./install.sh full:
- Neovim
- Vim configuration -
.vimrcsymlink, pathogen, and plugins (minimal mode installs the vim package only)
The installation process is handled by the install.sh script. It has 2 install modes:
./install.sh- without any arguments, it performs a minimal installation intended for devcontainers, including:- curl, less, tmux, git, gpg, vim, zsh, oh-my-zsh, getRelease, bat, fd, fzf, ripgrep
./install.sh full- with thefullargument, it will perform a full installation intended for a jump server/workstation, adding:- neovim, vim configuration (vimrc, pathogen, plugins)
Note
You should fork this repo and adjust it to your needs before running the script.