├── lxd-git ├── lxd.sysusers ├── lxd.socket ├── lxd.service ├── .SRCINFO └── PKGBUILD ├── .buildrc ├── foxboron-system ├── kernel-cmdline ├── theia-thinkpad_acpi.conf ├── system-sudoers ├── timers-timer@.target ├── NetworkManager.conf ├── fallback_dns.conf ├── theia-capslock.hwdb ├── backup-snapper-filter ├── backup-snap-boot-config ├── bin │ ├── missing-pkgs │ ├── pacstrap-mnt │ └── update-patches ├── snapper-conf.d ├── backup-sudoers ├── Makefile ├── timers-timer@.timer ├── pacman-mirrorlist ├── theia-thinkfan.conf ├── hook-bootctl-upgrade.hook ├── patch-resolved.conf.patch ├── backup-snapper-backup.service ├── x11-99-touchpad-disable.conf ├── backup-backup-snapper-cleanup.service ├── patch-usbguard-daemon.conf.patch ├── patch-NetworkManager.conf.patch ├── backup-backup@.service ├── mkinitcpio-linux.preset ├── timers.install ├── bfq-60-scheduler.rules ├── hook-patch-system-configs.scripts ├── x11-99-keyboard.conf ├── patch-uefi_capsule.conf.patch ├── patch-mkinitpcio.conf.patch ├── hook-patch-system-configs.hook ├── backup-backup-sudo ├── snapper.install ├── patch-main.conf.patch ├── backup-snap-boot-backup ├── snapper-root ├── snapper-home ├── base-system.install ├── patch-pacman.conf.patch ├── pacman-aur.conf ├── backup-backup ├── pacreport.conf ├── .SRCINFO └── PKGBUILD ├── .gitignore ├── aurutils ├── aurutils.pub ├── PKGBUILD ├── aurutils.install └── aurutils.changelog └── mkinitcpio ├── mkinitcpio.install └── PKGBUILD /lxd-git/lxd.sysusers: -------------------------------------------------------------------------------- 1 | g lxd - - 2 | -------------------------------------------------------------------------------- /.buildrc: -------------------------------------------------------------------------------- 1 | { 2 | "ignore":[ 3 | "signing-party" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /foxboron-system/kernel-cmdline: -------------------------------------------------------------------------------- 1 | rw quiet acpi_osi= nowatchdog bgrt_disable 2 | -------------------------------------------------------------------------------- /foxboron-system/theia-thinkpad_acpi.conf: -------------------------------------------------------------------------------- 1 | options thinkpad_acpi fan_control=1 2 | -------------------------------------------------------------------------------- /foxboron-system/system-sudoers: -------------------------------------------------------------------------------- 1 | Defaults lecture = never 2 | %wheel ALL=(ALL) ALL 3 | -------------------------------------------------------------------------------- /foxboron-system/timers-timer@.target: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=%i timer 3 | StopWhenUnneeded=true 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | !* 2 | !*/ 3 | !*.install 4 | !*.SRCINFO 5 | !*PKGBUILD 6 | !*tmpfiles 7 | !*sysusers 8 | 9 | -------------------------------------------------------------------------------- /foxboron-system/NetworkManager.conf: -------------------------------------------------------------------------------- 1 | [main] 2 | rc-manager=resolvconf 3 | 4 | [connection] 5 | connection.mdns=1 6 | -------------------------------------------------------------------------------- /foxboron-system/fallback_dns.conf: -------------------------------------------------------------------------------- 1 | [Resolve] 2 | DNS=8.8.8.8 8.8.4.4 3 | Domains=~. 4 | FallbackDNS=8.8.8.8 8.8.4.4 5 | -------------------------------------------------------------------------------- /foxboron-system/theia-capslock.hwdb: -------------------------------------------------------------------------------- 1 | evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO:pn4291BH7:pvr* 2 | KEYBOARD_KEY_3a=leftctrl 3 | -------------------------------------------------------------------------------- /foxboron-system/backup-snapper-filter: -------------------------------------------------------------------------------- 1 | /var/cache/* 2 | /var/lib/archbuild/* 3 | /var/lib/build/* 4 | */Downloads 5 | */.cache 6 | -------------------------------------------------------------------------------- /aurutils/aurutils.pub: -------------------------------------------------------------------------------- 1 | untrusted comment: signify public key (aurutils 3.1) 2 | RWSiKm8qeKjPfppkN7lm/N4qENa3Racl7DRMfWK4JQS7bl2i/NuI3ZZG 3 | -------------------------------------------------------------------------------- /foxboron-system/backup-snap-boot-config: -------------------------------------------------------------------------------- 1 | TITLE="Arch Linux" 2 | PRE_OPTIONS=""cryptdevice=UUID=XXXXXXX:lvm root=UUID=XXXX" 3 | POST_OPTIONS="rw quiet" 4 | -------------------------------------------------------------------------------- /foxboron-system/bin/missing-pkgs: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | comm -23 <(pacman -Qeq | sort) <(cat .SRCINFO | grep depends | awk '{print $3}' | uniq | sort) 4 | -------------------------------------------------------------------------------- /foxboron-system/snapper-conf.d: -------------------------------------------------------------------------------- 1 | ## Path: System/Snapper 2 | 3 | ## Type: string 4 | ## Default: "" 5 | # List of snapper configurations. 6 | SNAPPER_CONFIGS="home root" -------------------------------------------------------------------------------- /foxboron-system/backup-sudoers: -------------------------------------------------------------------------------- 1 | fox ALL=NOPASSWD:SETENV: /usr/bin/backup 2 | fox ALL=NOPASSWD:SETENV: /usr/bin/borg 3 | fox ALL=NOPASSWD: /usr/bin/snapper 4 | fox ALL=NOPASSWD: /usr/bin/backup-sudo 5 | -------------------------------------------------------------------------------- /foxboron-system/Makefile: -------------------------------------------------------------------------------- 1 | all: build 2 | 3 | install: 4 | ./bin/pacstrap-mnt 5 | 6 | update: 7 | ./bin/update-patches 8 | updpkgsums 9 | 10 | build: update 11 | build 12 | 13 | .PHONY: install 14 | -------------------------------------------------------------------------------- /foxboron-system/timers-timer@.timer: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Default timer - %i 3 | 4 | [Timer] 5 | OnCalendar=%i 6 | Persistent=true 7 | Unit=timer@%i.target 8 | 9 | [Install] 10 | WantedBy=timers.target 11 | -------------------------------------------------------------------------------- /lxd-git/lxd.socket: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=LXD - unix socket 3 | 4 | [Socket] 5 | ListenStream=/var/lib/lxd/unix.socket 6 | SocketMode=0660 7 | SocketGroup=lxd 8 | Service=lxd.service 9 | 10 | [Install] 11 | WantedBy=sockets.target 12 | -------------------------------------------------------------------------------- /foxboron-system/pacman-mirrorlist: -------------------------------------------------------------------------------- 1 | Server = https://archlinux.uib.no/$repo/os/$arch 2 | Server = https://mirror.archlinux.no/$repo/os/$arch 3 | Server = https://mirror.neuf.no/archlinux/$repo/os/$arch 4 | Server = https://mirror.terrahost.no/linux/archlinux/ 5 | -------------------------------------------------------------------------------- /foxboron-system/theia-thinkfan.conf: -------------------------------------------------------------------------------- 1 | hwmon /sys/devices/virtual/thermal/thermal_zone1/temp 2 | tp_fan /proc/acpi/ibm/fan 3 | 4 | # Level Low High 5 | (0, 0, 55) 6 | (1, 48, 60) 7 | (2, 50, 61) 8 | (3, 52, 63) 9 | (4, 56, 65) 10 | (5, 59, 66) 11 | (7, 63, 32767) 12 | 13 | -------------------------------------------------------------------------------- /foxboron-system/hook-bootctl-upgrade.hook: -------------------------------------------------------------------------------- 1 | [Trigger] 2 | Type = File 3 | Operation = Install 4 | Operation = Upgrade 5 | Operation = Remove 6 | Target = systemd 7 | 8 | [Action] 9 | Description = Updating bootctl.... 10 | When = PostTransaction 11 | Exec = /usr/bin/bootctl update 12 | -------------------------------------------------------------------------------- /foxboron-system/patch-resolved.conf.patch: -------------------------------------------------------------------------------- 1 | --- /etc/systemd/resolved.conf 2 | +++ /etc/systemd/resolved.conf 3 | @@ -24,7 +24,7 @@ 4 | #Domains= 5 | #DNSSEC=no 6 | #DNSOverTLS=no 7 | -#MulticastDNS=yes 8 | +MulticastDNS=yes 9 | #LLMNR=yes 10 | #Cache=yes 11 | #CacheFromLocalhost=no 12 | -------------------------------------------------------------------------------- /foxboron-system/backup-snapper-backup.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Timeline of Snapper Snapshots 3 | Documentation=man:snapper(8) man:snapper-configs(5) 4 | 5 | [Service] 6 | Type=simple 7 | ExecStart=/usr/lib/snapper/systemd-helper --timeline 8 | 9 | [Install] 10 | WantedBy=timer@hourly.target 11 | -------------------------------------------------------------------------------- /foxboron-system/x11-99-touchpad-disable.conf: -------------------------------------------------------------------------------- 1 | Section "InputClass" 2 | Identifier "SynPS/2 Synaptics TouchPad" 3 | MatchProduct "SynPS/2 Synaptics TouchPad" 4 | MatchIsTouchpad "on" 5 | MatchOS "Linux" 6 | MatchDevicePath "/dev/input/event*" 7 | Option "Ignore" "on" 8 | EndSection -------------------------------------------------------------------------------- /foxboron-system/backup-backup-snapper-cleanup.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Daily Cleanup of Snapper Snapshots 3 | Documentation=man:snapper(8) man:snapper-configs(5) 4 | 5 | [Service] 6 | Type=simple 7 | ExecStart=/usr/lib/snapper/systemd-helper --cleanup 8 | 9 | [Install] 10 | WantedBy=timer@daily.target 11 | 12 | -------------------------------------------------------------------------------- /foxboron-system/patch-usbguard-daemon.conf.patch: -------------------------------------------------------------------------------- 1 | --- /etc/usbguard/usbguard-daemon.conf 2 | +++ /etc/usbguard/usbguard-daemon.conf 3 | @@ -142,7 +142,7 @@ 4 | # 5 | # IPCAllowedUsers=username1 username2 ... 6 | # 7 | -IPCAllowedUsers=root 8 | +IPCAllowedUsers=root fox 9 | 10 | # 11 | # Groups allowed to use the IPC interface. 12 | -------------------------------------------------------------------------------- /foxboron-system/patch-NetworkManager.conf.patch: -------------------------------------------------------------------------------- 1 | --- /etc/NetworkManager/NetworkManager.conf 2 | +++ /etc/NetworkManager/NetworkManager.conf 3 | @@ -1,2 +1,5 @@ 4 | -# Configuration file for NetworkManager. 5 | -# See "man 5 NetworkManager.conf" for details. 6 | +[main] 7 | +rc-manager=resolvconf 8 | + 9 | +[connection] 10 | +connection.mdns=1 11 | -------------------------------------------------------------------------------- /foxboron-system/backup-backup@.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Borg backup BTRFS - %i 3 | Wants=network-online.target 4 | After=network-online.target snapper-backup.service snapper-cleanup.service 5 | 6 | 7 | [Service] 8 | Nice=19 9 | IOSchedulingClass=3 10 | IOSchedulingPriority=7 11 | Type=simple 12 | User=fox 13 | ExecStart=/usr/bin/backup %i 14 | 15 | [Install] 16 | WantedBy=timer@hourly.target 17 | -------------------------------------------------------------------------------- /foxboron-system/mkinitcpio-linux.preset: -------------------------------------------------------------------------------- 1 | # mkinitcpio preset file for the 'linux' package 2 | 3 | ALL_config="/etc/mkinitcpio.conf" 4 | ALL_kver="/boot/vmlinuz-linux" 5 | ALL_microcode=(/boot/*-ucode.img) 6 | 7 | PRESETS=('default') 8 | 9 | default_image="/boot/initramfs-linux.img" 10 | default_efi_image="/efi/EFI/Linux/arch-linux.efi" 11 | default_options="--splash /usr/share/systemd/bootctl/splash-arch.bmp" 12 | -------------------------------------------------------------------------------- /foxboron-system/timers.install: -------------------------------------------------------------------------------- 1 | post_install () { 2 | systemctl enable --now timer@minutely 3 | systemctl enable --now timer@hourly 4 | systemctl enable --now timer@daily 5 | systemctl enable --now timer@mothly 6 | } 7 | 8 | pre_remove(){ 9 | systemctl disable timer@minutely 10 | systemctl disable timer@hourly 11 | systemctl disable timer@daily 12 | systemctl disable timer@mothly 13 | } 14 | -------------------------------------------------------------------------------- /foxboron-system/bfq-60-scheduler.rules: -------------------------------------------------------------------------------- 1 | # set deadline scheduler for non-rotating disks 2 | ACTION=="add|change", KERNEL=="sd[a-z]", TEST!="queue/rotational", ATTR{queue/scheduler}="deadline" 3 | ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="bfq" 4 | 5 | # # set cfq scheduler for rotating disks 6 | ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq" 7 | -------------------------------------------------------------------------------- /foxboron-system/hook-patch-system-configs.scripts: -------------------------------------------------------------------------------- 1 | #!/bin/sh -- 2 | # patch-system-configs - apply any matching patches to system configs 3 | 4 | while read -r conf; do 5 | patch=/usr/share/system-config/patches/patch-${conf##*/}.patch 6 | if [ -e "$patch" ]; then 7 | if ! patch -d / -Rfp1 -i "$patch" --dry-run > /dev/null; then 8 | patch -d / -r - -Np1 -i "$patch" 9 | fi 10 | fi 11 | done 12 | -------------------------------------------------------------------------------- /foxboron-system/x11-99-keyboard.conf: -------------------------------------------------------------------------------- 1 | # Written by systemd-localed(8), read by systemd-localed and Xorg. It's 2 | # probably wise not to edit this file manually. Use localectl(1) to 3 | # instruct systemd-localed to update it. 4 | Section "InputClass" 5 | Identifier "system-keyboard" 6 | MatchIsKeyboard "on" 7 | Option "XkbLayout" "us" 8 | Option "XkbVariant" "altgr-intl" 9 | Option "XkbOptions" "ctrl:nocaps" 10 | EndSection 11 | -------------------------------------------------------------------------------- /foxboron-system/patch-uefi_capsule.conf.patch: -------------------------------------------------------------------------------- 1 | --- /etc/fwupd/uefi_capsule.conf 2 | +++ /etc/fwupd/uefi_capsule.conf 3 | @@ -5,7 +5,7 @@ 4 | 5 | # the shim loader is required to chainload the fwupd EFI binary unless 6 | # the fwupd.efi file has been self-signed manually 7 | -#DisableShimForSecureBoot=true 8 | +DisableShimForSecureBoot=true 9 | 10 | # the EFI system partition (ESP) path used if UDisks is not available 11 | # or if this partition is not mounted at /boot/efi, /boot, or /efi 12 | -------------------------------------------------------------------------------- /foxboron-system/bin/pacstrap-mnt: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash -e 2 | TMPREPO=$(mktemp -d) 3 | echo "Using $TMPREPO as tmpdir" 4 | updpkgsums 5 | env PKGDEST="$TMPREPO" EUID=1000 makepkg -srcf 6 | repo-add "$TMPREPO/local.db.tar" "$TMPREPO"/*.pkg.tar.zst 7 | cp /etc/pacman.conf "$TMPREPO/pacman.conf" 8 | cat << EOF >> "$TMPREPO/pacman.conf" 9 | 10 | [local] 11 | SigLevel = Optional TrustAll 12 | Server = file:///$TMPREPO 13 | EOF 14 | pacstrap -C "$TMPREPO/pacman.conf" -U base-system base-dotfiles patch-system 15 | -------------------------------------------------------------------------------- /foxboron-system/patch-mkinitpcio.conf.patch: -------------------------------------------------------------------------------- 1 | --- /etc/mkinitcpio.conf 2 | +++ /etc/mkinitcpio.conf 3 | @@ -49,7 +49,7 @@ 4 | # 5 | ## NOTE: If you have /usr on a separate partition, you MUST include the 6 | # usr, fsck and shutdown hooks. 7 | -HOOKS=(base udev autodetect modconf block filesystems keyboard fsck) 8 | +HOOKS=(base systemd autodetect modconf block keyboard sd-encrypt filesystems) 9 | 10 | # COMPRESSION 11 | # Use this to compress the initramfs image. By default, zstd compression 12 | -------------------------------------------------------------------------------- /foxboron-system/bin/update-patches: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | TMPFILE=$(mktemp -d /var/tmp/patches.XXXX) 3 | 4 | for f in patch-*.patch; do 5 | read -r _ orig_file _ < <(head -1 $f) 6 | if [ ! -f $orig_file ]; then 7 | printf "File doesn't exist: %s\n" "$orig_file" 8 | continue 9 | fi 10 | diff-conf $orig_file > "$TMPFILE/$f" 11 | done 12 | 13 | vifm $TMPFILE 14 | exit 1 15 | 16 | for f in $TMPFILE/*; do 17 | if ! cmp --silent -- "$TMPFILE/$f" "$f"; then 18 | printf "Updating %s...\n" "$f" 19 | mv "$TMPFILE/$f" "$f" 20 | fi 21 | done 22 | -------------------------------------------------------------------------------- /foxboron-system/hook-patch-system-configs.hook: -------------------------------------------------------------------------------- 1 | [Trigger] 2 | Operation = Install 3 | Operation = Upgrade 4 | Type = File 5 | Target = etc/pacman.conf 6 | Target = etc/bluetooth/main.conf 7 | Target = etc/usbguard/usbguard-daemon.conf 8 | Target = etc/fwupd/uefi_capsule.conf 9 | Target = etc/systemd/resolved.conf 10 | Target = etc/NetworkManager/NetworkManager.conf 11 | Target = etc/mkinitcpio.conf 12 | 13 | [Action] 14 | Description = Patching system configurations... 15 | Depends = patch 16 | Depends = base-config 17 | When = PostTransaction 18 | NeedsTargets 19 | Exec = /usr/share/libalpm/scripts/patch-system-configs 20 | -------------------------------------------------------------------------------- /foxboron-system/backup-backup-sudo: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | validate_path() { 4 | # validate path 5 | targetpath=$(realpath -m -- "$1") 6 | if [[ "$targetpath" != */.snapshots/* ]]; then 7 | echo "Invalid path given." >&2 8 | exit 2 9 | fi 10 | } 11 | 12 | case "$1" in 13 | mount) 14 | validate_path "$2" 15 | mkdir -p "$3" 16 | mount --bind -- "$2" "$3" 17 | ;; 18 | cleanup) 19 | umount "$2" 2> /dev/null || true 20 | rm -rf "$2" 21 | ;; 22 | *) 23 | echo "No command specified." >&2 24 | exit 1 25 | ;; 26 | esac 27 | -------------------------------------------------------------------------------- /mkinitcpio/mkinitcpio.install: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | post_upgrade() { 4 | if [ "$(vercmp 0.9.0 "$2")" -eq 1 ]; then 5 | printf '==> If your /usr is on a separate partition, you must add the "usr" hook\n' 6 | printf ' to /etc/mkinitcpio.conf and regenerate your images before rebooting\n' 7 | fi 8 | 9 | if [ "$(vercmp 0.12.0 "$2")" -eq 1 ]; then 10 | printf '==> The "block" hook has replaced several hooks:\n' 11 | printf ' fw, sata, pata, scsi, virtio, mmc, usb\n' 12 | printf ' Replace any and all of these in /etc/mkinitcpio.conf with a single\n' 13 | printf ' instance of the "block" hook\n' 14 | fi 15 | } 16 | -------------------------------------------------------------------------------- /lxd-git/lxd.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=LXD Container Hypervisor 3 | After=network-online.target lxcfs.service 4 | Requires=network-online.target lxcfs.service lxd.socket 5 | Documentation=man:lxd(1) 6 | 7 | [Service] 8 | Environment=LXD_OVMF_PATH=/usr/share/ovmf/x64 9 | ExecStart=/usr/bin/lxd --group=lxd --logfile=/var/log/lxd/lxd.log 10 | ExecStartPost=/usr/bin/lxd waitready --timeout=600 11 | ExecStop=/usr/bin/lxd shutdown 12 | TimeoutStartSec=600s 13 | TimeoutStopSec=30s 14 | Restart=on-failure 15 | LimitNOFILE=1048576 16 | LimitNPROC=infinity 17 | LimitCORE=infinity 18 | TasksMax=infinity 19 | Delegate=yes 20 | KillMode=process 21 | 22 | [Install] 23 | WantedBy=multi-user.target 24 | -------------------------------------------------------------------------------- /foxboron-system/snapper.install: -------------------------------------------------------------------------------- 1 | post_install () { 2 | if [ ! -d /home/.snapshots ]; then 3 | mkdir /home/.snapshots 4 | btrfs subvolume create /var/btrfs/@home-snapshots 5 | mount -t btrfs -o subvol=@home-snapshots /dev/mapper/root /home/.snapshots 6 | genfstab -U -f /home/.snapshots / >> /etc/fstab 7 | fi 8 | if [ ! -d /.snapshots ]; then 9 | mkdir /.snapshots 10 | btrfs subvolume create /var/btrfs/@root-snapshots 11 | mount -t btrfs -o subvol=@home-snapshots /dev/mapper/root /.snapshots 12 | genfstab -U -f /.snapshots / >> /etc/fstab 13 | fi 14 | systemctl enable --now snapper-backup 15 | systemctl enable --now snapper-cleanup.timer 16 | } 17 | 18 | pre_remove(){ 19 | systemctl disable snapper-cleanup.timer 20 | } 21 | -------------------------------------------------------------------------------- /foxboron-system/patch-main.conf.patch: -------------------------------------------------------------------------------- 1 | --- /etc/bluetooth/main.conf 2 | +++ /etc/bluetooth/main.conf 3 | @@ -121,7 +121,7 @@ 4 | # 330859bc-7506-492d-9370-9a6f0614037f (BlueZ Experimental Bluetooth Quality Report) 5 | # a6695ace-ee7f-4fb9-881a-5fac66c629af (BlueZ Experimental Offload Codecs) 6 | # Defaults to false. 7 | -#Experimental = false 8 | +Experimental = true 9 | 10 | # The duration to avoid retrying to resolve a peer's name, if the previous 11 | # try failed. 12 | @@ -277,7 +277,7 @@ 13 | # AutoEnable defines option to enable all controllers when they are found. 14 | # This includes adapters present on start as well as adapters that are plugged 15 | # in later on. Defaults to 'false'. 16 | -#AutoEnable=false 17 | +AutoEnable=true 18 | 19 | # Audio devices that were disconnected due to suspend will be reconnected on 20 | # resume. ResumeDelay determines the delay between when the controller 21 | -------------------------------------------------------------------------------- /aurutils/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: Alad Wenter 2 | pkgname=aurutils 3 | pkgver=4 4 | pkgrel=1 5 | pkgdesc='helper tools for the arch user repository' 6 | url='https://github.com/AladW/aurutils' 7 | arch=('any') 8 | license=('custom:ISC') 9 | source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz") 10 | changelog=aurutils.changelog 11 | install=aurutils.install 12 | sha256sums=('98a742b4f7650189c83d83ab46b29f36bcda9d35618054e07b80b5708a7a79e1') 13 | depends=('git' 'jq' 'pacutils' 'curl' 'expect') 14 | optdepends=('bash-completion: bash completion' 15 | 'zsh: zsh completion' 16 | 'devtools: aur-chroot' 17 | 'vifm: default pager') 18 | 19 | prepare() { 20 | cd "$pkgname-$pkgver" 21 | } 22 | 23 | build() { 24 | cd "$pkgname-$pkgver" 25 | make AURUTILS_VERSION="$pkgver" 26 | } 27 | 28 | package() { 29 | cd "$pkgname-$pkgver" 30 | make DESTDIR="$pkgdir" install 31 | } 32 | -------------------------------------------------------------------------------- /foxboron-system/backup-snap-boot-backup: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | set -e 3 | 4 | TRANSACTION=$1 5 | SNAPPER=$(snapper -c root list | grep $TRANSACTION | tail -n 1) 6 | SNAPPER_ID=$(echo $SNAPPER | awk -F\| '{print $2}' | tr -d ' ') 7 | DATE=$(echo $SNAPPER | awk -F\| '{print $4}') 8 | 9 | BACKUP_PATH="/boot/snap-boot/$SNAPPER_ID" 10 | 11 | # echo $SNAPPER 12 | # echo $SNAPPER_ID 13 | # echo $DATE 14 | 15 | mkdir -p $BACKUP_PATH 16 | 17 | cp /boot/vmlinuz-linux /boot/snap-boot/$SNAPPER_ID/vmlinuz-linux 18 | cp /boot/initramfs-linux.img /boot/snap-boot/$SNAPPER_ID/initramfs-linux.img 19 | 20 | set -o allexport 21 | source /etc/snap-boot.config 22 | set +o allexport 23 | 24 | cat >/boot/loader/entries/arch-$SNAPPER_ID.conf <&2 <<-EOF 4 | As of 2.0.0, aurutils no longer supports repose. If you have repose installed, 5 | please rebuild your local repository using repo-add. See: 6 | 7 | https://bbs.archlinux.org/viewtopic.php?pid=1707649#p1707649 8 | 9 | for detailed instructions. For the 2.0.0 changelog, see: 10 | 11 | https://github.com/AladW/aurutils/releases/tag/2.0.0 12 | 13 | EOF 14 | fi 15 | 16 | if (( $(vercmp '3.0.0-1' "$2") == 1 )); then 17 | cat >&2 <<-EOF 18 | As of 3.0.0, aurutils requires a separate pacman configuration for chroot 19 | builds. The file path defaults to /usr/share/devtools/pacman/aur.conf. 20 | 21 | For this and other changes, see the aurutils 3.0 blog: 22 | 23 | https://pkgbuild.com/~alad/aurutils_3.html 24 | 25 | EOF 26 | fi 27 | 28 | if (( $(vercmp '3.1.0-1' "$2") == 1 )); then 29 | cat >&2 <<-EOF 30 | As of 3.1.0, the default path of the pacman configuration for chroot builds 31 | moved from /usr/share/devtools/pacman-aur.conf to 32 | 33 | /etc/aurutils/pacman-.conf 34 | 35 | More information about this file was added to the aur-build man page. 36 | EOF 37 | fi 38 | 39 | if (( $(vercmp '3.2.0-1' "$2") == 1 )); then 40 | cat >&2 <<-EOF 41 | As of 3.2.0, if --chroot is specified without --database, aur-build assumes 42 | pacman.conf is located in /etc/aurutils/pacman-$(uname -m).conf. 43 | 44 | See the 3.2.0 changelog for more information: 45 | 46 | https://github.com/AladW/aurutils/releases/tag/3.2.0 47 | EOF 48 | fi 49 | } 50 | -------------------------------------------------------------------------------- /lxd-git/.SRCINFO: -------------------------------------------------------------------------------- 1 | pkgbase = lxd 2 | pkgdesc = Daemon based on liblxc offering a REST API to manage containers 3 | pkgver = 4.14 4 | pkgrel = 1 5 | url = https://linuxcontainers.org/lxd 6 | arch = x86_64 7 | license = APACHE 8 | makedepends = go 9 | makedepends = git 10 | makedepends = tcl 11 | makedepends = apparmor 12 | makedepends = libseccomp 13 | makedepends = systemd 14 | depends = lxc 15 | depends = lxcfs 16 | depends = squashfs-tools 17 | depends = dnsmasq 18 | depends = dqlite 19 | depends = libuv 20 | depends = ebtables 21 | optdepends = lvm2: for lvm2 support 22 | optdepends = thin-provisioning-tools: for thin provisioning support 23 | optdepends = btrfs-progs: for btrfs storage driver support 24 | optdepends = ceph: for ceph storage driver support 25 | optdepends = cdrtools: VM support 26 | optdepends = qemu: VM support 27 | optdepends = ovmf: VM support 28 | optdepends = systemd-libs: unix device hotplug support 29 | optdepends = apparmor: apparmor support 30 | source = https://linuxcontainers.org/downloads/lxd/lxd-4.14.tar.gz 31 | source = https://linuxcontainers.org/downloads/lxd/lxd-4.14.tar.gz.asc 32 | source = lxd.socket 33 | source = lxd.service 34 | source = lxd.sysusers 35 | validpgpkeys = 602F567663E593BCBD14F338C638974D64792D67 36 | sha256sums = 1e1ea51aec8860faae3028820d38df66f3dbf70436bc2749117c8c21c1d92ff5 37 | sha256sums = SKIP 38 | sha256sums = 3a14638f8d0f9082c7214502421350e3b028db1e7f22e8c3fd35a2b1d9153ef4 39 | sha256sums = 102d1d54186e0fc606a58f030231d76df6bd662b16dfd8f946e1f48e2b473b54 40 | sha256sums = d0184d9c4bb485e3aad0d4ac25ea7e85ac0f7ed6ddc96333e74fcd393a5b5ec4 41 | 42 | pkgname = lxd 43 | 44 | -------------------------------------------------------------------------------- /mkinitcpio/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: Giancarlo Razzolini 2 | # Maintainer: Dave Reisner 3 | # Maintainer: Thomas Bächler 4 | 5 | pkgname=mkinitcpio 6 | pkgver=30 7 | pkgrel=2.1 8 | pkgdesc="Modular initramfs image creation utility" 9 | arch=('any') 10 | url="https://projects.archlinux.org/mkinitcpio.git/" 11 | license=('GPL') 12 | makedepends=('git' 'asciidoc') 13 | depends=('awk' 'mkinitcpio-busybox>=1.19.4-2' 'kmod' 'util-linux>=2.23' 'libarchive' 'coreutils' 14 | 'bash' 'diffutils' 'findutils' 'grep' 'filesystem>=2011.10-1' 'zstd' 'systemd') 15 | optdepends=('gzip: Use gzip compression for the initramfs image' 16 | 'xz: Use lzma or xz compression for the initramfs image' 17 | 'bzip2: Use bzip2 compression for the initramfs image' 18 | 'lzop: Use lzo compression for the initramfs image' 19 | 'lz4: Use lz4 compression for the initramfs image' 20 | 'mkinitcpio-nfs-utils: Support for root filesystem on NFS') 21 | provides=('initramfs') 22 | backup=('etc/mkinitcpio.conf') 23 | source=("git+https://github.com/archlinux/$pkgname.git" 24 | "https://patch-diff.githubusercontent.com/raw/archlinux/mkinitcpio/pull/55.patch" 25 | "https://patch-diff.githubusercontent.com/raw/archlinux/mkinitcpio/pull/56.patch" 26 | "https://patch-diff.githubusercontent.com/raw/archlinux/mkinitcpio/pull/58.patch") 27 | install=mkinitcpio.install 28 | sha512sums=('SKIP' 29 | '0dd8eb066d178c3248a9fac8059c8af5d3f60fc953a31b9c71dc1788d7d368953f5e44bc9b2a338dcb2e34aadc6df8e01f601e9cd212bfa4fd7efa91bb61f44d' 30 | '43924ac9210858e30e79787dbae7013236f7a8169b42f5b909b4d0090e2d540491d7cf27e7bbfd55cee8977a018c585f90fe102e4b4098d1a3951f09e2a33bee' 31 | '149080188fac0a9361bfefbc9c206e31aab5d58af342ff575e7d6c7ec19a0bf6d15f09fd35cb8e68be920db6fadc31d4c43ae56590758e37c9efea1e4cab95bb') 32 | 33 | prepare() { 34 | cd $pkgname 35 | patch -Np1 < "$srcdir/55.patch" 36 | patch -Np1 < "$srcdir/56.patch" 37 | patch -Np1 < "$srcdir/58.patch" 38 | } 39 | 40 | build() { 41 | make -C "$pkgname" 42 | } 43 | 44 | check() { 45 | make -C "$pkgname" check 46 | } 47 | 48 | package() { 49 | make -C "$pkgname" DESTDIR="$pkgdir" install 50 | } 51 | -------------------------------------------------------------------------------- /foxboron-system/base-system.install: -------------------------------------------------------------------------------- 1 | _setup_user(){ 2 | useradd -s /usr/bin/zsh -m -U -G wheel,network,realtime,docker,wheel,lxd,i2c,tss fox 3 | } 4 | 5 | _setup_aurutils(){ 6 | # We only have one user.... 7 | install -d /srv/pub.linderud.dev/repos/aur -o 1000 8 | repo-add /srv/pub.linderud.dev/repos/aur 9 | } 10 | 11 | _setup_systemd(){ 12 | # tlp 13 | # systemctl enable --now tlp 14 | # systemctl enable tlp-sleep.service 15 | systemctl mask systemd-rfkill.socket 16 | systemctl enable --now NetworkManager 17 | systemctl enable --now systemd-resolved.service 18 | systemctl enable --now auditd 19 | systemctl enable --now bolt 20 | systemctl enable --now bluetooth 21 | systemctl enable --now udisks2.service 22 | systemctl enable --now btrfs-scrub@-.timer 23 | systemctl enable --now btrfs-scrub@home.timer 24 | systemctl enable --now pcscd.socket 25 | } 26 | 27 | 28 | _btrfs_setup(){ 29 | [ -d "/var/btrfs" ] && return 30 | mkdir /var/btrfs 31 | mount /dev/mapper/root /var/btrfs || true 32 | genfstab -U -f /var/btrfs >> /etc/fstab 33 | } 34 | 35 | _btrfs_setup_swap(){ 36 | [ -d "/var/swap" ] && return 37 | mkdir /var/swap 38 | btrfs subvolume create /var/btrfs/@swap 39 | mount -t btrfs -o subvol=@swap /dev/mapper/root /var/swap 40 | truncate -s 0 /var/swap/swap 41 | chattr +C /var/swap/swap 42 | fallocate -l 8G /var/swap/swap 43 | chmod 0600 /var/swap/swap 44 | mkswap /var/swap/swap 45 | swapon /var/swap/swap 46 | genfstab -U -f "/var/swap" / >> /etc/fstab 47 | } 48 | 49 | _btrfs_mksubvol(){ 50 | [ -d "$1" ] && return 51 | btrfs subvolume create "/var/btrfs/$2" 52 | genfstab -U -f "$1" >> /etc/fstab 53 | mkdir -p "$1_tmp" 54 | cp --reflink=auto "$1/" "$1_tmp/" 55 | mount -t btrfs -o subvol="$2" /dev/mapper/root "$1" 56 | cp --reflink=auto "$1_tmp/" "$1/" 57 | rm -rf "$1_tmp" 58 | } 59 | 60 | 61 | post_install () { 62 | _setup_user 63 | _setup_systemd 64 | if [[ "$(stat -f -c %T /)" == btrfs ]] ; then 65 | _btrfs_mksubvol /srv @srv 66 | _btrfs_mksubvol /var @var 67 | _btrfs_mksubvol /home @home 68 | _btrfs_mksubvol /opt @opt 69 | _btrfs_setup 70 | _btrfs_setup_swap 71 | fi 72 | _setup_aurutils 73 | } 74 | -------------------------------------------------------------------------------- /foxboron-system/patch-pacman.conf.patch: -------------------------------------------------------------------------------- 1 | --- /etc/pacman.conf 2 | +++ /etc/pacman.conf 3 | @@ -11,18 +11,19 @@ 4 | # If you wish to use different paths, uncomment and update the paths. 5 | #RootDir = / 6 | #DBPath = /var/lib/pacman/ 7 | -#CacheDir = /var/cache/pacman/pkg/ 8 | +CacheDir = /var/cache/pacman/pkg/ 9 | +#CacheDir = /srv/pub.linderud.dev/repos/aur/ 10 | #LogFile = /var/log/pacman.log 11 | #GPGDir = /etc/pacman.d/gnupg/ 12 | #HookDir = /etc/pacman.d/hooks/ 13 | HoldPkg = pacman glibc 14 | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u 15 | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u 16 | -#CleanMethod = KeepInstalled 17 | +CleanMethod = KeepCurrent 18 | Architecture = auto 19 | 20 | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup 21 | -#IgnorePkg = 22 | +IgnorePkg = linux linux-headers linux-lts linux-lts-headers 23 | #IgnoreGroup = 24 | 25 | #NoUpgrade = 26 | @@ -30,11 +31,11 @@ 27 | 28 | # Misc options 29 | #UseSyslog 30 | -#Color 31 | +Color 32 | #NoProgressBar 33 | CheckSpace 34 | #VerbosePkgLists 35 | -#ParallelDownloads = 5 36 | +ParallelDownloads = 10 37 | 38 | # By default, pacman accepts packages signed by keys that its local keyring 39 | # trusts (see pacman-key and its man page), as well as unsigned packages. 40 | @@ -69,8 +70,8 @@ 41 | # repo name header and Include lines. You can add preferred servers immediately 42 | # after the header, and they will be used before the default mirrors. 43 | 44 | -#[testing] 45 | -#Include = /etc/pacman.d/mirrorlist 46 | +[testing] 47 | +Include = /etc/pacman.d/mirrorlist 48 | 49 | [core] 50 | Include = /etc/pacman.d/mirrorlist 51 | @@ -78,23 +79,18 @@ 52 | [extra] 53 | Include = /etc/pacman.d/mirrorlist 54 | 55 | -#[community-testing] 56 | -#Include = /etc/pacman.d/mirrorlist 57 | +[community-testing] 58 | +Include = /etc/pacman.d/mirrorlist 59 | 60 | [community] 61 | Include = /etc/pacman.d/mirrorlist 62 | 63 | -# If you want to run 32 bit applications on your x86_64 system, 64 | -# enable the multilib repositories as required here. 65 | - 66 | -#[multilib-testing] 67 | -#Include = /etc/pacman.d/mirrorlist 68 | +[multilib-testing] 69 | +Include = /etc/pacman.d/mirrorlist 70 | 71 | -#[multilib] 72 | -#Include = /etc/pacman.d/mirrorlist 73 | +[multilib] 74 | +Include = /etc/pacman.d/mirrorlist 75 | 76 | -# An example of a custom package repository. See the pacman manpage for 77 | -# tips on creating your own repositories. 78 | -#[custom] 79 | -#SigLevel = Optional TrustAll 80 | -#Server = file:///home/custompkgs 81 | +[aur] 82 | +Server = file:///srv/pub.linderud.dev/repos/aur 83 | +Server = https://pub.linderud.dev/repos/aur/ 84 | -------------------------------------------------------------------------------- /foxboron-system/pacman-aur.conf: -------------------------------------------------------------------------------- 1 | # 2 | # /etc/pacman.conf 3 | # 4 | # See the pacman.conf(5) manpage for option and repository directives 5 | 6 | # 7 | # GENERAL OPTIONS 8 | # 9 | [options] 10 | # The following paths are commented out with their default values listed. 11 | # If you wish to use different paths, uncomment and update the paths. 12 | #RootDir = / 13 | #DBPath = /var/lib/pacman/ 14 | #CacheDir = /var/cache/pacman/pkg/ 15 | #LogFile = /var/log/pacman.log 16 | #GPGDir = /etc/pacman.d/gnupg/ 17 | #HookDir = /etc/pacman.d/hooks/ 18 | HoldPkg = pacman glibc 19 | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u 20 | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u 21 | #CleanMethod = KeepInstalled 22 | Architecture = auto 23 | 24 | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup 25 | #IgnorePkg = 26 | #IgnoreGroup = 27 | 28 | #NoUpgrade = 29 | #NoExtract = 30 | 31 | # Misc options 32 | #UseSyslog 33 | #Color 34 | #TotalDownload 35 | # We cannot check disk space from within a chroot environment 36 | #CheckSpace 37 | #VerbosePkgLists 38 | ParallelDownloads = 10 39 | 40 | # By default, pacman accepts packages signed by keys that its local keyring 41 | # trusts (see pacman-key and its man page), as well as unsigned packages. 42 | SigLevel = Required DatabaseOptional 43 | LocalFileSigLevel = Optional 44 | #RemoteFileSigLevel = Required 45 | 46 | # NOTE: You must run `pacman-key --init` before first using pacman; the local 47 | # keyring can then be populated with the keys of all official Arch Linux 48 | # packagers with `pacman-key --populate archlinux`. 49 | 50 | # 51 | # REPOSITORIES 52 | # - can be defined here or included from another file 53 | # - pacman will search repositories in the order defined here 54 | # - local/custom mirrors can be added here or in separate files 55 | # - repositories listed first will take precedence when packages 56 | # have identical names, regardless of version number 57 | # - URLs will have $repo replaced by the name of the current repo 58 | # - URLs will have $arch replaced by the name of the architecture 59 | # 60 | # Repository entries are of the format: 61 | # [repo-name] 62 | # Server = ServerName 63 | # Include = IncludePath 64 | # 65 | # The header [repo-name] is crucial - it must be present and 66 | # uncommented to enable the repo. 67 | # 68 | 69 | # The testing repositories are disabled by default. To enable, uncomment the 70 | # repo name header and Include lines. You can add preferred servers immediately 71 | # after the header, and they will be used before the default mirrors. 72 | 73 | #[testing] 74 | #Include = /etc/pacman.d/mirrorlist 75 | 76 | [core] 77 | Include = /etc/pacman.d/mirrorlist 78 | 79 | [extra] 80 | Include = /etc/pacman.d/mirrorlist 81 | 82 | #[community-testing] 83 | #Include = /etc/pacman.d/mirrorlist 84 | 85 | [community] 86 | Include = /etc/pacman.d/mirrorlist 87 | 88 | # An example of a custom package repository. See the pacman manpage for 89 | # tips on creating your own repositories. 90 | #[custom] 91 | #SigLevel = Optional TrustAll 92 | #Server = file:///home/custompkgs 93 | 94 | [aur] 95 | Server = file:///srv/pub.linderud.dev/repos/aur 96 | Server = https://pub.linderud.dev/repos/aur/ 97 | -------------------------------------------------------------------------------- /foxboron-system/backup-backup: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euo pipefail 3 | shopt -s nullglob globstar 4 | 5 | if [[ $# -eq 0 ]] ; then 6 | echo 'No snapper config supplied' 7 | exit 0 8 | fi 9 | 10 | readonly SNAPPER_CONFIG=$1 11 | 12 | if [ ! -f /etc/snapper/configs/$SNAPPER_CONFIG ]; then 13 | echo 'No snapper config with this name' 14 | exit 0 15 | fi 16 | 17 | notify_err() { 18 | notify-send -u critical "Backup $SNAPPER_CONFIG failed!" 19 | } 20 | trap 'notify_err' ERR 21 | 22 | NETWORK_TIMEOUT=120 23 | i=0 24 | while [ "$(nmcli -g connectivity general status)" = "none" ]; do 25 | i=$[$i+1] 26 | if [ $i -gt "$NETWORK_TIMEOUT" ]; then 27 | echo "Network not up, skipping upload" >&2 28 | exit 0 29 | fi 30 | sleep 1 31 | done 32 | 33 | 34 | source /etc/snapper/configs/$SNAPPER_CONFIG 35 | 36 | readonly DATE_FORMAT="+%Y%m%d-%H%M%S" 37 | export GNUPGHOME="/home/fox/.config/gnupg" 38 | export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus 39 | 40 | BORG_PASSPHRASE="$(cat ~/.cache/borg/key)" 41 | export BORG_PASSPHRASE 42 | BORG_RSH="ssh -i /home/fox/.ssh/machine" 43 | export BORG_RSH 44 | 45 | LAST_SNAPSHOT="$(snapper --json -c home list | jq -j '(.[] | reverse)[0]')" 46 | LATEST_SNAPSHOT_ID="$(echo $LAST_SNAPSHOT | jq -r '.number' )" 47 | LATEST_DATE=$(echo $LAST_SNAPSHOT | jq -j '.date' | xargs -0 date "+%s" -d) 48 | BORG_LIST=0 49 | 50 | if ! borg info borg@linderud.dev:backup/$(hostname)/$SNAPPER_CONFIG &> /dev/null; then 51 | borg init --umask 0027 --encryption=repokey-blake2 borg@linderud.dev:backup/$(hostname)/$SNAPPER_CONFIG || true 52 | fi 53 | if ! BORG_LIST=$(borg list --json borg@linderud.dev:backup/$(hostname)/$SNAPPER_CONFIG | jq -j '(.archives | reverse)[0] | .time' | xargs -0 date "+%s" -d) &> /dev/null; then 54 | BORG_LIST=0 55 | fi 56 | 57 | test $LATEST_DATE -lt ${BORG_LIST//-} && exit 0 58 | 59 | # notify-send "Started $SNAPPER_CONFIG backup" 60 | sudo backup-sudo mount "${SUBVOLUME%/}/.snapshots/$LATEST_SNAPSHOT_ID" "${SUBVOLUME%/}/.snapshots/backup" 61 | cleanup() { 62 | sudo backup-sudo cleanup "${SUBVOLUME%/}/.snapshots/backup" 63 | } 64 | trap cleanup EXIT 65 | mkdir -p ~/.config/borg || true 66 | touch ~/.config/borg/exclude 67 | if ! borg create --stats --umask 0027 -v -p -C zstd \ 68 | --pattern="!/.snapshots/*/snapshot/proc" \ 69 | --pattern="!/.snapshots/*/snapshot/sys" \ 70 | --pattern="!/.snapshots/*/snapshot/dev" \ 71 | --pattern="!/.snapshots/*/snapshot/run" \ 72 | --pattern="!/.snapshots/*/snapshot/tmp" \ 73 | --pattern="!/.snapshots/*/snapshot/var/cache" \ 74 | --pattern="!/.snapshots/*/snapshot/var/lib/archbuild" \ 75 | --pattern="!/.snapshots/*/snapshot/var/lib/build" \ 76 | --pattern="!/.snapshots/*/snapshot/tmp" \ 77 | --pattern="!/.snapshots/backup/snapshot/.snapshots" \ 78 | --pattern="!/.snapshots/backup/info.xml" \ 79 | --patterns-from ~/.config/borg/exclude \ 80 | borg@linderud.dev:backup/$(hostname)/$SNAPPER_CONFIG::$(date $DATE_FORMAT) "${SUBVOLUME%/}/.snapshots/backup"; then 81 | notify-send -u critical "Backup $SNAPPER_CONFIG failed" 82 | fi 83 | # notify-send "$SNAPPER_CONFIG backup done" 84 | borg prune --umask 0027 -v borg@linderud.dev:backup/$(hostname)/$SNAPPER_CONFIG \ 85 | --keep-hourly 24 \ 86 | --keep-daily 7 \ 87 | --keep-weekly 4 \ 88 | --keep-monthly 6 89 | -------------------------------------------------------------------------------- /lxd-git/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: Morten Linderud 2 | # Contributor: Maikel Wever 3 | # Contributor: Asterios Dimitriou 4 | # Contributor: Benjamin Asbach 5 | # Contributer: nightuser 6 | 7 | pkgname=lxd-git 8 | _pkgname=lxd 9 | _lxd=github.com/lxc/lxd 10 | pkgver=4.14.r142.ab85fbbf0 11 | pkgrel=1 12 | pkgdesc="Daemon based on liblxc offering a REST API to manage containers" 13 | arch=('x86_64') 14 | url="https://linuxcontainers.org/lxd" 15 | license=('APACHE') 16 | depends=('lxc' 'lxcfs' 'squashfs-tools' 'dnsmasq' 'dqlite' 'libuv' 'ebtables') 17 | makedepends=('go' 'git' 'tcl' 'apparmor' 'libseccomp' 'systemd' 'protobuf') 18 | optdepends=( 19 | 'lvm2: for lvm2 support' 20 | 'thin-provisioning-tools: for thin provisioning support' 21 | 'btrfs-progs: for btrfs storage driver support' 22 | 'ceph: for ceph storage driver support' 23 | 'cdrtools: VM support' 24 | 'qemu: VM support' 25 | 'ovmf: VM support' 26 | 'systemd-libs: unix device hotplug support' 27 | 'apparmor: apparmor support' 28 | ) 29 | source=("git+https://github.com/lxc/lxd.git" 30 | "lxd.socket" 31 | "lxd.service" 32 | "lxd.sysusers") 33 | sha256sums=('SKIP' 34 | '3a14638f8d0f9082c7214502421350e3b028db1e7f22e8c3fd35a2b1d9153ef4' 35 | '102d1d54186e0fc606a58f030231d76df6bd662b16dfd8f946e1f48e2b473b54' 36 | 'd0184d9c4bb485e3aad0d4ac25ea7e85ac0f7ed6ddc96333e74fcd393a5b5ec4') 37 | 38 | pkgver() { 39 | cd "lxd" 40 | printf "%s" "$(git describe --long | sed 's/^lxd-//;s/\([^-]*-\)g/r\1/;s/-/./g')" 41 | } 42 | 43 | prepare() { 44 | mkdir -p "${srcdir}/go/src/github.com/lxc" 45 | ln -rTsf "${_pkgname}" "${srcdir}/go/src/${_lxd}" 46 | } 47 | 48 | build() { 49 | export GOPATH="${srcdir}/go" 50 | cd "${GOPATH}/src/${_lxd}" 51 | export GOFLAGS="-buildmode=pie -trimpath" 52 | export CGO_CFLAGS="$CFLAGS -I/usr/include/sqlite-replication" 53 | export CGO_LDFLAGS="$LDFLAGS -L/usr/lib/sqlite-replication -Wl,-R/usr/lib/sqlite-replication" 54 | export CGO_LDFLAGS_ALLOW='-Wl,-wrap,pthread_create' 55 | export GO111MODULE=off 56 | make update 57 | mkdir -p bin 58 | go build -v -tags "netgo" -o bin/ ./lxd-p2c/... 59 | CGO_LDFLAGS="$CGO_LDFLAGS -static" go build -v -tags "agent" -o bin/ ./lxd-agent/... 60 | for tool in fuidshift lxc lxc-to-lxd lxd lxd-benchmark; do 61 | go build -v -tags "libsqlite3" -o bin/ ./$tool/... 62 | done 63 | } 64 | 65 | package() { 66 | cd "$_pkgname" 67 | 68 | for tool in fuidshift lxc lxc-to-lxd lxd lxd-agent lxd-benchmark lxd-p2c; do 69 | install -p -Dm755 "bin/$tool" "${pkgdir}/usr/bin/$tool" 70 | done 71 | 72 | # Package license 73 | install -Dm644 "COPYING" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENCE" 74 | 75 | # systemd files 76 | install -Dm644 "${srcdir}/lxd.service" "${pkgdir}/usr/lib/systemd/system/lxd.service" 77 | install -Dm644 "${srcdir}/lxd.socket" "${pkgdir}/usr/lib/systemd/system/lxd.socket" 78 | 79 | # logs 80 | install -dm700 "${pkgdir}/var/log/lxd" 81 | 82 | # documentation 83 | mkdir -p "${pkgdir}/usr/share/doc/lxd" 84 | install -p -Dm644 "doc/"* "${pkgdir}/usr/share/doc/lxd/" 85 | 86 | # Bash completions 87 | install -p -Dm644 "scripts/bash/lxd-client" "${pkgdir}/usr/share/bash-completion/completions/lxd" 88 | 89 | install -Dm644 "${srcdir}/$_pkgname.sysusers" "${pkgdir}/usr/lib/sysusers.d/$_pkgname.conf" 90 | } 91 | 92 | # vim:set ts=2 sw=2 et: 93 | -------------------------------------------------------------------------------- /foxboron-system/pacreport.conf: -------------------------------------------------------------------------------- 1 | [Options] 2 | IgnoreUnowned = mnt/* 3 | IgnoreUnowned = srv/* 4 | IgnoreUnowned = var/raid 5 | IgnoreUnowned = var/swap 6 | IgnoreUnowned = var/btrfs 7 | IgnoreUnowned = var/repos 8 | IgnoreUnowned = etc/systemd/system/systemd-rfkill.service 9 | IgnoreUnowned = etc/systemd/system/systemd-rfkill.socket 10 | IgnoreUnowned = etc/systemd/system/systemd-homed.service 11 | IgnoreUnowned = etc/systemd/system/systemd-userdbd.service 12 | IgnoreUnowned = etc/systemd/system/systemd-userdbd.socket 13 | 14 | # Masked Services 15 | IgnoreUnowned = etc/systemd/system/lvm2-lvmetad.service 16 | IgnoreUnowned = etc/systemd/system/lvm2-lvmetad.socket 17 | IgnoreUnowned = etc/systemd/system/lvm2-monitor.service 18 | 19 | # Modified Service 20 | IgnoreUnowned = etc/systemd/system/usbguard.service.d 21 | 22 | 23 | [PkgIgnoreUnowned] 24 | adwaita-icon-theme = usr/share/icons/Adwaita/icon-theme.cache 25 | alsa-lib = var/lib/alsa/asound.state 26 | ca-certificates-utils = etc/ca-certificates/extracted/ca-bundle.trust.crt 27 | ca-certificates-utils = etc/ca-certificates/extracted/cadir 28 | ca-certificates-utils = etc/ca-certificates/extracted/email-ca-bundle.pem 29 | ca-certificates-utils = etc/ca-certificates/extracted/objsign-ca-bundle.pem 30 | ca-certificates-utils = etc/ca-certificates/extracted/tls-ca-bundle.pem 31 | ca-certificates-utils = etc/ca-certificates/extracted/edk2-cacerts.bin 32 | colord = var/lib/colord 33 | containerd = opt/containerd 34 | bolt = var/lib/boltd/devices 35 | bolt = var/lib/boltd/bootacl 36 | bolt = var/lib/boltd/domains 37 | bolt = var/lib/boltd/times 38 | dbus = var/lib/dbus/machine-id 39 | devtools = var/lib/archbuild 40 | devtools = var/lib/buildpkg 41 | dhcpcd = var/lib/dhcpcd/duid 42 | dhcpcd = var/lib/dhcpcd/secret 43 | dhcpcd = var/lib/dhcpcd/*.lease 44 | docbook-xml = etc/xml/catalog 45 | docker = etc/docker 46 | docker = var/lib/docker 47 | filesystem = etc/.pwd.lock 48 | filesystem = etc/ld.so.cache 49 | filesystem = etc/os-release 50 | fontconfig = usr/share/fonts/*/.uuid 51 | fontconfig = usr/share/fonts/*.uuid 52 | fontconfig = usr/share/fonts/*/fonts.dir 53 | fontconfig = usr/share/fonts/*/fonts.scale 54 | gdk-pixbuf2 = usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache 55 | glibc = usr/lib/gio/modules/giomodule.cache 56 | glibc = usr/lib/locale/locale-archive 57 | glibc = usr/share/glib-2.0/schemas/gschemas.compiled 58 | gtk2 = usr/lib/gtk-2.0/2.10.0/immodules.cache 59 | gtk3 = usr/lib/gtk-3.0/3.0.0/immodules.cache 60 | hicolor-icon-theme = usr/share/icons/hicolor/icon-theme.cache 61 | linux = boot/initramfs-linux-fallback.img 62 | linux = boot/initramfs-linux.img 63 | linux = usr/lib/modules/*-ARCH 64 | linux-hardened = boot/initramfs-linux-hardened-fallback.img 65 | linux-hardened = boot/initramfs-linux-hardened.img 66 | linux-hardened = usr/lib/modules/*-hardened 67 | linux-lts = boot/initramfs-linux-lts-fallback.img 68 | linux-lts = boot/initramfs-linux-lts.img 69 | linux-lets = usr/lib/modules/*-lts 70 | lm_sensors = etc/conf.d/lm_sensors 71 | logrotate = var/lib/logrotate.status 72 | networkmanager = etc/NetworkManager/system-connections/* 73 | networkmanager = etc/systemd/system/dbus-org.freedesktop.NetworkManager.service 74 | networkmanager = etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service 75 | networkmanager = var/lib/NetworkManager/* 76 | mkinitcpio = boot/vmlinuz-linux* 77 | mkinitcpio = etc/mkinitcpio.d/linux.preset 78 | mkinitcpio = etc/mkinitcpio.d/linux-lts.preset 79 | ibus = etc/dconf/db/ibus 80 | pacman = etc/pacman.d/gnupg 81 | pacman = var/lib/pacman/local 82 | pacman = var/lib/pacman/sync 83 | pacman-contrib = etc/pacreport.conf 84 | qt5-webengine = usr/share/qt/qtwebengine_dictionaries 85 | sudo = var/db/sudo/lectured/* 86 | shadow = etc/group- 87 | shadow = etc/gshadow- 88 | shadow = etc/passwd- 89 | shadow = etc/shadow- 90 | shadow = etc/subgid 91 | shadow = etc/subuid 92 | shadow = etc/subgid- 93 | shadow = etc/subuid- 94 | snapper = .snapshots 95 | snapper = etc/snapper/configs/* 96 | podman = etc/cni/net.d/cni-podman0.conflist 97 | podman = var/lib/containers 98 | podman = var/lib/mycontainer 99 | systemd = efi 100 | systemd = boot/EFI 101 | systemd = boot/loader 102 | systemd = etc/.updated 103 | systemd = etc/machine-id 104 | systemd = etc/systemd/*.wants 105 | systemd = etc/systemd/system/dbus-org.freedesktop.* 106 | systemd = etc/udev/hwdb.bin 107 | systemd = usr/lib/udev/hwdb.bin 108 | systemd = var/.updated 109 | systemd = var/lib/machines 110 | systemd = var/lib/portables 111 | systemd = var/lib/private 112 | systemd = var/lib/systemd/home 113 | systemd = var/lib/systemd/backlight 114 | systemd = var/lib/systemd/catalog 115 | systemd = var/lib/systemd/coredump 116 | systemd = var/lib/systemd/random-seed 117 | systemd = var/lib/systemd/rfkill 118 | systemd = var/lib/systemd/timers 119 | systemd = var/lib/systemd/timesync 120 | systemd = var/lib/systemd/linger 121 | systemd = etc/hostname 122 | systemd = etc/systemd/import-pubring.gpg 123 | systemd = etc/systemd/import-pubring.gpg~ 124 | texinfo = usr/share/info/dir 125 | texlive-bin = usr/share/texmf-dist/ls-R 126 | texlive-bin = usr/share/texmf/ls-R 127 | texlive-bin = var/lib/texmf/ls-R 128 | texlive-bin = etc/texmf/ls-R 129 | texlive-bin = etc/texmf/web2c/updmap.cfg 130 | texlive-bin = var/lib/texmf/fonts 131 | texlive-bin = var/lib/texmf/luatex-cache 132 | texlive-bin = var/lib/texmf/web2c 133 | tlp = var/lib/tlp 134 | postgresql = var/lib/postgres 135 | fwupd = var/lib/fwupd/gnupg 136 | fwupd = var/lib/fwupd/pending.db 137 | fwupd = var/lib/fwupd/remotes.d 138 | fwupd = var/lib/fwupd/pki 139 | fwupd = boot/FSCK0000.REC 140 | fwupd = usr/lib/fwupd/efi/fwupdx64.efi.signed 141 | tzdata = etc/localtime 142 | wireguard-dkms = var/lib/dkms/wireguard 143 | wireguard-dkms = usr/lib/modules/*-arch1-*/kernel/net/wireguard.ko.xz 144 | wireguard-tools = etc/wireguard/* 145 | xdg-utils = usr/share/applications/mimeinfo.cache 146 | geoclue = var/lib/geoclue 147 | vi = var/lib/ex 148 | perl-xml-sax = usr/share/perl5/vendor_perl/XML/SAX/ParserDetails.ini 149 | ghc-libs = usr/lib/ghc-8.6.5/package.conf.d/*.conf 150 | graphviz = usr/lib/graphviz/config6 151 | lxd = var/lib/lxd 152 | lxc = var/lib/lxc/playtime 153 | cni-plugins = var/lib/cni 154 | btrfs-progs = var/lib/btrfs 155 | archlinux-repro = var/lib/repro 156 | salt = etc/salt 157 | tpm2-tss = var/lib/tpm2-tss 158 | upower = var/lib/upower/history-*.dat 159 | lxd = var/lib/lxd 160 | lxcfs = var/lib/lxcfs/cgroup 161 | lxcfs = var/lib/lxcfs/proc 162 | lxcfs = var/lib/lxcfs/sys 163 | logrotate = var/lib/logrotate.status 164 | cni-plugins = var/lib/cni 165 | dbus = var/lib/dbus 166 | archlinux-repro = var/lib/repro 167 | sbsigntools = usr/share/secureboot 168 | ghc-libs = usr/lib/ghc-*/package.conf.d/*.conf 169 | salt = etc/salt 170 | words = usr/share/dict/words 171 | dhcpcd = var/lib/dhcpcd 172 | ebtables = var/lib/ebtables 173 | 174 | # Personal packages/AUR packages 175 | aurutils = var/lib/aurbuild 176 | aurutils-git = var/lib/aurbuild 177 | base-system = etc/pacman.d/aur 178 | base-system = etc/yubikey 179 | base-system = var/btrfs-root 180 | base-system = etc/snapper/configs/home 181 | base-system = etc/snapper/configs/root 182 | base-system = .snapshots 183 | -------------------------------------------------------------------------------- /foxboron-system/.SRCINFO: -------------------------------------------------------------------------------- 1 | pkgbase = foxboron-system 2 | pkgdesc = System configs 3 | pkgver = 13 4 | pkgrel = 1 5 | url = https://linderud.dev/ 6 | arch = any 7 | license = MIT 8 | depends = git 9 | source = backup-backup 10 | source = backup-backup@.service 11 | source = backup-backup-snapper-cleanup.service 12 | source = backup-backup-sudo 13 | source = backup-snap-boot-backup 14 | source = backup-snap-boot-config 15 | source = backup-snapper-backup.service 16 | source = backup-snapper-filter 17 | source = backup-sudoers 18 | source = hook-bootctl-upgrade.hook 19 | source = hook-patch-system-configs.hook 20 | source = hook-patch-system-configs.scripts 21 | source = mkinitcpio-linux.preset 22 | source = kernel-cmdline 23 | source = pacman-aur.conf 24 | source = pacman-mirrorlist 25 | source = snapper-conf.d 26 | source = snapper-home 27 | source = snapper-root 28 | source = system-sudoers 29 | source = timers-timer@.target 30 | source = timers-timer@.timer 31 | source = fallback_dns.conf 32 | source = x11-99-keyboard.conf 33 | source = patch-main.conf.patch 34 | source = patch-mkinitpcio.conf.patch 35 | source = patch-NetworkManager.conf.patch 36 | source = patch-pacman.conf.patch 37 | source = patch-resolved.conf.patch 38 | source = patch-uefi_capsule.conf.patch 39 | source = patch-usbguard-daemon.conf.patch 40 | sha256sums = 793647362d8c6bbc665dc5a18537c0479f070d0e4453ceff64f8ed8fadab9faa 41 | sha256sums = fba676be6530edb1f4db5bc4bf7ea9ddcd8209822b797bd0f45e7fce5bbb940c 42 | sha256sums = 08e1d51e9559f89f8d6a57a3134b05295d8ace56cddac3aa97a0f3792b68ee91 43 | sha256sums = f5252e9184f5469bb7d4091359f752674b5925efe670a19aa65177b7409713b5 44 | sha256sums = 48ee59b2d3d2c6839825177a31f7efa6b4f4c7d43139409d63676c7955affb0b 45 | sha256sums = 2a978ea589fa3647d6156bdd054c5c76828b8934c832423f9d3a3db9e5e5019a 46 | sha256sums = fde7844e13e00125ad13bd87e0bc3f2347ce7424c054b1e2ade44ea05e1176fd 47 | sha256sums = b17747590458e5e540fad94dc046348f32b4e84565078c5609a824784163f6d2 48 | sha256sums = 9eae320f6f0842d0692d46020125432350ed25fbddec2d9829d16ca7f43991c5 49 | sha256sums = 3295c32224753a6f1d409b7de810af63c3fd1d987c193486caae84c8b66ba2c2 50 | sha256sums = e03ee1956c15ab4041dc5a29c978d0017ac5d8bce782f813b55bd0193fa7672e 51 | sha256sums = 685fb6ce4aec2c8e158fc27c8fb91533e042b00a514af15b45ade43bf2fb07f8 52 | sha256sums = b269081238fe9191dd5b731b60bdbf1e40c0b2929d92c36920a52097f87f0309 53 | sha256sums = ce3abbbc9582db7cce86b589c89125d84d80ffdacdda7f8c110062aa4d523617 54 | sha256sums = 274385b2c419e41b8bea9126c0cb2cdb1e126ea9ad9912211663590b87c9bbc0 55 | sha256sums = 4f09d8e3cffdd37c5c471873fcbfa5359060ad54c6a0f34df0862dd112c09647 56 | sha256sums = 76097926beead2ec82bc0da042ba1d5013d745d3d8d90239e9cecac32b174f6a 57 | sha256sums = 9471cb91dac1158c74732ce8469dafbcc1abe9e090a94f90f96e223d3e1acc88 58 | sha256sums = e8b40c151eb20db7cff213de28a63a9f8fa69ba371842ea18fcab11265ed2b87 59 | sha256sums = 053e38a80a8162450b9e145c119b9cee0385a869b26d24bb3f681bff78137592 60 | sha256sums = 148cffd0796d1fa2b1d9bba9274493bd9cfc2d5a524ffc0e03fc2d6e8e2c53fb 61 | sha256sums = dd01c47408e67c0af174345fb1bd92683d509181a0d8bf8fc1e22ba49e79ec24 62 | sha256sums = 47eed2b302b354dc4af4184e65970081bb54e82bf0a56634db47cc61bc0c28ad 63 | sha256sums = 477185de77c1cff69e9b7c9e5451fc71294c00c407726f87e29324f34379c01f 64 | sha256sums = ebb4a0889d18fb8d757d18642a2c03e10a2d99db06e23399d97e012d1898ec58 65 | sha256sums = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 66 | sha256sums = 135895c76aeab498eab5d80d65bd49c7897f315a8667506511ebc978b8e18e42 67 | sha256sums = 28111b4f1cf1862b0531835b37147dfc9979fc6bf6b5bec43af29e8582112b9b 68 | sha256sums = 73192566b137fbc38487aeb8d0de3fecbf8646b58815c7f3646d8f30c2e3b482 69 | sha256sums = c5f3b468c6dbc94593afcd90d89eb242fd2fc497f74f173652ab4f589348bcd2 70 | sha256sums = c74fd40183d416292de3beedf9803d8e6b45bd08177d18c9c1312db9c661dba8 71 | sha256sums = 8f7bb14e31b79b3bf4c187becada41b3cf5370d8d391f8ed476546f89efba53a 72 | 73 | pkgname = base-system 74 | install = base-system.install 75 | depends = base-packages 76 | depends = base-dotfiles 77 | 78 | pkgname = base-packages 79 | depends = base 80 | depends = linux 81 | depends = linux-firmware 82 | depends = linux-headers 83 | depends = mkinitcpio 84 | depends = xorg-server 85 | depends = xorg-setxkbmap 86 | depends = xorg-xinit 87 | depends = xorg-xset 88 | depends = intel-ucode 89 | depends = xorg-xrandr 90 | depends = vulkan-intel 91 | depends = libvdpau-va-gl 92 | depends = grobi 93 | depends = ddcutil 94 | depends = i3-gaps 95 | depends = xorg-xset 96 | depends = i3lock 97 | depends = redshift 98 | depends = alacritty 99 | depends = feh 100 | depends = dunst 101 | depends = redshift 102 | depends = playerctl 103 | depends = unclutter 104 | depends = picom 105 | depends = rofi 106 | depends = ttf-dejavu 107 | depends = xdotool 108 | depends = i3blocks 109 | depends = pavucontrol 110 | depends = qutebrowser 111 | depends = chromium 112 | depends = xss-lock 113 | depends = python-adblock 114 | depends = python-requests 115 | depends = tlp 116 | depends = udiskie 117 | depends = usbguard 118 | depends = lm_sensors 119 | depends = networkmanager 120 | depends = zsh 121 | depends = fwupd 122 | depends = bolt 123 | depends = wireguard-tools 124 | depends = pipewire 125 | depends = pipewire-alsa 126 | depends = pipewire-jack 127 | depends = pipewire-pulse 128 | depends = wireplumber 129 | depends = man-db 130 | depends = sbctl 131 | depends = gnupg 132 | depends = pass 133 | depends = mpv 134 | depends = expac 135 | depends = xsel 136 | depends = zathura-pdf-mupdf 137 | depends = zathura 138 | depends = imv 139 | depends = mosh 140 | depends = openssh 141 | depends = htop 142 | depends = task 143 | depends = yubikey-manager 144 | depends = pass-otp 145 | depends = nvchecker 146 | depends = tmux 147 | depends = tig 148 | depends = git 149 | depends = pacman-contrib 150 | depends = hub 151 | depends = darktable 152 | depends = github-cli 153 | depends = podman 154 | depends = docker 155 | depends = pacutils 156 | depends = pcsclite 157 | depends = ccid 158 | depends = lxd 159 | depends = libfido2 160 | depends = efibootmgr 161 | depends = gopls 162 | depends = bc 163 | depends = jq 164 | depends = barrier 165 | depends = tailscale 166 | depends = mpv 167 | depends = acpi 168 | depends = ncdu 169 | depends = alsa-utils 170 | depends = k9s 171 | depends = kubectl 172 | depends = vlc 173 | depends = libmicrodns 174 | depends = devtools 175 | depends = meson 176 | depends = namcap 177 | depends = go 178 | depends = pdfjs 179 | depends = element-desktop 180 | depends = discord 181 | depends = bind 182 | depends = barrier 183 | depends = flameshot 184 | depends = fb-client 185 | depends = elinks 186 | depends = whois 187 | depends = asciinema 188 | depends = hugo 189 | depends = ibus 190 | depends = mdbook 191 | depends = firewalld 192 | depends = intel-media-driver 193 | depends = nvme-cli 194 | depends = pcsc-tools 195 | depends = toolbox 196 | depends = tpm2-tools 197 | depends = asp 198 | depends = zbar 199 | depends = strace 200 | depends = acpi_call 201 | depends = xorg-xev 202 | depends = smartmontools 203 | depends = qbittorrent 204 | depends = delve 205 | depends = go-stuff 206 | depends = python-lsp-server 207 | depends = qemu-base 208 | depends = debuginfod 209 | depends = archlinux-contrib 210 | depends = archlinux-repro 211 | depends = pacutils 212 | depends = pacman-contrib 213 | depends = bluez 214 | depends = bluez-utils 215 | depends = v4l2loopback-dkms 216 | depends = gphoto2 217 | depends = gvim 218 | depends = ctags 219 | depends = fzf 220 | depends = ripgrep 221 | depends = gst-plugins-good 222 | depends = libvdpau-va-gl 223 | depends = neomutt 224 | depends = notmuch 225 | depends = afew 226 | depends = msmtp 227 | depends = offlineimap 228 | depends = ttf-hack 229 | depends = noto-fonts 230 | depends = noto-fonts-emoji 231 | depends = noto-fonts-cjk 232 | depends = noto-fonts-extra 233 | depends = sof-firmware 234 | depends = man 235 | depends = networkmanager-openvpn 236 | depends = nm-connection-editor 237 | 238 | pkgname = base-dotfiles 239 | 240 | pkgname = foxboron-timers 241 | install = timers.install 242 | 243 | pkgname = foxboron-backup 244 | install = snapper.install 245 | depends = foxboron-timers 246 | depends = snapper 247 | depends = expac 248 | 249 | pkgname = patch-system 250 | -------------------------------------------------------------------------------- /foxboron-system/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: Morten Linderud 2 | 3 | pkgbase=foxboron-system 4 | pkgname=('base-system' 5 | 'base-packages' 6 | 'base-dotfiles' 7 | 'foxboron-timers' 8 | 'foxboron-backup' 9 | 'patch-system') 10 | pkgver=15 11 | pkgrel=1 12 | pkgdesc="System configs" 13 | arch=("any") 14 | url="https://linderud.dev/" 15 | license=('MIT') 16 | depends=('git') 17 | source=('backup-backup' 18 | 'backup-backup@.service' 19 | 'backup-backup-snapper-cleanup.service' 20 | 'backup-backup-sudo' 21 | 'backup-snap-boot-backup' 22 | 'backup-snap-boot-config' 23 | 'backup-snapper-backup.service' 24 | 'backup-snapper-filter' 25 | 'backup-sudoers' 26 | 'hook-bootctl-upgrade.hook' 27 | 'hook-patch-system-configs.hook' 28 | 'hook-patch-system-configs.scripts' 29 | 'mkinitcpio-linux.preset' 30 | 'kernel-cmdline' 31 | 'pacman-aur.conf' 32 | 'pacman-mirrorlist' 33 | 'snapper-conf.d' 34 | 'snapper-home' 35 | 'snapper-root' 36 | 'system-sudoers' 37 | 'timers-timer@.target' 38 | 'timers-timer@.timer' 39 | 'fallback_dns.conf' 40 | 'x11-99-keyboard.conf' 41 | ) 42 | 43 | sha256sums=('793647362d8c6bbc665dc5a18537c0479f070d0e4453ceff64f8ed8fadab9faa' 44 | 'fba676be6530edb1f4db5bc4bf7ea9ddcd8209822b797bd0f45e7fce5bbb940c' 45 | '08e1d51e9559f89f8d6a57a3134b05295d8ace56cddac3aa97a0f3792b68ee91' 46 | 'f5252e9184f5469bb7d4091359f752674b5925efe670a19aa65177b7409713b5' 47 | '48ee59b2d3d2c6839825177a31f7efa6b4f4c7d43139409d63676c7955affb0b' 48 | '2a978ea589fa3647d6156bdd054c5c76828b8934c832423f9d3a3db9e5e5019a' 49 | 'fde7844e13e00125ad13bd87e0bc3f2347ce7424c054b1e2ade44ea05e1176fd' 50 | 'b17747590458e5e540fad94dc046348f32b4e84565078c5609a824784163f6d2' 51 | '9eae320f6f0842d0692d46020125432350ed25fbddec2d9829d16ca7f43991c5' 52 | '3295c32224753a6f1d409b7de810af63c3fd1d987c193486caae84c8b66ba2c2' 53 | '7c3a6e106692afe60a2b5ed8d032e55a455bf6a0af1a9112fec78d44bb606f68' 54 | '95a2022be2bea5082c625f3452e81a51a7bd292f8e90b8a739c6e75569be625b' 55 | 'b269081238fe9191dd5b731b60bdbf1e40c0b2929d92c36920a52097f87f0309' 56 | 'ce3abbbc9582db7cce86b589c89125d84d80ffdacdda7f8c110062aa4d523617' 57 | '274385b2c419e41b8bea9126c0cb2cdb1e126ea9ad9912211663590b87c9bbc0' 58 | '4f09d8e3cffdd37c5c471873fcbfa5359060ad54c6a0f34df0862dd112c09647' 59 | '76097926beead2ec82bc0da042ba1d5013d745d3d8d90239e9cecac32b174f6a' 60 | '9471cb91dac1158c74732ce8469dafbcc1abe9e090a94f90f96e223d3e1acc88' 61 | 'e8b40c151eb20db7cff213de28a63a9f8fa69ba371842ea18fcab11265ed2b87' 62 | '053e38a80a8162450b9e145c119b9cee0385a869b26d24bb3f681bff78137592' 63 | '148cffd0796d1fa2b1d9bba9274493bd9cfc2d5a524ffc0e03fc2d6e8e2c53fb' 64 | 'dd01c47408e67c0af174345fb1bd92683d509181a0d8bf8fc1e22ba49e79ec24' 65 | '47eed2b302b354dc4af4184e65970081bb54e82bf0a56634db47cc61bc0c28ad' 66 | '477185de77c1cff69e9b7c9e5451fc71294c00c407726f87e29324f34379c01f' 67 | 'ebb4a0889d18fb8d757d18642a2c03e10a2d99db06e23399d97e012d1898ec58' 68 | '135895c76aeab498eab5d80d65bd49c7897f315a8667506511ebc978b8e18e42' 69 | '28111b4f1cf1862b0531835b37147dfc9979fc6bf6b5bec43af29e8582112b9b' 70 | '73192566b137fbc38487aeb8d0de3fecbf8646b58815c7f3646d8f30c2e3b482' 71 | 'c5f3b468c6dbc94593afcd90d89eb242fd2fc497f74f173652ab4f589348bcd2' 72 | 'c74fd40183d416292de3beedf9803d8e6b45bd08177d18c9c1312db9c661dba8' 73 | '8f7bb14e31b79b3bf4c187becada41b3cf5370d8d391f8ed476546f89efba53a') 74 | 75 | package_base-packages(){ 76 | depends=( 77 | 'linux' 'linux-firmware' 'linux-headers' 78 | 'mkinitcpio' 79 | 80 | # xorg 81 | 'xorg-server' 'xorg-setxkbmap' 'xorg-xinit' 'xorg-xset' 82 | 'intel-ucode' 'xorg-xrandr' 'vulkan-intel' 'libvdpau-va-gl' 83 | 84 | 'grobi' 'ddcutil' 85 | 86 | # DE 87 | 'i3-gaps' 'xorg-xset' 'i3lock' 'redshift' 'alacritty' 'feh' 88 | 'dunst' 'redshift' 'playerctl' 'unclutter' 89 | 'picom' 'rofi' 'ttf-dejavu' 'xdotool' 'i3blocks' 90 | 'pavucontrol' 'qutebrowser' 'chromium' 'xss-lock' 91 | 92 | # Python 93 | 'python-adblock' 'python-requests' 94 | 95 | # System 96 | 'tlp' 'udiskie' 'usbguard' 'lm_sensors' 97 | 'networkmanager' 'zsh' 'fwupd' 98 | 'bolt' 'wireguard-tools' 'pipewire' 'pipewire-alsa' 99 | 'pipewire-jack' 'pipewire-pulse' 'wireplumber' 100 | 'man-db' 'man-pages' 101 | 102 | 'opensc' 'cups' 103 | 104 | 'sbctl' 105 | 106 | # Utilities 107 | 'gnupg' 'pass' 'mpv' 'expac' 'xsel' 108 | 'zathura-pdf-mupdf' 'zathura' 'imv' 'mosh' 'openssh' 109 | 'htop' 'task' 'yubikey-manager' 'pass-otp' 110 | 'nvchecker' 'tmux' 'tig' 'git' 'pacman-contrib' 111 | 'hub' 'darktable' 'github-cli' 'podman' 'docker' 112 | 'pacutils' 'pcsclite' 'ccid' 'lxd' 'libfido2' 'efibootmgr' 113 | 'gopls' 'bc' 'jq' 'barrier' 'tailscale' 114 | 'mpv' 'acpi' 'ncdu' 'alsa-utils' 115 | 'k9s' 'kubectl' 'vlc' 'libmicrodns' 'devtools' 116 | 'meson' 'namcap' 'go' 'pdfjs' 117 | 'element-desktop' 'discord' 'bind' 118 | 'barrier' 'flameshot' 'fb-client' 'elinks' 119 | 'whois' 'asciinema' 'hugo' 'ibus' 'mdbook' 120 | 'firewalld' 'intel-media-driver' 'nvme-cli' 121 | 'pcsc-tools' 'toolbox' 'tpm2-tools' 'asp' 122 | 'zbar' 'strace' 'acpi_call' 'xorg-xev' 123 | 'smartmontools' 'qbittorrent' 124 | 125 | 'go-tools' 126 | 127 | 'obs-studio' 128 | 129 | # Go stuff 130 | 'delve' 'go-tools' 131 | 132 | 133 | 134 | 135 | # Python stuff 136 | 'python-lsp-server' 137 | 138 | # Qemu packages 139 | 'qemu-base' 140 | 141 | 'debuginfod' 142 | 143 | # Arch misc 144 | 'archlinux-contrib' 'archlinux-repro' 'pacutils' 145 | 'pacman-contrib' 146 | 147 | 'bluez' 'bluez-utils' 148 | 149 | # Camera 150 | 'v4l2loopback-dkms' 'gphoto2' 151 | 152 | # Editor 153 | 'gvim' 'ctags' 'fzf' 'ripgrep' 154 | 155 | # Video 156 | 'gst-plugins-good' 'libvdpau-va-gl' 157 | 158 | # Email 159 | 'neomutt' 'notmuch' 'afew' 'msmtp' 'offlineimap' 160 | 161 | # Fonts 162 | 'ttf-hack' 'noto-fonts' 163 | 'noto-fonts-emoji' 'noto-fonts-cjk' 'noto-fonts-extra' 164 | 165 | 'sof-firmware' 'man' 166 | 'networkmanager-openvpn' 167 | 'nm-connection-editor' 168 | 169 | # latex 170 | # 'biber' 'texlive-bibtexextra' 'texlive-core' 171 | # 'texlive-fontsextra' 'texlive-latexextra' 172 | # 'zathura' 'zathura-pdfp-mupdf' 173 | ) 174 | } 175 | 176 | 177 | package_base-dotfiles(){ 178 | git clone 'https://github.com/foxboron/home.git' "$pkgdir"/etc/skel 179 | mv "$pkgdir"/etc/skel/.git "$pkgdir"/etc/skel/.config/home.git 180 | } 181 | 182 | package_base-system(){ 183 | install="$pkgname.install" 184 | depends=('base-packages' 'base-dotfiles') 185 | install -Dm0644 pacman-mirrorlist "$pkgdir/usr/share/system-config/pacman/mirrorlist" 186 | install -Dm0644 kernel-cmdline "$pkgdir/etc/kernel/cmdline" 187 | install -Dm0644 mkinitcpio-linux.preset "$pkgdir/etc/mkinitcpio.d/linux.preset" 188 | install -Dm0644 hook-bootctl-upgrade.hook "$pkgdir/etc/pacman.d/hooks/100-bootctl-upgrade.hook" 189 | install -Dm0644 pacman-aur.conf "$pkgdir"/etc/aurutils/pacman-aur.conf 190 | install -Dm0644 x11-99-keyboard.conf "$pkgdir"/etc/X11/xorg.conf.d/99-keyboard.conf 191 | install -dm0750 "$pkgdir"/etc/sudoers.d 192 | install -Dm0644 system-sudoers "$pkgdir"/etc/sudoers.d/10-system 193 | install -Dm0644 fallback_dns.conf "$pkgdir"/etc/systemd/resolved.conf.d/fallback_dns.conf 194 | ln -sf /usr/share/zoneinfo/Europe/Oslo "$pkgdir"/etc/localtime 195 | } 196 | 197 | 198 | _patch_system=(*.patch) 199 | source+=("${_patch_system[@]}") 200 | package_patch-system(){ 201 | install -Dm0644 hook-patch-system-configs.hook "$pkgdir"/usr/share/libalpm/hooks/90-patch-system-configs.hook 202 | install -Dm0755 hook-patch-system-configs.scripts "$pkgdir"/usr/share/libalpm/scripts/patch-system-configs 203 | for p in ${_patch_system[@]}; do 204 | install -Dm0644 "$p" "$pkgdir/usr/share/system-config/patches/${p#patch-}" 205 | done 206 | } 207 | 208 | package_theia-system(){ 209 | depends=('base-system') 210 | install -Dm0644 theia-capslock.hwdb "$pkgdir"/etc/udev/hwdb.d/61-theia-capslock.hwdb 211 | install -Dm0644 theia-thinkfan.conf "$pkgdir"/etc/thinkfan.conf 212 | install -Dm0644 theia-thinkpad_acpi.conf "$pkgdir"/etc/modprobe.d/thinkpad_acpi.conf 213 | install -Dm0644 acpid-thinkpad-dock-lenovo "$pkgdir"/etc/acpi/events/thinkpad-dock-lenovo 214 | install -Dm0644 acpid-thinkpad-undock-lenovo "$pkgdir"/etc/acpi/events/thinkpad-undock-lenovo 215 | install -Dm0755 acpid-thinkpad-undock.sh "$pkgdir"/etc/acpi/thinkpad-undock.sh 216 | install -Dm0755 acpid-thinkpad-dock.sh "$pkgdir"/etc/acpi/thinkpad-dock.sh 217 | install -Dm0644 x11-99-keyboard.conf "$pkgdir"/etc/X11/xorg.conf.d/99-keyboard.conf 218 | install -Dm0644 x11-99-touchpad-disable.conf "$pkgdir"/etc/X11/xorg.conf.d/99-touchpad-disable.conf 219 | printf 'theia\n' | install -Dm0644 /dev/stdin "$pkgdir"/etc/hostname 220 | } 221 | 222 | package_anathema-system(){ 223 | depends=('base-system') 224 | install -Dm0644 x11-99-keyboard.conf "$pkgdir"/etc/X11/xorg.conf.d/99-keyboard.conf 225 | install -Dm0644 x11-99-touchpad-disable.conf "$pkgdir"/etc/X11/xorg.conf.d/99-touchpad-disable.conf 226 | install -Dm0644 udev-95-thunderbolt.rules "$pkgdir"/etc/udev/rules.d/95-thunderbolt.rules 227 | install -Dm0755 udev-hotplug_monitor "$pkgdir"/usr/bin/hotplug_monitor 228 | printf 'anathema\n' | install -Dm0644 /dev/stdin "$pkgdir"/etc/hostname 229 | } 230 | 231 | package_foxboron-timers(){ 232 | install=timers.install 233 | for p in timers-*; do 234 | install -Dm0644 "$p" "$pkgdir/usr/lib/systemd/system/${p#timers-}" 235 | install -Dm0644 "$p" "$pkgdir/usr/lib/systemd/user/${p#timers-}" 236 | done 237 | } 238 | 239 | package_foxboron-backup(){ 240 | # This really needs to be factored so we dont rely on bad dotfiles 241 | install=snapper.install 242 | depends=('foxboron-timers' 'snapper' 'expac') 243 | install -Dm0644 backup-backup@.service "$pkgdir"/usr/lib/systemd/system/backup@.service 244 | install -Dm0644 backup-snapper-backup.service "$pkgdir"/usr/lib/systemd/system/snapper-backup.service 245 | install -dm0750 "$pkgdir"/etc/sudoers.d 246 | install -Dm0644 backup-sudoers "$pkgdir"/etc/sudoers.d/20-backup 247 | install -Dm0755 backup-backup "$pkgdir"/usr/bin/backup 248 | install -Dm0755 backup-backup-sudo "$pkgdir"/usr/bin/backup-sudo 249 | install -Dm0644 snapper-home "$pkgdir"/etc/snapper/configs/home 250 | install -Dm0644 snapper-root "$pkgdir"/etc/snapper/configs/root 251 | install -Dm0644 snapper-conf.d "$pkgdir"/etc/conf.d/snapper 252 | } 253 | 254 | package_foxboron-pacman-backup(){ 255 | install -Dm0755 backup-snap-boot-backup "$pkgdir"/usr/bin/snap-boot-back 256 | install -Dm0644 backup-50_bootbackup.hook "$pkgdir"/usr/share/libalpm/hooks/50_bootbackup.hook 257 | install -Dm0644 backup-zz_bootback.hook "$pkgdir"/usr/share/libalpm/hooks/zz_bootback.hook 258 | install -Dm0644 backup-snap-boot-config "$pkgdir"/usr/share/$pkgname/snap-boot.config 259 | } 260 | -------------------------------------------------------------------------------- /aurutils/aurutils.changelog: -------------------------------------------------------------------------------- 1 | ## 3.2.1 2 | 3 | * `aur-query` 4 | + support AUR_LOCATION 5 | + preserve `curl --parallel` exit codes (requires curl >=7.77.0) 6 | + complete aur-query(1) man page 7 | 8 | * `aur-pkglist` 9 | + support multiinfo and search dumps (`--info`, `--search`) 10 | + support HTTP Last-Modified 11 | 12 | * `aur-fetch` 13 | + add `--existing` 14 | 15 | * `aur-view` 16 | + new script that includes the package inspection logic from `aur-sync` 17 | 18 | ## 3.2.0 19 | 20 | * `aur-build` 21 | + retrieve database extension from `AUR_DBEXT` (defaults to .db) (#700) 22 | + resolve path argument to `--results` 23 | + use `aur repo --status` for repository selection 24 | - allows specifying `--root` without `--database` 25 | + print diagnostic if packages were not moved to local repository (#794) 26 | + merge `--config` and `--pacman-conf` (#808, #824) 27 | + fallback to /etc/aurutils/pacman-.conf if --chroot is used without --database (#846) 28 | + add diagnostic if chroot pacman.conf is non-existing (#783) 29 | 30 | * `aur-depends` 31 | + add `--no-depends`, `--no-makedepends`, `--no-checkdepends` (#826) 32 | + add dependency kind column to `--table` output 33 | 34 | * `aur-chroot` 35 | + preserve `SSH_AUTH_SOCK` to support ssh-based operations (#832) 36 | 37 | * `aur-repo` 38 | + retrieve database extension from `AUR_DBEXT` (defaults to .db) (#700) 39 | + add `--status` 40 | - `repo:\nroot:\npath:` output format 41 | - replaces `--path` 42 | + rename `--repo-list` to `--list-repo` 43 | + rename `--path-list` to `--list-path` 44 | 45 | * `aur-repo-filter` 46 | + run `pacsift` with `unbuffer` (#804) 47 | 48 | * `aur-vercmp` 49 | + remove colon from `checkupdates` and `equal_or_newer` format (#833) 50 | 51 | ## 3.1.2 - 2020-11-09 52 | 53 | This releases fixes a regression in 3.1.1 where `AUR_LIB_DIR` was not 54 | subsituted in `aur`. 55 | 56 | ## 3.1.1 - 2020-11-09 57 | 58 | * `aur` 59 | + add `--version` 60 | 61 | ## 3.1.0 - 2020-11-09 62 | 63 | * `aur` 64 | + fix example `aur-remove` script (#785) 65 | 66 | * `aur-build` 67 | + change default pacman-conf for chroot builds to /etc/aurutils/pacman-.conf 68 | + clarify conditions on pacman-conf for chroot builds in `aur-build.1` 69 | 70 | * `aur-chroot` 71 | + add `--create` 72 | - seperate mode which runs `mkarchroot` with packages taken from the command-line 73 | - defaults to base-devel (and multilib-devel, if applicable) if no packages are specified 74 | - `--update` no longer runs `mkarchroot` 75 | + `--packagelist` now uses `makepkg.conf` inside the container 76 | + add `Devtools limitations` section to `aur-chroot.1` (#782) 77 | + add additional error messages for missing pacman configuration 78 | 79 | * `aur-repo` 80 | + add `--path-list` 81 | + update man page for new arguments (#784) 82 | + remove `--ini` (only offered pacman.conf information) 83 | 84 | ## 3.0.3 - 2020-11-02 85 | 86 | * fix broken `zsh` completion (#776) 87 | * use `/tmp/aurutils-$UID` as default temporary directory (#775) 88 | 89 | ## 3.0.2 - 2020-10-30 90 | 91 | * `aur-sync` 92 | + add missing `--suffix` option (#773) 93 | 94 | ## 3.0.1 - 2020-10-29 95 | 96 | The commits: 97 | 98 | + aur-sync: use XDG_RUNTIME_DIR for view directory (5341c059736d3eff59daea5cb52b7d35c98d0824) 99 | + aur-repo: simplify command line (57c1b2157806e645e7de85bf24e2c28b7d5f4458) 100 | 101 | were part of the 3.0.0 release tarball, but not the 3.0.0 tag. The 3.0.1 tag now includes these commits. 102 | 103 | ## 3.0.0 - 2020-10-29 104 | 105 | * `aur` 106 | + add `AUR_EXEC_PATH` environment variable 107 | + add example `aur-gc`, `aur-remove` scripts to `aur.1` 108 | 109 | * `aur-build` 110 | + add `AUR_DEBUG`, `NO_COLOR`, `MAKEPKG` environment variables 111 | + add mollyguard for running as the `root` user 112 | + add `build:` prefix to `--results` output 113 | - `build:file:///path/to/package.tar.xz` 114 | + add `--new`, `--prevent-downgrade` (`repo-add` options) 115 | + add `Running` message for all `makepkg` invocations 116 | + replace `--build-command` with `--margs` and `$MAKEPKG` 117 | + remove default `makepkg` arguments (#635) 118 | - specify common `makepkg` options as `aur-build` arguments (`--syncdeps`, `--rmdeps`, `--ignorearch`, `--log`, `--noconfirm`) 119 | - pass `--syncdeps`, `--rmdeps` to `--pkgver` makepkg command (#716) 120 | - make `-r` an alias for `--rmdeps` (was: alias for `--root`) 121 | - make `-S` an alias for `--sign` (was: `-s`) 122 | + use `--margs` to set makepkg options instead of EOF seperator (`--`) 123 | + `--makepkg-conf` now sets the makepkg configuration for host builds (avoid quoting issues with setting `--config` in `--margs`) 124 | + use `makepkg --noextract` if `--pkgver` is specified (#708) 125 | + use `print_all_package_names` (`/usr/share/makepkg/util/pkgbuild.sh`) instead of `makepkg --packagelist` (#755) 126 | + pass pacman.conf (`--config`) to `aur-repo` (#654) 127 | + only remove intermediary package directory if empty (#602) 128 | + remove `--delta` 129 | + use `PKGDEST` instead of `makepkg.conf` to set package destination 130 | 131 | * `aur-chroot` 132 | + add `AUR_DEBUG` environment variable 133 | + add `--packagelist` 134 | - use `print_all_package_names` (`/usr/share/makepkg/util/pkgbuild.sh`) 135 | + replace `--no-prepare` and `--no-build` (disable steps) with `--update` and `--build` (enable steps) respectively 136 | + remove `--database` 137 | + use static pacman configuration (defaults to `/usr/share/devtools/pacman-extra.conf`) 138 | - `--suffix` to override `extra` in the default path 139 | - if `--suffix` begins in `multilib`, install `multilib-devel` (instead of `base-devel`) 140 | 141 | * `aur-fetch` 142 | + add `AUR_DEBUG`, `NO_COLOR` environment variables 143 | + add `--results` (colon-delimited output) 144 | + add `--sync` 145 | - only run `git fetch` by default; 146 | - run `git reset` if `--sync=reset` is specified; 147 | - run `git rebase` if `--sync=rebase` is specified; 148 | - run either `git reset` or `git rebase` if `--sync=auto` is specified 149 | + exit `1` if `git clone` or `git fetch` failed 150 | + remove support for `tar` archives 151 | + remove diff output (`--log-dir`, `--verbose`, `--format`) 152 | - diffs can be generated from the extended --results output (done in `aur-sync`) 153 | + remove setting `orderfile` (done in `aur-sync`) 154 | + use `git -C` for `git` calls 155 | 156 | * `aur-jobs` (removed) 157 | - remove script 158 | 159 | * `aur-pkglist` 160 | + add `AUR_DEBUG` environment variable 161 | + use `curl` for transfers instead of `wget` 162 | 163 | * `aur-rpc` (`aur-query`) 164 | + add `AUR_DEBUG`, `AUR_QUERY_RPC`, `AUR_QUERY_RPC_SPLITNO`, `AUR_QUERY_PARALLEL`, `AUR_QUERY_PARALLEL_MAX` environment variables 165 | + rename to `aur-query` 166 | + set AUR RPC address with `AUR_QUERY_RPC` instead of a combination of `--rpc-url`, `--rpc-ver` and `AUR_LOCATION` 167 | + set number of packages for splitting URIs with `AUR_QUERY_RPC_SPLITINFO` 168 | + set `AUR_QUERY_RPC_SPLITNO` to set of number of packages for splitting URIs 169 | + use `curl` for transfers instead of `wget` 170 | - enable parallel transfers (`curl --parallel`) with `AUR_QUERY_PARALLEL=1` 171 | - set maximum amount of parallel transfers (`curl --parallel-max`) with `AUR_QUERY_PARALLEL_MAX` 172 | + exit `1` if a transfer failed 173 | 174 | * `aur-repo-filter` 175 | + add `AUR_DEBUG` environment variable 176 | + add `--sysroot` (`pacsift --sysroot`, `pacinfo --sysroot`) 177 | + use `pacinfo` for package information instead of `expac` 178 | 179 | * `aur-repo` 180 | + add `AUR_DEBUG` environment variable 181 | + add `--config` 182 | + add `--ini` 183 | + add `--quiet`/`-q` (`aur-vercmp -q`) 184 | + add `--table` 185 | + add pacman configuration to `--status-format` (colon-delimited) 186 | + print fully resolved path to local repository 187 | + require `--path` to print the local repository path 188 | + remove `expac` dependency 189 | 190 | * `aur-search` 191 | + add `AUR_DEBUG`, `NO_COLOR` environment variables 192 | + unset `LC_ALL` when printing `Popularity` 193 | 194 | * `aur-srcver` 195 | + add `AUR_DEBUG` environment variable 196 | + add `--jobs` 197 | + do not use `makepkg --log` 198 | + remove `parallel` dependency 199 | 200 | * `aur-sync` 201 | + add `AUR_DEBUG`, `NO_COLOR`, `AUR_CONFIRM_PAGER` environment variables 202 | - use confirmation prompt after package review if `AUR_CONFIRM_PAGER` is set 203 | + add `--rebuild-all` 204 | + add mollyguard for running as the `root` user 205 | + add default ignore file in `$XDG_CONFIG_HOME/aurutils/sync/ignore` 206 | + do not fallback to `PAGER` or `less` (`AUR_PAGER` must be set or `vifm` installed) 207 | + enable `--provides` by default 208 | - disable with `--no-provides` 209 | - specify repositories with `--provides-from` (comma-delimited) 210 | + remove additional `aur-build` arguments after EOF separator (`--`) (#678) 211 | + remove `parallel` dependency 212 | + remove `AURDEST_SNAPSHOT` environment variable 213 | + remove `--git`, `--tar` 214 | + rename `--print` to `--no-build`/`-o` 215 | + rename `--no-ver-shallow` to `--no-ver-argv` 216 | + store commits viewed by the user (#379, #711) 217 | + use `aur-fetch --sync=auto` 218 | 219 | * `aur-vercmp` 220 | + add `AUR_DEBUG`, `NO_COLOR` environment variables 221 | 222 | * `Makefile` 223 | + allow overriding `AUR_LIB_DIR` at build time 224 | 225 | ## 2.3.7 226 | 227 | ## 2.3.6 228 | 229 | ## 2.3.5 230 | 231 | ## 2.3.4 232 | 233 | ## 2.3.3 234 | 235 | ## 2.3.2 236 | 237 | ## 2.3.1 - 2019-02-21 238 | 239 | * `aur-build` 240 | + add `--results` 241 | * `aur-sync` 242 | + documentation updates (#350, #507) 243 | + ask for confirmation if `PAGER` is set (#530) 244 | * `aur-repo-filter` 245 | + documentation updates (#438) 246 | 247 | ## 2.3.0 - 2019-02-18 248 | 249 | * `aur-build` 250 | + add `--holdver` to makepkg with `--pkgver` 251 | + exit 2 if `db_path` is not found 252 | * `aur-repo-filter` 253 | + support versioned packages (#404) 254 | + remove `--repo` alias to `--database` 255 | * `aur-srcver` 256 | + remove `--noprepare` from default makepkg options 257 | + add `--noprepare` option (#523) 258 | * `aur-sync` 259 | + wrap repo-add `-R` (#521) 260 | + add `--no-graph` (workaround for #516) 261 | * `aur-vercmp` 262 | + add `-q`/`--quiet` 263 | + rename `--equal` to `--current` 264 | * `completions` 265 | + group options by type (#520) 266 | + complete `aur-depends` options (#526) 267 | 268 | ## 2.2.1 - 2019-01-25 269 | 270 | * `aur-build` 271 | + add `--holdver` to `makepkg` options if `--pkgver` is enabled 272 | * `aur-repo` 273 | + do not include `repo:` in error messages 274 | + `--all` implies `--upgrades` 275 | * `aur-sync` 276 | + `cd` before invoking `$PAGER` (#518) 277 | * `aur-repo-filter` 278 | + if `stdin` is connected to a terminal, mention this on `stderr` 279 | * `aur-rpc` 280 | + if `stdin` is connected to a terminal, mention this on `stderr` 281 | * `aur-vercmp` 282 | + if `stdin` is connected to a terminal, mention this on `stderr` 283 | 284 | ## 2.2.0 - 2019-01-22 285 | 286 | * `aur` 287 | + update `CacheDir` instructions in `aur(1)` 288 | * `aur-build` 289 | + rename `--run-pkgver` to `--pkgver`, remove `LANG=C` from `makepkg -od` 290 | + remove `~` package backup on `--force` (#444) 291 | + propagate `--pacman-conf` to `pacman-conf` (local builds) 292 | + unset `PKGDEST` prior to running `makepkg` (#513) 293 | + remove `--rmdeps` from default options (#508) 294 | * `aur-fetch` 295 | + expose AUR URL through `AUR_LOCATION` environment variable 296 | * `aur-pkglist` 297 | + do not require `-P` for regex match 298 | + Expose AUR URL through `AUR_LOCATION` environment variable 299 | * `aur-rpc` 300 | + add `--rpc-ver`, `--rpc-url` 301 | + Expose AUR URL through `AUR_LOCATION` environment variable 302 | * `aur-search` 303 | + exit 1 on no results 304 | + exit 2 on AUR error (e.g. "too many results") 305 | + Expose AUR URL through `AUR_LOCATION` environment variable 306 | * `aur-sync` 307 | + add `--pkgver` (`aur-build --pkgver`) 308 | + remove `--rmdeps` from default options (#508) 309 | * `completion` 310 | + allow `zsh run-help` to display the correct man page (#506) 311 | 312 | ## 2.1.0 - 2019-01-16 313 | 314 | * `aur-build` 315 | + `--build-command` now works correctly 316 | + add `--run-pkgver` to run `makepkg -od` before `makepkg --pkglist` (relevant to VCS packages) 317 | * `aur-depends` 318 | + now takes input as arguments, instead from `stdin` 319 | + add `--table`, `--pkgbase`, `--pkgname` and `--pkgname-all` (defaults to `--pkgname`) 320 | * `aur-search` 321 | + add `--raw` to display JSON output 322 | * `aur-sync` 323 | + add `--ignore-file` (same as `aursync --ignore`) 324 | + check the (`.SRCINFO`) dependency graph before file inspection 325 | * `aur-fetch-git` and `aur-fetch-snapshot` were removed and merged to `aur-fetch` 326 | 327 | ## 2.0.1 - 2019-01-11 328 | 329 | * `aur-build` 330 | + do not export PKGDEST for non-chroot builds (#498) 331 | + add --build-command (#498) 332 | + man page updates (#217) 333 | * `aur-sync` 334 | + add --keep-order for parallel aur-fetch 335 | 336 | ## 2.0.0 - 2019-01-10 337 | 338 | * `aur` *(new)* 339 | + wrapper for the new `git(1)` based design 340 | * `aur-build` 341 | + remove `repose` support, see https://bbs.archlinux.org/viewtopic.php?pid=1707649#p1707649 342 | + abort if updating a signed database without `-s` (#246) 343 | + add `AUR_REPO`, `AUR_DBROOT` environment variables (#302) 344 | + add `--makepkg-conf`, `--pacman-conf` (#242) 345 | + use `pacman-conf` instead of `pacconf` 346 | * `aur-chroot` *(new)* 347 | + new tool containing the functionality of `aur-build -c` 348 | + support container builds without using a local repository 349 | + support multiple repositories 350 | + preserve `GNUPGHOME` (#427) 351 | + use `pacman-conf` instead of `pacconf` 352 | * `aur-fetch` 353 | + use `HEAD@{upstream}` instead of `HEAD` for `git reset` (#349) 354 | + use `wget` instead of `aria2c` or `curl` 355 | + support diffs for `tar` snapshots (requires: `diffstat`) 356 | * `aur-graph` 357 | + rewrite in awk (#361) 358 | + add support for virtual and versioned dependencies (#10) 359 | * `aur-repo` *(new)* 360 | + manage local repositories 361 | * `aur-rpc` *(new)* 362 | + send `GET` requests to `aurweb` 363 | + use `wget` instead of `aria2c` or `curl` 364 | * `aur-search` 365 | + add `License`, `Keyword`, `Depends`, `MakeDepends` and `CheckDepends` fields 366 | + add `depends`, `makedepends` search (#432) 367 | + add popularity to `brief` output (#420) 368 | + colorize if `stdout` is a terminal (#473) 369 | + use intersection of results for multiple terms (#328) 370 | + use `aur-rpc` to query `aurweb` 371 | * `aur-sync` 372 | + add `AUR_PAGER` environment variable (file review, #51) 373 | + add `--bind-rw` (#428) 374 | + add `--ignore-arch` (`makepkg -A`, #309) 375 | + add `--nover-shallow` (only check versions for depends, #374) 376 | + add `--provides` (virtual dependencies, #452) 377 | + add `--rebuild`, `--rebuildtree` aliases (#424) 378 | + rename `--repo` to `--database` (#353) 379 | + the `--ignore` option now takes a comma-separated list of packages 380 | + fetch sources in parallel 381 | + set the default value for `AURDEST` to `$XDG_CACHE_HOME/aurutils/sync` 382 | * `aur-srcver` *(new)* 383 | + print latest revision of VCS packages 384 | * `aur-vercmp-devel` *(new)* 385 | + compare latest revision of VCS packages to a local repository 386 | * `officer` *(removed)* 387 | + removed in favor of `pacman --config` 388 | * `completion` 389 | + add `bash` completion (requires: `bash-completion`) 390 | + add `zsh` completion in a later release (#458) 391 | * Fixes for known issues in `1.5.3`. 392 | 393 | --------------------------------------------------------------------------------