Skip to content

Commit 298d8e9

Browse files
Create README.md
1 parent 93d7b07 commit 298d8e9

File tree

1 file changed

+128
-0
lines changed

1 file changed

+128
-0
lines changed

README.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
Here's the updated README with the workflow snippet included:
2+
3+
---
4+
5+
# Arch Linux Without the Beeps
6+
7+
This repository provides a customized Arch Linux ISO with the system bell (beeps) disabled, ideal for users who prefer a quieter environment.
8+
9+
## Features
10+
11+
- **Silent Mode**: The systemd-boot beep and other annoying beeps are completely disabled.
12+
- **Arch Linux Base**: Built on the latest Arch Linux, providing a clean and minimal system.
13+
- **Custom ISO**: Easily build and download a custom ISO with this configuration.
14+
- **Daily Automated Build**: ISO builds are automatically generated and released daily.
15+
16+
## Workflow Overview
17+
18+
This project uses GitHub Actions to automatically build and release an Arch Linux ISO with the system bell disabled. The workflow includes the following steps:
19+
20+
1. **Checkout Repository**: Pulls the latest files from the repository.
21+
2. **Build Environment Setup**: A Docker container simulates the Arch Linux environment.
22+
3. **Build ISO**: The Arch ISO is customized and built using `mkarchiso`.
23+
4. **Upload ISO**: The ISO is uploaded as a release on GitHub with a version tag.
24+
5. **Silent Configuration**: Ensures that system beeps are turned off across all configurations.
25+
26+
## How to Use
27+
28+
1. **Clone the repository**:
29+
30+
```bash
31+
git clone https://github.com/Githubguy132010/Arch-Linux-without-the-beeps.git
32+
```
33+
2. **Run the workflow**
34+
35+
You can run the workflow manually by going to Actions > Build ISO and click on run Workflow.
36+
Keep un mind you are going to need a PAT (Personal access Token) and you need to edit the Workflow to reflect your PAT.
37+
38+
2. **Automated Workflow**: The GitHub Actions workflow automatically triggers on:
39+
- **Pushes** and **Pull Requests** to the `main` branch
40+
- **Scheduled daily builds** at midnight (UTC)
41+
42+
3. **Download the ISO**:
43+
- Visit the [releases page](https://github.com/Githubguy132010/Arch-Linux-without-the-beeps/releases) to download the latest ISO.
44+
45+
## Configuration Details
46+
47+
This project disables the systemd-boot by modifying several configuration files. The changes are applied during the ISO build process.
48+
49+
50+
## GitHub Actions Workflow
51+
52+
The workflow file for building and releasing the custom ISO is located at `.github/workflows/build-iso.yml`. Here's the workflow snippet:
53+
54+
```yaml
55+
name: Build ISO Without Beeps
56+
57+
on:
58+
push:
59+
branches: [ "main" ]
60+
pull_request:
61+
branches: [ "main" ]
62+
schedule:
63+
# Runs every day at midnight
64+
- cron: '0 0 * * *'
65+
66+
jobs:
67+
build:
68+
runs-on: ubuntu-latest
69+
70+
steps:
71+
- name: Checkout Repository
72+
uses: actions/checkout@v4
73+
74+
- name: Set up Arch Linux Container
75+
run: |
76+
docker run --privileged --name arch-container -d -v ${{ github.workspace }}:/workdir archlinux:latest sleep infinity
77+
78+
- name: Build ISO in Arch Container
79+
run: |
80+
docker exec arch-container bash -c "
81+
pacman -Syu --noconfirm &&
82+
pacman -S --noconfirm git archiso grub &&
83+
cd /workdir &&
84+
mkarchiso -v -w workdir/ -o out/ .
85+
"
86+
87+
- name: Rename ISO to ArchGUI-NoBeeps.iso
88+
run: |
89+
docker exec arch-container bash -c "
90+
iso_file=\$(ls /workdir/out/*.iso | head -n 1) &&
91+
mv \$iso_file /workdir/out/Arch.iso
92+
"
93+
94+
- name: Copy ISO to Host
95+
run: |
96+
docker cp arch-container:/workdir/out/Arch.iso ${{ github.workspace }}/
97+
98+
- name: Create GitHub Release
99+
uses: actions/[email protected]
100+
env:
101+
GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
102+
with:
103+
tag_name: v${{ steps.date.outputs.date }}-release
104+
release_name: ${{ steps.date.outputs.date }}
105+
body: |
106+
This release contains the Arch Linux ISO built on ${{ steps.date.outputs.date }}
107+
draft: false
108+
prerelease: false
109+
110+
- name: Upload ISO to GitHub Release
111+
uses: actions/upload-release-asset@v1
112+
env:
113+
GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
114+
with:
115+
upload_url: ${{ steps.create_release.outputs.upload_url }}
116+
asset_path: ${{ github.workspace }}/ArchGUI-NoBeeps.iso
117+
asset_name: Arch.iso
118+
asset_content_type: application/octet-stream
119+
120+
- name: Clean Up
121+
run: |
122+
docker stop arch-container
123+
docker rm arch-container
124+
```
125+
126+
## License
127+
128+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

0 commit comments

Comments
 (0)