{"id":50365662,"url":"https://github.com/zamkara/ark.linux","last_synced_at":"2026-06-07T07:04:53.470Z","repository":{"id":360513887,"uuid":"1250503094","full_name":"zamkara/ark.linux","owner":"zamkara","description":"Build scripts and configs for spinning up a bootable Live ISO of an immutable Arch Linux env powered by OSTree and bootc.","archived":false,"fork":false,"pushed_at":"2026-06-07T05:58:09.000Z","size":6496,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-07T06:19:12.908Z","etag":null,"topics":["archlinux","bootc","container","distrobox","gnome","gui","immutable","linux","linux-hardening","linux-lts","linux-zen","ostree","podman","rust"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zamkara.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-26T17:40:56.000Z","updated_at":"2026-06-07T05:50:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zamkara/ark.linux","commit_stats":null,"previous_names":["zamkara/apollo.builder","zamkara/ark.linux"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/zamkara/ark.linux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zamkara%2Fark.linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zamkara%2Fark.linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zamkara%2Fark.linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zamkara%2Fark.linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zamkara","download_url":"https://codeload.github.com/zamkara/ark.linux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zamkara%2Fark.linux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34011824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-07T02:00:07.652Z","response_time":124,"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":["archlinux","bootc","container","distrobox","gnome","gui","immutable","linux","linux-hardening","linux-lts","linux-zen","ostree","podman","rust"],"created_at":"2026-05-30T04:01:47.740Z","updated_at":"2026-06-07T07:04:53.462Z","avatar_url":"https://github.com/zamkara.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"/data/assets/ic_light.svg\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"/data/assets/ic_dark.svg\"\u003e\n  \u003cimg alt=\"Ark Linux Logo\" src=\"/data/assets/ic_dark.svg\" width=\"256\"\u003e\n\u003c/picture\u003e\n\n# Vanilla Immutable Arch Linux\n[![Contributing](https://img.shields.io/badge/contributions-open-brightgreen?style=flat-square)](https://github.com/zamkara/ark.linux/pulls)\n[![Status](https://img.shields.io/badge/status-early%20stage-orange?style=flat-square)]()\n[![Arch Linux](https://img.shields.io/badge/base-Arch%20Linux-1793D1?style=flat-square\u0026logo=arch-linux\u0026logoColor=white)](https://archlinux.org)\n[![Podman](https://img.shields.io/badge/runtime-Podman-892CA0?style=flat-square\u0026logo=podman\u0026logoColor=white)](https://podman.io)\n[![GNOME](https://img.shields.io/badge/desktop-GNOME-4A86CF?style=flat-square\u0026logo=gnome\u0026logoColor=white)](https://www.gnome.org)\n[![Nix](https://img.shields.io/badge/declarative-Nix-5277C3?style=flat-square\u0026logo=nixos\u0026logoColor=white)](https://nixos.org)\n[![Distrobox](https://img.shields.io/badge/containerized-Distrobox-000000?style=flat-square\u0026logo=podman\u0026logoColor=white)](https://distrobox.it)\n[![Shell](https://img.shields.io/badge/shells-zsh%20|%20fish-4EAA25?style=flat-square\u0026logo=gnu-bash\u0026logoColor=white)]()\n\nBuild scripts 'n configs for spinnin' up a bootable Live ISO of an immutable Arch Linux env powered by OSTree 'n bootc.\n\n\u003cimg width=\"1920\" height=\"1080\" alt=\"Screenshot from 2026-06-04 21-47-25\" src=\"https://github.com/user-attachments/assets/bafc559d-e24f-48d7-bf8c-99adb8525217\" /\u003e\n\nNot a separate distro — underneath it's pure Arch Linux, delivered as an immutable image. Declarative package management's built right in with Nix, pin host packages alongside the system image. Distrobox is pre-configured, dev-ready outta the box — no setup needed, just use it.\n\n\u003e ⚠️ **Heads up — this is very early stage.** Expect bugs. Lotta 'em. For testin' only, don't run this on anythin' ya care about. Ya been warned.\n\n## System Architecture\n\nThree things're holdin' this together. **OSTree + bootc** handles image-based deployments — system state always matches whatcha tested in the build, no surprises. **Alga**'s the native installer; GTK4 Rust-based, async ops, real-time progress, graceful cancellation — it's got it handled. And the **CI/CD pipeline**'s automatin' everythin' else: GitHub Actions + OCI Containerfiles, push → ISO, that's it.\n\n## Build Requirements\n\n- `podman`\n- `wget`, `curl`, `jq`\n- Root (for `mkarchiso`)\n- ~10GB free disk space\n\n## Quick Start\n\n### Buildin' the ISO\n\n```bash\nsudo bash .github/workflows/build_iso.sh\n```\n\nOutput lands in `out/`.\n\n### Testin' with QEMU\n\n```bash\nqemu-system-x86_64 -m 4096 -cdrom out/install.iso -boot d\n```\n\n### Testin' with GNOME Boxes\n\n1. Open GNOME Boxes\n2. Hit \"+\" → new VM\n3. Point it at the ISO\n4. Follow Alga's prompts\n\n## Repository Structure\n\n- **[ark.linux](https://github.com/zamkara/ark.linux)** ISO generation via `archiso` 'n `bootc-image-builder`\n- **[ark-image](https://github.com/zamkara/ark-image)** Base container image defs 'n OS package manifests\n- **[alga](https://github.com/zamkara/alga)** GTK4 Rust frontend for `bootc` install 'n system updates\n- **[ark-aur](https://github.com/zamkara/ark-aur)** Custom repo for pre-compiled AUR packages\n\n## Docs\n\nAll technical docs're livin' in `docs/`:\n\n- **[Architecture and Vision](docs/Architecture-and-Vision.md)** Core design philosophy 'n system anatomy\n- **[Bootloader Implementation](docs/Bootloader-Implementation.md)** Bootloader 'n firmware integration\n- **[Installer Mechanics](docs/Installer-Mechanics.md)** Technical details of the Alga installer\n- **[Builder Mechanics](docs/05-Builder-Mechanics.md)** Automated ISO generation pipeline\n- **[Alga Source Code](docs/06-Alga-Source-Code.md)** Source code architecture 'n async patterns\n- **[OSTree and bootc](docs/07-OSTree-and-Bootc.md)** Immutable filesystem layout 'n atomic updates\n- **[Troubleshooting](docs/08-Troubleshooting.md)** Common issues 'n diagnostics\n- **[Local Testing](docs/09-Local-Testing.md)** Virtualization 'n testin' guidelines\n\n## Development\n\n### Prerequisites\n\n- Rust 1.70+ (for Alga builds)\n- GTK4 dev libraries\n- Podman (or any Containerfile-compatible runtime)\n\n### Buildin' Locally\n\n```bash\ngit clone https://github.com/zamkara/ark.linux.git\ncd ark.linux\n\n# Poke around the Containerfile first\ncat Containerfile\n\n# Optional local build\npodman build -t ark-os:dev .\n\n# Generate the ISO\nsudo bash .github/workflows/build_iso.sh\n```\n\n## Installation\n\n1. **Boot from ISO** Write it to a USB or boot directly\n2. **Launch Alga** Hit \"Install Ark Linux\" from the boot menu\n3. **Pick target drive** Choose where it's goin'\n4. **Wait** Watch progress in the Alga terminal\n5. **Reboot** Done. Immutable Arch, ready to go.\n\n## Post-Installation\n\n```bash\n# Check for updates\nbootc check-update\n\n# Apply 'em — atomic, rollback-capable\nbootc upgrade\n\n# Regret it? Roll back.\nbootc rollback\n\n# Install packages on host via Nix\nnix profile install nixpkgs#htop\n\n# Drop into a full Arch container with pacman\ndistrobox enter arch\n\n# Switch default shell\nchsh -s /usr/bin/fish\n\n# System info\nfastfetch\n```\n\n## System Layout\n\n```\n/                          Immutable root (read-only)\n├── /etc                   Config (mutable, 3-way merged on updates)\n├── /var                   Variable data, user home (mutable)\n├── /usr                   Immutable system binaries 'n libraries\n└── /opt                   Additional immutable applications\n```\n\n## Powered by\n\n- **[Pods](https://github.com/marhkb/pods)** GTK4+Rust Podman frontend — UI inspiration for Alga's container management layer\n- **[DistroShelf](https://github.com/ranfdev/DistroShelf)** GTK4 GUI for Distrobox — shaped how Distrobox integration's hangin' together in-session\n- **[MoreWaita](https://github.com/somepaulo/MoreWaita)** Expanded Adwaita icon theme — keepin' the desktop consistent 'n cohesive outta the box\n- **[nixpkgs](https://github.com/nixos/nixpkgs)** The Nix package collection — powerin' declarative host package management\n\n## Credits\n\nBuildin' on the work of:\n\n- **[Fedora Silverblue](https://silverblue.fedoraproject.org/)** Pioneer of container-native Linux desktops\n- **[Arch Linux](https://archlinux.org/)** The base. The goat.\n- **[OSTree](https://ostreedev.github.io/ostree/)** Git-like versioning for OS binaries\n- **[bootc](https://github.com/containers/bootc)** Container-to-bootable-system magic\n- **[GNOME](https://www.gnome.org/)** Desktop env 'n dev libraries\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzamkara%2Fark.linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzamkara%2Fark.linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzamkara%2Fark.linux/lists"}