https://github.com/felixdes/arch_post_install
Arch linux post-install tool that supports configuration with YAML
https://github.com/felixdes/arch_post_install
configuration cpp linux vibe-coded
Last synced: about 1 month ago
JSON representation
Arch linux post-install tool that supports configuration with YAML
- Host: GitHub
- URL: https://github.com/felixdes/arch_post_install
- Owner: FelixDes
- License: mit
- Created: 2025-08-21T21:45:20.000Z (about 2 months ago)
- Default Branch: master
- Last Pushed: 2025-08-21T22:11:47.000Z (about 2 months ago)
- Last Synced: 2025-08-21T23:49:57.619Z (about 2 months ago)
- Topics: configuration, cpp, linux, vibe-coded
- Language: C++
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Arch Post-Install Tool
A command-line utility for Arch-based Linux distributions to automate post-installation tasks. It provides an interactive ncurses-based menu to select and execute installation commands for packages using `yay` or custom shell scripts, configured via a YAML file.
## Features
- **Interactive Menu**: Navigate and select installation tasks using a terminal-based interface.
- **YAML Configuration**: Define packages and custom shell commands in a structured YAML file, supporting local files or remote URLs.
- **Flexible Actions**: Install AUR packages with `yay` or run custom shell commands.
- **Script Generation**: Generate and optionally execute shell scripts from selected actions.
- **Command-Line Options**: Supports options for specifying YAML input, executing scripts, and saving output to files.## Requirements
- C++26 compiler
- CMake 3.31+
- Libraries: `libcurl`, `ncurses`, `yaml-cpp`, `cxxopts`
- AUR helper: `yay`## Building
```bash
mkdir build
cd build
cmake ..
cmake --build .
```Binaries are placed in `build/bin`.
## Usage
```bash
./build/bin/arch_post_install -f [-e] [-w [output_file]]
```- `-f, --file `: Path or URL to the YAML configuration file.
- `-e, --exec`: Execute the generated script.
- `-w, --write [filename]`: Save the script to a file (default: auto-generated name).
- `-h, --help`: Display help message.## Example YAML
```yaml
sections:
core:
items:
- vim
- name: custom_setup
enabled: true
commands: |
__MGR__ -S neovim # alias for `yay --noconfirm --answerdiff=None --answeredit=None`
sudo systemctl enable sshd
__NOTIFY__ "alert" "msg" # alias for `notify-send -i dialog-information -t 5000 -u critical`
dev:
items:
- git
```## Installation
Binaries are available in the [GitHub Packages registry](https://github.com/FelixDes/arch_post_install/packages).## License
MIT License