Skip to content

madhatter/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

280 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

My personal configuration files for macOS and Arch Linux. Feel free to use anything you find useful as a starting point for your own setup.

Structure

Configuration is managed with GNU Stow — each directory is a stow package that mirrors the target directory structure relative to $HOME. just is used as a task runner for installation and setup.

dotfiles/
  alacritty-base/     # Alacritty terminal (shared config)
  alacritty-linux/    # Alacritty overrides for Linux
  alacritty-mac/      # Alacritty overrides for macOS
  certs/              # Custom CA certificate bundle
  claude/             # Claude Code config and statusline
  git/                # Git config
  hooks/              # Pacman hooks (Arch only, deployed via just)
  mise/               # mise runtime manager config
  pacman/             # yay AUR helper config (Arch only)
  fastfetch/          # fastfetch system info config
  tmux/               # tmux config with catppuccin theme
  zsh/                # zsh config, prompt (powerlevel10k), plugins

Note: The migration to just and stow is a work in progress. The repository contains additional loose files and legacy configs that have not yet been reviewed or migrated — mostly because they are not actively used at this time.

Prerequisites

Install these manually before running anything else:

Tool macOS Arch Linux
git brew install git pacman -S git
just brew install just pacman -S just
stow brew install stow pacman -S stow

Installation

1. Clone the repository

git clone https://github.com/madhatter/dotfiles.git ~/dotfiles
cd ~/dotfiles

2. Arch Linux only: yay and pacman setup

Installs yay from AUR, deploys the pacdiff hook to /etc/pacman.d/hooks/, and stows the yay config:

just install-arch-setup

3. Install dependencies

Installs shell tools, prompt framework, and utilities (brew on macOS, yay on Arch):

just install-deps

4. Deploy dotfiles

Symlinks all stow packages into $HOME:

just install

5. Install tmux plugins

just install-tmux-plugins

Available recipes

just install              # deploy all stow packages
just uninstall            # remove all stow symlinks
just restow               # re-deploy (useful after adding new files)
just test                 # dry-run to preview what stow would do
just install-deps         # install base tools (OS-aware)
just install-work-deps    # install AWS/cloud tools (macOS only)
just install-tmux-plugins
just install-arch-setup   # Arch Linux only: yay, pacman hook, keyboard layout
just install-nvidia-setup # deploy NVIDIA Xorg and modprobe config (machine-specific, see note below)

Note on install-nvidia-setup: This recipe deploys hardware-specific configuration files for NVIDIA GPUs and will not be appropriate for every machine. If you are managing multiple systems with different hardware, consider using a proper configuration management tool (Ansible, etc.) instead of applying this blindly.

Notes

  • The zsh prompt uses powerlevel10k. Config is in zsh/.zsh/p10k_prompt.zsh.
  • tmux uses catppuccin (macchiato flavour) with custom purple accents to match the prompt.
  • The pacdiff hook opens nvim -d after upgrades when .pacnew files are present. Change DIFFPROG in hooks/pacdiff.hook if you prefer a different diff tool.
  • fastfetch replaces neofetch/archey and runs on shell login.
  • Work dependencies (awscli, vault, terraform) are macOS-only in the Justfile — on Arch these are expected to be managed separately.

Questions or ideas

madhatter@nostalgix.org

About

All my dotfiles to track changes and as personal backup

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors