]> git.rmz.io Git - dotfiles.git/commitdiff
mkosi: add kodi image
authorSamir Benmendil <me@rmz.io>
Sat, 5 Dec 2020 22:25:32 +0000 (22:25 +0000)
committerSamir Benmendil <me@rmz.io>
Mon, 7 Dec 2020 22:52:45 +0000 (22:52 +0000)
12 files changed:
mkosi/kodi/.gitignore [new file with mode: 0644]
mkosi/kodi/mkosi.default [new file with mode: 0644]
mkosi/kodi/mkosi.extra/etc/X11/Xwrapper.config [new file with mode: 0644]
mkosi/kodi/mkosi.extra/etc/X11/xinit/xinitrc.d/90-disable-dpms.sh [new file with mode: 0644]
mkosi/kodi/mkosi.extra/etc/lirc/lirc_options.conf [new file with mode: 0644]
mkosi/kodi/mkosi.extra/etc/lirc/lircd.conf.d/mceusb.lircd.conf [new file with mode: 0644]
mkosi/kodi/mkosi.extra/etc/pacman.d/mirrorlist [new file with mode: 0644]
mkosi/kodi/mkosi.extra/etc/systemd/system/kodi-x11.service [new file with mode: 0644]
mkosi/kodi/mkosi.extra/etc/sysusers.d/kodi.conf [new file with mode: 0644]
mkosi/kodi/mkosi.extra/etc/tmpfiles.d/kodi.conf [new file with mode: 0644]
mkosi/kodi/mkosi.nspawn [new file with mode: 0644]
mkosi/kodi/mkosi.postinst [new file with mode: 0755]

