# My personalized Arch Linux distribution

## Submodules - Initialization and Updating

There are several [AUR](https://aur.archlinux.org/) 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_PKG=xorg-meta
git submodule add "https://aur.archlinux.org/${AUR_PKG}.git" pkg/"${AUR_PKG}"
```

To initialize the submodules, run

```shell
git submodule init
```

To update all submodules and add those who received an update to
[build-pkg/pkglist.tmp](build-pkg/pkglist.tmp), run

```shell
./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
sudo docker-compose -f build-pkg/docker-compose.yml 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-pkg/build-all
```

## Build outdated AUR packages

```shell
./build-pkg/pull-and-build-outdated
```

## Install Arch Linux

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


## Notes and TODOs

See [notes.md](notes.md)