I use the following tools to enhance my development workflow:
- Homebrew Package Manager
- Ghostty Terminal
- Helix Editor
- Yazi File Explorer
- Lazygit for git management
- Lazydocker for managing Docker containers easily
- Eza — a modern replacement for
lswith icons and better formatting - fd — a simple, fast, and user-friendly alternative to
find
Note: Everything is themed with
Ayu Mirage. The lazygit and yazi themes are custom made. I also include themes for TMUX and Zellij.
My config is set up to rely on a Brewfile for quicker package installation through Homebrew.
You can install Homebrew for MacOS and Linux from their official website.
The dotfiles include a Brewfile to simplify package installation.
⚠️ Warning: Potential Data Loss
If you have an existing~/.configdirectory, you should create a backup before proceeding.
To clone including all submodules (recommended):
git clone --recurse-submodules https://github.com/ionztorm/dotfiles.git ~/.configIf you already cloned without submodules, you can initialise them later:
git submodule update --init --recursiveRun the following commands to update your ~/.zshrc:
cat << 'EOF' >> ~/.zshrc
export XDG_CONFIG_HOME="$HOME/.config"
export STARSHIP_CONFIG=~/.config/starship/starship.toml
alias cl="clear"
alias ls="eza --icons=always"
alias cd="z"
# brewfile
alias bfi="brew bundle --file=~/.config/homebrew/Brewfile"
alias bfc="brew bundle dump --file=~/.config/homebrew/Brewfile"
alias bfr='rm -f ~/.config/homebrew/Brewfile && brew bundle dump --file=~/.config/homebrew/Brewfile'
EOFApply changes with:
source ~/.zshrcThis step will install a lot of packages that I use. You may not want all of them. Edit the Brew file to adjust the install list:
vi ~/.config/homebrew/Brewfile
Install all packages from my Brewfile:
bficat << 'EOF' >> ~/.zshrc
export PATH=$PATH:$HOME/go/bin
eval "$(zoxide init zsh)"
eval "$(starship init zsh)"
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# History
HISTFILE=$HOME/.zhistory
SAVEHIST=1000
HISTSIZE=999
setopt share_history
setopt hist_expire_dups_first
setopt hist_ignore_dups
setopt hist_verify
bindkey '^[[A' history-search-backward
bindkey '^[[B' history-search-forward
EOFIf you don't want to build from source, you can install with Homebrew:
brew install helix
To build Helix from source, follow these steps:
If you use my neovim config
ionzvimyou may want to customise this Rust install for nightly Rust. This enables the blink fuzzy searching. The neovim config is not included here, find it here: ionzvim
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shCheck installation:
cargo --versionYou may need to restart your terminal.
Copy-paste:
mkdir -p ~/src/ && cd ~/src
git clone https://github.com/helix-editor/helix
cd helix
cargo install --path helix-term --lockedOnce the build is complete, symlink the runtime:
rm -rf ~/.config/helix/runtime && ln -s "$PWD/runtime" ~/.config/helix/runtimeTo delete the current Brewfile and generate a new one, I include an alias:
bfrFor markdown live preview using GitHub formatting, install the CLI extension:
gh extension install yusukebe/gh-markdown-previewTo use:
gh markdown-preview <path/file-name>To update all submodules to their latest commits, run:
git submodule update --remote --merge