# My personalized Arch Linux distribution

## Submodules - Initialization and Updating

There are several AUR packages added as submodules inside [pkg](pkg).
See [build-pkg/pkglist-AUR.txt](build-pkg/pkglist-AUR.txt) for a full list.

They were added in the following manner:

```shell
AUR=(xorg-meta riseup-vpn nordic-kde-git ...)

for pkg in "${AUR[@]}"; do
  git submodule add "https://aur.archlinux.org/${pkg}.git" pkg/"${pkg}"
done
```

To initialize the submodules, run

```shell
git submodule init
```

To update all submodules, run

```shell
# If no local changes were done
(set -o pipefail; git submodule update --remote | { grep 'Submodule path' || echo 'Everything up to date.'; })

# Otherwise
git submodule foreach 'git pull'
```


## Build packages from source

Fork this repository.

Then and adjust the following files:
* [pkg/de-p1st-repo/arch-repo.cfg](pkg/de-p1st-repo/arch-repo.cfg)
  * For your build-machine, adjust section `LOCAL MACHINE CONFIGURATION`: Add absolute path of folder [build-pkg/out](build-pkg/out) to array `LOCAL_PKG_DIRS`
    as the build packages will be stored there.
  * For your mirror-server, adjust section `REMOTE MIRROR SERVER CONFIGURATION` accordingly.
* [pkg/de-p1st-pacman/pacman.d/de-p1st](pkg/de-p1st-pacman/pacman.d/de-p1st)
  * Add the address of your mirror-server.

Build [de-p1st-repo](pkg/de-p1st-repo):

```shell
cd build-pkg
sudo docker-compose run --rm makepkg de-p1st-repo
```

Install it on your build-machine and your mirror-server:

```shell
# On your local machine
sudo pacman -U out/de-p1st-repo*.pkg.tar.*

# Copy the package to your mirror-server and install it there as well!
```

Then you can start building all packages and adding them to your mirror-server:

```shell
./build-all.sh
```


## Install Arch Linux

See [pkg/de-p1st-installer/README.md](pkg/de-p1st-installer/README.md)


## Notes and TODOs

See [notes.md](notes.md)