From: Gabriel Dunne Date: Sat, 19 Sep 2026 19:53:33 +0000 (-0700) Subject: README and .gitignore X-Git-Url: https://git.quilime.com/?a=commitdiff_plain;h=ab5bfd3a8584681056dc547c280c9950a06604c1;p=cfg.git README and .gitignore --- diff --git a/.gitignore b/.gitignore index e71a4f0..46c0644 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,15 @@ +# Bare Git directory for this dotfiles repository. .cfg + +# Machine-local Zsh state; never synchronize learned paths or private aliases. +.zsh/cd-smart.tsv +.zsh/cd-smart.aliases +.local/state/cd-smart.tsv + +# Optional machine- or work-specific shell settings. +.zsh/local.zsh + +# Zsh-generated caches and command history. +.zcompdump* +.zsh/cache/ +.zsh_history diff --git a/README.md b/README.md index ef58b3d..8898a9c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,17 @@ # dotfiles +This is my rolling dotfiles setup. There are many like it. This one's mine. + +- Bare Git repository workflow for tracking selected files in `$HOME` +- zsh config split into shared, macOS, and linux settings +- git status in the prompt +- zsh completion with fuzzy matching and optional fzf integration +- [`cd-smart`](.zsh/cd-smart.README.md): a custom "plugin", that extends `cd`. It learns frequently visited directories and supports fuzzy `cd` lookups -- inspired by `zoxide`. +- tmux tab navigation, tab highlighting, hostname display, and one-based window numbering +- vim configuration with persistent backups, swap files, undo history, and netrw defaults + + +### Install Note that the only two differences between using a bare and non-bare repository are: @@ -10,7 +22,7 @@ the path to the Git directory, $HOME/.cfg/ for bare and $HOME/.cfg/.git/ for no 1. git init $HOME/.cfg 2. alias cfg='/usr/bin/git --git-dir=$HOME/.cfg/.git/ --work-tree=$HOME' -3. echo "alias cfg='/usr/bin/git --git-dir=$HOME/.cfg/.git/ --work-tree=$HOME'" >> $HOME/.zsh/aliases +3. echo "alias cfg='/usr/bin/git --git-dir=$HOME/.cfg/.git/ --work-tree=$HOME'" >> $HOME/.zshrc 4. cfg config --local status.showUntrackedFiles no 5. cfg add .vimrc + cfg commit -m "add .vimrc" + Set up a remote repository on GitHub or your Git server of choice + cfg push @@ -26,7 +38,7 @@ the path to the Git directory, $HOME/.cfg/ for bare and $HOME/.cfg/.git/ for no 1. git init --bare $HOME/.cfg 2. alias cfg='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME' -3. echo "alias cfg='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'" >> $HOME/.zsh/aliases +3. echo "alias cfg='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'" >> $HOME/.zshrc 4. cfg config --local status.showUntrackedFiles no 5. cfg add .vimrc + cfg commit -m "add .vimrc" + set up a remote repository on GitHub or your Git server of choice + cfg push @@ -39,6 +51,7 @@ the path to the Git directory, $HOME/.cfg/ for bare and $HOME/.cfg/.git/ for no 5. cfg checkout + ### References, Links - https://www.ackama.com/blog/posts/the-best-way-to-store-your-dotfiles-a-bare-git-repository-explained @@ -46,4 +59,3 @@ the path to the Git directory, $HOME/.cfg/ for bare and $HOME/.cfg/.git/ for no - https://bitbucket.org/durdn/cfg/src/master/ - https://news.ycombinator.com/item?id=11070797 - https://shapeshed.com/vim-netrw/#netrw---the-unloved-directory-browser -