one window, everything nested inside it:
ghostty ····················· terminal · frosted glass, dual dark/light themes
└── zellij ·················· multiplexer · persistent sessions, floating panes
└── fish + starship ····· shell · vi mode, context-aware prompt
├── nvim ············ editor · LazyVim, LSP, Copilot, lazygit inside
├── ranger ·········· files · vim keys, image previews
├── btop ············ system monitor
├── posting ········· http client, terminal-native postman
└── fzf · zoxide · atuin · television — find anything, instantly
terminal & shell
| tool | role | highlights |
|---|---|---|
| ghostty | terminal emulator | frosted glass background, dual dark/light themes, native split panes, Dank Mono font |
| fish | shell | vi key bindings, curated aliases, smart tab completion out of the box |
| zellij | terminal multiplexer | persistent sessions, custom pane/tab keybindings, floating panes |
| tmux | terminal multiplexer (alt) | alternative multiplexer config with TPM-managed plugins |
| starship | prompt | fast, context-aware, shows git, language runtime, and more at a glance |
| fastfetch | system info | minimal boxed info panel with custom logo, shown on shell startup |
navigation & productivity
| tool | role | highlights |
|---|---|---|
| fzf | fuzzy finder | wired into the fish shell for history, file, and process searching |
| zoxide | smart cd |
remembers your most visited directories and jumps to them instantly |
| atuin | shell history | encrypted, synced history across machines with fuzzy search and statistics |
| carapace | completions | multi-shell completion for hundreds of CLI tools |
| television | fuzzy launcher | blazing-fast general-purpose fuzzy finder TUI with custom channels |
| ranger | file manager | vim-inspired TUI file browser with image preview support |
| posting | http client | terminal-based alternative to Postman — great for API development |
cli replacements
| tool | replaces | aliases |
|---|---|---|
| eza | ls |
ls → icons + colors · ll → long view with git status · tree → directory tree |
| bat | cat |
cat → syntax-highlighted output with line numbers |
editor
| tool | role | highlights |
|---|---|---|
| neovim + lazyvim | code editor | full IDE experience: LSP, completions, Copilot, CodeCompanion, fuzzy search, git integration |
| lazygit | git TUI | integrated inside neovim — stage hunks, rebase, resolve conflicts visually |
system & runtimes
| tool | role | notes |
|---|---|---|
| btop | process monitor | beautiful real-time resource monitor with responsive UI |
| pyenv | python version manager | per-project python versions |
| node.js | javascript runtime | required by LSP servers, Copilot, Angular |
| pipx | python CLI installer | isolated installs — used for posting |
each directory is symlinked into ~/.config/<name> by the installer.
dotfiles/
├── atuin/ # shell history sync
├── btop/ # process monitor + themes
├── fastfetch/ # system info panel + custom logos
├── fish/ # shell config, aliases, functions, themes
├── ghostty/ # terminal config, shaders, themes
├── git/ # global gitignore
├── nvim/ # neovim (LazyVim) — plugins, lsp, keymaps
├── posting/ # http client
├── ranger/ # file manager + plugins
├── television/ # fuzzy launcher channels
├── tmux/ # tmux config + TPM plugins
├── wallpapers/ # wallpaper pack → ~/Pictures/Wallpapers
├── zellij/ # multiplexer layouts + keybindings
├── starship.toml # prompt → ~/.config/starship.toml
├── .gitconfig # git → ~/.gitconfig
└── install.sh # automated installer (macos)
Warning
the automated installer currently supports macos only.
git clone https://github.com/blandevv/dotfiles.git
cd dotfiles
./install.shidempotent — safe to re-run anytime. existing configs are backed up to ~/.dotfiles_backup/<timestamp>/ before anything is touched.
flags: --skip-packages skip homebrew installs · --skip-shell keep your current shell
what the script does
- system check — verifies you're on macos
- homebrew — installs it if missing, updates it otherwise
- cli tools — fish, neovim, starship, fzf, zoxide, atuin, eza, bat, zellij, btop, lazygit, and friends — plus the ghostty cask and a nerd font fallback
- symlinks — links every config into
~/.config, backing up whatever was there - plugins — TPM for tmux, devicons for ranger, headless
lazy.nvimsync for neovim - wallpapers — copied to
~/Pictures/Wallpapers - default shell — sets fish (asks for sudo to register it in
/etc/shells)
| step | how |
|---|---|
| authenticate copilot | :Copilot auth inside neovim |
| sync shell history | atuin login · atuin sync |
| install a python | pyenv install 3.12 · pyenv global 3.12 |
| dank mono (optional) | purchase at dank.sh — falls back to JetBrainsMono Nerd Font |
no installer yet — copy the configuration files manually or adapt them to your distribution and package manager.
based on Gentleman.Dots by @Gentleman-Programming
