mirror of
https://codeberg.org/metamuffin/abrechenbarkeit-sd.git
synced 2024-12-22 14:44:35 +00:00
82 lines
3.8 KiB
Markdown
82 lines
3.8 KiB
Markdown
# Abrechenbarkeit SD
|
|
|
|
An immutable linux distribution exclusively for running web applications such as
|
|
Abrechenbarkeit.
|
|
|
|
## Configuration
|
|
|
|
This distribution on its own is rather application agnostic. It can run any
|
|
web-app of your choice. All configuration is done through EFI firmware variables
|
|
(yes thats a very bad idea).
|
|
|
|
- 97b6e7a4-b8a6-4d85-b7c4-0030bb5f2d38-WlanSSID (optional)
|
|
- 97b6e7a4-b8a6-4d85-b7c4-0030bb5f2d38-WlanPSK (optional)
|
|
- 97b6e7a4-b8a6-4d85-b7c4-0030bb5f2d38-AppUrl
|
|
|
|
## Building
|
|
|
|
Run `mkarchiso -v -w /tmp/abrecheniso .`. For more information see
|
|
[the ArchWiki article](https://wiki.archlinux.org/title/Archiso#Build_the_ISO).
|
|
|
|
## File Overview
|
|
|
|
- `airootfs/etc/hostname` Sets hostname to "asd"
|
|
- `airootfs/etc/locale.conf` Sets locale to C
|
|
- `airootfs/etc/localtime` Sets Europe/Berlin timezone
|
|
- `airootfs/etc/mkinitcpio.conf.d/archiso.conf` Standard mkinitcpio config
|
|
- `airootfs/etc/mkinitcpio.d/linux.preset` Standard mkinitcpio config
|
|
- `airootfs/etc/os-release` Rebrands system
|
|
- `airootfs/etc/pam.d/cage` Allows cage to start a user session
|
|
- `airootfs/etc/shadow` Passwords (none)
|
|
- `airootfs/etc/ssh/sshd_config.d/10-login.conf` Allow root login, disable
|
|
password login
|
|
- `airootfs/etc/systemd/network.conf.d/ipv6-privacy-extensions.conf` Randomize
|
|
IPv6
|
|
- `airootfs/etc/systemd/network/20-ethernet.network` Configure ethernet via
|
|
DHCP + mDNS
|
|
- `airootfs/etc/systemd/network/20-wireless.network` Configure wireless via
|
|
DHCP + mDNS
|
|
- `airootfs/etc/systemd/network/20-rename-wlan.link` Rename all wireless
|
|
interfaces to "wfi0"
|
|
- `airootfs/etc/systemd/resolved.conf.d/mdns.conf` Enable mDNS host resolver
|
|
- `airootfs/etc/systemd/system/abrechenbarkeit@.service` Systemd service that
|
|
starts a wayland compositor with electron running the target application. Run
|
|
after network is online, video drivers are initialized and user sessions can
|
|
be used. Replaces getty for that tty.
|
|
- `airootfs/etc/systemd/system/configure_wpa.service` Configuration service
|
|
strictly running before wpa_supplicant but only if the required EFI variable
|
|
is set.
|
|
- `airootfs/etc/systemd/system/default.target` Targeting graphical.target at
|
|
boot
|
|
- `airootfs/etc/systemd/system/graphical.target.wants/abrechenbarkeit@tty1.service`
|
|
Enables the UI for tty1 for graphical.target
|
|
- `airootfs/etc/systemd/system/multi-user.target.wants` Enables other services:
|
|
sshd, systemd-networkd, systemd-resolved and others
|
|
- `airootfs/etc/systemd/system/network-online.target.wants` Enables
|
|
wpa_supplicant and our configuration service
|
|
- `airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf`
|
|
Waits for only one interface, where default would be all
|
|
- `airootfs/etc/systemd/system/wpa_supplicant@.service.d/override.conf` Patches
|
|
wpa_supplicant to require configure_wpa.service
|
|
- `airootfs/etc/sysusers.d/abrechenbarkeit.conf` Creates abrechenbarkeit user at
|
|
system boot
|
|
- `airootfs/etc/tmpfiles.d/abrechenbarkeit.conf` Creates abrechenbarkeit home
|
|
directory at system boot
|
|
- `airootfs/etc/udev/rules.d/99-dri.rules` Creates systemd device node to depend
|
|
upon for /dev/dri/card0
|
|
- `airootfs/usr/local/bin/configure_wpa` Generates wpa_supplicant configuration
|
|
from EFI variables
|
|
- `airootfs/usr/share/pacman/keyrings/metamuffin-infra-trusted` Adds
|
|
metamuffin-infra repositories as trusted. Might be useful for updating.
|
|
- `efiboot/loader/entries/asd.conf` gummiboot entry with the OS name
|
|
- `efiboot/loader/loader.conf` Sets asd.conf as default boot entry
|
|
- `packages.x86_64` List of all packages to preinstall
|
|
- `bootstrap_packages.x86_64` List of all packages to install for installation
|
|
- `pacman.conf` Standard pacman config
|
|
- `profiledef.sh` mkarchiso profile definition with systemd-boot replacing all
|
|
other bootloaders
|
|
- `readme.md` This file; Documenting the config files
|
|
|
|
## Licence
|
|
|
|
See COPYING; AGPL-3.0-only
|