aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* refactor: drop in-repo dotfiles/, move stow tooling to the dotfiles repoCraig Jennings12 days1-149/+18
| | | | | | | | Since the installer clones DOTFILES_REPO into ~/.dotfiles and stows from there, the in-repo dotfiles/ tree was dead weight. Nothing reads it at install time. I removed it (831 files) now that both machines are migrated. The Makefile's stow / restow / reset / unstow / import targets and the dotfile-script unit suites moved to the dotfiles repo. They sit alongside the scripts they manage and run standalone (cd ~/.dotfiles && make ...). This Makefile keeps the VM-integration targets and the installer-helper suite (safe-rm-rf). I updated CLAUDE.md and README.md so stow operations run from ~/.dotfiles, and the dotfile-management, theme, and unit-test sections point at the standalone repo. The README was already describing the old in-repo model from before the installer switched to cloning. This brings it in line.
* docs: document the unit-test layer and add a make test-unit targetCraig Jennings2026-05-201-1/+14
| | | | | | The README only covered the VM integration harness. The unit suites under tests/ (one directory per script, fake binaries on PATH) went unmentioned, so a contributor adding a .local/bin script had no way to know they existed or how to run them. I added a make test-unit target that runs every tests/*/test_*.py suite explicitly. unittest discover can't find them because the per-script directory names are hyphenated and aren't valid package paths. Then I split the README Testing section into Unit and VM-integration layers, added a guide for adding a suite, and pointed Contributing at test-unit for script changes.
* fix(Makefile): detect and prompt on restow conflictsCraig Jennings2026-02-211-3/+23
| | | | | Dry-run stow before restowing to catch real files blocking symlinks. Shows conflicting files and prompts to overwrite or abort.
* feat(test,hyprland): improve test infrastructure and fix easyeffectsCraig Jennings2026-01-291-3/+23
| | | | | | | | | | | | | | | | | | | | Test Infrastructure: - Add make test-keep target to keep VM running after test - Add make test-vm-base target for creating base VM only - Update make test to auto-create VM if missing - Remove manual user creation from create-base-vm.sh (archsetup handles it) - Remove unused USERNAME/USER_PASSWORD from archsetup-test.conf Archsetup: - Add snapper-gui-git for btrfs snapshot GUI - Add SYNC_ACL=yes for snapper permissions - Add setfacl for wheel group access to /.snapshots Hyprland: - Remove easyeffects scratchpad (keep auto-launch) - Remove ecosystem permissions (caused too many popups) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(Makefile): add deps target for project dependenciesCraig Jennings2026-01-281-1/+16
| | | | | Installs stow, fzf for Makefile targets and qemu-full, virt-manager, libguestfs, bridge-utils, dnsmasq, archiso, sshpass, socat for VM testing.
* feat(testing): add make test target and display report on completionCraig Jennings2026-01-271-1/+7
| | | | | Add 'make test' Makefile target to run full VM integration test suite. Print test report to terminal after generation for immediate visibility.
* feat(makefile): allow import to common, dwm, or hyprlandCraig Jennings2026-01-261-26/+40
| | | | | | | | | | | Import now requires destination: make import common # Import to shared configs make import dwm # Import to DWM-specific make import hyprland # Import to Hyprland-specific Prompt and header now show destination. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(makefile): include top-level dotdirs in import selectionCraig Jennings2026-01-261-0/+1
| | | | | | | | | | | Import now searches: - ~/.* (top-level dotdirs like .emacs.d, .ssh) - ~/.config/* - ~/.local/* Excludes .cache, .local, .config from top-level (they're handled separately). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(makefile): add import target, rename adopt to resetCraig Jennings2026-01-261-7/+39
| | | | | | | | | | | | | | | | New targets: - import: Use fzf to select ~/.config and ~/.local dirs to import into dotfiles/common/, then restow to create symlinks - reset: Renamed from adopt - clearer name for "resolve conflicts, keep repo version" Import workflow: 1. fzf multi-select from ~/.config and ~/.local 2. Move selected dirs to dotfiles/common/ 3. Restow common to create symlinks 4. Reminder to git commit Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: add Makefile for GNU Stow dotfile managementCraig Jennings2026-01-261-0/+76
Targets: - stow: Create symlinks (fresh install) - restow: Refresh symlinks after git pull - adopt: Pull system files, reset to repo version - unstow: Remove all symlinks Usage: make <target> <de> make stow dwm make restow hyprland make adopt dwm Shows help if DE argument missing. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>