# My personalized Arch Linux packages ## Some notes * https://disconnected.systems/blog/archlinux-meta-packages/ * https://nerdstuff.org/posts/2020/2020-002_meta_packages/ * https://gitlab.com/archi3linux/meta/-/blob/master/PKGBUILD * https://github.com/alfredopalhares/arch-pkgbuilds ### Managing custom packages; managing a remote repository 1) One could use [crema](https://gitlab.com/mipimipi/crema) 2) Or some self made shell scripts: [pkg/de-p1st-repo/README.md](pkg/de-p1st-repo/README.md) ## Notes about PKGBUILD ### Package naming * [package naming](https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_naming) Package names are prefixed with `de-p1st` as this is one of my domains ([p1st.de](https://p1st.de)) which itself is an abbreviation of [privacy1st.de](https://privacy1st.de) ### Creating config files ```shell install -Dm644 $src $pkgdir/$dst ``` Example: [pkg/de-p1st-sudo/PKGBUILD](pkg/de-p1st-sudo/PKGBUILD) ### Changing existing config files * `holo` from the AUR * [https://github.com/holocm/holo/blob/master/doc/holo-files.8.pod]() ```shell install -Dm0544 some-config.conf.holoscript "$pkgdir"/usr/share/holo/files/"$pkgname"/etc/path/to/some-config.conf.holoscript ``` Example: * [pkg/de-p1st-pacman/pacman.conf.holoscript](pkg/de-p1st-pacman/pacman.conf.holoscript) * [pkg/de-p1st-pacman/PKGBUILD](pkg/de-p1st-pacman/PKGBUILD) ### Home skeleton Files from /etc/skel are copied to /home/$USER when new users are created. Example: [pkg/de-p1st-gnupg/PKGBUILD](pkg/de-p1st-gnupg/PKGBUILD) ### enabling services * systemd.preset - Service enablement presets * [man 5 systemd.preset](https://www.systutorials.com/docs/linux/man/5-systemd.preset/) ```shell install -Dm0644 systemd.preset "$pkgdir"/usr/lib/systemd/system-preset/"$pkgname".preset ``` Example package: * [pkg/de-p1st-networkmanager/systemd.preset](pkg/de-p1st-networkmanager/systemd.preset) * [pkg/de-p1st-networkmanager/PKGBUILD](pkg/de-p1st-networkmanager/PKGBUILD)