Skip to content

Latest commit

 

History

History
194 lines (143 loc) · 10 KB

File metadata and controls

194 lines (143 loc) · 10 KB

dotfiles

a quiet, terminal-first macos environment


macos fish neovim ghostty starship


 stack  structure  install  post-install 



preview


stack

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

structure

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)

install

Warning

the automated installer currently supports macos only.

git clone https://github.com/blandevv/dotfiles.git
cd dotfiles
./install.sh

idempotent — 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
  1. system check — verifies you're on macos
  2. homebrew — installs it if missing, updates it otherwise
  3. cli tools — fish, neovim, starship, fzf, zoxide, atuin, eza, bat, zellij, btop, lazygit, and friends — plus the ghostty cask and a nerd font fallback
  4. symlinks — links every config into ~/.config, backing up whatever was there
  5. plugins — TPM for tmux, devicons for ranger, headless lazy.nvim sync for neovim
  6. wallpapers — copied to ~/Pictures/Wallpapers
  7. default shell — sets fish (asks for sudo to register it in /etc/shells)

after installing

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

linux

no installer yet — copy the configuration files manually or adapt them to your distribution and package manager.