{"id":16191269,"url":"https://github.com/project0/arch-system-packages","last_synced_at":"2026-05-19T10:06:38.937Z","repository":{"id":40646616,"uuid":"444559799","full_name":"project0/arch-system-packages","owner":"project0","description":"PKGBUILD files and scripts to bootstrap, configure and manage my whole system configuration","archived":false,"fork":false,"pushed_at":"2025-03-03T22:22:50.000Z","size":97,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-03T23:23:55.919Z","etag":null,"topics":["archlinux","pacman","pkgbuild","system"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"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/project0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-04T20:51:53.000Z","updated_at":"2025-03-03T22:22:53.000Z","dependencies_parsed_at":"2024-06-17T13:06:26.289Z","dependency_job_id":"13f87f52-a7f9-4d7f-a79d-a324d0a94866","html_url":"https://github.com/project0/arch-system-packages","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project0%2Farch-system-packages","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project0%2Farch-system-packages/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project0%2Farch-system-packages/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project0%2Farch-system-packages/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/project0","download_url":"https://codeload.github.com/project0/arch-system-packages/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247675618,"owners_count":20977376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["archlinux","pacman","pkgbuild","system"],"created_at":"2024-10-10T07:45:37.123Z","updated_at":"2026-05-19T10:06:38.910Z","avatar_url":"https://github.com/project0.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project0's Arch Linux System Packages\n\nThis repository contains my Arch Linux PKGBUILD files and scripts to bootstrap, configure and manage my whole system configuration.\nAt the end a single host based package bootstraps a whole arch linux installation and can be updated at any time.\n\n\u003e Note: It is not intended to cover user based configuration. A typical dotfiles approach is better suited for this case. You can use [dotbot](https://github.com/anishathalye/dotbot) for example.\n\n## Packages\n\nThe project split into several parts and leverage Make targets to build the final packages and pacman repo.\n\n```bash\n# build all packages\nmake all\n# cleanup repo (dist/) and temp files\nmake clean\n\n# build all packages\nmake packages\n\n# build only specific package groups\nmake pkgbuild/system/*\nmake pkgbuild/packages/*\n# build the aur hosted packages defined in Makefile\nmake aur\n\n# build specific package and update repo db\n# todo: find better approach to wire this automatically\nmake pkgbuild/system/\u003cname\u003e update-db/system\nmake pkgbuild/packages/\u003cname\u003e update-db/packages\n# build a arbitrary AUR hosted package\nmake pkgbuild/aur/\u003cname\u003e update-db/aur\n```\n\n### System\n\nThe system packages covers all the customizations, configurations and package dependencies to install.\n\nIt contains the following PKGBUILDs (what may create multiple packages):\n\n**project0-base-{helper,packages,configs}**: Shared base packages, systemd wide configurations and helper scripts or hooks for further usage.\n\n**project0-cryptsetup**: Cryptsetup configurations and scripts to automate decryption on boot wit TPM.\n\n**project0-refind{,-secureboot}**: Refind (EFI boot manager) configurations and scripts to automate configuration updates with optional secureboot signing.\n\n**project0-desktop{,-aur,gnome}**: Provides packages to installs and configures desktops (gnome) and applications.\n\n**project0-host-\u003chostname\u003e**: Bundles all required packages and dependencies together per host. May add specific host based configs.\n\n## Install a new machine\n\nThe whole point of the system package is actually to avoid any manual configuration and directly boot into the system on first boot. However, some steps still needs to be proceed, so everything is scripted to automate or at least print guidance (set passwords).\n\nServe the local repo, so it becomes accessible for remote installation. It will show further instructions for retrieve the scripts and how to start the arch linux installation:\n\n```bash\nmake run-local\n```\n\n- **bin/disk.sh \u003c/dev/disk-device\u003e \u003ctrue\\false=enable-encrypt?\u003e**: A script to initialize and prepare a disk with \"best practice\" partitions on fresh machine. Optional encryption parameter enables cryptsetup on the disk.\n- **bin/install.sh**: A script to install arch linux on a fresh machine. Basically just install the package `project0-host-\u003chostname\u003e` from repo.\n\n## References\n\n- [alpm-hooks - Trigger actions based on pacman transactions](https://man.archlinux.org/man/alpm-hooks.5)\n\n### Similar projects\n\n- [Foxboron PKGBUILD](https://github.com/Foxboron/PKGBUILDS/tree/master/foxboron-system): I have been highly inspired by this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproject0%2Farch-system-packages","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproject0%2Farch-system-packages","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproject0%2Farch-system-packages/lists"}