Skip to content

Repository files navigation

dotfiles

Personal config, laid out as GNU Stow packages. Each top-level directory mirrors the structure it should have relative to $HOME, so nvim/.config/nvim/init.lua gets symlinked to ~/.config/nvim/init.lua.

Install

sudo dnf install stow          # or: apt install stow / brew install stow
git clone git@github.com:ctyler9/dotfiles.git ~/dotfiles
cd ~/dotfiles
stow bash bin nvim tmux        # pick the packages you want

Preview first with stow -nv <packages>; remove with stow -D <package>.

On this machine bash bin nvim tmux are already stowed, so those paths in $HOME are symlinks back here. Editing either side edits the same file.

When the target already exists

Stow refuses to overwrite a real file — that is the safety net, not a bug. If the existing file is already the one you want to track:

stow --adopt <package>    # moves the real file into the repo, links it back
git status                # MUST be clean; any diff means they had drifted

--adopt overwrites the repo's copy with whatever is on disk, so always check git status afterward and git checkout if the diff is unwanted.

Do not pipe stow -v through head. Stow prints its whole plan before executing, so a closed pipe SIGPIPEs it mid-run and silently aborts.

Packages

Package Lands at Notes
bash ~/.bashrc, ~/.bash_profile Fedora skeleton + starship, fzf, C-f sessionizer
bin ~/.local/bin/ tmux-sessionizer
emacs ~/.emacs.d/init.el Based on emacs-kick
nvim ~/.config/nvim/ LazyVim, needs Neovim >= 0.10
tmux ~/.config/tmux/tmux.conf Prefix C-a, Tokyo Night, C-f sessionizer popup
zsh ~/.zshrc, ~/.zsh_profile Needs oh-my-zsh

bash, bin, nvim, and tmux are synced from this machine and are the ground truth. emacs and zsh are not currently deployed here — see Caveats.

C-f opens tmux-sessionizer from two directions: bash binds it via readline, and tmux binds it in the root table as a popup. Inside tmux the tmux binding wins.

Caveats

  • zsh is not installed on this machine and nothing stows it. It is kept for other hosts, so treat it as unverified.
  • emacs stows to ~/.emacs.d/, but this machine has an unrelated config at ~/.config/emacs/ and no ~/.emacs.d. Reconcile before stowing it.
  • bash/.bashrc contains absolute /home/claytyler paths written by tool installers (juliaup, ghcup, grok, kimi-code, solana). Fix those up before using this package on another host.

Fonts

./install_fonts.sh

Installs JetBrainsMono Nerd Font to ~/.local/share/fonts.

Dependencies

  • fzf >= 0.48 — for the --bash/--zsh shell integration, and required by tmux-sessionizer
  • starship — prompt, used unconditionally by bash/.bashrc
  • tmux >= 3.2 — for display-popup, used by the C-f binding
  • direnv, nvm — optional, zsh guards on them

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages