Skip to content

Repository files navigation

🛠️ dotfiles

Personal dotfiles managed with a bare git repo pattern — files live directly in $HOME, no symlinks.

🚀 Bootstrap

From a URL (zero local clone required)

curl -fsSL https://raw.githubusercontent.com/diegoferigo/dotfiles/main/bootstrap | bash

This will:

  1. Install pixi if not already present
  2. Download .local/bin/dotfiles and run it via its pixi exec shebang
  3. Clone the bare repo into ~/.dotfiles
  4. Check out tracked dotfiles directly into $HOME (backing up any conflicts)
  5. Install tools via pixi global (starship, bat, eza, fzf, fd, zoxide)

From a local clone

git clone https://github.com/diegoferigo/dotfiles.git
cd dotfiles
./bootstrap

⚙️ Managing dotfiles after bootstrap

The dotfiles command (checked out to ~/.local/bin/dotfiles) wraps git against the bare repo:

dotfiles git status
dotfiles git diff
dotfiles git add ~/.config/starship.toml
dotfiles git commit -m "update starship config"
dotfiles git log --oneline
dotfiles git push

🔄 Update

Pull the latest changes and re-apply dotfiles:

dotfiles --update

🗑️ Uninstall

Remove all checked-out dotfiles and restore any backed-up originals:

dotfiles --uninstall

🏷️ Notes

  • Compatible with GitHub Codespaces — the devcontainer can run ./bootstrap as postCreateCommand.
  • Requires only pixi on the host; all Python dependencies are resolved on-the-fly via the shebang.
  • DOTFILES_REPO, DOTFILES_DIR, BACKUP_DIR environment variables can override defaults.

About

My personal GNU/Linux dotfiles

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages