Skip to content
caarlos0Public

About

🏠 $HOME/.config

Topics

Resources

Code of conduct

Stars

221 stars

Watchers

6 watching

Forks

Repository files navigation

caarlos0/dotfiles

This is my latest dotfiles generation.

I've been experimenting with many different tools to manage them properly, from Ansible to shell scripts, and never liked any of them that much, to be honest.

You can see the history on these repositories:

Then, I tried nix, which seemed fine, but also overkill for my case. In the end, what I really wanted was just a simple shell script, which is this version here!

Applying

./setup

# And maybe:
./macos/set-defaults.sh

Machine-specific bits (Brewfile.<host>, hammerspoon/apps.<host>.lua) are picked by hostname -s: darkmatter is personal, quasar is work.

Copilot settings live in copilot/config, one key value per line. The first field is the key; the rest is the literal value, with surrounding whitespace ignored. Do not add shell quotes or variable expansion. Blank lines and full-line # comments are ignored. ./setup applies only settings that do not already match; runtime paths stay in setup.

Copilot agents and skills are symlinked individually into ~/.copilot. Setup leaves existing files and directories alone and configures read-only sandbox access to this repository. Remove old copies of repo-managed entries once before running setup.

Releasing

task release

Updating

task update

Run task nvim to update Neovim plugins, install missing configured Tree-sitter parsers, and update installed parsers. Neither startup nor ./setup updates plugins or installs parsers.

Inside Neovim, these operations are also available separately: :lua vim.pack.update(), :TSInstallConfigured, and :TSUpdate.

About

🏠 $HOME/.config

Topics

Resources

Code of conduct

Stars

221 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages