Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 0 additions & 40 deletions Dockerfile.gui

This file was deleted.

49 changes: 0 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,55 +84,6 @@ To install Docker, follow the instructions for your operating system:

Once the process completes, the ISO will be available in the `out/` directory within your local folder as `Arch.iso`.

---

## How to Build the ISO with a GUI

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.

### Prerequisites

Ensure you have Docker installed and running on your system.

### Steps to Build with the GUI

1. **Clone the repository**:

```bash
git clone https://github.com/Githubguy132010/Arch-Linux-without-the-beeps.git
cd Arch-Linux-without-the-beeps
```

2. **Build the GUI Docker Image**:

Build the Docker image for the GUI application.

```bash
docker build -t arch-iso-gui -f Dockerfile.gui .
```

3. **Run the GUI Container**:

Run the container, mapping port 8080 to your host system.

```bash
docker run --rm --privileged -p 8080:8080 -v $(pwd):/workdir arch-iso-gui
```

4. **Access the GUI**:

Open your web browser and navigate to `http://localhost:8080`.

5. **Build the ISO**:

Click the "Build ISO" button to start the build process. The logs will be displayed in real-time on the page.

6. **Download the ISO**:

Once the build is complete, a download link for `Arch.iso` will appear.

---

## How to Use GitHub Actions (Automated Workflow)

This repository also includes a GitHub Actions workflow for building and releasing the ISO automatically on GitHub.
Expand Down
45 changes: 0 additions & 45 deletions app.py

This file was deleted.

22 changes: 8 additions & 14 deletions dockerfile
Original file line number Diff line number Diff line change
@@ -1,33 +1,27 @@
# syntax=docker/dockerfile:1.6
FROM archlinux:latest AS builder

# Set up parallel downloads and other optimizations
COPY pacman.conf /etc/pacman.conf

# Update system and install necessary packages
RUN pacman -Syu --noconfirm && \
RUN --mount=type=cache,target=/var/cache/pacman/pkg \
pacman -Syu --noconfirm && \
pacman -S --noconfirm --needed \
git \
archiso \
grub \
base-devel \
&& pacman -Scc --noconfirm
archiso \
base-devel \
bsdtar \
git \
grub

# Set the working directory
WORKDIR /build

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

# Create a new final image
FROM builder AS final

# Set the working directory
WORKDIR /workdir

# Copy the rest of the files
COPY . .

# Use an entrypoint script for better flexibility
COPY ./scripts/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

Expand Down
34 changes: 7 additions & 27 deletions pacman.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,19 @@
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#

[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
CacheDir = /var/cache/pacman/pkg/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
XferCommand = /usr/bin/curl -L -C - -f -o %o %u --retry 3 --retry-delay 3 --connect-timeout 10
#XferCommand = /usr/bin/curl -L -C -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
CleanMethod = KeepInstalled
#CleanMethod = KeepInstalled
Architecture = auto

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

# Misc options
#UseSyslog
# Color output enabled
Color
# Enable candy output for better visual feedback
ILoveCandy
# Increased parallel downloads for build speed
ParallelDownloads = 64
# We cannot check disk space from within a chroot environment
#CheckSpace # enable disk space checks
#NoProgressBar
CheckSpace
#VerbosePkgLists
DownloadUser = alpm
#DisableSandbox
ParallelDownloads = 16

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
Expand All @@ -69,11 +57,6 @@ LocalFileSigLevel = Optional
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[core-testing]
#Include = /etc/pacman.d/mirrorlist
Expand All @@ -87,9 +70,6 @@ Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

Expand Down
Loading
Loading