diff --git a/mkosi/kodi/.gitignore b/mkosi/kodi/.gitignore
new file mode 100644 (file)
index 0000000..dc91646
--- /dev/null
@@ -0,0 +1,5 @@
+kodi
+kodi.nspawn
+mkosi.cache
+.*.lck
+!mkosi.nspawn
diff --git a/mkosi/kodi/mkosi.default b/mkosi/kodi/mkosi.default
new file mode 100644 (file)
index 0000000..08a80b1
--- /dev/null
@@ -0,0 +1,38 @@
+[Distribution]
+Distribution=arch
+Mirror=http://archlinux.uk.mirror.allworldit.com/archlinux/
+
+[Output]
+Output=kodi
+Format=subvolume
+
+[Packages]
+Packages=
+    kodi
+    kodi-addon-audioencoder-flac
+    kodi-addon-audioencoder-lame
+    kodi-addon-audioencoder-vorbis
+    kodi-addon-audioencoder-wav
+    kodi-addon-game-libretro
+    kodi-addon-game-libretro-beetle-psx
+    kodi-addon-game-libretro-desmume
+    kodi-addon-game-libretro-flycast
+    kodi-addon-game-libretro-gambatte
+    kodi-addon-game-libretro-melonds
+    kodi-addon-game-libretro-mgba
+    kodi-addon-game-libretro-mupen64plus-nx
+    kodi-addon-game-libretro-nestopia
+    kodi-addon-game-libretro-parallel-n64
+    kodi-addon-game-libretro-scummvm
+    kodi-addon-game-libretro-snes9x
+    kodi-addon-game-libretro-yabause
+    kodi-addon-peripheral-joystick
+    kodi-x11
+    libva-intel-driver
+    lirc
+    intel-media-driver
+    pulseaudio
+    rxvt-unicode-terminfo
+    xorg-server
+    xorg-xinit
+    xorg-xset
diff --git a/mkosi/kodi/mkosi.extra/etc/X11/Xwrapper.config b/mkosi/kodi/mkosi.extra/etc/X11/Xwrapper.config
new file mode 100644 (file)
index 0000000..ddaa564
--- /dev/null
@@ -0,0 +1,2 @@
+allowed_users=anybody
+needs_root_rights=yes
diff --git a/mkosi/kodi/mkosi.extra/etc/X11/xinit/xinitrc.d/90-disable-dpms.sh b/mkosi/kodi/mkosi.extra/etc/X11/xinit/xinitrc.d/90-disable-dpms.sh
new file mode 100644 (file)
index 0000000..2fa04da
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+xset -dpms s off
diff --git a/mkosi/kodi/mkosi.extra/etc/lirc/lirc_options.conf b/mkosi/kodi/mkosi.extra/etc/lirc/lirc_options.conf
new file mode 100644 (file)
index 0000000..8d186ea
--- /dev/null
@@ -0,0 +1,41 @@
+# These are the default options to lircd, if installed as
+# /etc/lirc/lirc_options.conf. See the lircd(8) and lircmd(8)
+# manpages for info on the different options.
+#
+# Some tools including mode2 and irw uses values such as
+# driver, device, plugindir and loglevel as fallback values
+# in not defined elsewhere.
+
+[lircd]
+nodaemon        = False
+driver          = default
+device          = auto
+output          = /var/run/lirc/lircd
+pidfile         = /var/run/lirc/lircd.pid
+plugindir       = /usr/lib/lirc/plugins
+permission      = 666
+allow-simulate  = No
+repeat-max      = 600
+#effective-user =
+#listen         = [address:]port
+#connect        = host[:port]
+#loglevel       = 6
+#release        = true
+#release_suffix = _EVUP
+#logfile        = ...
+#driver-options = ...
+
+[lircmd]
+uinput          = False
+nodaemon        = False
+
+# [modinit]
+# code = /usr/sbin/modprobe lirc_serial
+# code1 = /usr/bin/setfacl -m g:lirc:rw /dev/uinput
+# code2 = ...
+
+
+# [lircd-uinput]
+# add-release-events = False
+# release-timeout    = 200
+# release-suffix     = _EVUP
diff --git a/mkosi/kodi/mkosi.extra/etc/lirc/lircd.conf.d/mceusb.lircd.conf b/mkosi/kodi/mkosi.extra/etc/lirc/lircd.conf.d/mceusb.lircd.conf
new file mode 100644 (file)
index 0000000..a6bbe52
--- /dev/null
@@ -0,0 +1,177 @@
+#
+# brand:                        HP
+# model no. of remote control:  TSGH-IR01
+# devices being controlled by this remote: HP Slimline S3100y
+#
+# RC-6 config file
+#
+# source: http://home.hccnet.nl/m.majoor/projects_remote_control.htm
+#         http://home.hccnet.nl/m.majoor/pronto.pdf
+#
+# used by: Philips
+#
+#########
+#
+# Philips Media Center Edition remote control
+# For use with the USB MCE ir receiver
+#
+# Dan Conti  dconti|acm.wwu.edu
+#
+# Updated with codes for MCE 2005 Remote additional buttons
+# *, #, Teletext, Red, Green, Yellow & Blue Buttons
+# Note: TV power button transmits no code until programmed.
+# Updated 12th September 2005
+# Graham Auld - mce|graham.auld.me.uk
+#
+# Radio, Print, RecTV are only available on the HP Media Center remote control
+#
+#
+# Updated with codes for MCE 2007 Remote additional buttons
+# Visualization, Aspect, SlideShow, Eject
+# Note:
+# Renamed some buttons: DVD->DVDMenu, More->MoreInfo, Star->Asterisk, Hash->Pound
+# Note:
+# Blue, Yellow, Green, Red, and Teletext buttons do not exist on the HP remote
+
+begin remote
+
+  name        mceusb
+  bits                 16
+  flags  RC6|CONST_LENGTH
+  eps                  30
+  aeps                100
+
+  header       2667   889
+  one           444   444
+  zero          444   444
+  pre_data_bits        21
+  pre_data        0x37FF0
+  gap              105000
+  toggle_bit           22
+  rc6_mask    0x100000000
+
+
+      begin codes
+
+#seen on HP Pavilion dv3t remote  --Tim Mann, 3 Nov 2009
+       Media         0x00007b7f
+          KEY_PLAYPAUSE            0x00007b91                #  Was: PlayPause
+
+
+#unused by HP remote
+          KEY_BLUE                 0x00007ba1                #  Was: Blue
+          KEY_YELLOW               0x00007ba2                #  Was: Yellow
+          KEY_GREEN                0x00007ba3                #  Was: Green
+          KEY_RED                  0x00007ba4                #  Was: Red
+          KEY_TEXT                 0x00007ba5                #  Was: Teletext
+
+#ba6 - bae unused
+        BA6           0x00007ba6
+        BA7           0x00007ba7
+        BA8           0x00007ba8
+        BA9           0x00007ba9
+        BAA           0x00007baa
+        BAB           0x00007bab
+        BAC           0x00007bac
+        BAD           0x00007bad
+        BAE           0x00007bae
+
+          KEY_RADIO                0x00007baf                #  Was: Radio
+        Print         0x00007bb1
+
+#bb2 - bb4 unused
+        BB2           0x00007bb2
+        BB3           0x00007bb3
+        BB4           0x00007bb4
+
+          KEY_VIDEO                0x00007bb5                #  Was: Videos
+          KEY_IMAGES               0x00007bb6                #  Was: Pictures
+          RecTV                    0x00007bb7                #  Was: RecTV
+          KEY_AUDIO                0x00007bb8                #  Was: Music
+          KEY_TV                   0x00007bb9                #  Was: TV
+
+#bba - bbf unused
+        BBA           0x00007bba
+        BBB           0x00007bbb
+        BBC           0x00007bbc
+        BBD           0x00007bbd
+        BBE           0x00007bbe
+        BBF           0x00007bbf
+#bc1 - bca unused
+        BC1           0x00007bc1
+        BC2           0x00007bc2
+        BC3           0x00007bc3
+        BC4           0x00007bc4
+        BC5           0x00007bc5
+        BC6           0x00007bc6
+        BC7           0x00007bc7
+        BC8           0x00007bc8
+        BC9           0x00007bc9
+        BCA           0x00007bca
+
+          KEY_EJECTCD              0x00007bcb                #  Was: Eject
+        SlideShow     0x00007bcc
+        Visualization 0x00007bcd
+
+#bce - bcf unused
+        BCE           0x00007bce
+        BCF           0x00007bcf
+#bd1 - bd7 unused
+        BD1           0x00007bd1
+        BD2           0x00007bd2
+        BD3           0x00007bd3
+        BD4           0x00007bd4
+        BD5           0x00007bd5
+        BD6           0x00007bd6
+        BD7           0x00007bd7
+
+        Aspect        0x00007bd8
+          KEY_EPG                  0x00007bd9                #  Was: Guide
+          LiveTV                   0x00007bda                #  Was: LiveTV
+          KEY_DVD                  0x00007bdb                #  Was: DVD
+#NoGap
+          KEY_BACK                 0x00007bdc                #  Was: Back
+          KEY_OK                   0x00007bdd                #  Was: OK
+          KEY_RIGHT                0x00007bde                #  Was: Right
+          KEY_LEFT                 0x00007bdf                #  Was: Left
+          KEY_DOWN                 0x00007be0                #  Was: Down
+          KEY_UP                   0x00007be1                #  Was: Up
+#NoGap
+          KEY_NUMERIC_STAR         0x00007be2                #  Was: Star
+          KEY_NUMERIC_POUND        0x00007be3                #  Was: Hash
+#NoGap
+          KEY_AGAIN                0x00007be4                #  Was: Replay
+          KEY_NEXT                 0x00007be5                #  Was: Skip
+          KEY_STOP                 0x00007be6                #  Was: Stop
+          KEY_PAUSE                0x00007be7                #  Was: Pause
+          KEY_RECORD               0x00007be8                #  Was: Record
+          KEY_PLAY                 0x00007be9                #  Was: Play
+          KEY_REWIND               0x00007bea                #  Was: Rewind
+          KEY_FORWARD              0x00007beb                #  Was: Forward
+#NoGap
+          KEY_CHANNELDOWN          0x00007bec                #  Was: ChanDown
+          KEY_CHANNELUP            0x00007bed                #  Was: ChanUp
+          KEY_VOLUMEDOWN           0x00007bee                #  Was: VolDown
+          KEY_VOLUMEUP             0x00007bef                #  Was: VolUp
+#NoGap
+        More          0x00007bf0
+          KEY_MUTE                 0x00007bf1                #  Was: Mute
+          KEY_HOME                 0x00007bf2                #  Was: Home
+          KEY_POWER                0x00007bf3                #  Was: Power
+#NoGap
+          KEY_ENTER                0x00007bf4                #  Was: Enter
+          KEY_CLEAR                0x00007bf5                #  Was: Clear
+#NoGap
+          KEY_9                    0x00007bf6                #  Was: Nine
+          KEY_8                    0x00007bf7                #  Was: Eight
+          KEY_7                    0x00007bf8                #  Was: Seven
+          KEY_6                    0x00007bf9                #  Was: Six
+          KEY_5                    0x00007bfa                #  Was: Five
+          KEY_4                    0x00007bfb                #  Was: Four
+          KEY_3                    0x00007bfc                #  Was: Three
+          KEY_2                    0x00007bfd                #  Was: Two
+          KEY_1                    0x00007bfe                #  Was: One
+          KEY_0                    0x00007bff                #  Was: Zero
+      end codes
+
+end remote
diff --git a/mkosi/kodi/mkosi.extra/etc/pacman.d/mirrorlist b/mkosi/kodi/mkosi.extra/etc/pacman.d/mirrorlist
new file mode 100644 (file)
index 0000000..fff8e2c
--- /dev/null
@@ -0,0 +1,558 @@
+##
+## Arch Linux repository mirrorlist
+## Generated on 2019-01-09
+##
+
+## Worldwide
+#Server = http://mirrors.evowise.com/archlinux/$repo/os/$arch
+#Server = http://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 = http://ftp.iinet.net.au/pub/archlinux/$repo/os/$arch
+#Server = http://mirror.internode.on.net/pub/archlinux/$repo/os/$arch
+#Server = http://archlinux.melbourneitmirror.net/$repo/os/$arch
+#Server = http://ftp.swin.edu.au/archlinux/$repo/os/$arch
+
+## Austria
+#Server = http://mirror.digitalnova.at/archlinux/$repo/os/$arch
+#Server = http://mirror.easyname.at/archlinux/$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://mirror.adct.be/arch/$repo/os/$arch
+#Server = http://archlinux.cu.be/$repo/os/$arch
+#Server = http://archlinux.mirror.kangaroot.net/$repo/os/$arch
+
+## Bosnia and Herzegovina
+#Server = http://archlinux.mirror.ba/$repo/os/$arch
+
+## Brazil
+#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://pet.inf.ufsc.br/mirrors/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 = http://mirror.host.ag/archlinux/$repo/os/$arch
+#Server = https://mirrors.itbox.bg/archlinux/$repo/os/$arch
+#Server = http://mirrors.netix.net/archlinux/$repo/os/$arch
+#Server = http://mirrors.uni-plovdiv.net/archlinux/$repo/os/$arch
+#Server = https://mirrors.uni-plovdiv.net/archlinux/$repo/os/$arch
+
+## Canada
+#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://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://archlinux.olanfa.rocks/$repo/os/$arch
+#Server = https://archlinux.olanfa.rocks/$repo/os/$arch
+#Server = http://archlinux.mirror.rafal.ca/$repo/os/$arch
+#Server = http://mirror.sergal.org/archlinux/$repo/os/$arch
+#Server = https://mirror.sergal.org/archlinux/$repo/os/$arch
+
+## Chile
+#Server = http://mirror.archlinux.cl/$repo/os/$arch
+
+## China
+#Server = http://mirrors.163.com/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.shu.edu.cn/archlinux/$repo/os/$arch
+#Server = https://mirrors.shu.edu.cn/archlinux/$repo/os/$arch
+#Server = https://mirrors.shu6.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.xjtu.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
+#Server = http://mirror.upb.edu.co/archlinux/$repo/os/$arch
+#Server = http://mirror.venturasystems.tech/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 = 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://ftp.klid.dk/ftp/archlinux/$repo/os/$arch
+#Server = http://mirror.one.com/archlinux/$repo/os/$arch
+#Server = https://mirror.one.com/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
+
+## Finland
+#Server = http://arch.mirror.far.fi/$repo/os/$arch
+#Server = https://mirror.srv.fail/archlinux/$repo/os/$arch
+
+## France
+#Server = http://archlinux.de-labrusse.fr/$repo/os/$arch
+#Server = http://mirror.archlinux.ikoula.com/archlinux/$repo/os/$arch
+#Server = http://archlinux.vi-di.fr/$repo/os/$arch
+#Server = https://archlinux.vi-di.fr/$repo/os/$arch
+#Server = http://mirror.armbrust.me/archlinux/$repo/os/$arch
+#Server = https://mirror.armbrust.me/archlinux/$repo/os/$arch
+#Server = http://mirrors.arnoldthebat.co.uk/archlinux/$repo/os/$arch
+#Server = https://mirrors.arnoldthebat.co.uk/archlinux/$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://mirror.ibcp.fr/pub/archlinux/$repo/os/$arch
+#Server = http://mirror.lastmikoi.net/archlinux/$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://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch
+#Server = http://mirrors.phx.ms/arch/$repo/os/$arch
+#Server = https://mirrors.phx.ms/arch/$repo/os/$arch
+#Server = http://archlinux.mirror.pkern.at/$repo/os/$arch
+#Server = https://archlinux.mirror.pkern.at/$repo/os/$arch
+#Server = http://archlinux.polymorf.fr/$repo/os/$arch
+#Server = http://mirrors.standaloneinstaller.com/archlinux/$repo/os/$arch
+#Server = http://arch.tamcore.eu/$repo/os/$arch
+#Server = https://mirror.thekinrar.fr/archlinux/$repo/os/$arch
+#Server = http://ftp.u-strasbg.fr/linux/distributions/archlinux/$repo/os/$arch
+#Server = http://mirror.oldsql.cc/archlinux/$repo/os/$arch
+#Server = https://mirror.oldsql.cc/archlinux/$repo/os/$arch
+#Server = https://mirror.wormhole.eu/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.23media.de/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.checkdomain.de/archlinux/$repo/os/$arch
+#Server = https://mirror.checkdomain.de/archlinux/$repo/os/$arch
+#Server = http://arch.eckner.net/archlinux/$repo/os/$arch
+#Server = https://arch.eckner.net/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://dist-mirror.fem.tu-ilmenau.de/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 = http://mirror.hactar.xyz/$repo/os/$arch
+#Server = https://mirror.hactar.xyz/$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://archlinux.mirror.iphh.net/$repo/os/$arch
+#Server = http://arch.jensgutermuth.de/$repo/os/$arch
+#Server = https://arch.jensgutermuth.de/$repo/os/$arch
+#Server = http://k42.ch/mirror/archlinux/$repo/os/$arch
+#Server = https://k42.ch/mirror/archlinux/$repo/os/$arch
+#Server = https://archlinux.layer8.fail/$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://mirror.metalgamer.eu/archlinux/$repo/os/$arch
+#Server = https://mirror.metalgamer.eu/archlinux/$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://archlinux.nullpointer.io/$repo/os/$arch
+#Server = https://archlinux.nullpointer.io/$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.pseudoform.org/$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.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://mirror.thomaskilian.net/archlinux/$repo/os/$arch
+#Server = https://mirror.thomaskilian.net/archlinux/$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://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 = http://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
+
+## Greece
+#Server = http://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/$arch
+#Server = http://foss.aueb.gr/mirrors/linux/archlinux/$repo/os/$arch
+#Server = https://foss.aueb.gr/mirrors/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 = http://mirror-hk.koddos.net/archlinux/$repo/os/$arch
+#Server = https://mirror-hk.koddos.net/archlinux/$repo/os/$arch
+#Server = http://mirrors.kurnode.com/archlinux/$repo/os/$arch
+#Server = https://mirrors.kurnode.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.energia.mta.hu/pub/mirrors/ftp.archlinux.org/$repo/os/$arch
+#Server = http://archmirror.hbit.sztaki.hu/archlinux/$repo/os/$arch
+#Server = http://quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch
+#Server = https://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 = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
+#Server = http://ftp.iitm.ac.in/archlinux/$repo/os/$arch
+#Server = https://ind.mirror.pkgbuild.com/$repo/os/$arch
+
+## Indonesia
+#Server = http://mirror.poliwangi.ac.id/archlinux/$repo/os/$arch
+#Server = http://suro.ubaya.ac.id/archlinux/$repo/os/$arch
+
+## Iran
+#Server = http://repo.iut.ac.ir/repo/archlinux/$repo/os/$arch
+#Server = http://repo.sadjad.ac.ir/arch/$repo/os/$arch
+#Server = https://repo.sadjad.ac.ir/arch/$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://archlinux.mivzakim.net/$repo/os/$arch
+
+## Italy
+#Server = https://archlinux.beccacervello.it/archlinux/$repo/os/$arch
+#Server = http://archlinux.mirror.garr.it/archlinux/$repo/os/$arch
+#Server = http://mirrors.prometeus.net/archlinux/$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
+#Server = https://jpn.mirror.pkgbuild.com/$repo/os/$arch
+
+## Kazakhstan
+#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
+
+## Lithuania
+#Server = http://mirrors.atviras.lt/archlinux/$repo/os/$arch
+#Server = https://mirrors.atviras.lt/archlinux/$repo/os/$arch
+
+## Luxembourg
+#Server = http://archlinux.mirror.root.lu/$repo/os/$arch
+
+## 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
+
+## Mexico
+#Server = https://mex.mirror.pkgbuild.com/$repo/os/$arch
+
+## Netherlands
+#Server = http://mirror.i3d.net/pub/archlinux/$repo/os/$arch
+#Server = https://mirror.i3d.net/pub/archlinux/$repo/os/$arch
+#Server = http://mirror.koddos.net/archlinux/$repo/os/$arch
+#Server = https://mirror.koddos.net/archlinux/$repo/os/$arch
+#Server = http://archmirror.lavatech.top/$repo/os/$arch
+#Server = https://archmirror.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://mirror.neostrada.nl/archlinux/$repo/os/$arch
+#Server = https://mirror.neostrada.nl/archlinux/$repo/os/$arch
+#Server = http://mirror.netrouting.net/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://ftp.snt.utwente.nl/pub/os/linux/archlinux/$repo/os/$arch
+#Server = http://archlinux.mirror.wearetriple.com/$repo/os/$arch
+#Server = https://archlinux.mirror.wearetriple.com/$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.fsmg.org.nz/archlinux/$repo/os/$arch
+#Server = https://mirror.fsmg.org.nz/archlinux/$repo/os/$arch
+#Server = http://mirror.smith.geek.nz/archlinux/$repo/os/$arch
+#Server = https://mirror.smith.geek.nz/archlinux/$repo/os/$arch
+#Server = https://arch.mirrors.theom.nz/$repo/os/$arch
+
+## Norway
+#Server = http://mirror.archlinux.no/$repo/os/$arch
+#Server = http://archlinux.uib.no/$repo/os/$arch
+#Server = http://mirror.homelab.no/archlinux/$repo/os/$arch
+#Server = https://mirror.homelab.no/archlinux/$repo/os/$arch
+#Server = http://mirror.neuf.no/archlinux/$repo/os/$arch
+#Server = https://mirror.neuf.no/archlinux/$repo/os/$arch
+
+## Paraguay
+#Server = http://archlinux.mirror.py/archlinux/$repo/os/$arch
+
+## Philippines
+#Server = http://mirror.rise.ph/archlinux/$repo/os/$arch
+
+## Poland
+#Server = http://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.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
+
+## Qatar
+#Server = http://mirror.qnren.qa/archlinux/$repo/os/$arch
+
+## Romania
+#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.aur.rocks/$repo/os/$arch
+#Server = https://mirror.aur.rocks/$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 = 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
+
+## 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 = https://sgp.mirror.pkgbuild.com/$repo/os/$arch
+#Server = http://mirror.nus.edu.sg/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
+
+## 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
+
+## South Korea
+#Server = http://ftp.kaist.ac.kr/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.premi.st/archlinux/$repo/os/$arch
+
+## Spain
+#Server = http://mirror.librelabucm.org/archlinux/$repo/os/$arch
+#Server = https://mirror.librelabucm.org/archlinux/$repo/os/$arch
+#Server = http://osl.ugr.es/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://archlinux.dynamict.se/$repo/os/$arch
+#Server = https://archlinux.dynamict.se/$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-sygroup.ch/archlinux/$repo/os/$arch
+#Server = https://pkg.adfinis-sygroup.ch/archlinux/$repo/os/$arch
+#Server = http://mirror.puzzle.ch/archlinux/$repo/os/$arch
+#Server = https://mirror.puzzle.ch/archlinux/$repo/os/$arch
+#Server = https://mirror.ungleich.ch/mirror/packages/archlinux/$repo/os/$arch
+
+## Taiwan
+#Server = http://archlinux.cs.nctu.edu.tw/$repo/os/$arch
+#Server = http://shadow.ind.ntou.edu.tw/archlinux/$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
+
+## Thailand
+#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://mirror.veriteknik.net.tr/archlinux/$repo/os/$arch
+
+## Ukraine
+#Server = http://archlinux.ip-connect.vn.ua/$repo/os/$arch
+#Server = https://archlinux.ip-connect.vn.ua/$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 = http://archlinux.mirrors.uk2.net/$repo/os/$arch
+Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$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 = http://mirrors.ukfast.co.uk/sites/archlinux.org/$repo/os/$arch
+Server = https://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch
+Server = http://arch.serverspace.co.uk/arch/$repo/os/$arch
+Server = https://mirror.bytemark.co.uk/archlinux/$repo/os/$arch
+Server = https://mirrors.ukfast.co.uk/sites/archlinux.org/$repo/os/$arch
+Server = http://mirrors.manchester.m247.com/arch-linux/$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://archlinux.surlyjake.com/archlinux/$repo/os/$arch
+#Server = https://archlinux.surlyjake.com/archlinux/$repo/os/$arch
+#Server = http://arlm.tyzoid.com/$repo/os/$arch
+#Server = https://arlm.tyzoid.com/$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://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://distro.ibiblio.org/archlinux/$repo/os/$arch
+#Server = http://mirror.es.its.nyu.edu/archlinux/$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.dc02.hackingand.coffee/arch/$repo/os/$arch
+#Server = http://mirror.hackingand.coffee/arch/$repo/os/$arch
+#Server = https://mirror.dc02.hackingand.coffee/arch/$repo/os/$arch
+#Server = https://mirror.hackingand.coffee/arch/$repo/os/$arch
+#Server = http://repo.ialab.dsu.edu/archlinux/$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.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.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://repo.miserver.it.umich.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://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
+#Server = http://arch.mirrors.pair.com/$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 = 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://mirrors.sorengard.com/archlinux/$repo/os/$arch
+#Server = https://mirrors.sorengard.com/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://mirror.umd.edu/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
+
+## Vietnam
+#Server = http://f.archlinuxvn.org/archlinux/$repo/os/$arch
+
diff --git a/mkosi/kodi/mkosi.extra/etc/systemd/system/kodi-x11.service b/mkosi/kodi/mkosi.extra/etc/systemd/system/kodi-x11.service
new file mode 100644 (file)
index 0000000..99e1ede
--- /dev/null
@@ -0,0 +1,21 @@
+[Unit]
+Description=Kodi standalone (X11)
+After=remote-fs.target systemd-user-sessions.service network-online.target nss-lookup.target sound.target bluetooth.target polkit.service upower.service mysqld.service
+Wants=network-online.target polkit.service upower.service
+Conflicts=getty@tty1.service
+
+[Service]
+User=kodi
+Group=kodi
+EnvironmentFile=-/etc/conf.d/kodi-standalone
+; PAMName=login
+TTYPath=/dev/tty1
+Environment=WINDOWING=x11
+ExecStart=/usr/bin/xinit /usr/bin/kodi-standalone -- :0 -quiet -nolisten tcp vt1
+ExecStop=/usr/bin/killall --user kodi --exact --wait kodi-x11
+Restart=on-abort
+StandardInput=tty
+StandardOutput=journal
+
+[Install]
+Alias=display-manager.service
diff --git a/mkosi/kodi/mkosi.extra/etc/sysusers.d/kodi.conf b/mkosi/kodi/mkosi.extra/etc/sysusers.d/kodi.conf
new file mode 100644 (file)
index 0000000..583c5b5
--- /dev/null
@@ -0,0 +1,9 @@
+# Use same id as host kodi user
+
+# Type Name ID GECOS Home directory Shell
+g kodi 973 -
+u kodi 973 "Kodi User" /var/lib/kodi
+
+# supplemental groups
+m kodi audio
+m kodi video
diff --git a/mkosi/kodi/mkosi.extra/etc/tmpfiles.d/kodi.conf b/mkosi/kodi/mkosi.extra/etc/tmpfiles.d/kodi.conf
new file mode 100644 (file)
index 0000000..a3d61ca
--- /dev/null
@@ -0,0 +1,3 @@
+# Type Path Mode User Group Age Argument
+d /var/lib/kodi 0750 kodi kodi - -
+Z /var/lib/kodi - kodi kodi - -
diff --git a/mkosi/kodi/mkosi.nspawn b/mkosi/kodi/mkosi.nspawn
new file mode 100644 (file)
index 0000000..09493bc
--- /dev/null
@@ -0,0 +1,21 @@
+[Exec]
+PrivateUsers=no
+Capability=all
+SystemCallFilter=@default @raw-io @system-service @known
+
+[Files]
+# binds host kodi home folder into nspawn
+Bind=/var/lib/kodi
+
+# device access
+Bind=/dev/bus/usb
+Bind=/dev/dri
+Bind=/dev/input
+Bind=/dev/lirc0
+Bind=/dev/tty0
+Bind=/dev/tty1
+Bind=/dev/vga_arbiter
+Bind=/lib/modules
+# pulse need to be started in system mode with the following module and option:
+# load-module module-native-protocol auth-authorize-anonymous
+BindReadOnly=/run/pulse
diff --git a/mkosi/kodi/mkosi.postinst b/mkosi/kodi/mkosi.postinst
new file mode 100755 (executable)
index 0000000..b65d166
--- /dev/null
@@ -0,0 +1,3 @@
+passwd -d root
+systemctl enable kodi-x11
+systemctl enable lircd