Files
dotfiles/.github/README.md
alexion 1fd8e7e773 dotcli: add dot setup folders (XDG short-name migration)
Adds a dot setup subcommand family (idempotent, re-runnable machine-setup
tasks) with a folders task that brings the 8 standard XDG user
directories under a fixed short-name convention (Desktop -> .desktop,
Documents -> doc, Downloads -> dwn, Music -> mus, Pictures -> pic,
Videos -> vid, Templates/Public -> .ignoreme), hardcoded rather than read
from ~/.config/user-dirs.dirs -- that file is a separate, manually
tracked dotfile whose values can drift or go stale, and the migration
must not depend on it being correct. The nested Pictures/Screenshots
folder is renamed to pic/screenshots in the same pass.

Content left behind in a legacy full-named folder by a fresh XDG-defaults
install -- empty or not -- is merged into its short-named replacement.
A same-named collision between a legacy folder and its target is never
overwritten: it is skipped, reported, and the legacy folder is left in
place rather than deleted while something in it could not be merged.
--dry-run previews what would move/skip without touching the filesystem.
xdg-user-dirs-update runs once afterward to notify running apps/portals.
2026-07-06 16:31:35 -04:00

2.4 KiB

dotfiles

Dotfiles managed as a bare git repo checked out over $HOME, for machines running CachyOS with KDE Plasma.

Bootstrapping a new machine

mkdir -p ~/.config/fish/functions
curl -fsSL https://git.alexion.dev/alexion/dotfiles/raw/branch/main/.config/fish/functions/dot.fish \
    -o ~/.config/fish/functions/dot.fish
fish -c 'dot init'

Commands

Command Description
dot help Lists available commands.
dot init Bootstraps the dotfiles repo on a new machine.
dot install <pkgs> Installs the given pacman packages and appends them to the tracked list (~/.config/dot/packages/pacman).
dot install --restore Reinstalls every package from the tracked list.
dot kde apply Pushes every manifest entry's declared value onto the live system.
dot kde diff Reports every schema-backed setting whose live value differs from its default, tagged declared or undeclared.
dot kde help Lists dot kde's subcommands.
dot kde save <identifier> Reads a KDE setting's current live value and declares it in the manifest (~/.config/dot/kde-manifest).
dot kde save Refreshes every already-declared manifest entry's value from the live system.
dot setup Runs every machine-setup task (currently just folders).
dot setup folders Brings the 8 standard XDG user directories (~/Desktop, ~/Documents, ...) under a fixed short-name convention (~/.desktop, ~/doc, ...).
dot <git> Everything else is passed to git.

See CLAUDE.md for the dot tool's internal architecture, bootstrap logic, subcommand dispatch, and test suite.

Keybindings

See keybindings.md for custom and useful default keybindings across configured tools (currently: tmux).