Add portable package bootstrap and application dotfiles - #22
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit fac2b6b. Configure here.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fac2b6b510
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ee01e8d366
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 555b83da90
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: defadf3bf8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2a8f9779c7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2bacfb26ad
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Summary
Why
This repository should install the applications and command-line tools used regularly and configure them with portable dotfiles. System repositories, drivers, desktop policy, and workstation tuning are deliberately out of scope and will live in a separate Fedora setup repository.
The package profile uses stable logical identifiers. Concrete Fedora names remain under
ansible/packages/providers/, while provider behavior is isolated behind a smalldetect/plan/installadapter interface so another package provider can be added without changing the dotfiles.Validation
./scripts/check.shgit diff --checkNote
Medium Risk
Changes Git signing and credential helper paths (workflow impact) and runs elevated DNF installs during bootstrap; scope is large but limited to personal dev machines, not deployed services.
Overview
Introduces a single bootstrap path (
bootstrap.sh) that installs a provider-neutral CLI package profile and deploys dotfiles, with--dry-run,--packages-only, and--dotfiles-onlysplits.Package layer:
ansible/packages/profile.txtplus Fedora mapping andscripts/install-packages.shwith adetect/plan/installadapter (fedora.shusesrpm -qandsudo dnfonly for missing RPMs). OS-specific names stay underansible/; behavior stays inscripts/.Stow layer: Default packages come from
stow-packages.txtinstead of auto-discovering top-level dirs.stow.shgainslist, optional package subsets, obsolete symlink cleanup, and stricter non-root checks.scripts/check.shvalidates manifests, shell syntax, and a Stow dry-run.New/updated config: Ghostty, LazyVim (
lazy-lock.json+ language extras), additive Bash fragments (PATH, direnv, Starship), tmux defaults, and Git changes—unsigned commits by default (git cisfor signed), Git LFS filters, and~/.local/binwrappers forghcredentials and 1Password SSH signing.Docs and
AGENTS.mdrefocus the repo on portable apps/dotfiles and defer full Fedora workstation provisioning elsewhere.Reviewed by Cursor Bugbot for commit fac2b6b. Configure here.