{"id":50143028,"url":"https://github.com/uinaf/dotfiles","last_synced_at":"2026-05-24T02:36:50.992Z","repository":{"id":357188965,"uuid":"1235808393","full_name":"uinaf/dotfiles","owner":"uinaf","description":"macOS bootstrap and dotfiles","archived":false,"fork":false,"pushed_at":"2026-05-19T17:57:01.000Z","size":303,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-19T21:18:40.025Z","etag":null,"topics":["dotfiles","homebrew","macos","mise"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uinaf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-11T17:14:50.000Z","updated_at":"2026-05-19T17:57:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/uinaf/dotfiles","commit_stats":null,"previous_names":["uinaf/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uinaf/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uinaf%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uinaf%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uinaf%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uinaf%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uinaf","download_url":"https://codeload.github.com/uinaf/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uinaf%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33419556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotfiles","homebrew","macos","mise"],"created_at":"2026-05-24T02:36:46.108Z","updated_at":"2026-05-24T02:36:50.986Z","avatar_url":"https://github.com/uinaf.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotfiles\n\nPublic Mac bootstrap files for uinaf machines.\n\nThis repo owns the portable layer: Homebrew bundles, chezmoi-managed zsh\nstartup, mise runtimes, Git and SSH defaults, Codex defaults, editor settings,\nand setup and audit scripts.\n\nIt does not own secrets, identity, Codex auth/state, browser profiles, app\ncaches, dependency folders, build output, or project checkouts. Those stay\nmachine-local.\n\n## Choose a Profile\n\n| Profile | Use it for | Installs |\n| --- | --- | --- |\n| Shared | Base tools every uinaf Mac should have. | `Brewfile` |\n| Personal | A human-operated laptop or desktop. | `Brewfile` + `Brewfile.personal` |\n| Devbox | A shared Mac mini or SSH-first agent host. | `Brewfile` + `Brewfile.devbox` |\n\nMost users want `personal`. Always-on agent hosts use `devbox`.\n\n## Fast Path\n\nInstall Apple Command Line Tools, Homebrew, `git`, and `gh`, then clone the\nrepo:\n\n```zsh\ngh auth login\nmkdir -p ~/projects/uinaf\ngh repo clone uinaf/dotfiles ~/projects/uinaf/dotfiles\ncd ~/projects/uinaf/dotfiles\n\n./scripts/bootstrap/brew-bundle.sh personal\n./scripts/bootstrap/install.sh\n./scripts/bootstrap/configure-git.sh --profile personal\n./scripts/bootstrap/configure-power.sh --profile personal\n./scripts/app-store/personal.sh\nmise trust\nmise install\n./scripts/bootstrap/pull-repos.sh\n./scripts/verify/bootstrap.sh --profile personal\n```\n\nIf `git` or `gh` is not available yet, or for the full first-machine flow,\ndevbox setup, Chrome vertical tabs, Blacksmith, and Tizen notes, read\n[Bootstrap guide](docs/bootstrap.md).\n\n`configure-power.sh` is a deliberate sudo step. `install.sh` stays user-level\nand should not change system power policy implicitly.\n\n## What Gets Installed\n\n`./scripts/bootstrap/install.sh` applies tracked files from `chezmoi/` into\n`$HOME` through `scripts/bootstrap/apply-dotfiles.sh`. Use\n[Bootstrap guide](docs/bootstrap.md) for the ordered setup flow,\n[Chezmoi source state](docs/chezmoi.md) for source naming rules, and\n[Mise tasks](docs/mise.md) for the split between repo tasks and machine runtime\npins.\n\n| Surface | Tracked source | Local-only extension |\n| --- | --- | --- |\n| zsh | `chezmoi/dot_zshenv`, `chezmoi/dot_zprofile`, `chezmoi/dot_zshrc` | machine shell history and ad hoc local files |\n| mise | `chezmoi/private_dot_config/mise/config.toml` | repo-local runtime files |\n| Git | `chezmoi/dot_gitconfig` | `~/.gitconfig.local` |\n| SSH | `chezmoi/private_dot_ssh/private_config` | `~/.ssh/config.local`, private keys |\n| Codex | installer-managed defaults, including ChatGPT-login enforcement | auth, sessions, approvals, memory, worktrees |\n| Editors | chezmoi-managed Zed and Ghostty defaults | app state, fonts, caches |\n\n## Local State Boundaries\n\nKeep these out of Git:\n\n- Git identity, signing keys, and 1Password SSH agent vault selection.\n- 1Password service-account tokens and item references.\n- SSH private keys, certificates, Tizen archives, and device keys.\n- Codex auth, Browser approvals, sessions, caches, worktrees, and app state.\n- Browser profiles, Docker/Colima state, dependency folders, and build output.\n\nFor always-on agent hosts, use the secret model in [Devbox setup](docs/devbox.md):\nservice-account tokens live in machine-local storage, generated runtime env\nfiles are owner-only, and normal shells do not export long-lived tokens.\n\n## Personalization\n\n`Brewfile.personal` is the shared human-operated Mac profile, not a private app\nwishlist. Keep one-machine tweaks in local config files, keep durable personal\npreferences in a fork, and send focused pull requests for changes that should\nbecome part of the shared uinaf bootstrap.\n\n## Verification\n\nUse repo checks before committing:\n\n```zsh\n./scripts/verify/repo.sh\n```\n\nEquivalent mise task:\n\n```zsh\nmise trust\nmise run verify\nmise run verify:fast\n```\n\nTo install the local pre-push guard for the fast repo gate:\n\n```zsh\n./scripts/bootstrap/install-git-hooks.sh\n```\n\nUse live-machine checks only on a machine that should actually use these\ndotfiles:\n\n```zsh\n./scripts/verify/bootstrap.sh --profile personal\n./scripts/verify/bootstrap.sh --profile devbox\n```\n\nFor security posture:\n\n```zsh\n./scripts/audit/repo.sh --skip-mscp\nmise run audit:repo\n./scripts/audit/host.sh\n./scripts/audit/personal.sh\n./scripts/audit/devbox.sh\n```\n\nSee [Security audits](docs/security-audits.md) for the audit layers, Lynis host\naudit, and macOS Security Compliance Project flow.\n\n## Docs Map\n\n| Need | Read |\n| --- | --- |\n| Install or update a Mac | [Bootstrap guide](docs/bootstrap.md) |\n| Operate a shared agent Mac mini | [Devbox setup](docs/devbox.md) |\n| Understand dotfile source state | [Chezmoi source state](docs/chezmoi.md) |\n| Understand mise tasks and runtime pins | [Mise tasks](docs/mise.md) |\n| Help as an AI agent | [Agent guide](AGENTS.md) |\n| Understand verification and CI | [Agent readiness](docs/agent-readiness.md) |\n| Understand GitHub Actions | [GitHub pipelines](docs/github-pipelines.md) |\n| Run security checks | [Security audits](docs/security-audits.md) |\n| Build React Native apps | [React Native](docs/react-native.md) |\n| Contribute changes | [Contributing](CONTRIBUTING.md) |\n| Report a vulnerability | [Security](SECURITY.md) |\n| Find scripts | [Script guide](scripts/README.md) |\n\n## License\n\nMIT. See [License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuinaf%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuinaf%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuinaf%2Fdotfiles/lists"}