Parch Pilot is a powerful, modular CLI tool crafted in Go to simplify Parch Linux deployments and configurations.
Find a file
2025-09-29 23:54:34 +03:30
cmd/ppilot init project 2025-09-28 23:05:51 +03:30
examples feat: add module system support for yaml-cfg files and also added a small dockerfile for testing it on archlinux 2025-09-28 23:36:05 +03:30
internal Fix rename ParsePilotConfig to ParseConfig and merge modules correctly 2025-09-29 23:54:34 +03:30
.gitignore Add .gitignore for project 2025-09-29 23:50:44 +03:30
go.mod init project 2025-09-28 23:05:51 +03:30
go.sum init project 2025-09-28 23:05:51 +03:30
LICENSE Readme and License 2025-09-28 23:13:13 +03:30
Makefile Add Makefile for build, boot, deploy, and bootstrap 2025-09-29 23:52:54 +03:30
readme.md feat: add module system support for yaml-cfg files and also added a small dockerfile for testing it on archlinux 2025-09-28 23:36:05 +03:30

Parch Pilot 🚀

Go License: GPL-3.0

Parch Pilot is a powerful, modular CLI tool crafted in Go to simplify Parch Linux deployments and configurations. It lets you define your system setup declaratively in YAML, automating tasks like base installations, package management, custom scripts, and service enabling. Ideal for bootstrapping new Parch systems or restoring setups reproducibly, it's part of the ParchLinux Project aimed at modernizing Parch workflows with efficient, script-free automation.

With its clean architecture and Arch-native features, Parch Pilot handles everything from EFI/BIOS bootloaders to AUR and Flatpak integrations, all while keeping things lightweight and fast.

Key Features

  • Declarative YAML Configs: Describe your entire system in a single file for easy versioning and sharing.
  • Deployment & Restore Modes: Use --deploy for fresh installs via pacstrap, or --restore for applying configs on running systems.
  • Broad Package Support: Seamlessly installs from Pacman, AUR (with yay), and Flatpak.
  • Customizable Automation: Run shell commands and manage systemd services automatically.
  • Validation Built-In: Check your YAML for errors before execution with --validate.
  • Secure & Efficient: Runs as root where needed, with modular Go code for extensibility.

Getting Started

Prerequisites

You'll need Go 1.21+ for building, and an Arch Linux environment for full functionality. Tools like pacstrap, yay, flatpak, and arch-chroot should be available for deployment and restore operations.

Installation

Clone the repo and build the binary:

git clone https://git.parchlinux.com/tools/parch-pilot.git
cd parch-pilot
go mod tidy
go build -o ppilot ./cmd/ppilot

NOTE: For now there isn't any PKGBUILD for This program, since it is still in Development.

Usage

Invoke Parch Pilot with your YAML config and a flag:

ppilot [flags] /path/to/config.yaml
  • --deploy: Bootstraps a new system (root required; partitions must be prepped).
  • --restore: Applies config to an installed system (root required; assumes yay/flatpak installed).
  • --validate: Validates the YAML without changes.

Typical Workflow

  1. Prepare your config (you can find the fucking sample here: examples/sample/sample.yaml).
  2. Deploy: sudo ppilot --deploy examples/sample/sample.yaml mounts, installs base, sets up bootloaders, and copies the config.
  3. After booting: sudo ppilot --restore /root/pilot.yaml installs packages, runs commands, and starts services.

Configuration

Your setup lives in a YAML file with sections like deploy for install settings, pacman_packages for official repos, aur_packages for AUR, flatpak_packages for Flatpaks, custom_commands for shell scripts, and services for systemd units.

Contributing

Join the ParchLinux Project! Fork the repo, branch out (git checkout -b feature/cool-addition), commit, push, and PR. Check CONTRIBUTING for guidelines. We value bug fixes, features, and docs.

License

Licensed under the GNU General Public License v3.0 - see LICENSE for details.


Made with ❤️ for Parch Gnu/Linux