Skip to content

Commit f4ee248

Browse files
Streamline build workflow and mirror handling
1 parent 5dd57e4 commit f4ee248

File tree

7 files changed

+197
-327
lines changed

7 files changed

+197
-327
lines changed

Dockerfile.gui

Lines changed: 0 additions & 40 deletions
This file was deleted.

README.md

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -84,55 +84,6 @@ To install Docker, follow the instructions for your operating system:
8484
8585
Once the process completes, the ISO will be available in the `out/` directory within your local folder as `Arch.iso`.
8686
87-
---
88-
89-
## How to Build the ISO with a GUI
90-
91-
For a more user-friendly experience, you can use a Docker container that provides a web-based graphical user interface (GUI) to build the ISO.
92-
93-
### Prerequisites
94-
95-
Ensure you have Docker installed and running on your system.
96-
97-
### Steps to Build with the GUI
98-
99-
1. **Clone the repository**:
100-
101-
```bash
102-
git clone https://github.com/Githubguy132010/Arch-Linux-without-the-beeps.git
103-
cd Arch-Linux-without-the-beeps
104-
```
105-
106-
2. **Build the GUI Docker Image**:
107-
108-
Build the Docker image for the GUI application.
109-
110-
```bash
111-
docker build -t arch-iso-gui -f Dockerfile.gui .
112-
```
113-
114-
3. **Run the GUI Container**:
115-
116-
Run the container, mapping port 8080 to your host system.
117-
118-
```bash
119-
docker run --rm --privileged -p 8080:8080 -v $(pwd):/workdir arch-iso-gui
120-
```
121-
122-
4. **Access the GUI**:
123-
124-
Open your web browser and navigate to `http://localhost:8080`.
125-
126-
5. **Build the ISO**:
127-
128-
Click the "Build ISO" button to start the build process. The logs will be displayed in real-time on the page.
129-
130-
6. **Download the ISO**:
131-
132-
Once the build is complete, a download link for `Arch.iso` will appear.
133-
134-
---
135-
13687
## How to Use GitHub Actions (Automated Workflow)
13788
13889
This repository also includes a GitHub Actions workflow for building and releasing the ISO automatically on GitHub.

app.py

Lines changed: 0 additions & 45 deletions
This file was deleted.

dockerfile

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,27 @@
1+
# syntax=docker/dockerfile:1.6
12
FROM archlinux:latest AS builder
23

3-
# Set up parallel downloads and other optimizations
44
COPY pacman.conf /etc/pacman.conf
55

6-
# Update system and install necessary packages
7-
RUN pacman -Syu --noconfirm && \
6+
RUN --mount=type=cache,target=/var/cache/pacman/pkg \
7+
pacman -Syu --noconfirm && \
88
pacman -S --noconfirm --needed \
9-
git \
10-
archiso \
11-
grub \
12-
base-devel \
13-
&& pacman -Scc --noconfirm
9+
archiso \
10+
base-devel \
11+
bsdtar \
12+
git \
13+
grub
1414

15-
# Set the working directory
1615
WORKDIR /build
1716

18-
# Copy only necessary files for package installation
1917
COPY packages.x86_64 bootstrap_packages.x86_64 profiledef.sh ./
2018

21-
# Create a new final image
2219
FROM builder AS final
2320

24-
# Set the working directory
2521
WORKDIR /workdir
2622

27-
# Copy the rest of the files
2823
COPY . .
2924

30-
# Use an entrypoint script for better flexibility
3125
COPY ./scripts/entrypoint.sh /entrypoint.sh
3226
RUN chmod +x /entrypoint.sh
3327

pacman.conf

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,19 @@
22
# /etc/pacman.conf
33
#
44
# See the pacman.conf(5) manpage for option and repository directives
5-
6-
#
7-
# GENERAL OPTIONS
85
#
6+
97
[options]
10-
# The following paths are commented out with their default values listed.
11-
# If you wish to use different paths, uncomment and update the paths.
128
#RootDir = /
139
#DBPath = /var/lib/pacman/
14-
CacheDir = /var/cache/pacman/pkg/
10+
#CacheDir = /var/cache/pacman/pkg/
1511
#LogFile = /var/log/pacman.log
1612
#GPGDir = /etc/pacman.d/gnupg/
1713
#HookDir = /etc/pacman.d/hooks/
1814
HoldPkg = pacman glibc
19-
XferCommand = /usr/bin/curl -L -C - -f -o %o %u --retry 3 --retry-delay 3 --connect-timeout 10
15+
#XferCommand = /usr/bin/curl -L -C -f -o %o %u
2016
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
21-
CleanMethod = KeepInstalled
17+
#CleanMethod = KeepInstalled
2218
Architecture = auto
2319

2420
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
@@ -30,20 +26,12 @@ Architecture = auto
3026

3127
# Misc options
3228
#UseSyslog
33-
# Color output enabled
3429
Color
35-
# Enable candy output for better visual feedback
36-
ILoveCandy
37-
# Increased parallel downloads for build speed
38-
ParallelDownloads = 64
39-
# We cannot check disk space from within a chroot environment
40-
#CheckSpace # enable disk space checks
30+
#NoProgressBar
31+
CheckSpace
4132
#VerbosePkgLists
42-
DownloadUser = alpm
43-
#DisableSandbox
33+
ParallelDownloads = 16
4434

45-
# By default, pacman accepts packages signed by keys that its local keyring
46-
# trusts (see pacman-key and its man page), as well as unsigned packages.
4735
SigLevel = Required DatabaseOptional
4836
LocalFileSigLevel = Optional
4937
#RemoteFileSigLevel = Required
@@ -69,11 +57,6 @@ LocalFileSigLevel = Optional
6957
#
7058
# The header [repo-name] is crucial - it must be present and
7159
# uncommented to enable the repo.
72-
#
73-
74-
# The testing repositories are disabled by default. To enable, uncomment the
75-
# repo name header and Include lines. You can add preferred servers immediately
76-
# after the header, and they will be used before the default mirrors.
7760

7861
#[core-testing]
7962
#Include = /etc/pacman.d/mirrorlist
@@ -87,9 +70,6 @@ Include = /etc/pacman.d/mirrorlist
8770
[extra]
8871
Include = /etc/pacman.d/mirrorlist
8972

90-
# If you want to run 32 bit applications on your x86_64 system,
91-
# enable the multilib repositories as required here.
92-
9373
#[multilib-testing]
9474
#Include = /etc/pacman.d/mirrorlist
9575

0 commit comments

Comments
 (0)