My personalized Arch Linux distribution https://arch.p1st.de
Go to file
2021-05-13 20:23:32 +02:00
pkg minor 2021-05-13 20:23:32 +02:00
prototype add htop pkg; fix locale? 2021-05-13 15:44:02 +00:00
.dockerignore Build packages with Docker 2021-05-13 13:44:34 +00:00
.gitignore Build packages with Docker 2021-05-13 13:44:34 +00:00
build-archiso.sh fix 2021-05-03 17:38:10 +02:00
build-pkg-docker.sh fix locale? 2021-05-13 17:13:19 +00:00
build-pkg.sh fix 2021-05-13 19:28:31 +02:00
docker-compose.yml fix locale? 2021-05-13 17:13:19 +00:00
Dockerfile add htop pkg; fix locale? 2021-05-13 15:44:02 +00:00
LICENSE add htop pkg; fix locale? 2021-05-13 15:44:02 +00:00
README.md update README 2021-05-13 19:23:32 +02:00
run.sh minor 2021-05-13 15:14:49 +00:00

My personalized Arch Linux packages

Some notes

Managing custom packages; managing a remote repository

  1. One could use crema
  2. Or some self made shell scripts: pkg/de-p1st-repo/README.md

Notes about PKGBUILD

Package naming

Package names are prefixed with de-p1st as this is one of my domains (p1st.de) which itself is an abbreviation of privacy1st.de

Creating config files

install -Dm644 $src $pkgdir/$dst

Example: pkg/de-p1st-sudo/PKGBUILD

Changing existing config files

install -Dm0544 some-config.conf.holoscript "$pkgdir"/usr/share/holo/files/"$pkgname"/etc/path/to/some-config.conf.holoscript

Example:

Changing existing files that are not owned by any package

See pkg/de-p1st-locale/PKGBUILD for an example.

Home skeleton

Pacman should never change files in $HOME. To still be able to include customized configurations, one can copy them to the skeleton used for new users:

Files from /etc/skel are copied to /home/$USER when new users are created.

Example: pkg/de-p1st-gnupg/PKGBUILD

Enabling services

Note: the preset name shall start with a number < 99.

install -Dm0644 systemd.preset "$pkgdir"/usr/lib/systemd/system-preset/20-"$pkgname".preset

Example package:

Multiple providers

Example:

  • Two packages (de-p1st-test2 and de-p1st-test3) provide de-p1st-test
  • If one installs de-p1st-test he can interactively choose one which provider to select:
$ sudo pacman -S de-p1st-test
:: There are 2 providers available for de-p1st-test:
:: Repository de-p1st
   1) de-p1st-test2  2) de-p1st-test3

Enter a number (default=1): 

TODO: How does Pacman pick the default option? Are packages simply ordered alphabetically?