| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- etc-diff: diff repo-managed etc/<path> vs live /etc (defaults to all)
- etc-upstream-diff: diff live /etc vs pristine pacman archive
(defaults to pacman -Qkk modified set)
- etc-add: copy /etc/<path> into the repo's etc/ tree
- etc-reset: restore pristine via bsdtar -xpf, or rm if unowned;
refuses managed paths without --force
- ignore /etc/fstab (host-specific UUIDs/layout)
- path-traversal guards on all recipe inputs
- regular-file-only enforcement (no symlinks/dirs)
- fail-fast with clear message if mirror can't supply installed version
|
| |
|
|
|
|
|
|
|
|
|
| |
- `just etc-drift` reports /etc files modified from pacman defaults
(via pacman -Qii) and user-created files (via pacman -Qo), subtracting
already-managed paths and patterns listed in etc/.ignore.
- Refactor run_onchange_after_deploy-etc.sh.tmpl to enumerate files under
etc/ automatically via find; single combined hash via chezmoi output +
sha256sum, so new files only need to be dropped into etc/.
- etc/.ignore seeds noise filters: machine-id, ssh host keys, pacman
keyring, mirrorlist, shadow/passwd backups, sbctl keys, ca-certs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce systemd-units/<group>.txt files paired by name with meta
groups (systemd-units/base.txt <-> meta/base.txt). Units listed there
are enabled by a new 'just services-enable' recipe, wired into 'just
init' so bootstrap.sh no longer needs its own systemctl loop.
New justfile recipes (Services section):
services list curated units with enabled/active state
services-enable idempotent 'systemctl enable --now', soft-fail per unit
services-drift two-way diff vs systemctl list-unit-files
bootstrap.sh drops its hardcoded 9-unit loop and laptop TLP block
(~22 lines); 'just init' now handles it. tlp.service lives directly in
systemd-units/base.txt (no laptop gating).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Takes a minimal Arch system (only 'base' installed) to the point where
'just init' has run and dotfiles are deployed. Installs prerequisites
(sudo, git, base-devel, chezmoi, just, efibootmgr), enables %wheel in
sudoers, bootstraps paru-bin from the AUR, clones the repo, runs
'just init' (which swaps sudo for doas-sudo-shim via the existing base
meta list), and launches create-efi if no Arch EFI boot entry exists.
Designed to be curlable:
curl -fsSL https://raw.githubusercontent.com/sommerfelddev/dotfiles/master/bootstrap.sh | sh
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Structural:
- Dedupe: drop git/unzip/wget/mold from dev, linux-headers from base,
zbar from btc (kept in wayland)
- Move thermald base→intel (Intel-only daemon)
- Split wayland.txt into wayland (compositor stack), browser, office
- Sort base.txt alphabetically
Content:
- Drop stale: dog, choose, curlie (base); sloccount (dev)
- Drop redundant: pipenv, yarn (dev has uv and npm)
- Drop niche: irqbalance, libusb-compat (base); go-md2man, flamelens (dev)
- Switch doas-sudo-shim-k → doas-sudo-shim (mainline variant)
Removed packages are list-only; uninstall afterward with paru -Rsn
if they appear in 'just undeclared'.
|
| |
|
|
|
| |
Aligned with the other personal scripts; chezmoi will deploy it as
~/.local/bin/create-efi (executable, no .sh extension).
|
| |
|
|
|
|
|
|
| |
- 'just status' now a thin wrapper for 'pkg-drift + dotfile-drift'
- 'just pkg-drift' and 'just dotfile-drift' are individually addressable
- 'just undeclared' prints undeclared packages unindented, one per line,
so they pipe cleanly into 'paru -Rs -'
- pkg-drift reuses 'just undeclared' via sed to avoid duplicating logic
|
| |
|
|
|
|
| |
Both accept an optional file path. 'just merge' without an argument
runs chezmoi merge-all (interactive across all modified files);
with an argument it merges just that one target.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 'just sync' now wraps apply + fix for combined dotfile + package
reconciliation
- 'just init' generalized for first-time machine setup: regenerate
chezmoi config, install git hooks, install base packages
- Hidden helper recipes (_chezmoi-init, _install-hooks) via [private]
so they don't clutter 'just --list'
- Section banners organize the justfile into Setup, Day-to-day,
Inspection, Package management, and Hidden helpers
- Default recipe (bare 'just') shows the list
- Doc comments reworded for clarity in the autocomplete menu
|
| |
|
|
|
|
| |
chezmoi init is only needed when .chezmoi.toml.tmpl changes, so running
it on every apply is unnecessary overhead. Run 'just init' manually
when the template changes.
|
| |
|
|
|
| |
For each group with at least one package installed, install the rest
via paru --needed. Never-installed groups (✗) stay untouched.
|
| | |
|
| |
|
|
|
|
|
| |
Shows install status for each meta group:
✓ (green) fully installed
~ (yellow) partially installed
✗ (red) nothing installed
|
| |
|
|
|
| |
Appends the package to meta/<group>.txt (if not already present) and
installs it via paru --needed. Equivalent to chezmoi add for packages.
|
| |
|
|
|
|
|
|
|
|
| |
- Convert 16 PKGBUILD metapackages to simple .txt files (one package per line)
- Delete all PKGBUILD, .SRCINFO, and .pkg.tar.zst binary artifacts
- Clean stale packages: lf→yazi, tmux→zellij, neofetch→fastfetch, stow→chezmoi
- Remove duplicate rustup in dev, duplicate mesa in intel
- Add justfile recipes: install, install-all, status (unified drift detection)
- Configure chezmoi to exclude scripts from status/diff output
- Update copilot instructions
|
| | |
|
| | |
|
| |
|
|
| |
Stow target is the Firefox/LibreWolf user profile directory, not home.
|
| |
|
|
|
|
| |
- etc/: stow-deployable symlinks to /etc
- etc2/: manual-copy configs for tools that reject symlinks
- Remove references to deleted lists/ and barscripts/ directories
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed:
- home/.config/{X11,bspwm,sxhkd,polybar,rofi,dunst,sxiv,sx,alacritty}
- meta/{x-base,x-de,x-extra} metapackages
- barscripts/ (polybar GPU scripts)
- nvim sxhkdrc ftplugin and treesitter parser
Updated:
- mimeapps.list: sxiv → imv
- ghostty config: bspwm → sway comment
- .zshrc: alacritty → xterm-ghostty in TERM check
- .zprofile: removed bspwm from comment
- copilot-instructions.md: removed X11 references
|
| |
|
|
|
|
|
| |
- Add sway keybinds section to KEYBINDS.md
- Update cross-tool conflict matrix with sway column
- Add sway architecture to copilot instructions
- Mark old X11 configs as legacy
|
| | |
|
| |
|
|
|
| |
Document the terminal multiplexer setup: zellij config location,
vim-zellij-navigator + smart-splits.nvim integration.
|
|
|
Rewrite shell config section to reflect the zsh-only 3-file
architecture (.zshenv, .zprofile, .zshrc). Remove references to
deleted files (.profile, .bashrc, envrc, aliases, shinit).
|