Skip to content

jwarykowski/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

240 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Here be thy dotfiles. A collection of incantations, symlinks, and shell spells, forged in the fires of frustration and optimised through far too many late nights. Tread carefully, adventurer — what lies within may summon tiling windows, whisper zsh aliases, and open portals to the neovim void.

overview

Linux Mac
Machine Intel NUC Hades Canyon MacBook Pro
OS Fedora macOS
WM i3 AeroSpace

structure

dotfiles/
├── common/                  # configs for all platforms
│   ├── .config/
│   │   ├── nvim/            # neovim
│   │   ├── zsh/             # aliases, functions, utils
│   │   ├── herdr/           # herdr agent multiplexer
│   │   ├── lazygit/         # lazygit
│   │   ├── yazi/            # yazi file manager
│   │   ├── btop/            # btop system monitor
│   │   ├── bat/             # bat
│   │   ├── ripgrep/         # ripgrep
│   │   └── ai/              # ai prompts + tokens
│   ├── .ssh/
│   │   └── config.template  # ssh config template
│   ├── .gitconfig
│   ├── .gitignore
│   ├── .tmux.conf
│   ├── .editorconfig
│   ├── .zshrc
│   └── .zshenv
├── linux/                   # fedora-specific configs
│   ├── .config/
│   │   ├── ghostty/         # ghostty terminal
│   │   └── i3/              # i3 window manager
│   └── .local/bin/          # linux scripts (auto on PATH)
│       ├── update           # update all packages + tools
│       ├── cleanup          # free disk space
│       ├── journalctl-report
│       ├── system-ports
│       ├── systemctl-browser
│       ├── systemctl-failed
│       └── systemctl-logs
├── mac/                     # macos-specific configs
│   ├── .config/
│   │   └── ghostty/         # ghostty terminal
│   ├── .gnupg/              # gpg agent config
│   └── .local/bin/          # mac scripts (auto on PATH)
│       ├── update           # update all packages + tools
│       └── cleanup          # free disk space
├── scripts/
│   ├── install-packages-fedora.sh
│   ├── install-packages-mac.sh
│   └── macos-defaults.sh
└── install.sh

getting started

Clone into your home directory:

git clone git@github.com:jwarykowski/dotfiles.git ~/dotfiles
cd ~/dotfiles

fresh machine

Install packages then stow dotfiles:

./install.sh --packages

existing machine

Adopt current configs into the repo, then stow:

./install.sh --adopt

subsequent runs

Re-apply dotfiles (safe, idempotent):

./install.sh

post-install

  • tmux plugins: open tmux and press prefix + I to install plugins via tpm
  • neovim plugins: open nvim — lazy.nvim installs automatically on first launch, mason installs LSPs
  • zsh plugins: znap clones and caches plugins automatically on first shell start
  • zsh default shell: chsh -s $(which zsh)
  • ssh config: copy ~/.ssh/config.template to ~/.ssh/config and add your hosts

About

My dotfiles, configured with care, borrowed from others.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages