diff options
| -rw-r--r-- | README.md | 13 | ||||
| -rw-r--r-- | awwan.env | 9 | ||||
| -rwxr-xr-x | build-arch-gce | 149 | ||||
| -rw-r--r-- | gcloud-image-cleanup.aww | 20 | ||||
| -rw-r--r-- | gcloud-image-publish.aww | 33 | ||||
| -rw-r--r-- | gcloud-image-test.aww | 30 | ||||
| -rw-r--r-- | gcloud-test-image-official.aww | 17 | ||||
| -rw-r--r-- | gcloud-test-tail.aww | 4 | ||||
| -rwxr-xr-x | qemu.sh | 10 | ||||
| -rw-r--r-- | sys/efi/loader/entries/arch.conf | 4 | ||||
| -rw-r--r-- | sys/efi/loader/loader.conf | 2 | ||||
| -rw-r--r-- | sys/etc/locale.conf | 1 | ||||
| -rw-r--r-- | sys/etc/locale.gen | 1 | ||||
| -rw-r--r-- | sys/etc/mkinitcpio.conf | 67 | ||||
| -rw-r--r-- | sys/etc/mkinitcpio.d/linux.preset | 10 | ||||
| -rw-r--r-- | sys/etc/pacman.conf | 108 | ||||
| -rw-r--r-- | sys/etc/pacman.d/hooks/00-systemd-boot.hook | 9 | ||||
| -rw-r--r-- | sys/etc/pacman.d/mirrorlist | 882 | ||||
| -rw-r--r-- | sys/etc/repart.d/root.conf | 2 | ||||
| -rw-r--r-- | sys/etc/ssh/sshd_config | 116 | ||||
| -rw-r--r-- | sys/etc/systemd/journald.conf.d/00-google.conf | 2 | ||||
| -rw-r--r-- | sys/etc/systemd/system/pacman-init.service | 12 | ||||
| -rw-r--r-- | sys/etc/systemd/system/systemd-repart.service.d/override.conf | 2 | ||||
| -rw-r--r-- | sys/etc/systemd/timesyncd.conf.d/00-google.conf | 2 |
24 files changed, 1420 insertions, 85 deletions
@@ -17,7 +17,7 @@ Arch Linux installation are the following: - A minimal initcpio is configured for booting on Compute Engine virtual machines. - Root filesystem is ext4. -- Locale is set to en_US.UTF-8 and timezone is set to UTC. +- Locale is set to en_GB.UTF-8 and timezone is set to UTC. - Network is configured through dhclient. - Systemd-timesyncd is enabled and configured to use the Compute Engine metadata server. @@ -39,6 +39,8 @@ Arch Linux installation are the following: - An additional Pacman repository is used to install and keep the [Linux Guest Environment](https://aur.archlinux.org/packages/google-compute-engine/) packages up to date. +- Ops-agent package installed from + [AUR at build.kilabit.info](https://build.kilabit.info). ## Prebuilt Images @@ -103,6 +105,15 @@ want: $ gsutil rm gs://BUCKET_NAME/arch-vDATE.tar.gz ``` +## Testing with qemu + +Change the owner of disk or tar.gz files to your own user and then run + +``` +$ ./qemu.sh <disk | image-name> +``` + + ## Contributing Changes * See [CONTRIB.md](CONTRIB.md) diff --git a/awwan.env b/awwan.env new file mode 100644 index 0000000..5de47e5 --- /dev/null +++ b/awwan.env @@ -0,0 +1,9 @@ +[gcloud] +config = arch-builder +project = arch-build +region = asia-southeast1 +zone = asia-southeast1-b + +[host] +image = arch-v20220701 +name = arch-test diff --git a/build-arch-gce b/build-arch-gce index 0103378..e928e09 100755 --- a/build-arch-gce +++ b/build-arch-gce @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +LC_ALL=C + set -eEuo pipefail trap 'echo "Error: \`$BASH_COMMAND\` exited with status $?"' ERR @@ -59,25 +61,19 @@ mkdir -- "$mount_dir" mount -- "$root_dev" "$mount_dir" echo '- Mounting the boot partition.' -mkdir -- "$mount_dir/boot" +mkdir -p -- "$mount_dir/boot" mount -- "$boot_dev" "$mount_dir/boot" +echo '- Copy the host pacman database caches' +mkdir -p $mount_dir/var/lib/pacman/sync +rsync -r /var/lib/pacman/sync/ $mount_dir/var/lib/pacman/sync/ + echo '- Installing Arch Linux.' -append_gce_repo() { - gawk -i inplace ' - /^\[gce\]$/ { found = 1 } { print } - ENDFILE { if (!found) { - print "" - print "[gce]" - print "Server = https://storage.googleapis.com/arch-linux-gce/repo" - print "SigLevel = Optional TrustAll" - } }' "$1" -} -cp /etc/pacman.conf "$work_dir" -append_gce_repo "$work_dir/pacman.conf" -pacstrap -G -M -C "$work_dir/pacman.conf" -- "$mount_dir" \ - base linux dosfstools e2fsprogs dhclient openssh sudo google-compute-engine -append_gce_repo "$mount_dir/etc/pacman.conf" +pacstrap -c -C "./sys/etc/pacman.conf" -- "$mount_dir" \ + base linux dosfstools e2fsprogs dhclient openssh sudo google-compute-engine \ + vim-minimal tmux mosh rsync unzip \ + google-cloud-ops-agent-git +cp -f ./sys/etc/pacman.conf "$mount_dir/etc/pacman.conf" echo '- Configuring fstab.' root_uuid=$(lsblk --noheadings --raw --output UUID -- "$root_dev") @@ -95,97 +91,82 @@ print_fstab() { } echo '- Running additional setup in chroot.' + +echo '-- Configuring systemd-repart.' + +mkdir -p $mount_dir/etc/repart.d +cp -f ./sys/etc/repart.d/root.conf \ + $mount_dir/etc/repart.d/ + +mkdir -p $mount_dir/etc/systemd/system/systemd-repart.service.d +cp -f ./sys/etc/systemd/system/systemd-repart.service.d/override.conf \ + $mount_dir/etc/systemd/system/systemd-repart.service.d/ + +echo '-- Configuring NTP.' +mkdir -p $mount_dir/etc/systemd/timesyncd.conf.d/ +cp ./sys/etc/systemd/timesyncd.conf.d/00-google.conf $mount_dir/etc/systemd/timesyncd.conf.d/ + +echo '-- Configuring locale.' +cp ./sys/etc/locale.gen $mount_dir/etc/locale.gen +cp ./sys/etc/locale.conf $mount_dir/etc/locale.conf + +echo '-- Configuring journald.' +mkdir -p $mount_dir/etc/systemd/journald.conf.d +cp ./sys/etc/systemd/journald.conf.d/00-google.conf $mount_dir/etc/systemd/journald.conf.d/ + +## Disable password authentication and root login on SSH server. +echo '-- Configuring ssh.' +cp ./sys/etc/ssh/sshd_config $mount_dir/etc/ssh/ + +echo '-- Configuring pacman mirrorlist.' +cp -f ./sys/etc/pacman.d/mirrorlist $mount_dir/etc/pacman.d/mirrorlist + +echo '-- Creating pacman-init service.' +cp ./sys/etc/systemd/system/pacman-init.service $mount_dir/etc/systemd/system/ + +echo '-- Configuring initcpio.' +cp ./sys/etc/mkinitcpio.conf $mount_dir/etc/ +cp ./sys/etc/mkinitcpio.d/linux.preset $mount_dir/etc/mkinitcpio.d/ + arch-chroot -- "$mount_dir" /bin/bash -s <<-'EOS' set -eEuo pipefail trap 'echo "Error: \`$BASH_COMMAND\` exited with status $?"' ERR echo '-- Configuring time.' ln -sf /usr/share/zoneinfo/UTC /etc/localtime - gawk -i assert -i inplace ' - /^#NTP=/ { $0 = "NTP=metadata.google.internal"; ++f } - { print } END { assert(f == 1, "f == 1") }' /etc/systemd/timesyncd.conf systemctl --quiet enable systemd-timesyncd.service - echo '-- Configuring locale.' - gawk -i assert -i inplace ' - /^#en_US\.UTF-8 UTF-8\s*$/ { $0 = substr($0, 2); ++f } - { print } END { assert(f == 1, "f == 1") }' /etc/locale.gen + echo '-- Running locale-gen.' locale-gen - echo 'LANG=en_US.UTF-8' > /etc/locale.conf - - echo '-- Configuring journald.' - gawk -i assert -i inplace ' - /^#ForwardToConsole=/ { $0 = "ForwardToConsole=yes"; ++f } - { print } END { assert(f == 1, "f == 1") }' /etc/systemd/journald.conf - echo '-- Configuring ssh.' - gawk -i assert -i inplace ' - /^#PasswordAuthentication / { $0 = "PasswordAuthentication no"; ++f1 } - /^#PermitRootLogin / { $0 = "PermitRootLogin no"; ++f2 } - { print } END { assert(f1 * f2 == 1, "f == 1") }' /etc/ssh/sshd_config + echo '-- Enabling sshd service.' systemctl --quiet enable sshd.service - echo '-- Configuring pacman.' - curl --silent --show-error -o /etc/pacman.d/mirrorlist \ - 'https://archlinux.org/mirrorlist/?country=all&ip_version=4&use_mirror_status=on' - gawk -i assert -i inplace ' - /^#Server / { $0 = substr($0, 2); ++f } - { print } END { assert(f > 0, "f > 0") }' /etc/pacman.d/mirrorlist - cat <<-'EOF' > /etc/systemd/system/pacman-init.service - [Unit] - Description=Pacman keyring initialization - ConditionDirectoryNotEmpty=!/etc/pacman.d/gnupg - - [Service] - Type=oneshot - RemainAfterExit=yes - ExecStart=/usr/bin/pacman-key --init - ExecStart=/usr/bin/pacman-key --populate archlinux - - [Install] - WantedBy=multi-user.target - EOF + echo '-- Enabling pacman-init service.' systemctl --quiet enable pacman-init.service - echo '-- Configuring systemd-repart.' - mkdir /etc/repart.d - cat <<-'EOF' > /etc/repart.d/root.conf - [Partition] - Type=root - EOF - mkdir /etc/systemd/system/systemd-repart.service.d - cat <<-'EOF' > /etc/systemd/system/systemd-repart.service.d/override.conf - [Unit] - Before=systemd-growfs@-.service - EOF + echo '-- Enabling google-cloud-ops-agent.service' + systemctl --quiet enable google-cloud-ops-agent.service echo '-- Enabling other services.' systemctl --quiet enable dhclient@eth0.service - echo '-- Configuring initcpio.' - gawk -i assert -i inplace ' - /^MODULES=/ { $0 = "MODULES=(virtio_pci virtio_scsi sd_mod ext4)"; ++f1 } - /^BINARIES=/ { $0 = "BINARIES=(fsck fsck.ext4)"; ++f2 } - /^HOOKS=/ { $0 = "HOOKS=(systemd modconf)"; ++f3 } - { print } END { assert(f1 * f2 * f3 == 1, "f == 1") }' /etc/mkinitcpio.conf - gawk -i assert -i inplace ' - /^PRESETS=/ { $0 = "PRESETS=(default)"; ++f } - /#?fallback_/ { next } - { print } END { assert(f == 1, "f == 1") }' /etc/mkinitcpio.d/linux.preset + echo '-- Running mkinitcpio.' rm /boot/initramfs-linux-fallback.img mkinitcpio --nocolor --preset linux - echo '-- Configuring systemd-boot.' - bootctl install --no-variables --esp-path=/boot - echo 'default arch.conf' > /boot/loader/loader.conf - cat <<-'EOF' > /boot/loader/entries/arch.conf - title Arch Linux - linux /vmlinuz-linux - initrd /initramfs-linux.img - options root="LABEL=root" rw console=ttyS0,38400n8 net.ifnames=0 scsi_mod.use_blk_mq=Y - EOF + echo '-- Running boot loader.' + bootctl install --no-variables --quiet EOS +echo '- Configuring boot loader.' +cp ./sys/efi/loader/loader.conf $mount_dir/boot/loader/ +cp ./sys/efi/loader/entries/arch.conf $mount_dir/boot/loader/entries/ + +echo '- Configuring pacman hooks.' +mkdir -p -- "$mount_dir/etc/pacman.d/hooks" +cp ./sys/etc/pacman.d/hooks/00-systemd-boot.hook $mount_dir/etc/pacman.d/hooks/ + echo '- Cleaning up and finalizing the image.' > "$mount_dir/etc/machine-id" rm -- "$mount_dir/var/log/pacman.log" diff --git a/gcloud-image-cleanup.aww b/gcloud-image-cleanup.aww new file mode 100644 index 0000000..955b5cb --- /dev/null +++ b/gcloud-image-cleanup.aww @@ -0,0 +1,20 @@ +## Script to remove all except the last five images. + +#require: gcloud config configurations activate {{.Val "gcloud::config"}} + +gcloud compute images list \ + --no-standard-images \ + --show-deprecated \ + --format="value(NAME)" + +gcloud compute images list \ + --no-standard-images \ + --show-deprecated \ + --format="value(NAME)" \ + | head --lines=-5 \ + | xargs gcloud compute images delete --quiet + +gcloud compute images list \ + --no-standard-images \ + --show-deprecated \ + --format="value(NAME)" diff --git a/gcloud-image-publish.aww b/gcloud-image-publish.aww new file mode 100644 index 0000000..c238673 --- /dev/null +++ b/gcloud-image-publish.aww @@ -0,0 +1,33 @@ +## Script to publish builded image to public. + +#require: gcloud config configurations activate {{.Val "gcloud::config"}} + +gsutil cp {{.Val "host::image"}}.tar.gz gs://arch-builder-a/image/ + +gcloud compute images delete {{.Val "host::image"}} --quiet || exit 0 + +gcloud compute images create {{.Val "host::image"}} \ + --source-uri=gs://arch-builder-a/image/{{.Val "host::image"}}.tar.gz \ + --family=arch \ + --guest-os-features=GVNIC,UEFI_COMPATIBLE,VIRTIO_SCSI_MULTIQUEUE \ + --description="Arch linux image with ops-agent. See https://github.com/shuLhan/compute-archlinux-image-builder" + +gcloud compute images deprecate {{.Val "host::image"}} \ + --state=ACTIVE \ + --deprecate-in=30d \ + --obsolete-in=37d \ + --delete-in=44d + +gcloud compute images list --no-standard-images +gcloud compute images describe {{.Val "host::image"}} + +## Share the image publicly with authenticated users. + +gcloud compute images add-iam-policy-binding {{.Val "host::image"}} \ + --member='allAuthenticatedUsers' \ + --role='roles/compute.imageUser' + +## Delete the image on storage. + +gsutil rm -a gs://arch-builder-a/image/** +gsutil ls gs://arch-builder-a/ diff --git a/gcloud-image-test.aww b/gcloud-image-test.aww new file mode 100644 index 0000000..218dae7 --- /dev/null +++ b/gcloud-image-test.aww @@ -0,0 +1,30 @@ +## Script to test the published image manually by creating new compute +## instance. + +#require: gcloud config configurations activate {{.Val "gcloud::config"}} + +gcloud compute instances create arch-test \ + --zone={{.Val "gcloud::zone"}} \ + --image={{.Val "host::image"}} \ + --metadata=block-project-ssh-keys=TRUE \ + --machine-type=f1-micro + +gcloud compute instances describe arch-test \ + --zone={{.Val "gcloud::zone"}} + +gcloud compute instances tail-serial-port-output {{.Val "host::name"}} \ + --zone={{.Val "gcloud::zone"}} \ + +gcloud compute ssh \ + --zone={{.Val "gcloud::zone"}} \ + --command="lsblk -o NAME,UUID,MOUNTPOINTS; cat /etc/fstab; timedatectl show-timesync; localectl" \ + arch-test + +##---- Cleaning up. + +gcloud compute instances stop arch-test \ + --zone={{.Val "gcloud::zone"}} + +gcloud compute instances delete arch-test \ + --zone={{.Val "gcloud::zone"}} \ + --quiet diff --git a/gcloud-test-image-official.aww b/gcloud-test-image-official.aww new file mode 100644 index 0000000..3e464af --- /dev/null +++ b/gcloud-test-image-official.aww @@ -0,0 +1,17 @@ +## Script to test the official public image. + +#require: gcloud config configurations activate {{.Val "gcloud::config"}} + +gcloud compute instances create arch-test \ + --zone={{.Val "gcloud::zone"}} \ + --image-project=arch-linux-gce \ + --image-family=arch \ + --machine-type=f1-micro + +gcloud compute instances describe arch-test \ + --zone={{.Val "gcloud::zone"}} + +gcloud compute ssh \ + --zone={{.Val "gcloud::zone"}} \ + --command="lsblk -o NAME,UUID,MOUNTPOINTS; cat /etc/fstab; timedatectl show-timesync; localectl" \ + arch-test diff --git a/gcloud-test-tail.aww b/gcloud-test-tail.aww new file mode 100644 index 0000000..c7dd93f --- /dev/null +++ b/gcloud-test-tail.aww @@ -0,0 +1,4 @@ +#require: gcloud config configurations activate {{.Val "gcloud::config"}} + +gcloud compute instances get-serial-port-output {{.Val "host::name"}} \ + --zone={{.Val "gcloud::zone"}} @@ -0,0 +1,10 @@ +#!/bin/sh + +image=$1 +echo $image +qemu-system-x86_64 -enable-kvm \ + -drive format=raw,file=$image,if=virtio \ + -net none \ + -m 512M \ + -bios /usr/share/ovmf/x64/OVMF.fd \ + -boot menu=on diff --git a/sys/efi/loader/entries/arch.conf b/sys/efi/loader/entries/arch.conf new file mode 100644 index 0000000..3f36b44 --- /dev/null +++ b/sys/efi/loader/entries/arch.conf @@ -0,0 +1,4 @@ +title Arch Linux +linux /vmlinuz-linux +initrd /initramfs-linux.img +options rw console=ttyS0,38400n8 net.ifnames=0 scsi_mod.use_blk_mq=Y diff --git a/sys/efi/loader/loader.conf b/sys/efi/loader/loader.conf new file mode 100644 index 0000000..6c5641d --- /dev/null +++ b/sys/efi/loader/loader.conf @@ -0,0 +1,2 @@ +default arch.conf +editor no diff --git a/sys/etc/locale.conf b/sys/etc/locale.conf new file mode 100644 index 0000000..f62153b --- /dev/null +++ b/sys/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_GB.UTF-8 diff --git a/sys/etc/locale.gen b/sys/etc/locale.gen new file mode 100644 index 0000000..230dd52 --- /dev/null +++ b/sys/etc/locale.gen @@ -0,0 +1 @@ +en_GB.UTF-8 UTF-8 diff --git a/sys/etc/mkinitcpio.conf b/sys/etc/mkinitcpio.conf new file mode 100644 index 0000000..abe6299 --- /dev/null +++ b/sys/etc/mkinitcpio.conf @@ -0,0 +1,67 @@ +# vim:set ft=sh +# MODULES +# The following modules are loaded before any boot hooks are +# run. Advanced users may wish to specify all system modules +# in this array. For instance: +# MODULES=(piix ide_disk reiserfs) +MODULES=(virtio_pci virtio_scsi sd_mod ext4) + +# BINARIES +# This setting includes any additional binaries a given user may +# wish into the CPIO image. This is run last, so it may be used to +# override the actual binaries included by a given hook +# BINARIES are dependency parsed, so you may safely ignore libraries +BINARIES=(fsck fsck.ext4) + +# FILES +# This setting is similar to BINARIES above, however, files are added +# as-is and are not parsed in any way. This is useful for config files. +FILES=() + +# HOOKS +# This is the most important setting in this file. The HOOKS control the +# modules and scripts added to the image, and what happens at boot time. +# Order is important, and it is recommended that you do not change the +# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for +# help on a given hook. +# 'base' is _required_ unless you know precisely what you are doing. +# 'udev' is _required_ in order to automatically load modules +# 'filesystems' is _required_ unless you specify your fs modules in MODULES +# Examples: +## This setup specifies all modules in the MODULES setting above. +## No raid, lvm2, or encrypted root is needed. +# HOOKS=(base) +# +## This setup will autodetect all modules for your system and should +## work as a sane default +# HOOKS=(base udev autodetect block filesystems) +# +## This setup will generate a 'full' image which supports most systems. +## No autodetection is done. +# HOOKS=(base udev block filesystems) +# +## This setup assembles a pata mdadm array with an encrypted root FS. +## Note: See 'mkinitcpio -H mdadm' for more information on raid devices. +# HOOKS=(base udev block mdadm encrypt filesystems) +# +## This setup loads an lvm2 volume group on a usb device. +# HOOKS=(base udev block lvm2 filesystems) +# +## NOTE: If you have /usr on a separate partition, you MUST include the +# usr, fsck and shutdown hooks. +HOOKS=(systemd autodetect block modconf) + +# COMPRESSION +# Use this to compress the initramfs image. By default, zstd compression +# is used. Use 'cat' to create an uncompressed image. +#COMPRESSION="zstd" +#COMPRESSION="gzip" +#COMPRESSION="bzip2" +#COMPRESSION="lzma" +#COMPRESSION="xz" +#COMPRESSION="lzop" +#COMPRESSION="lz4" + +# COMPRESSION_OPTIONS +# Additional options for the compressor +#COMPRESSION_OPTIONS=() diff --git a/sys/etc/mkinitcpio.d/linux.preset b/sys/etc/mkinitcpio.d/linux.preset new file mode 100644 index 0000000..6fcee70 --- /dev/null +++ b/sys/etc/mkinitcpio.d/linux.preset @@ -0,0 +1,10 @@ +# mkinitcpio preset file for the 'linux' package + +ALL_config="/etc/mkinitcpio.conf" +ALL_kver="/boot/vmlinuz-linux" + +PRESETS=('default') + +#default_config="/etc/mkinitcpio.conf" +default_image="/boot/initramfs-linux.img" +#default_options="" diff --git a/sys/etc/pacman.conf b/sys/etc/pacman.conf new file mode 100644 index 0000000..e8760a2 --- /dev/null +++ b/sys/etc/pacman.conf @@ -0,0 +1,108 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#NoProgressBar +CheckSpace +#VerbosePkgLists +#ParallelDownloads = 5 + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +[multilib] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + +[gce] +Server = https://storage.googleapis.com/arch-linux-gce/repo +SigLevel = Optional TrustAll + +[build.kilabit.info] +SigLevel = Optional TrustAll +Server = https://build.kilabit.info/aur diff --git a/sys/etc/pacman.d/hooks/00-systemd-boot.hook b/sys/etc/pacman.d/hooks/00-systemd-boot.hook new file mode 100644 index 0000000..d65c027 --- /dev/null +++ b/sys/etc/pacman.d/hooks/00-systemd-boot.hook @@ -0,0 +1,9 @@ +[Trigger] +Type = Package +Operation = Upgrade +Target = systemd + +[Action] +Description = Gracefully upgrading systemd-boot... +When = PostTransaction +Exec = /usr/bin/systemctl restart systemd-boot-update.service diff --git a/sys/etc/pacman.d/mirrorlist b/sys/etc/pacman.d/mirrorlist new file mode 100644 index 0000000..79c9728 --- /dev/null +++ b/sys/etc/pacman.d/mirrorlist @@ -0,0 +1,882 @@ +## +## Arch Linux repository mirrorlist +## Generated on 2022-07-24 +## + +## Worldwide +#Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch +#Server = http://mirror.rackspace.com/archlinux/$repo/os/$arch +Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch + +## Australia +#Server = https://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch +#Server = http://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch +#Server = https://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch +#Server = https://sydney.mirror.pkgbuild.com/$repo/os/$arch +#Server = http://ftp.iinet.net.au/pub/archlinux/$repo/os/$arch +#Server = http://mirror.internode.on.net/pub/archlinux/$repo/os/$arch +#Server = http://arch.lucassymons.net/$repo/os/$arch +#Server = https://arch.lucassymons.net/$repo/os/$arch +#Server = http://syd.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = https://syd.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = http://ftp.swin.edu.au/archlinux/$repo/os/$arch +#Server = http://mirrors.wale.id.au/archlinux/$repo/os/$arch +#Server = https://mirrors.wale.id.au/archlinux/$repo/os/$arch + +## Austria +#Server = http://mirror.alwyzon.net/archlinux/$repo/os/$arch +#Server = https://mirror.alwyzon.net/archlinux/$repo/os/$arch +#Server = http://mirror.digitalnova.at/archlinux/$repo/os/$arch +#Server = http://mirror.easyname.at/archlinux/$repo/os/$arch +#Server = https://at.arch.mirror.kescher.at/$repo/os/$arch +#Server = http://mirror.reisenbauer.ee/archlinux/$repo/os/$arch +#Server = https://mirror.reisenbauer.ee/archlinux/$repo/os/$arch + +## Bangladesh +#Server = http://mirror.xeonbd.com/archlinux/$repo/os/$arch + +## Belarus +#Server = http://ftp.byfly.by/pub/archlinux/$repo/os/$arch +#Server = http://mirror.datacenter.by/pub/archlinux/$repo/os/$arch + +## Belgium +#Server = http://archlinux.cu.be/$repo/os/$arch +#Server = http://archlinux.mirror.kangaroot.net/$repo/os/$arch +#Server = http://mirror.tiguinet.net/arch/$repo/os/$arch + +## Bosnia and Herzegovina +#Server = http://archlinux.mirror.ba/$repo/os/$arch + +## Brazil +#Server = http://archlinux-br.com.br/archlinux/$repo/os/$arch +#Server = https://archlinux-br.com.br/archlinux/$repo/os/$arch +#Server = http://br.mirror.archlinux-br.org/$repo/os/$arch +#Server = http://archlinux.c3sl.ufpr.br/$repo/os/$arch +#Server = http://www.caco.ic.unicamp.br/archlinux/$repo/os/$arch +#Server = https://www.caco.ic.unicamp.br/archlinux/$repo/os/$arch +#Server = http://linorg.usp.br/archlinux/$repo/os/$arch +#Server = http://archlinux.pop-es.rnp.br/$repo/os/$arch +#Server = http://mirror.ufam.edu.br/archlinux/$repo/os/$arch +#Server = http://mirror.ufscar.br/archlinux/$repo/os/$arch + +## Bulgaria +#Server = https://mirror.darklinux.uk/archlinux/$repo/os/$arch +#Server = http://mirror.host.ag/archlinux/$repo/os/$arch +#Server = http://mirrors.netix.net/archlinux/$repo/os/$arch +#Server = http://mirror.telepoint.bg/archlinux/$repo/os/$arch +#Server = https://mirror.telepoint.bg/archlinux/$repo/os/$arch +#Server = http://mirrors.uni-plovdiv.net/archlinux/$repo/os/$arch +#Server = https://mirrors.uni-plovdiv.net/archlinux/$repo/os/$arch + +## Cambodia +#Server = http://mirror.sabay.com.kh/archlinux/$repo/os/$arch +#Server = https://mirror.sabay.com.kh/archlinux/$repo/os/$arch + +## Canada +#Server = http://mirror.0xem.ma/arch/$repo/os/$arch +#Server = https://mirror.0xem.ma/arch/$repo/os/$arch +#Server = http://mirror.cedille.club/archlinux/$repo/os/$arch +#Server = http://archlinux.mirror.colo-serv.net/$repo/os/$arch +#Server = http://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch +#Server = https://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch +#Server = http://mirror2.evolution-host.com/archlinux/$repo/os/$arch +#Server = https://mirror2.evolution-host.com/archlinux/$repo/os/$arch +#Server = http://mirror.its.dal.ca/archlinux/$repo/os/$arch +#Server = http://muug.ca/mirror/archlinux/$repo/os/$arch +#Server = https://muug.ca/mirror/archlinux/$repo/os/$arch +#Server = http://mirror.powerfly.ca/archlinux/$repo/os/$arch +#Server = https://mirror.powerfly.ca/archlinux/$repo/os/$arch +#Server = http://archlinux.mirror.rafal.ca/$repo/os/$arch +#Server = http://mirror.scd31.com/arch/$repo/os/$arch +#Server = https://mirror.scd31.com/arch/$repo/os/$arch +#Server = http://mirror.sergal.org/archlinux/$repo/os/$arch +#Server = https://mirror.sergal.org/archlinux/$repo/os/$arch +#Server = http://mirror.xenyth.net/archlinux/$repo/os/$arch +#Server = https://mirror.xenyth.net/archlinux/$repo/os/$arch + +## Chile +#Server = http://mirror.anquan.cl/archlinux/$repo/os/$arch +#Server = https://mirror.anquan.cl/archlinux/$repo/os/$arch +#Server = http://mirror.archlinux.cl/$repo/os/$arch +#Server = http://mirror1.cl.netactuate.com/archlinux/$repo/os/$arch +#Server = https://mirror1.cl.netactuate.com/archlinux/$repo/os/$arch +#Server = http://mirror.ufro.cl/archlinux/$repo/os/$arch +#Server = https://mirror.ufro.cl/archlinux/$repo/os/$arch + +## China +#Server = http://mirrors.163.com/archlinux/$repo/os/$arch +#Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch +#Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch +#Server = http://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirrors.hit.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.hit.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirrors.nju.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.njupt.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirror.redrock.team/archlinux/$repo/os/$arch +#Server = https://mirror.redrock.team/archlinux/$repo/os/$arch +#Server = http://mirrors.shanghaitech.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.shanghaitech.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirrors.wsyu.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.wsyu.edu.cn/archlinux/$repo/os/$arch +#Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch +#Server = http://mirrors.zju.edu.cn/archlinux/$repo/os/$arch + +## Colombia +#Server = http://mirrors.udenar.edu.co/archlinux/$repo/os/$arch + +## Croatia +#Server = http://archlinux.iskon.hr/$repo/os/$arch + +## Czechia +#Server = http://mirror.dkm.cz/archlinux/$repo/os/$arch +#Server = https://mirror.dkm.cz/archlinux/$repo/os/$arch +#Server = http://ftp.fi.muni.cz/pub/linux/arch/$repo/os/$arch +#Server = http://ftp.linux.cz/pub/linux/arch/$repo/os/$arch +#Server = https://europe.mirror.pkgbuild.com/$repo/os/$arch +#Server = http://gluttony.sin.cvut.cz/arch/$repo/os/$arch +#Server = https://gluttony.sin.cvut.cz/arch/$repo/os/$arch +#Server = http://mirrors.nic.cz/archlinux/$repo/os/$arch +#Server = http://ftp.sh.cvut.cz/arch/$repo/os/$arch +#Server = https://ftp.sh.cvut.cz/arch/$repo/os/$arch +#Server = http://mirror.vpsfree.cz/archlinux/$repo/os/$arch + +## Denmark +#Server = http://mirrors.dotsrc.org/archlinux/$repo/os/$arch +#Server = https://mirrors.dotsrc.org/archlinux/$repo/os/$arch +#Server = http://mirror.one.com/archlinux/$repo/os/$arch +#Server = https://mirror.one.com/archlinux/$repo/os/$arch +#Server = https://mirror.safe-con.dk/archlinux/$repo/os/$arch + +## Ecuador +#Server = http://mirror.cedia.org.ec/archlinux/$repo/os/$arch +#Server = http://mirror.espoch.edu.ec/archlinux/$repo/os/$arch +#Server = http://mirror.uta.edu.ec/archlinux/$repo/os/$arch + +## Estonia +#Server = http://mirror.cspacehostings.com/archlinux/$repo/os/$arch +#Server = https://mirror.cspacehostings.com/archlinux/$repo/os/$arch +#Server = http://mirrors.xtom.ee/archlinux/$repo/os/$arch +#Server = https://mirrors.xtom.ee/archlinux/$repo/os/$arch + +## Finland +#Server = https://arch.mcstrugs.org/$repo/os/$arch +#Server = http://mirror.arctic.lol/ArchMirror/$repo/os/$arch +#Server = https://mirror.arctic.lol/ArchMirror/$repo/os/$arch +#Server = http://arch.mirror.far.fi/$repo/os/$arch +#Server = http://mirror.hosthink.net/archlinux/$repo/os/$arch +#Server = http://arch.kyberorg.fi/$repo/os/$arch +#Server = https://arch.kyberorg.fi/$repo/os/$arch +#Server = https://mirror.srv.fail/archlinux/$repo/os/$arch +#Server = http://mirror.wuki.li/archlinux/$repo/os/$arch +#Server = https://mirror.wuki.li/archlinux/$repo/os/$arch +#Server = http://arch.yhtez.xyz/$repo/os/$arch +#Server = https://arch.yhtez.xyz/$repo/os/$arch + +## France +#Server = http://archlinux.de-labrusse.fr/$repo/os/$arch +#Server = http://mirror.archlinux.ikoula.com/archlinux/$repo/os/$arch +#Server = https://archlinux.vi-di.fr/$repo/os/$arch +#Server = http://archlinux.mirrors.benatherton.com/$repo/os/$arch +#Server = http://mirror.cyberbits.eu/archlinux/$repo/os/$arch +#Server = https://mirror.cyberbits.eu/archlinux/$repo/os/$arch +#Server = http://archlinux.datagr.am/$repo/os/$arch +#Server = https://mirrors.eric.ovh/arch/$repo/os/$arch +#Server = http://mirrors.gandi.net/archlinux/$repo/os/$arch +#Server = https://mirrors.gandi.net/archlinux/$repo/os/$arch +#Server = https://mirror.ibakerserver.pt/Arch/$repo/os/$arch +#Server = http://mirror.ibcp.fr/pub/archlinux/$repo/os/$arch +#Server = https://arch.juline.tech/$repo/os/$arch +#Server = http://mirroir.labhouse.fr/arch/$repo/os/$arch +#Server = https://mirroir.labhouse.fr/arch/$repo/os/$arch +#Server = http://mirror.lastmikoi.net/archlinux/$repo/os/$arch +#Server = https://arch-mirror.cloud.louifox.house/$repo/os/$arch +#Server = http://archlinux.mailtunnel.eu/$repo/os/$arch +#Server = https://archlinux.mailtunnel.eu/$repo/os/$arch +#Server = http://mir.archlinux.fr/$repo/os/$arch +#Server = http://mirrors.celianvdb.fr/archlinux/$repo/os/$arch +#Server = https://mirrors.celianvdb.fr/archlinux/$repo/os/$arch +#Server = http://arch.nimukaito.net/$repo/os/$arch +#Server = https://arch.nimukaito.net/$repo/os/$arch +#Server = http://mirror.oldsql.cc/archlinux/$repo/os/$arch +#Server = https://mirror.oldsql.cc/archlinux/$repo/os/$arch +#Server = http://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch +#Server = http://archlinux.polymorf.fr/$repo/os/$arch +#Server = http://archlinux.rezopole.net/$repo/os/$arch +#Server = https://mirrors.slaanesh.org/archlinux/$repo/os/$arch +#Server = http://mirrors.standaloneinstaller.com/archlinux/$repo/os/$arch +#Server = https://mirror.sysa.tech/archlinux/$repo/os/$arch +#Server = https://mirror.thekinrar.fr/archlinux/$repo/os/$arch +#Server = http://mirror.theo546.fr/archlinux/$repo/os/$arch +#Server = https://mirror.theo546.fr/archlinux/$repo/os/$arch +#Server = http://ftp.u-strasbg.fr/linux/distributions/archlinux/$repo/os/$arch +#Server = https://mirror.wormhole.eu/archlinux/$repo/os/$arch +#Server = http://mirroir.wptheme.fr/archlinux/$repo/os/$arch +#Server = https://mirroir.wptheme.fr/archlinux/$repo/os/$arch +#Server = http://arch.yourlabs.org/$repo/os/$arch +#Server = https://arch.yourlabs.org/$repo/os/$arch + +## Georgia +#Server = http://archlinux.grena.ge/$repo/os/$arch +#Server = https://archlinux.grena.ge/$repo/os/$arch + +## Germany +#Server = http://mirror.23m.com/archlinux/$repo/os/$arch +#Server = https://mirror.23m.com/archlinux/$repo/os/$arch +#Server = http://ftp.agdsn.de/pub/mirrors/archlinux/$repo/os/$arch +#Server = https://ftp.agdsn.de/pub/mirrors/archlinux/$repo/os/$arch +#Server = https://appuals.com/archlinux/$repo/os/$arch +#Server = http://artfiles.org/archlinux.org/$repo/os/$arch +#Server = https://mirror.bethselamin.de/$repo/os/$arch +#Server = http://mirror.chaoticum.net/arch/$repo/os/$arch +#Server = https://mirror.chaoticum.net/arch/$repo/os/$arch +#Server = http://mirror.checkdomain.de/archlinux/$repo/os/$arch +#Server = https://mirror.checkdomain.de/archlinux/$repo/os/$arch +#Server = http://mirror.clientvps.com/archlinux/$repo/os/$arch +#Server = https://mirror.clientvps.com/archlinux/$repo/os/$arch +#Server = http://os.codefionn.eu/archlinux/$repo/os/$arch +#Server = https://os.codefionn.eu/archlinux/$repo/os/$arch +#Server = https://mirror.dogado.de/archlinux/$repo/os/$arch +#Server = http://mirror.f4st.host/archlinux/$repo/os/$arch +#Server = https://mirror.f4st.host/archlinux/$repo/os/$arch +#Server = http://ftp.fau.de/archlinux/$repo/os/$arch +#Server = https://ftp.fau.de/archlinux/$repo/os/$arch +#Server = https://pkg.fef.moe/archlinux/$repo/os/$arch +#Server = https://dist-mirror.fem.tu-ilmenau.de/archlinux/$repo/os/$arch +#Server = http://mirror.fsrv.services/archlinux/$repo/os/$arch +#Server = https://mirror.fsrv.services/archlinux/$repo/os/$arch +#Server = https://mirror.gnomus.de/$repo/os/$arch +#Server = http://www.gutscheindrache.com/mirror/archlinux/$repo/os/$arch +#Server = http://ftp.gwdg.de/pub/linux/archlinux/$repo/os/$arch +#Server = https://archlinux.homeinfo.de/$repo/os/$arch +#Server = http://archlinux.honkgong.info/$repo/os/$arch +#Server = http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch +#Server = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch +#Server = http://mirror.informatik.tu-freiberg.de/arch/$repo/os/$arch +#Server = https://mirror.informatik.tu-freiberg.de/arch/$repo/os/$arch +#Server = http://archlinux.mirror.iphh.net/$repo/os/$arch +#Server = https://mirror.iusearchbtw.nl/$repo/os/$arch +#Server = http://mirror.jaime.sh/archlinux/$repo/os/$arch +#Server = https://mirror.jaime.sh/archlinux/$repo/os/$arch +#Server = http://mirrors.janbruckner.de/archlinux/$repo/os/$arch +#Server = https://mirrors.janbruckner.de/archlinux/$repo/os/$arch +#Server = http://arch.jensgutermuth.de/$repo/os/$arch +#Server = https://arch.jensgutermuth.de/$repo/os/$arch +#Server = https://de.arch.mirror.kescher.at/$repo/os/$arch +#Server = http://mirror.kumi.systems/archlinux/$repo/os/$arch +#Server = https://mirror.kumi.systems/archlinux/$repo/os/$arch +#Server = http://mirror.fra10.de.leaseweb.net/archlinux/$repo/os/$arch +#Server = https://mirror.fra10.de.leaseweb.net/archlinux/$repo/os/$arch +#Server = http://archlinux.mirror.luzea.de/$repo/os/$arch +#Server = https://archlinux.mirror.luzea.de/$repo/os/$arch +#Server = http://mirror.metalgamer.eu/archlinux/$repo/os/$arch +#Server = https://mirror.metalgamer.eu/archlinux/$repo/os/$arch +#Server = http://mirror.mikrogravitation.org/archlinux/$repo/os/$arch +#Server = https://mirror.mikrogravitation.org/archlinux/$repo/os/$arch +#Server = http://mirror.moson.org/arch/$repo/os/$arch +#Server = https://mirror.moson.org/arch/$repo/os/$arch +#Server = http://mirrors.n-ix.net/archlinux/$repo/os/$arch +#Server = https://mirrors.n-ix.net/archlinux/$repo/os/$arch +#Server = http://mirror.netcologne.de/archlinux/$repo/os/$arch +#Server = https://mirror.netcologne.de/archlinux/$repo/os/$arch +#Server = http://mirrors.niyawe.de/archlinux/$repo/os/$arch +#Server = https://mirrors.niyawe.de/archlinux/$repo/os/$arch +#Server = http://mirror.orbit-os.com/archlinux/$repo/os/$arch +#Server = https://mirror.orbit-os.com/archlinux/$repo/os/$arch +#Server = http://packages.oth-regensburg.de/archlinux/$repo/os/$arch +#Server = https://packages.oth-regensburg.de/archlinux/$repo/os/$arch +#Server = http://mirror.pagenotfound.de/archlinux/$repo/os/$arch +#Server = https://mirror.pagenotfound.de/archlinux/$repo/os/$arch +#Server = http://phinau.de/arch/$repo/os/$arch +#Server = https://phinau.de/arch/$repo/os/$arch +#Server = https://mirror.pseudoform.org/$repo/os/$arch +#Server = https://www.ratenzahlung.de/mirror/archlinux/$repo/os/$arch +#Server = http://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch +#Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch +#Server = http://linux.rz.rub.de/archlinux/$repo/os/$arch +#Server = http://mirror.satis-faction.de/archlinux/$repo/os/$arch +#Server = https://mirror.satis-faction.de/archlinux/$repo/os/$arch +#Server = http://mirror.selfnet.de/archlinux/$repo/os/$arch +#Server = https://mirror.selfnet.de/archlinux/$repo/os/$arch +#Server = http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch +#Server = https://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch +#Server = http://archlinux.thaller.ws/$repo/os/$arch +#Server = https://archlinux.thaller.ws/$repo/os/$arch +#Server = http://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch +#Server = http://mirror.ubrco.de/archlinux/$repo/os/$arch +#Server = https://mirror.ubrco.de/archlinux/$repo/os/$arch +#Server = http://mirror.undisclose.de/archlinux/$repo/os/$arch +#Server = https://mirror.undisclose.de/archlinux/$repo/os/$arch +#Server = http://ftp.uni-bayreuth.de/linux/archlinux/$repo/os/$arch +#Server = http://ftp.uni-hannover.de/archlinux/$repo/os/$arch +#Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch +#Server = http://mirror.united-gameserver.de/archlinux/$repo/os/$arch +#Server = https://arch.unixpeople.org/$repo/os/$arch +#Server = http://ftp.wrz.de/pub/archlinux/$repo/os/$arch +#Server = https://ftp.wrz.de/pub/archlinux/$repo/os/$arch +#Server = http://mirror.wtnet.de/archlinux/$repo/os/$arch +#Server = https://mirror.wtnet.de/archlinux/$repo/os/$arch +#Server = http://mirrors.xtom.de/archlinux/$repo/os/$arch +#Server = https://mirrors.xtom.de/archlinux/$repo/os/$arch +#Server = http://arch.mirror.zachlge.org/$repo/os/$arch +#Server = https://arch.mirror.zachlge.org/$repo/os/$arch + +## Greece +#Server = http://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/$arch +#Server = https://repo.greeklug.gr/data/pub/linux/archlinux/$repo/os/$arch +#Server = http://mirrors.myaegean.gr/linux/archlinux/$repo/os/$arch +#Server = http://ftp.ntua.gr/pub/linux/archlinux/$repo/os/$arch +#Server = http://ftp.otenet.gr/linux/archlinux/$repo/os/$arch + +## Hong Kong +#Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch +#Server = http://mirror-hk.koddos.net/archlinux/$repo/os/$arch +#Server = https://mirror-hk.koddos.net/archlinux/$repo/os/$arch +#Server = http://hkg.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = https://hkg.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = https://arch-mirror.wtako.net/$repo/os/$arch +#Server = http://mirror.xtom.com.hk/archlinux/$repo/os/$arch +#Server = https://mirror.xtom.com.hk/archlinux/$repo/os/$arch + +## Hungary +#Server = http://ftp.ek-cer.hu/pub/mirrors/ftp.archlinux.org/$repo/os/$arch +#Server = http://archmirror.hbit.sztaki.hu/archlinux/$repo/os/$arch +#Server = http://nova.quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +#Server = http://quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +#Server = http://super.quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +#Server = https://nova.quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +#Server = https://quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +#Server = https://super.quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch + +## Iceland +#Server = http://mirror.system.is/arch/$repo/os/$arch +#Server = https://mirror.system.is/arch/$repo/os/$arch + +## India +#Server = https://mirror.albony.xyz/archlinux/$repo/os/$arch +#Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch +#Server = http://in-mirror.garudalinux.org/archlinux/$repo/os/$arch +#Server = https://in-mirror.garudalinux.org/archlinux/$repo/os/$arch +#Server = http://archlinux.mirror.net.in/archlinux/$repo/os/$arch +#Server = https://archlinux.mirror.net.in/archlinux/$repo/os/$arch +#Server = http://mirrors.nxtgen.com/archlinux-mirror/$repo/os/$arch +#Server = https://mirrors.nxtgen.com/archlinux-mirror/$repo/os/$arch +#Server = http://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch +#Server = https://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch +#Server = http://mirror.sahil.world/archlinux/$repo/os/$arch +#Server = https://mirror.sahil.world/archlinux/$repo/os/$arch + +## Indonesia +#Server = http://mirror.cloudweeb.com/archlinux/$repo/os/$arch +#Server = http://mirror.faizuladib.com/archlinux/$repo/os/$arch +#Server = http://mirror.gi.co.id/archlinux/$repo/os/$arch +#Server = https://mirror.gi.co.id/archlinux/$repo/os/$arch +#Server = http://vpsmurah.jagoanhosting.com/archlinux/$repo/os/$arch +#Server = https://vpsmurah.jagoanhosting.com/archlinux/$repo/os/$arch +#Server = http://kebo.pens.ac.id/archlinux/$repo/os/$arch +#Server = http://mirror.labkom.id/archlinux/$repo/os/$arch +#Server = http://mirror.papua.go.id/archlinux/$repo/os/$arch +#Server = https://mirror.papua.go.id/archlinux/$repo/os/$arch +#Server = http://mirror.poliwangi.ac.id/archlinux/$repo/os/$arch +#Server = http://mirror.repository.id/archlinux/$repo/os/$arch +#Server = https://mirror.repository.id/archlinux/$repo/os/$arch +#Server = http://suro.ubaya.ac.id/archlinux/$repo/os/$arch +#Server = http://mirror.telkomuniversity.ac.id/archlinux/$repo/os/$arch +#Server = https://mirror.telkomuniversity.ac.id/archlinux/$repo/os/$arch + +## Iran +#Server = http://mirror.arvancloud.com/archlinux/$repo/os/$arch +#Server = https://mirror.arvancloud.com/archlinux/$repo/os/$arch +#Server = http://mirror.bardia.tech/archlinux/$repo/os/$arch +#Server = https://mirror.bardia.tech/archlinux/$repo/os/$arch +#Server = http://mirror.hostiran.ir/archlinux/$repo/os/$arch +#Server = https://mirror.hostiran.ir/archlinux/$repo/os/$arch +#Server = http://repo.iut.ac.ir/repo/archlinux/$repo/os/$arch +#Server = http://mirror.nak-mci.ir/arch/$repo/os/$arch +#Server = http://mirror.rasanegar.com/archlinux/$repo/os/$arch +#Server = https://mirror.rasanegar.com/archlinux/$repo/os/$arch + +## Ireland +#Server = http://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/$arch +#Server = https://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/$arch + +## Israel +#Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/$arch +#Server = https://mirror.isoc.org.il/pub/archlinux/$repo/os/$arch +#Server = https://archlinux.mivzakim.net/$repo/os/$arch + +## Italy +#Server = https://archmirror.it/repos/$repo/os/$arch +#Server = http://archlinux.mirror.garr.it/archlinux/$repo/os/$arch +#Server = http://mirrors.prometeus.net/archlinux/$repo/os/$arch +#Server = http://archlinux.mirror.server24.net/$repo/os/$arch +#Server = https://archlinux.mirror.server24.net/$repo/os/$arch + +## Japan +#Server = http://mirrors.cat.net/archlinux/$repo/os/$arch +#Server = https://mirrors.cat.net/archlinux/$repo/os/$arch +#Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch +#Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch +#Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch + +## Kazakhstan +#Server = http://mirror.hoster.kz/archlinux/$repo/os/$arch +#Server = https://mirror.hoster.kz/archlinux/$repo/os/$arch +#Server = http://mirror.ps.kz/archlinux/$repo/os/$arch +#Server = https://mirror.ps.kz/archlinux/$repo/os/$arch + +## Kenya +#Server = http://archlinux.mirror.liquidtelecom.com/$repo/os/$arch +#Server = https://archlinux.mirror.liquidtelecom.com/$repo/os/$arch + +## Latvia +#Server = http://archlinux.koyanet.lv/archlinux/$repo/os/$arch +#Server = https://archlinux.koyanet.lv/archlinux/$repo/os/$arch + +## Lithuania +#Server = http://mirrors.atviras.lt/archlinux/$repo/os/$arch +#Server = https://mirrors.atviras.lt/archlinux/$repo/os/$arch +#Server = http://mirrors.ims.nksc.lt/archlinux/$repo/os/$arch +#Server = https://mirrors.ims.nksc.lt/archlinux/$repo/os/$arch + +## Luxembourg +#Server = http://archlinux.mirror.root.lu/$repo/os/$arch + +## Mexico +#Server = https://arch.jsc.mx/$repo/os/$arch + +## Moldova +#Server = http://mirror.ihost.md/archlinux/$repo/os/$arch +#Server = https://mirror.ihost.md/archlinux/$repo/os/$arch +#Server = http://mirror.mangohost.net/archlinux/$repo/os/$arch +#Server = https://mirror.mangohost.net/archlinux/$repo/os/$arch + +## Monaco +#Server = http://archlinux.qontinuum.space/archlinux/$repo/os/$arch +#Server = https://archlinux.qontinuum.space/archlinux/$repo/os/$arch + +## Netherlands +#Server = http://mirror.cj2.nl/archlinux/$repo/os/$arch +#Server = https://mirror.cj2.nl/archlinux/$repo/os/$arch +#Server = https://mirrors.daan.vodka/archlinux/$repo/os/$arch +#Server = http://mirrors.evoluso.com/archlinux/$repo/os/$arch +#Server = http://mirror.i3d.net/pub/archlinux/$repo/os/$arch +#Server = https://mirror.i3d.net/pub/archlinux/$repo/os/$arch +#Server = https://arch.jeweet.net/$repo/os/$arch +#Server = http://mirror.koddos.net/archlinux/$repo/os/$arch +#Server = https://mirror.koddos.net/archlinux/$repo/os/$arch +#Server = http://arch.mirrors.lavatech.top/$repo/os/$arch +#Server = https://arch.mirrors.lavatech.top/$repo/os/$arch +#Server = http://mirror.ams1.nl.leaseweb.net/archlinux/$repo/os/$arch +#Server = https://mirror.ams1.nl.leaseweb.net/archlinux/$repo/os/$arch +#Server = http://archlinux.mirror.liteserver.nl/$repo/os/$arch +#Server = https://archlinux.mirror.liteserver.nl/$repo/os/$arch +#Server = http://mirror.lyrahosting.com/archlinux/$repo/os/$arch +#Server = https://mirror.lyrahosting.com/archlinux/$repo/os/$arch +#Server = http://mirror.mijn.host/archlinux/$repo/os/$arch +#Server = https://mirror.mijn.host/archlinux/$repo/os/$arch +#Server = http://mirror.neostrada.nl/archlinux/$repo/os/$arch +#Server = https://mirror.neostrada.nl/archlinux/$repo/os/$arch +#Server = http://ftp.nluug.nl/os/Linux/distr/archlinux/$repo/os/$arch +#Server = http://archlinux.mirror.pcextreme.nl/$repo/os/$arch +#Server = https://archlinux.mirror.pcextreme.nl/$repo/os/$arch +#Server = http://mirror.serverion.com/archlinux/$repo/os/$arch +#Server = https://mirror.serverion.com/archlinux/$repo/os/$arch +#Server = http://ftp.snt.utwente.nl/pub/os/linux/archlinux/$repo/os/$arch +#Server = http://mirror.tarellia.net/distr/archlinux/$repo/os/$arch +#Server = https://mirror.tarellia.net/distr/archlinux/$repo/os/$arch +#Server = http://mirrors.viflcraft.top/archlinux/$repo/os/$arch +#Server = https://mirrors.viflcraft.top/archlinux/$repo/os/$arch +#Server = http://archlinux.mirror.wearetriple.com/$repo/os/$arch +#Server = https://archlinux.mirror.wearetriple.com/$repo/os/$arch +#Server = http://mirror-archlinux.webruimtehosting.nl/$repo/os/$arch +#Server = https://mirror-archlinux.webruimtehosting.nl/$repo/os/$arch +#Server = http://mirrors.xtom.nl/archlinux/$repo/os/$arch +#Server = https://mirrors.xtom.nl/archlinux/$repo/os/$arch + +## New Caledonia +#Server = http://mirror.lagoon.nc/pub/archlinux/$repo/os/$arch +#Server = http://archlinux.nautile.nc/archlinux/$repo/os/$arch +#Server = https://archlinux.nautile.nc/archlinux/$repo/os/$arch + +## New Zealand +#Server = http://mirror.2degrees.nz/archlinux/$repo/os/$arch +#Server = https://mirror.2degrees.nz/archlinux/$repo/os/$arch +#Server = http://mirror.fsmg.org.nz/archlinux/$repo/os/$arch +#Server = https://mirror.fsmg.org.nz/archlinux/$repo/os/$arch +#Server = https://archlinux.ourhome.kiwi/$repo/os/$arch +#Server = http://mirror.smith.geek.nz/archlinux/$repo/os/$arch +#Server = https://mirror.smith.geek.nz/archlinux/$repo/os/$arch + +## North Macedonia +#Server = http://arch.softver.org.mk/archlinux/$repo/os/$arch +#Server = http://mirror.onevip.mk/archlinux/$repo/os/$arch +#Server = http://mirror.t-home.mk/archlinux/$repo/os/$arch +#Server = https://mirror.t-home.mk/archlinux/$repo/os/$arch + +## Norway +#Server = http://mirror.archlinux.no/$repo/os/$arch +#Server = https://mirror.archlinux.no/$repo/os/$arch +#Server = http://archlinux.uib.no/$repo/os/$arch +#Server = http://lysakermoen.com/Software/Linux/Mirrors/ArchLinux/$repo/os/$arch +#Server = https://lysakermoen.com/Software/Linux/Mirrors/ArchLinux/$repo/os/$arch +#Server = http://mirror.neuf.no/archlinux/$repo/os/$arch +#Server = https://mirror.neuf.no/archlinux/$repo/os/$arch +#Server = http://mirror.terrahost.no/linux/archlinux/$repo/os/$arch + +## Pakistan +#Server = http://repo.inara.pk/archlinux/$repo/os/$arch +#Server = https://repo.inara.pk/archlinux/$repo/os/$arch + +## Paraguay +#Server = http://archlinux.mirror.py/archlinux/$repo/os/$arch + +## Poland +#Server = https://mirror.eloteam.tk/archlinux/$repo/os/$arch +#Server = http://ftp.icm.edu.pl/pub/Linux/dist/archlinux/$repo/os/$arch +#Server = https://ftp.icm.edu.pl/pub/Linux/dist/archlinux/$repo/os/$arch +#Server = http://mirror.juniorjpdj.pl/archlinux/$repo/os/$arch +#Server = https://mirror.juniorjpdj.pl/archlinux/$repo/os/$arch +#Server = http://arch.midov.pl/arch/$repo/os/$arch +#Server = https://arch.midov.pl/arch/$repo/os/$arch +#Server = http://mirror.onet.pl/pub/mirrors/archlinux/$repo/os/$arch +#Server = http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/$arch +#Server = http://ftp.psnc.pl/linux/archlinux/$repo/os/$arch +#Server = https://ftp.psnc.pl/linux/archlinux/$repo/os/$arch +#Server = http://repo.skni.umcs.pl/archlinux/$repo/os/$arch +#Server = https://repo.skni.umcs.pl/archlinux/$repo/os/$arch +#Server = http://ftp.vectranet.pl/archlinux/$repo/os/$arch + +## Portugal +#Server = http://glua.ua.pt/pub/archlinux/$repo/os/$arch +#Server = https://glua.ua.pt/pub/archlinux/$repo/os/$arch +#Server = http://ftp.rnl.tecnico.ulisboa.pt/pub/archlinux/$repo/os/$arch +#Server = https://ftp.rnl.tecnico.ulisboa.pt/pub/archlinux/$repo/os/$arch +#Server = http://mirrors.up.pt/pub/archlinux/$repo/os/$arch +#Server = https://mirrors.up.pt/pub/archlinux/$repo/os/$arch + +## Romania +#Server = http://mirrors.chroot.ro/archlinux/$repo/os/$arch +#Server = https://mirrors.chroot.ro/archlinux/$repo/os/$arch +#Server = http://mirror.efect.ro/archlinux/$repo/os/$arch +#Server = https://mirror.efect.ro/archlinux/$repo/os/$arch +#Server = http://mirror.flokinet.net/archlinux/$repo/os/$arch +#Server = https://mirror.flokinet.net/archlinux/$repo/os/$arch +#Server = http://mirrors.go.ro/archlinux/$repo/os/$arch +#Server = https://mirrors.go.ro/archlinux/$repo/os/$arch +#Server = http://mirrors.hostico.ro/archlinux/$repo/os/$arch +#Server = https://mirrors.hostico.ro/archlinux/$repo/os/$arch +#Server = http://archlinux.mirrors.linux.ro/$repo/os/$arch +#Server = http://mirrors.m247.ro/archlinux/$repo/os/$arch +#Server = http://mirrors.nav.ro/archlinux/$repo/os/$arch +#Server = http://mirrors.nxthost.com/archlinux/$repo/os/$arch +#Server = https://mirrors.nxthost.com/archlinux/$repo/os/$arch +#Server = http://mirrors.pidginhost.com/arch/$repo/os/$arch +#Server = https://mirrors.pidginhost.com/arch/$repo/os/$arch + +## Russia +#Server = http://mirror.kamtv.ru/archlinux/$repo/os/$arch +#Server = https://mirror.kamtv.ru/archlinux/$repo/os/$arch +#Server = http://mirror.lebedinets.ru/archlinux/$repo/os/$arch +#Server = https://mirror.lebedinets.ru/archlinux/$repo/os/$arch +#Server = http://mirror.surf/archlinux/$repo/os/$arch +#Server = https://mirror.surf/archlinux/$repo/os/$arch +#Server = http://mirror.nw-sys.ru/archlinux/$repo/os/$arch +#Server = https://mirror.nw-sys.ru/archlinux/$repo/os/$arch +#Server = http://mirrors.powernet.com.ru/archlinux/$repo/os/$arch +#Server = http://mirror.rol.ru/archlinux/$repo/os/$arch +#Server = https://mirror.rol.ru/archlinux/$repo/os/$arch +#Server = http://mirror.truenetwork.ru/archlinux/$repo/os/$arch +#Server = https://mirror.truenetwork.ru/archlinux/$repo/os/$arch +#Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch +#Server = https://mirror.yandex.ru/archlinux/$repo/os/$arch +#Server = http://archlinux.zepto.cloud/$repo/os/$arch + +## Réunion +#Server = http://arch.mithril.re/$repo/os/$arch + +## Serbia +#Server = http://arch.petarmaric.com/$repo/os/$arch +#Server = http://mirror.pmf.kg.ac.rs/archlinux/$repo/os/$arch + +## Singapore +#Server = http://mirror.0x.sg/archlinux/$repo/os/$arch +#Server = https://mirror.0x.sg/archlinux/$repo/os/$arch +#Server = http://mirror.aktkn.sg/archlinux/$repo/os/$arch +#Server = https://mirror.aktkn.sg/archlinux/$repo/os/$arch +#Server = https://download.nus.edu.sg/mirror/archlinux/$repo/os/$arch +#Server = http://mirror.guillaumea.fr/archlinux/$repo/os/$arch +#Server = https://mirror.guillaumea.fr/archlinux/$repo/os/$arch +#Server = http://mirror.jingk.ai/archlinux/$repo/os/$arch +#Server = https://mirror.jingk.ai/archlinux/$repo/os/$arch +#Server = http://ossmirror.mycloud.services/os/linux/archlinux/$repo/os/$arch +#Server = http://mirror.sg.gs/archlinux/$repo/os/$arch +#Server = https://mirror.sg.gs/archlinux/$repo/os/$arch + +## Slovakia +#Server = http://mirror.lnx.sk/pub/linux/archlinux/$repo/os/$arch +#Server = https://mirror.lnx.sk/pub/linux/archlinux/$repo/os/$arch +#Server = http://tux.rainside.sk/archlinux/$repo/os/$arch + +## Slovenia +#Server = http://archimonde.ts.si/archlinux/$repo/os/$arch +#Server = https://archimonde.ts.si/archlinux/$repo/os/$arch +#Server = http://arch.tux.si/mirror/$repo/os/$arch +#Server = https://arch.tux.si/mirror/$repo/os/$arch + +## South Africa +#Server = http://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch +#Server = https://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch +#Server = http://za.mirror.archlinux-br.org/$repo/os/$arch +#Server = http://mirror.is.co.za/mirror/archlinux.org/$repo/os/$arch +#Server = http://mirrors.urbanwave.co.za/archlinux/$repo/os/$arch +#Server = https://mirrors.urbanwave.co.za/archlinux/$repo/os/$arch + +## South Korea +#Server = http://mirror.anigil.com/archlinux/$repo/os/$arch +#Server = https://mirror.anigil.com/archlinux/$repo/os/$arch +#Server = http://mirror.funami.tech/arch/$repo/os/$arch +#Server = https://mirror.funami.tech/arch/$repo/os/$arch +#Server = https://seoul.mirror.pkgbuild.com/$repo/os/$arch +#Server = http://ftp.harukasan.org/archlinux/$repo/os/$arch +#Server = https://ftp.harukasan.org/archlinux/$repo/os/$arch +#Server = http://ftp.lanet.kr/pub/archlinux/$repo/os/$arch +#Server = https://ftp.lanet.kr/pub/archlinux/$repo/os/$arch +#Server = http://mirror.misakamikoto.network/archlinux/$repo/os/$arch +#Server = https://mirror.misakamikoto.network/archlinux/$repo/os/$arch +#Server = http://mirror.premi.st/archlinux/$repo/os/$arch +#Server = https://mirror.premi.st/archlinux/$repo/os/$arch + +## Spain +#Server = https://mirror.cloroformo.org/archlinux/$repo/os/$arch +#Server = http://mirror.librelabucm.org/archlinux/$repo/os/$arch +#Server = https://mirror.librelabucm.org/archlinux/$repo/os/$arch +#Server = http://ftp.rediris.es/mirror/archlinux/$repo/os/$arch + +## Sweden +#Server = http://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch +#Server = https://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch +#Server = http://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch +#Server = https://ftp.ludd.ltu.se/mirrors/archlinux/$repo/os/$arch +#Server = http://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch +#Server = https://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch +#Server = http://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch +#Server = https://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch +#Server = https://mirror.osbeck.com/archlinux/$repo/os/$arch + +## Switzerland +#Server = http://pkg.adfinis.com/archlinux/$repo/os/$arch +#Server = https://pkg.adfinis.com/archlinux/$repo/os/$arch +#Server = http://mirror.init7.net/archlinux/$repo/os/$arch +#Server = https://mirror.init7.net/archlinux/$repo/os/$arch +#Server = http://mirror.puzzle.ch/archlinux/$repo/os/$arch +#Server = https://mirror.puzzle.ch/archlinux/$repo/os/$arch +#Server = https://theswissbay.ch/archlinux/$repo/os/$arch +#Server = https://mirror.ungleich.ch/mirror/packages/archlinux/$repo/os/$arch + +## Taiwan +#Server = http://mirror.archlinux.tw/ArchLinux/$repo/os/$arch +#Server = https://mirror.archlinux.tw/ArchLinux/$repo/os/$arch +#Server = http://archlinux.ccns.ncku.edu.tw/archlinux/$repo/os/$arch +#Server = http://free.nchc.org.tw/arch/$repo/os/$arch +#Server = https://free.nchc.org.tw/arch/$repo/os/$arch +#Server = http://shadow.ind.ntou.edu.tw/archlinux/$repo/os/$arch +#Server = https://shadow.ind.ntou.edu.tw/archlinux/$repo/os/$arch +#Server = http://archlinux.cs.nycu.edu.tw/$repo/os/$arch +#Server = https://archlinux.cs.nycu.edu.tw/$repo/os/$arch +#Server = http://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/$arch +#Server = http://ftp.yzu.edu.tw/Linux/archlinux/$repo/os/$arch +#Server = https://ftp.yzu.edu.tw/Linux/archlinux/$repo/os/$arch + +## Thailand +#Server = https://mirror.cyberbits.asia/archlinux/$repo/os/$arch +#Server = http://mirror.kku.ac.th/archlinux/$repo/os/$arch +#Server = https://mirror.kku.ac.th/archlinux/$repo/os/$arch +#Server = http://mirror2.totbb.net/archlinux/$repo/os/$arch + +## Turkey +#Server = http://ftp.linux.org.tr/archlinux/$repo/os/$arch +#Server = http://depo.turkiye.linux.web.tr/archlinux/$repo/os/$arch +#Server = https://depo.turkiye.linux.web.tr/archlinux/$repo/os/$arch +#Server = http://mirror.veriteknik.net.tr/archlinux/$repo/os/$arch + +## Ukraine +#Server = http://archlinux.astra.in.ua/$repo/os/$arch +#Server = https://archlinux.astra.in.ua/$repo/os/$arch +#Server = http://repo.endpoint.ml/archlinux/$repo/os/$arch +#Server = https://repo.endpoint.ml/archlinux/$repo/os/$arch +#Server = http://fastmirror.pp.ua/archlinux/$repo/os/$arch +#Server = https://fastmirror.pp.ua/archlinux/$repo/os/$arch +#Server = http://archlinux.ip-connect.vn.ua/$repo/os/$arch +#Server = https://archlinux.ip-connect.vn.ua/$repo/os/$arch +#Server = http://mirror.mirohost.net/archlinux/$repo/os/$arch +#Server = https://mirror.mirohost.net/archlinux/$repo/os/$arch +#Server = http://mirrors.nix.org.ua/linux/archlinux/$repo/os/$arch +#Server = https://mirrors.nix.org.ua/linux/archlinux/$repo/os/$arch + +## United Kingdom +#Server = http://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch +#Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch +#Server = http://mirror.bytemark.co.uk/archlinux/$repo/os/$arch +#Server = https://mirror.bytemark.co.uk/archlinux/$repo/os/$arch +#Server = http://mirrors.gethosted.online/archlinux/$repo/os/$arch +#Server = https://mirrors.gethosted.online/archlinux/$repo/os/$arch +#Server = http://mirrors.manchester.m247.com/arch-linux/$repo/os/$arch +#Server = http://mirrors.melbourne.co.uk/archlinux/$repo/os/$arch +#Server = https://mirrors.melbourne.co.uk/archlinux/$repo/os/$arch +#Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch +#Server = https://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch +#Server = http://mirror.netweaver.uk/archlinux/$repo/os/$arch +#Server = https://mirror.netweaver.uk/archlinux/$repo/os/$arch +#Server = http://lon.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = https://lon.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = http://arch.serverspace.co.uk/arch/$repo/os/$arch +#Server = http://mirrors.ukfast.co.uk/sites/archlinux.org/$repo/os/$arch +#Server = https://mirrors.ukfast.co.uk/sites/archlinux.org/$repo/os/$arch +#Server = http://mirror.cov.ukservers.com/archlinux/$repo/os/$arch +#Server = https://mirror.cov.ukservers.com/archlinux/$repo/os/$arch + +## United States +#Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch +#Server = http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch +#Server = http://mirrors.aggregate.org/archlinux/$repo/os/$arch +#Server = http://ca.us.mirror.archlinux-br.org/$repo/os/$arch +#Server = http://il.us.mirror.archlinux-br.org/$repo/os/$arch +#Server = http://mirror.arizona.edu/archlinux/$repo/os/$arch +#Server = https://mirror.arizona.edu/archlinux/$repo/os/$arch +#Server = http://arlm.tyzoid.com/$repo/os/$arch +#Server = https://arlm.tyzoid.com/$repo/os/$arch +#Server = https://mirror.ava.dev/archlinux/$repo/os/$arch +#Server = http://mirrors.bloomu.edu/archlinux/$repo/os/$arch +#Server = https://mirrors.bloomu.edu/archlinux/$repo/os/$arch +#Server = http://mirrors.cat.pdx.edu/archlinux/$repo/os/$arch +#Server = http://mirror.cc.columbia.edu/pub/linux/archlinux/$repo/os/$arch +#Server = http://mirror.clarkson.edu/archlinux/$repo/os/$arch +#Server = https://mirror.clarkson.edu/archlinux/$repo/os/$arch +#Server = http://arch.mirror.constant.com/$repo/os/$arch +#Server = https://arch.mirror.constant.com/$repo/os/$arch +#Server = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch +#Server = http://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/$arch +#Server = http://mirror.cybersecurity.nmt.edu/archlinux/$repo/os/$arch +#Server = https://mirror.cybersecurity.nmt.edu/archlinux/$repo/os/$arch +#Server = http://distro.ibiblio.org/archlinux/$repo/os/$arch +#Server = http://mirror.es.its.nyu.edu/archlinux/$repo/os/$arch +#Server = http://mirror.ette.biz/archlinux/$repo/os/$arch +#Server = https://mirror.ette.biz/archlinux/$repo/os/$arch +#Server = http://codingflyboy.mm.fcix.net/archlinux/$repo/os/$arch +#Server = http://coresite.mm.fcix.net/archlinux/$repo/os/$arch +#Server = http://mirror.fcix.net/archlinux/$repo/os/$arch +#Server = http://mnvoip.mm.fcix.net/archlinux/$repo/os/$arch +#Server = http://ridgewireless.mm.fcix.net/archlinux/$repo/os/$arch +#Server = https://codingflyboy.mm.fcix.net/archlinux/$repo/os/$arch +#Server = https://coresite.mm.fcix.net/archlinux/$repo/os/$arch +#Server = https://mirror.fcix.net/archlinux/$repo/os/$arch +#Server = https://mnvoip.mm.fcix.net/archlinux/$repo/os/$arch +#Server = https://ridgewireless.mm.fcix.net/archlinux/$repo/os/$arch +#Server = https://america.mirror.pkgbuild.com/$repo/os/$arch +#Server = http://mirrors.gigenet.com/archlinux/$repo/os/$arch +#Server = http://www.gtlib.gatech.edu/pub/archlinux/$repo/os/$arch +#Server = http://mirror.hackingand.coffee/arch/$repo/os/$arch +#Server = https://mirror.hackingand.coffee/arch/$repo/os/$arch +#Server = https://mirror.hodgepodge.dev/archlinux/$repo/os/$arch +#Server = http://mirror.hostup.org/archlinux/$repo/os/$arch +#Server = https://mirror.hostup.org/archlinux/$repo/os/$arch +#Server = http://arch.hu.fo/archlinux/$repo/os/$arch +#Server = https://arch.hu.fo/archlinux/$repo/os/$arch +#Server = http://repo.ialab.dsu.edu/archlinux/$repo/os/$arch +#Server = https://repo.ialab.dsu.edu/archlinux/$repo/os/$arch +#Server = https://arch.mirror.ivo.st/$repo/os/$arch +#Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch +#Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch +#Server = http://mirror.dal10.us.leaseweb.net/archlinux/$repo/os/$arch +#Server = http://mirror.mia11.us.leaseweb.net/archlinux/$repo/os/$arch +#Server = http://mirror.sfo12.us.leaseweb.net/archlinux/$repo/os/$arch +#Server = http://mirror.wdc1.us.leaseweb.net/archlinux/$repo/os/$arch +#Server = https://mirror.dal10.us.leaseweb.net/archlinux/$repo/os/$arch +#Server = https://mirror.mia11.us.leaseweb.net/archlinux/$repo/os/$arch +#Server = https://mirror.sfo12.us.leaseweb.net/archlinux/$repo/os/$arch +#Server = https://mirror.wdc1.us.leaseweb.net/archlinux/$repo/os/$arch +#Server = http://mirrors.liquidweb.com/archlinux/$repo/os/$arch +#Server = http://mirror.lty.me/archlinux/$repo/os/$arch +#Server = https://mirror.lty.me/archlinux/$repo/os/$arch +#Server = http://mirrors.lug.mtu.edu/archlinux/$repo/os/$arch +#Server = https://mirrors.lug.mtu.edu/archlinux/$repo/os/$arch +#Server = http://mirror.math.princeton.edu/pub/archlinux/$repo/os/$arch +#Server = http://mirror.metrocast.net/archlinux/$repo/os/$arch +#Server = http://mirror.kaminski.io/archlinux/$repo/os/$arch +#Server = https://mirror.kaminski.io/archlinux/$repo/os/$arch +#Server = http://iad.mirrors.misaka.one/archlinux/$repo/os/$arch +#Server = https://iad.mirrors.misaka.one/archlinux/$repo/os/$arch +#Server = http://repo.miserver.it.umich.edu/archlinux/$repo/os/$arch +#Server = http://mirrors.mit.edu/archlinux/$repo/os/$arch +#Server = https://mirrors.mit.edu/archlinux/$repo/os/$arch +#Server = http://mirrors.ocf.berkeley.edu/archlinux/$repo/os/$arch +#Server = https://mirrors.ocf.berkeley.edu/archlinux/$repo/os/$arch +#Server = http://archmirror1.octyl.net/$repo/os/$arch +#Server = https://archmirror1.octyl.net/$repo/os/$arch +#Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch +#Server = http://arch.mirrors.pair.com/$repo/os/$arch +#Server = http://archlinux.qern-industries.pw/$repo/os/$arch +#Server = https://archlinux.qern-industries.pw/$repo/os/$arch +#Server = http://dfw.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = http://iad.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = http://ord.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = https://dfw.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = https://iad.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = https://ord.mirror.rackspace.com/archlinux/$repo/os/$arch +#Server = http://mirrors.radwebhosting.com/archlinux/$repo/os/$arch +#Server = https://mirrors.radwebhosting.com/archlinux/$repo/os/$arch +#Server = http://plug-mirror.rcac.purdue.edu/archlinux/$repo/os/$arch +#Server = https://plug-mirror.rcac.purdue.edu/archlinux/$repo/os/$arch +#Server = http://mirrors.rit.edu/archlinux/$repo/os/$arch +#Server = https://mirrors.rit.edu/archlinux/$repo/os/$arch +#Server = http://mirrors.rutgers.edu/archlinux/$repo/os/$arch +#Server = https://mirrors.rutgers.edu/archlinux/$repo/os/$arch +#Server = https://mirror2.sandyriver.net/pub/archlinux/$repo/os/$arch +#Server = http://mirror.siena.edu/archlinux/$repo/os/$arch +#Server = http://mirrors.sonic.net/archlinux/$repo/os/$arch +#Server = https://mirrors.sonic.net/archlinux/$repo/os/$arch +#Server = http://mirror.phx1.us.spryservers.net/archlinux/$repo/os/$arch +#Server = https://mirror.phx1.us.spryservers.net/archlinux/$repo/os/$arch +#Server = http://arch.mirror.square-r00t.net/$repo/os/$arch +#Server = https://arch.mirror.square-r00t.net/$repo/os/$arch +#Server = http://mirror.stephen304.com/archlinux/$repo/os/$arch +#Server = https://mirror.stephen304.com/archlinux/$repo/os/$arch +#Server = http://ftp.sudhip.com/archlinux/$repo/os/$arch +#Server = https://ftp.sudhip.com/archlinux/$repo/os/$arch +#Server = http://mirror.pit.teraswitch.com/archlinux/$repo/os/$arch +#Server = https://mirror.pit.teraswitch.com/archlinux/$repo/os/$arch +#Server = https://mirror.theash.xyz/arch/$repo/os/$arch +#Server = https://mirror.tmmworkshop.com/archlinux/$repo/os/$arch +#Server = http://mirror.umd.edu/archlinux/$repo/os/$arch +#Server = https://mirror.umd.edu/archlinux/$repo/os/$arch +#Server = http://mirrors.vectair.net/archlinux/$repo/os/$arch +#Server = https://mirrors.vectair.net/archlinux/$repo/os/$arch +#Server = http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch +#Server = http://mirrors.xmission.com/archlinux/$repo/os/$arch +#Server = http://mirrors.xtom.com/archlinux/$repo/os/$arch +#Server = https://mirrors.xtom.com/archlinux/$repo/os/$arch +#Server = https://zxcvfdsa.com/arch/$repo/os/$arch + +## Uzbekistan +#Server = http://mirror.dc.uz/arch/$repo/os/$arch +#Server = https://mirror.dc.uz/arch/$repo/os/$arch + +## Vietnam +#Server = https://mirrors.42tm.tech/archlinux/$repo/os/$arch +#Server = http://f.archlinuxvn.org/archlinux/$repo/os/$arch +#Server = http://mirror.bizflycloud.vn/archlinux/$repo/os/$arch + diff --git a/sys/etc/repart.d/root.conf b/sys/etc/repart.d/root.conf new file mode 100644 index 0000000..1aadd2d --- /dev/null +++ b/sys/etc/repart.d/root.conf @@ -0,0 +1,2 @@ +[Partition] +Type=root diff --git a/sys/etc/ssh/sshd_config b/sys/etc/ssh/sshd_config new file mode 100644 index 0000000..ad7e1f2 --- /dev/null +++ b/sys/etc/ssh/sshd_config @@ -0,0 +1,116 @@ +# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $ + +# This is the sshd server system-wide configuration file. See +# sshd_config(5) for more information. + +# This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/bin + +# The strategy used for options in the default sshd_config shipped with +# OpenSSH is to specify options with their default value where +# possible, but leave them commented. Uncommented options override the +# default value. + +#Port 22 +#AddressFamily any +#ListenAddress 0.0.0.0 +#ListenAddress :: + +#HostKey /etc/ssh/ssh_host_rsa_key +#HostKey /etc/ssh/ssh_host_ecdsa_key +#HostKey /etc/ssh/ssh_host_ed25519_key + +# Ciphers and keying +#RekeyLimit default none + +# Logging +#SyslogFacility AUTH +#LogLevel INFO + +# Authentication: + +#LoginGraceTime 2m +PermitRootLogin no +#StrictModes yes +#MaxAuthTries 6 +#MaxSessions 10 + +#PubkeyAuthentication yes + +# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 +# but this is overridden so installations will only check .ssh/authorized_keys +AuthorizedKeysFile .ssh/authorized_keys + +#AuthorizedPrincipalsFile none + +#AuthorizedKeysCommand none +#AuthorizedKeysCommandUser nobody + +# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts +#HostbasedAuthentication no +# Change to yes if you don't trust ~/.ssh/known_hosts for +# HostbasedAuthentication +#IgnoreUserKnownHosts no +# Don't read the user's ~/.rhosts and ~/.shosts files +#IgnoreRhosts yes + +# To disable tunneled clear text passwords, change to no here! +PasswordAuthentication no +#PermitEmptyPasswords no + +# Change to no to disable s/key passwords +KbdInteractiveAuthentication no + +# Kerberos options +#KerberosAuthentication no +#KerberosOrLocalPasswd yes +#KerberosTicketCleanup yes +#KerberosGetAFSToken no + +# GSSAPI options +#GSSAPIAuthentication no +#GSSAPICleanupCredentials yes + +# Set this to 'yes' to enable PAM authentication, account processing, +# and session processing. If this is enabled, PAM authentication will +# be allowed through the KbdInteractiveAuthentication and +# PasswordAuthentication. Depending on your PAM configuration, +# PAM authentication via KbdInteractiveAuthentication may bypass +# the setting of "PermitRootLogin without-password". +# If you just want the PAM account and session checks to run without +# PAM authentication, then enable this but set PasswordAuthentication +# and KbdInteractiveAuthentication to 'no'. +UsePAM yes + +#AllowAgentForwarding yes +#AllowTcpForwarding yes +#GatewayPorts no +#X11Forwarding no +#X11DisplayOffset 10 +#X11UseLocalhost yes +#PermitTTY yes +PrintMotd no # pam does that +#PrintLastLog yes +#TCPKeepAlive yes +#PermitUserEnvironment no +#Compression delayed +#ClientAliveInterval 0 +#ClientAliveCountMax 3 +#UseDNS no +#PidFile /run/sshd.pid +#MaxStartups 10:30:100 +#PermitTunnel no +#ChrootDirectory none +#VersionAddendum none + +# no default banner path +#Banner none + +# override default of no subsystems +Subsystem sftp /usr/lib/ssh/sftp-server + +# Example of overriding settings on a per-user basis +#Match User anoncvs +# X11Forwarding no +# AllowTcpForwarding no +# PermitTTY no +# ForceCommand cvs server diff --git a/sys/etc/systemd/journald.conf.d/00-google.conf b/sys/etc/systemd/journald.conf.d/00-google.conf new file mode 100644 index 0000000..620db84 --- /dev/null +++ b/sys/etc/systemd/journald.conf.d/00-google.conf @@ -0,0 +1,2 @@ +[Journal] +ForwardToConsole=yes diff --git a/sys/etc/systemd/system/pacman-init.service b/sys/etc/systemd/system/pacman-init.service new file mode 100644 index 0000000..ed515f4 --- /dev/null +++ b/sys/etc/systemd/system/pacman-init.service @@ -0,0 +1,12 @@ +[Unit] +Description=Pacman keyring initialization +ConditionDirectoryNotEmpty=!/etc/pacman.d/gnupg + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/pacman-key --init +ExecStart=/usr/bin/pacman-key --populate archlinux + +[Install] +WantedBy=multi-user.target diff --git a/sys/etc/systemd/system/systemd-repart.service.d/override.conf b/sys/etc/systemd/system/systemd-repart.service.d/override.conf new file mode 100644 index 0000000..50ae1f4 --- /dev/null +++ b/sys/etc/systemd/system/systemd-repart.service.d/override.conf @@ -0,0 +1,2 @@ +[Unit] +Before=systemd-growfs@-.service diff --git a/sys/etc/systemd/timesyncd.conf.d/00-google.conf b/sys/etc/systemd/timesyncd.conf.d/00-google.conf new file mode 100644 index 0000000..4f07fb6 --- /dev/null +++ b/sys/etc/systemd/timesyncd.conf.d/00-google.conf @@ -0,0 +1,2 @@ +[Time] +NTP=metadata.google.internal |
