██ ██ ████ ██ ██
░██ ░██ ░██░ ░░ ░██
░██ ██████ ██████ ██████ ██ ░██ █████ ██████
██████ ██░░░░██░░░██░ ░░░██░ ░██ ░██ ██░░░██ ██░░░░
██░░░██░██ ░██ ░██ ░██ ░██ ░██░███████░░█████
░██ ░██░██ ░██ ░██ ░██ ░██ ░██░██░░░░ ░░░░░██
░░██████░░██████ ░░██ ░██ ░██ ███░░██████ ██████
░░░░░░ ░░░░░░ ░░ ░░ ░░ ░░░ ░░░░░░ ░░░░░░
Table of Contents
- Designed for polyglot work ( mostly Go, Clojure, Python, Scala, Node/React/GraphQL, Rust )
- Snazzy-esque theme in simple-bar / vscode / nvim / tmux / Terminal / iTerm / Alfred
- Neovim color scheme: snazzybuddy.nvim
- brew formulas
- vscode-insiders extensions
- Removes all kinds of telemtry by default
- zsh with zinit for loading plugins with async goodness
- Basic support for fish and nushell
$EDITOR
is neovim$VISUAL
is vscode insiders- Alfred
- iTerm2 with FiraCode nerd font and selected color schemes
- tmux
- fzf for all kinds of fuzzy fun
- Starship prompt
- yabai as a tiling manager
- Übersicht for desktop widgets
- stackline for yabai stack management
- simple-bar
- Neofetch for MOTD
- Onefetch for project MOTD
- GHQ for select repos
- nnn for file browsing
- asdf for most used languages
- Mostly complies with XDG structure
Notes:
- ASDF dir is still at $HOME and default-* dotfiles are not customizable ( see: asdf-vm/asdf#687)
- .zshenv is still at $HOME, other zsh files are at $XDG_CONFIG_HOME/zsh
- Neovim configuration is fully based on lua. I'm considering adding Fennel for expirementation and usability.
Also spits out red dwarf themed insults when typing the wrong command
git clone --bare https://github.com/bbenzikry/dotfiles ~/dotfiles
# alias is provided by default after reload
alias dotfiles="GIT_WORK_TREE=~ GIT_DIR=~/dotfiles"
dotfiles checkout
# Bootstrapping
<<c
Same as make install.
Makefile will be removed soon.
Interactive installation, will install brew packages and configure macos defaults.
Will ask for sudo.
c
./src/setup.sh
# After initial setup
task install-packages # Installs ASDF global languages, python global tooling ( via pipx ) and vscode extensions if needed.
- default packages for rust, dotnet and go are pending PRs to individual asdf repos
- any ASCII art used is probably generated with figlet
- If you experience slow prompt load and keep settings related to asdf and java, precmd hooks used in the asdf java plugin are the culprit. you can remove the precmd or comment it out ( probably at
~/.local/share/asdf/plugins/java/set-java-home.zsh
) - See nvim config for FAQ on my configuration
- Depending on where you run this from, Ghidra may fail to install from brew. If that's the case, download the appropriate release from https://github.com/NationalSecurityAgency/ghidra/releases and
mv ZIP_FILE $(brew cache --prefix ghidra)
- installation should be OK after that.