From c672c594dec1076c0f689f91ca6e80718bf7ba1b Mon Sep 17 00:00:00 2001 From: whoisYoges Date: Sun, 10 Jul 2022 13:16:57 +0545 Subject: [PATCH] (beta) iso build profile for metis --- base/Packages-Root | 6 + base/profile.conf | 17 + base/root-overlay/etc/default/grub | 53 ++ base/root-overlay/etc/fstab | 5 + base/root-overlay/etc/hostname | 1 + base/root-overlay/etc/hosts | 5 + base/root-overlay/etc/issue | 31 + base/root-overlay/etc/issue.live | 31 + base/root-overlay/etc/os-release | 10 + base/root-overlay/etc/pacman.conf | 120 ++++ .../root-overlay/etc/pacman.d/arch-mirrorlist | 614 ++++++++++++++++++ .../etc/pacman.d/metis-mirrorlist | 5 + base/root-overlay/etc/pacman.d/mirrorlist | 42 ++ base/root-overlay/etc/pam.d/su | 6 + .../etc/polkit-1/rules.d/90-live.rules | 8 + base/root-overlay/etc/sudoers.d/g_wheel | 1 + base/root-overlay/etc/sudoers.d/u_root | 1 + .../usr/local/bin/arch-mirrorlist | 21 + base/root-overlay/usr/local/bin/grub | 63 ++ base/root-overlay/usr/local/bin/init.vim | 146 +++++ .../usr/local/bin/metis-mirrorlist | 3 + .../root-overlay/usr/local/bin/metis-sideload | 200 ++++++ base/root-overlay/usr/local/bin/mirrorlist | 21 + base/root-overlay/usr/local/bin/os-release | 10 + base/root-overlay/usr/local/bin/pacman.conf | 119 ++++ base/root-overlay/usr/local/bin/picom.conf | 511 +++++++++++++++ .../usr/local/bin/post_install.sh | 168 +++++ base/root-overlay/usr/local/bin/xinitrc | 6 + base/root-overlay/usr/local/bin/zshrc | 76 +++ .../usr/share/grub/cfg/defaults.cfg | 10 + base/root-overlay/usr/share/grub/cfg/grub.cfg | 545 ++++++++++++++++ .../usr/share/grub/cfg/kernels.cfg | 40 ++ .../usr/share/grub/cfg/loopback.cfg | 1 + .../usr/share/grub/cfg/variable.cfg | 2 + base/root-overlay/usr/share/grub/locales/C_ | 9 + .../root-overlay/usr/share/grub/locales/be_BY | 9 + .../root-overlay/usr/share/grub/locales/bg_BG | 9 + .../root-overlay/usr/share/grub/locales/bs_BA | 9 + .../root-overlay/usr/share/grub/locales/cs_CZ | 9 + .../root-overlay/usr/share/grub/locales/da_DK | 9 + .../root-overlay/usr/share/grub/locales/de_AT | 9 + .../root-overlay/usr/share/grub/locales/de_BE | 9 + .../root-overlay/usr/share/grub/locales/de_CH | 9 + .../root-overlay/usr/share/grub/locales/de_DE | 9 + .../root-overlay/usr/share/grub/locales/de_LI | 9 + .../root-overlay/usr/share/grub/locales/de_LU | 9 + .../root-overlay/usr/share/grub/locales/el_CY | 9 + .../root-overlay/usr/share/grub/locales/el_GR | 9 + .../root-overlay/usr/share/grub/locales/en_AG | 9 + .../root-overlay/usr/share/grub/locales/en_AU | 9 + .../root-overlay/usr/share/grub/locales/en_BW | 9 + .../root-overlay/usr/share/grub/locales/en_CA | 9 + .../root-overlay/usr/share/grub/locales/en_DK | 9 + .../root-overlay/usr/share/grub/locales/en_HK | 9 + .../root-overlay/usr/share/grub/locales/en_IE | 9 + .../root-overlay/usr/share/grub/locales/en_IN | 9 + .../root-overlay/usr/share/grub/locales/en_NG | 9 + .../root-overlay/usr/share/grub/locales/en_NZ | 9 + .../root-overlay/usr/share/grub/locales/en_PH | 9 + .../root-overlay/usr/share/grub/locales/en_SG | 9 + .../root-overlay/usr/share/grub/locales/en_UK | 9 + .../root-overlay/usr/share/grub/locales/en_US | 9 + .../root-overlay/usr/share/grub/locales/en_ZA | 9 + .../root-overlay/usr/share/grub/locales/en_ZW | 9 + .../root-overlay/usr/share/grub/locales/es_AR | 9 + .../root-overlay/usr/share/grub/locales/es_BO | 9 + .../root-overlay/usr/share/grub/locales/es_CL | 9 + .../root-overlay/usr/share/grub/locales/es_CO | 9 + .../root-overlay/usr/share/grub/locales/es_CR | 9 + .../root-overlay/usr/share/grub/locales/es_DO | 9 + .../root-overlay/usr/share/grub/locales/es_EC | 9 + .../root-overlay/usr/share/grub/locales/es_ES | 9 + .../root-overlay/usr/share/grub/locales/es_GT | 9 + .../root-overlay/usr/share/grub/locales/es_HN | 9 + .../root-overlay/usr/share/grub/locales/es_MX | 9 + .../root-overlay/usr/share/grub/locales/es_NI | 9 + .../root-overlay/usr/share/grub/locales/es_PA | 9 + .../root-overlay/usr/share/grub/locales/es_PE | 9 + .../root-overlay/usr/share/grub/locales/es_PR | 9 + .../root-overlay/usr/share/grub/locales/es_PY | 9 + .../root-overlay/usr/share/grub/locales/es_SV | 9 + .../root-overlay/usr/share/grub/locales/es_US | 9 + .../root-overlay/usr/share/grub/locales/es_UY | 9 + .../root-overlay/usr/share/grub/locales/es_VE | 9 + .../root-overlay/usr/share/grub/locales/et_EE | 9 + .../root-overlay/usr/share/grub/locales/fi_FI | 9 + .../root-overlay/usr/share/grub/locales/fr_BE | 9 + .../root-overlay/usr/share/grub/locales/fr_CA | 9 + .../root-overlay/usr/share/grub/locales/fr_CH | 9 + .../root-overlay/usr/share/grub/locales/fr_FR | 9 + .../root-overlay/usr/share/grub/locales/fr_LU | 9 + .../root-overlay/usr/share/grub/locales/fr_NC | 9 + .../root-overlay/usr/share/grub/locales/ga_IE | 9 + .../root-overlay/usr/share/grub/locales/he_IL | 9 + .../root-overlay/usr/share/grub/locales/hr_HR | 9 + .../root-overlay/usr/share/grub/locales/hu_HU | 9 + .../root-overlay/usr/share/grub/locales/is_IS | 9 + .../root-overlay/usr/share/grub/locales/it_CH | 9 + .../root-overlay/usr/share/grub/locales/it_IT | 9 + .../root-overlay/usr/share/grub/locales/ja_JP | 9 + .../usr/share/grub/locales/keyboards | 6 + .../root-overlay/usr/share/grub/locales/ko_KR | 9 + .../root-overlay/usr/share/grub/locales/nb_NO | 9 + .../root-overlay/usr/share/grub/locales/nl_AW | 9 + .../root-overlay/usr/share/grub/locales/nl_BE | 9 + .../root-overlay/usr/share/grub/locales/nl_NL | 9 + .../root-overlay/usr/share/grub/locales/nn_NO | 9 + .../root-overlay/usr/share/grub/locales/pl_PL | 9 + .../root-overlay/usr/share/grub/locales/pt_BR | 9 + .../root-overlay/usr/share/grub/locales/pt_PT | 9 + .../root-overlay/usr/share/grub/locales/ro_RO | 9 + .../root-overlay/usr/share/grub/locales/ru_RU | 9 + .../root-overlay/usr/share/grub/locales/ru_UA | 9 + .../root-overlay/usr/share/grub/locales/se_FI | 9 + .../root-overlay/usr/share/grub/locales/se_NO | 9 + .../root-overlay/usr/share/grub/locales/se_SE | 9 + .../root-overlay/usr/share/grub/locales/sk_SK | 9 + .../root-overlay/usr/share/grub/locales/sl_SI | 9 + .../root-overlay/usr/share/grub/locales/sr_RS | 9 + .../root-overlay/usr/share/grub/locales/sv_FI | 9 + .../root-overlay/usr/share/grub/locales/sv_SE | 9 + .../root-overlay/usr/share/grub/locales/tr_CY | 9 + .../root-overlay/usr/share/grub/locales/tr_TR | 9 + .../root-overlay/usr/share/grub/locales/uk_UA | 9 + .../root-overlay/usr/share/grub/locales/zh_CN | 9 + .../root-overlay/usr/share/grub/locales/zh_HK | 9 + .../root-overlay/usr/share/grub/locales/zh_SG | 9 + .../root-overlay/usr/share/grub/locales/zh_TW | 9 + base/root-overlay/usr/share/grub/tz/Africa | 7 + base/root-overlay/usr/share/grub/tz/America | 7 + base/root-overlay/usr/share/grub/tz/Asia | 7 + base/root-overlay/usr/share/grub/tz/Atlantic | 7 + base/root-overlay/usr/share/grub/tz/Australia | 7 + base/root-overlay/usr/share/grub/tz/Etc | 7 + base/root-overlay/usr/share/grub/tz/Europe | 7 + base/root-overlay/usr/share/grub/tz/Pacific | 7 + 136 files changed, 3797 insertions(+) create mode 100644 base/Packages-Root create mode 100644 base/profile.conf create mode 100644 base/root-overlay/etc/default/grub create mode 100644 base/root-overlay/etc/fstab create mode 100644 base/root-overlay/etc/hostname create mode 100644 base/root-overlay/etc/hosts create mode 100644 base/root-overlay/etc/issue create mode 100644 base/root-overlay/etc/issue.live create mode 100644 base/root-overlay/etc/os-release create mode 100644 base/root-overlay/etc/pacman.conf create mode 100644 base/root-overlay/etc/pacman.d/arch-mirrorlist create mode 100644 base/root-overlay/etc/pacman.d/metis-mirrorlist create mode 100644 base/root-overlay/etc/pacman.d/mirrorlist create mode 100644 base/root-overlay/etc/pam.d/su create mode 100644 base/root-overlay/etc/polkit-1/rules.d/90-live.rules create mode 100644 base/root-overlay/etc/sudoers.d/g_wheel create mode 100644 base/root-overlay/etc/sudoers.d/u_root create mode 100644 base/root-overlay/usr/local/bin/arch-mirrorlist create mode 100644 base/root-overlay/usr/local/bin/grub create mode 100644 base/root-overlay/usr/local/bin/init.vim create mode 100644 base/root-overlay/usr/local/bin/metis-mirrorlist create mode 100755 base/root-overlay/usr/local/bin/metis-sideload create mode 100644 base/root-overlay/usr/local/bin/mirrorlist create mode 100644 base/root-overlay/usr/local/bin/os-release create mode 100644 base/root-overlay/usr/local/bin/pacman.conf create mode 100644 base/root-overlay/usr/local/bin/picom.conf create mode 100644 base/root-overlay/usr/local/bin/post_install.sh create mode 100644 base/root-overlay/usr/local/bin/xinitrc create mode 100644 base/root-overlay/usr/local/bin/zshrc create mode 100644 base/root-overlay/usr/share/grub/cfg/defaults.cfg create mode 100644 base/root-overlay/usr/share/grub/cfg/grub.cfg create mode 100644 base/root-overlay/usr/share/grub/cfg/kernels.cfg create mode 100644 base/root-overlay/usr/share/grub/cfg/loopback.cfg create mode 100644 base/root-overlay/usr/share/grub/cfg/variable.cfg create mode 100644 base/root-overlay/usr/share/grub/locales/C_ create mode 100644 base/root-overlay/usr/share/grub/locales/be_BY create mode 100644 base/root-overlay/usr/share/grub/locales/bg_BG create mode 100644 base/root-overlay/usr/share/grub/locales/bs_BA create mode 100644 base/root-overlay/usr/share/grub/locales/cs_CZ create mode 100644 base/root-overlay/usr/share/grub/locales/da_DK create mode 100644 base/root-overlay/usr/share/grub/locales/de_AT create mode 100644 base/root-overlay/usr/share/grub/locales/de_BE create mode 100644 base/root-overlay/usr/share/grub/locales/de_CH create mode 100644 base/root-overlay/usr/share/grub/locales/de_DE create mode 100644 base/root-overlay/usr/share/grub/locales/de_LI create mode 100644 base/root-overlay/usr/share/grub/locales/de_LU create mode 100644 base/root-overlay/usr/share/grub/locales/el_CY create mode 100644 base/root-overlay/usr/share/grub/locales/el_GR create mode 100644 base/root-overlay/usr/share/grub/locales/en_AG create mode 100644 base/root-overlay/usr/share/grub/locales/en_AU create mode 100644 base/root-overlay/usr/share/grub/locales/en_BW create mode 100644 base/root-overlay/usr/share/grub/locales/en_CA create mode 100644 base/root-overlay/usr/share/grub/locales/en_DK create mode 100644 base/root-overlay/usr/share/grub/locales/en_HK create mode 100644 base/root-overlay/usr/share/grub/locales/en_IE create mode 100644 base/root-overlay/usr/share/grub/locales/en_IN create mode 100644 base/root-overlay/usr/share/grub/locales/en_NG create mode 100644 base/root-overlay/usr/share/grub/locales/en_NZ create mode 100644 base/root-overlay/usr/share/grub/locales/en_PH create mode 100644 base/root-overlay/usr/share/grub/locales/en_SG create mode 100644 base/root-overlay/usr/share/grub/locales/en_UK create mode 100644 base/root-overlay/usr/share/grub/locales/en_US create mode 100644 base/root-overlay/usr/share/grub/locales/en_ZA create mode 100644 base/root-overlay/usr/share/grub/locales/en_ZW create mode 100644 base/root-overlay/usr/share/grub/locales/es_AR create mode 100644 base/root-overlay/usr/share/grub/locales/es_BO create mode 100644 base/root-overlay/usr/share/grub/locales/es_CL create mode 100644 base/root-overlay/usr/share/grub/locales/es_CO create mode 100644 base/root-overlay/usr/share/grub/locales/es_CR create mode 100644 base/root-overlay/usr/share/grub/locales/es_DO create mode 100644 base/root-overlay/usr/share/grub/locales/es_EC create mode 100644 base/root-overlay/usr/share/grub/locales/es_ES create mode 100644 base/root-overlay/usr/share/grub/locales/es_GT create mode 100644 base/root-overlay/usr/share/grub/locales/es_HN create mode 100644 base/root-overlay/usr/share/grub/locales/es_MX create mode 100644 base/root-overlay/usr/share/grub/locales/es_NI create mode 100644 base/root-overlay/usr/share/grub/locales/es_PA create mode 100644 base/root-overlay/usr/share/grub/locales/es_PE create mode 100644 base/root-overlay/usr/share/grub/locales/es_PR create mode 100644 base/root-overlay/usr/share/grub/locales/es_PY create mode 100644 base/root-overlay/usr/share/grub/locales/es_SV create mode 100644 base/root-overlay/usr/share/grub/locales/es_US create mode 100644 base/root-overlay/usr/share/grub/locales/es_UY create mode 100644 base/root-overlay/usr/share/grub/locales/es_VE create mode 100644 base/root-overlay/usr/share/grub/locales/et_EE create mode 100644 base/root-overlay/usr/share/grub/locales/fi_FI create mode 100644 base/root-overlay/usr/share/grub/locales/fr_BE create mode 100644 base/root-overlay/usr/share/grub/locales/fr_CA create mode 100644 base/root-overlay/usr/share/grub/locales/fr_CH create mode 100644 base/root-overlay/usr/share/grub/locales/fr_FR create mode 100644 base/root-overlay/usr/share/grub/locales/fr_LU create mode 100644 base/root-overlay/usr/share/grub/locales/fr_NC create mode 100644 base/root-overlay/usr/share/grub/locales/ga_IE create mode 100644 base/root-overlay/usr/share/grub/locales/he_IL create mode 100644 base/root-overlay/usr/share/grub/locales/hr_HR create mode 100644 base/root-overlay/usr/share/grub/locales/hu_HU create mode 100644 base/root-overlay/usr/share/grub/locales/is_IS create mode 100644 base/root-overlay/usr/share/grub/locales/it_CH create mode 100644 base/root-overlay/usr/share/grub/locales/it_IT create mode 100644 base/root-overlay/usr/share/grub/locales/ja_JP create mode 100644 base/root-overlay/usr/share/grub/locales/keyboards create mode 100644 base/root-overlay/usr/share/grub/locales/ko_KR create mode 100644 base/root-overlay/usr/share/grub/locales/nb_NO create mode 100644 base/root-overlay/usr/share/grub/locales/nl_AW create mode 100644 base/root-overlay/usr/share/grub/locales/nl_BE create mode 100644 base/root-overlay/usr/share/grub/locales/nl_NL create mode 100644 base/root-overlay/usr/share/grub/locales/nn_NO create mode 100644 base/root-overlay/usr/share/grub/locales/pl_PL create mode 100644 base/root-overlay/usr/share/grub/locales/pt_BR create mode 100644 base/root-overlay/usr/share/grub/locales/pt_PT create mode 100644 base/root-overlay/usr/share/grub/locales/ro_RO create mode 100644 base/root-overlay/usr/share/grub/locales/ru_RU create mode 100644 base/root-overlay/usr/share/grub/locales/ru_UA create mode 100644 base/root-overlay/usr/share/grub/locales/se_FI create mode 100644 base/root-overlay/usr/share/grub/locales/se_NO create mode 100644 base/root-overlay/usr/share/grub/locales/se_SE create mode 100644 base/root-overlay/usr/share/grub/locales/sk_SK create mode 100644 base/root-overlay/usr/share/grub/locales/sl_SI create mode 100644 base/root-overlay/usr/share/grub/locales/sr_RS create mode 100644 base/root-overlay/usr/share/grub/locales/sv_FI create mode 100644 base/root-overlay/usr/share/grub/locales/sv_SE create mode 100644 base/root-overlay/usr/share/grub/locales/tr_CY create mode 100644 base/root-overlay/usr/share/grub/locales/tr_TR create mode 100644 base/root-overlay/usr/share/grub/locales/uk_UA create mode 100644 base/root-overlay/usr/share/grub/locales/zh_CN create mode 100644 base/root-overlay/usr/share/grub/locales/zh_HK create mode 100644 base/root-overlay/usr/share/grub/locales/zh_SG create mode 100644 base/root-overlay/usr/share/grub/locales/zh_TW create mode 100644 base/root-overlay/usr/share/grub/tz/Africa create mode 100644 base/root-overlay/usr/share/grub/tz/America create mode 100644 base/root-overlay/usr/share/grub/tz/Asia create mode 100644 base/root-overlay/usr/share/grub/tz/Atlantic create mode 100644 base/root-overlay/usr/share/grub/tz/Australia create mode 100644 base/root-overlay/usr/share/grub/tz/Etc create mode 100644 base/root-overlay/usr/share/grub/tz/Europe create mode 100644 base/root-overlay/usr/share/grub/tz/Pacific diff --git a/base/Packages-Root b/base/Packages-Root new file mode 100644 index 0000000..13cd53f --- /dev/null +++ b/base/Packages-Root @@ -0,0 +1,6 @@ +# loads by default common/packages-{base,apps} + +mkinitcpio-nfs-utils +squashfs-tools +grub +artix-live-@initsys@ diff --git a/base/profile.conf b/base/profile.conf new file mode 100644 index 0000000..2e0efa8 --- /dev/null +++ b/base/profile.conf @@ -0,0 +1,17 @@ +################ install ################ + +# start services +# bluetoothd, cupsd, DM are added to the pkglist dynamicly +# metalog or syslog-ng is added to the pkglist dynamicly +# connmand or NetworkManager is added to the pkglist dynamicly +# only added if in array, these pkgs have no list entry + +SERVICES=('acpid' 'cronie' 'metalog' 'NetworkManager') + +################# live-session ################# + +# default value +PASSWORD="metis" + +# Set to false to disable autologin in the live session +AUTOLOGIN="false" diff --git a/base/root-overlay/etc/default/grub b/base/root-overlay/etc/default/grub new file mode 100644 index 0000000..fccbc78 --- /dev/null +++ b/base/root-overlay/etc/default/grub @@ -0,0 +1,53 @@ +GRUB_DEFAULT="0" +GRUB_TIMEOUT="3" +GRUB_DISTRIBUTOR="Metis" +GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" +GRUB_CMDLINE_LINUX="net.ifnames=0" + +# Preload both GPT and MBR modules so that they are not missed +GRUB_PRELOAD_MODULES="part_gpt part_msdos" + +# Uncomment to enable Hidden Menu, and optionally hide the timeout count +#GRUB_HIDDEN_TIMEOUT="5" +#GRUB_HIDDEN_TIMEOUT_QUIET="true" + +# Uncomment to use basic console +GRUB_TERMINAL_INPUT="console" + +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT="console" + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +#GRUB_GFXMODE="1680x1050x8" +GRUB_GFXMODE="1024x768,800x600" + +# Uncomment to allow the kernel use the same resolution used by grub +GRUB_GFXPAYLOAD_LINUX="keep" + +# Uncomment if you want GRUB to pass to the Linux kernel the old parameter +# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" +#GRUB_DISABLE_LINUX_UUID="true" + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY="true" + +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +export GRUB_COLOR_NORMAL="light-blue/black" +export GRUB_COLOR_HIGHLIGHT="light-cyan/blue" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +#GRUB_BACKGROUND="/path/to/wallpaper" +# GRUB_THEME="/usr/share/grub/themes/artix/theme.txt" + +# Uncomment to get a beep at GRUB start +#GRUB_INIT_TUNE="480 440 1" + +GRUB_SAVEDEFAULT="true" + +GRUB_DISABLE_LINUX_RECOVERY="true" + +# Probe for other installed operating systems +GRUB_DISABLE_OS_PROBER="false" diff --git a/base/root-overlay/etc/fstab b/base/root-overlay/etc/fstab new file mode 100644 index 0000000..53133c2 --- /dev/null +++ b/base/root-overlay/etc/fstab @@ -0,0 +1,5 @@ +# +# /etc/fstab: static file system information +# +# +/dev/mapper/rootfs / auto defaults 0 0 diff --git a/base/root-overlay/etc/hostname b/base/root-overlay/etc/hostname new file mode 100644 index 0000000..1d0df47 --- /dev/null +++ b/base/root-overlay/etc/hostname @@ -0,0 +1 @@ +metislive \ No newline at end of file diff --git a/base/root-overlay/etc/hosts b/base/root-overlay/etc/hosts new file mode 100644 index 0000000..03afb31 --- /dev/null +++ b/base/root-overlay/etc/hosts @@ -0,0 +1,5 @@ +# Static table lookup for hostnames. +# See hosts(5) for details. +127.0.0.1 localhost +::1 localhost +127.0.1.1 metislive.localdomain metislive diff --git a/base/root-overlay/etc/issue b/base/root-overlay/etc/issue new file mode 100644 index 0000000..d461ae5 --- /dev/null +++ b/base/root-overlay/etc/issue @@ -0,0 +1,31 @@ + + +Metis Live ISO (\l) - \s-\r \m + + \e[0m# Welcome to Metis Linux # +\e[34m + .... + . :::: . + .-::-.. + .----.. + . -- . + ... ... + .:::: ::::. + :::::::::::: + ::.::::::::::.:: + :::::::::::::::::: + :---::::::::::::---: + -----::: ::::.:::----- + .-------- .-- .-------- + .=-------: -- ---------. + :=--------: :: :---------. + :=------::.. ..::-------. + ----:. .:---. + -:. .:-:\e[0m + + Login Crdientials: + + \e[34muser\e[0m \e[1m\e[36mroot\e[0m + \e[34mpassword\e[0m \e[1m\e[36mmetis\e[0m + + To launch the installer login and run: \e[1m\e[metis-sideload\e[0m diff --git a/base/root-overlay/etc/issue.live b/base/root-overlay/etc/issue.live new file mode 100644 index 0000000..3a7077b --- /dev/null +++ b/base/root-overlay/etc/issue.live @@ -0,0 +1,31 @@ + + +Metis Live ISO (\l) - \s-\r \m + + \e[0m# Welcome to Metis Linux # +\e[34m + .... + . :::: . + .-::-.. + .----.. + . -- . + ... ... + .:::: ::::. + :::::::::::: + ::.::::::::::.:: + :::::::::::::::::: + :---::::::::::::---: + -----::: ::::.:::----- + .-------- .-- .-------- + .=-------: -- ---------. + :=--------: :: :---------. + :=------::.. ..::-------. + ----:. .:---. + -:. .:-:\e[0m + + Login Crdientials: + + \e[34muser\e[0m \e[1m\e[36mroot\e[0m + \e[34mpassword\e[0m \e[1m\e[36mmetis\e[0m + + To launch the installer login and run: \e[1m\e[36mmetis-sideload\e[0m diff --git a/base/root-overlay/etc/os-release b/base/root-overlay/etc/os-release new file mode 100644 index 0000000..49ee047 --- /dev/null +++ b/base/root-overlay/etc/os-release @@ -0,0 +1,10 @@ +NAME="Metis Linux" +PRETTY_NAME="Metis Linux" +ID=metis +BUILD_ID=rolling +ANSI_COLOR="0;36" +HOME_URL="https://metislinux.org/" +DOCUMENTATION_URL="https://wiki.metislinux.org/" +SUPPORT_URL="https://t.me/metislinux" +BUG_REPORT_URL="https://github.com/metis-os" +LOGO=metislinux \ No newline at end of file diff --git a/base/root-overlay/etc/pacman.conf b/base/root-overlay/etc/pacman.conf new file mode 100644 index 0000000..d62269e --- /dev/null +++ b/base/root-overlay/etc/pacman.conf @@ -0,0 +1,120 @@ +# +# /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 = audacity +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#NoProgressBar +Color +# CheckSpace +ILoveCandy +VerbosePkgLists +ParallelDownloads = 15 + +# 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 Artix Linux +# packagers with `pacman-key --populate artix`. + +# +# 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. +# + +### METIS LINUX REPOS +[metis] +SigLevel = Optional TrustAll +Include = /etc/pacman.d/metis-mirrorlist + +### ARTIX LINUX REPOS + +# The gremlins 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. + +#[gremlins] +#Include = /etc/pacman.d/mirrorlist + +[system] +Include = /etc/pacman.d/mirrorlist + +[world] +Include = /etc/pacman.d/mirrorlist + +#[galaxy-gremlins] +#Include = /etc/pacman.d/mirrorlist + +[galaxy] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the lib32 repositories as required here. + +#[lib32-gremlins] +#Include = /etc/pacman.d/mirrorlist + +#[lib32] +#Include = /etc/pacman.d/mirrorlist + +### ARCH LINUX REPOS +## Be careful enabling arch liux core repos as it contains many systemd dependent packages which we don't use. + +# [core] +# Include = /etc/pacman.d/arch-mirrorlist + +[extra] +Include = /etc/pacman.d/arch-mirrorlist + +[community] +Include = /etc/pacman.d/arch-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 diff --git a/base/root-overlay/etc/pacman.d/arch-mirrorlist b/base/root-overlay/etc/pacman.d/arch-mirrorlist new file mode 100644 index 0000000..2b0cc31 --- /dev/null +++ b/base/root-overlay/etc/pacman.d/arch-mirrorlist @@ -0,0 +1,614 @@ +### List of archlinux fast servers +Server = http://arch.lucassymons.net/$repo/os/$arch +Server = http://mirroir.labhouse.fr/arch/$repo/os/$arch +Server = http://mirror.metalgamer.eu/archlinux/$repo/os/$arch +Server = http://arch.yourlabs.org/$repo/os/$arch +Server = http://ftp.linux.org.tr/archlinux/$repo/os/$arch +Server = http://mirror.redrock.team/archlinux/$repo/os/$arch +Server = http://archlinux.uib.no/$repo/os/$arch +Server = http://archlinux.cu.be/$repo/os/$arch +Server = http://mirror.nw-sys.ru/archlinux/$repo/os/$arch +Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/$arch +Server = http://mirror.tiguinet.net/arch/$repo/os/$arch +Server = http://arch.softver.org.mk/archlinux/$repo/os/$arch +Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch +Server = http://mirroir.wptheme.fr/archlinux/$repo/os/$arch +Server = http://mirror.onet.pl/pub/mirrors/archlinux/$repo/os/$arch +Server = http://ftp.ek-cer.hu/pub/mirrors/ftp.archlinux.org/$repo/os/$arch +Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch +Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirror.vpsfree.cz/archlinux/$repo/os/$arch +Server = https://mirror.redrock.team/archlinux/$repo/os/$arch +Server = http://mirror.ibcp.fr/pub/archlinux/$repo/os/$arch +Server = http://mirror.archlinux.ikoula.com/archlinux/$repo/os/$arch +Server = http://ftp.uni-hannover.de/archlinux/$repo/os/$arch +Server = http://mirror.efect.ro/archlinux/$repo/os/$arch +Server = http://mirror.ufscar.br/archlinux/$repo/os/$arch +Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch +Server = http://arch.hu.fo/archlinux/$repo/os/$arch +Server = http://arch.jensgutermuth.de/$repo/os/$arch +Server = http://arch.midov.pl/arch/$repo/os/$arch +Server = http://arch.mirror.constant.com/$repo/os/$arch +Server = http://arch.mirror.far.fi/$repo/os/$arch +Server = http://arch.mirror.zachlge.org/$repo/os/$arch +Server = http://arch.mirrors.lavatech.top/$repo/os/$arch +Server = http://arch.mithril.re/$repo/os/$arch +Server = http://arch.nimukaito.net/$repo/os/$arch +Server = http://arch.tux.si/mirror/$repo/os/$arch +Server = http://arch.yhtez.xyz/$repo/os/$arch +Server = http://archimonde.ts.si/archlinux/$repo/os/$arch +Server = http://archlinux.astra.in.ua/$repo/os/$arch +Server = http://archlinux.c3sl.ufpr.br/$repo/os/$arch +Server = http://archlinux.ccns.ncku.edu.tw/archlinux/$repo/os/$arch +Server = http://archlinux.cs.nycu.edu.tw/$repo/os/$arch +Server = http://archlinux.datagr.am/$repo/os/$arch +Server = http://archlinux.grena.ge/$repo/os/$arch +Server = http://archlinux.honkgong.info/$repo/os/$arch +Server = http://archlinux.ip-connect.vn.ua/$repo/os/$arch +Server = http://archlinux.iskon.hr/$repo/os/$arch +Server = http://archlinux.koyanet.lv/archlinux/$repo/os/$arch +Server = http://archlinux.mailtunnel.eu/$repo/os/$arch +Server = http://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch +Server = http://archlinux.mirror.iphh.net/$repo/os/$arch +Server = http://archlinux.mirror.kangaroot.net/$repo/os/$arch +Server = http://archlinux.mirror.liquidtelecom.com/$repo/os/$arch +Server = http://archlinux.mirror.liteserver.nl/$repo/os/$arch +Server = http://archlinux.mirror.luzea.de/$repo/os/$arch +Server = http://archlinux.mirror.pcextreme.nl/$repo/os/$arch +Server = http://archlinux.mirror.rafal.ca/$repo/os/$arch +Server = http://archlinux.mirror.root.lu/$repo/os/$arch +Server = http://archlinux.mirror.server24.net/$repo/os/$arch +Server = http://archlinux.mirror.wearetriple.com/$repo/os/$arch +Server = http://archlinux.mirrors.linux.ro/$repo/os/$arch +Server = http://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch +Server = http://archlinux.nautile.nc/archlinux/$repo/os/$arch +Server = http://archlinux.polymorf.fr/$repo/os/$arch +Server = http://archlinux.pop-es.rnp.br/$repo/os/$arch +Server = http://archlinux.qern-industries.pw/$repo/os/$arch +Server = http://archlinux.qontinuum.space/archlinux/$repo/os/$arch +Server = http://archlinux.rezopole.net/$repo/os/$arch +Server = http://archlinux.thaller.ws/$repo/os/$arch +Server = http://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch +Server = http://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch +Server = http://archmirror.hbit.sztaki.hu/archlinux/$repo/os/$arch +Server = http://archmirror1.octyl.net/$repo/os/$arch +Server = http://arlm.tyzoid.com/$repo/os/$arch +Server = http://artfiles.org/archlinux.org/$repo/os/$arch +Server = http://br.mirror.archlinux-br.org/$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://depo.turkiye.linux.web.tr/archlinux/$repo/os/$arch +Server = http://dfw.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = http://distro.ibiblio.org/archlinux/$repo/os/$arch +Server = http://fastmirror.pp.ua/archlinux/$repo/os/$arch +Server = http://free.nchc.org.tw/arch/$repo/os/$arch +Server = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch +Server = http://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch +Server = http://ftp.agdsn.de/pub/mirrors/archlinux/$repo/os/$arch +Server = http://ftp.byfly.by/pub/archlinux/$repo/os/$arch +Server = http://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/$arch +Server = http://ftp.fau.de/archlinux/$repo/os/$arch +Server = http://ftp.fi.muni.cz/pub/linux/arch/$repo/os/$arch +Server = http://ftp.gwdg.de/pub/linux/archlinux/$repo/os/$arch +Server = http://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch +Server = http://ftp.harukasan.org/archlinux/$repo/os/$arch +Server = http://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/$arch +Server = http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch +Server = http://ftp.icm.edu.pl/pub/Linux/dist/archlinux/$repo/os/$arch +Server = http://ftp.iinet.net.au/pub/archlinux/$repo/os/$arch +Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch +Server = http://ftp.lanet.kr/pub/archlinux/$repo/os/$arch +Server = http://ftp.linux.cz/pub/linux/arch/$repo/os/$arch +Server = http://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch +Server = http://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch +Server = http://ftp.nluug.nl/os/Linux/distr/archlinux/$repo/os/$arch +Server = http://ftp.ntua.gr/pub/linux/archlinux/$repo/os/$arch +Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch +Server = http://ftp.otenet.gr/linux/archlinux/$repo/os/$arch +Server = http://ftp.psnc.pl/linux/archlinux/$repo/os/$arch +Server = http://ftp.rediris.es/mirror/archlinux/$repo/os/$arch +Server = http://ftp.rnl.tecnico.ulisboa.pt/pub/archlinux/$repo/os/$arch +Server = http://ftp.sh.cvut.cz/arch/$repo/os/$arch +Server = http://ftp.snt.utwente.nl/pub/os/linux/archlinux/$repo/os/$arch +Server = http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch +Server = http://ftp.swin.edu.au/archlinux/$repo/os/$arch +Server = http://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/$arch +Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch +Server = http://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch +Server = http://ftp.u-strasbg.fr/linux/distributions/archlinux/$repo/os/$arch +Server = http://ftp.uni-bayreuth.de/linux/archlinux/$repo/os/$arch +Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch +Server = http://ftp.vectranet.pl/archlinux/$repo/os/$arch +Server = http://ftp.wrz.de/pub/archlinux/$repo/os/$arch +Server = http://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch +Server = http://glua.ua.pt/pub/archlinux/$repo/os/$arch +Server = http://gluttony.sin.cvut.cz/arch/$repo/os/$arch +Server = http://hkg.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = http://iad.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = http://iad.mirrors.misaka.one/archlinux/$repo/os/$arch +Server = http://il.us.mirror.archlinux-br.org/$repo/os/$arch +Server = http://in-mirror.garudalinux.org/archlinux/$repo/os/$arch +Server = http://kebo.pens.ac.id/archlinux/$repo/os/$arch +Server = http://linorg.usp.br/archlinux/$repo/os/$arch +Server = http://linux.rz.rub.de/archlinux/$repo/os/$arch +Server = http://lon.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = http://mir.archlinux.fr/$repo/os/$arch +Server = http://mirror-hk.koddos.net/archlinux/$repo/os/$arch +Server = http://mirror.0xem.ma/arch/$repo/os/$arch +Server = http://mirror.23m.com/archlinux/$repo/os/$arch +Server = http://mirror.2degrees.nz/archlinux/$repo/os/$arch +Server = http://mirror.aktkn.sg/archlinux/$repo/os/$arch +Server = http://mirror.alwyzon.net/archlinux/$repo/os/$arch +Server = http://mirror.ams1.nl.leaseweb.net/archlinux/$repo/os/$arch +Server = http://mirror.anigil.com/archlinux/$repo/os/$arch +Server = http://mirror.anquan.cl/archlinux/$repo/os/$arch +Server = http://mirror.archlinux.cl/$repo/os/$arch +Server = http://mirror.archlinux.no/$repo/os/$arch +Server = http://mirror.archlinux.tw/ArchLinux/$repo/os/$arch +Server = http://mirror.arizona.edu/archlinux/$repo/os/$arch +Server = http://mirror.arvancloud.com/archlinux/$repo/os/$arch +Server = http://mirror.bardia.tech/archlinux/$repo/os/$arch +Server = http://mirror.bizflycloud.vn/archlinux/$repo/os/$arch +Server = http://mirror.bytemark.co.uk/archlinux/$repo/os/$arch +Server = http://mirror.cedia.org.ec/archlinux/$repo/os/$arch +Server = http://mirror.cedille.club/archlinux/$repo/os/$arch +Server = http://mirror.chaoticum.net/arch/$repo/os/$arch +Server = http://mirror.checkdomain.de/archlinux/$repo/os/$arch +Server = http://mirror.cj2.nl/archlinux/$repo/os/$arch +Server = http://mirror.clarkson.edu/archlinux/$repo/os/$arch +Server = http://mirror.clientvps.com/archlinux/$repo/os/$arch +Server = http://mirror.cloudweeb.com/archlinux/$repo/os/$arch +Server = http://mirror.cov.ukservers.com/archlinux/$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.csclub.uwaterloo.ca/archlinux/$repo/os/$arch +Server = http://mirror.cspacehostings.com/archlinux/$repo/os/$arch +Server = http://mirror.cyberbits.eu/archlinux/$repo/os/$arch +Server = http://mirror.datacenter.by/pub/archlinux/$repo/os/$arch +Server = http://mirror.dc.uz/arch/$repo/os/$arch +Server = http://mirror.digitalnova.at/archlinux/$repo/os/$arch +Server = http://mirror.dkm.cz/archlinux/$repo/os/$arch +Server = http://mirror.easyname.at/archlinux/$repo/os/$arch +Server = http://mirror.ette.biz/archlinux/$repo/os/$arch +Server = http://mirror.f4st.host/archlinux/$repo/os/$arch +Server = http://mirror.faizuladib.com/archlinux/$repo/os/$arch +Server = http://mirror.fcix.net/archlinux/$repo/os/$arch +Server = http://mirror.flokinet.net/archlinux/$repo/os/$arch +Server = http://mirror.fra10.de.leaseweb.net/archlinux/$repo/os/$arch +Server = http://mirror.fsmg.org.nz/archlinux/$repo/os/$arch +Server = http://mirror.fsrv.services/archlinux/$repo/os/$arch +Server = http://mirror.funami.tech/arch/$repo/os/$arch +Server = http://mirror.guillaumea.fr/archlinux/$repo/os/$arch +Server = http://mirror.hackingand.coffee/arch/$repo/os/$arch +Server = http://mirror.host.ag/archlinux/$repo/os/$arch +Server = http://mirror.hosthink.net/archlinux/$repo/os/$arch +Server = http://mirror.hostiran.ir/archlinux/$repo/os/$arch +Server = http://mirror.ihost.md/archlinux/$repo/os/$arch +Server = http://mirror.informatik.tu-freiberg.de/arch/$repo/os/$arch +Server = http://mirror.init7.net/archlinux/$repo/os/$arch +Server = http://mirror.internode.on.net/pub/archlinux/$repo/os/$arch +Server = http://mirror.is.co.za/mirror/archlinux.org/$repo/os/$arch +Server = http://mirror.its.dal.ca/archlinux/$repo/os/$arch +Server = http://mirror.jaime.sh/archlinux/$repo/os/$arch +Server = http://mirror.jingk.ai/archlinux/$repo/os/$arch +Server = http://mirror.juniorjpdj.pl/archlinux/$repo/os/$arch +Server = http://mirror.kamtv.ru/archlinux/$repo/os/$arch +Server = http://mirror.kku.ac.th/archlinux/$repo/os/$arch +Server = http://mirror.koddos.net/archlinux/$repo/os/$arch +Server = http://mirror.kumi.systems/archlinux/$repo/os/$arch +Server = http://mirror.labkom.id/archlinux/$repo/os/$arch +Server = http://mirror.lagoon.nc/pub/archlinux/$repo/os/$arch +Server = http://mirror.lastmikoi.net/archlinux/$repo/os/$arch +Server = http://mirror.librelabucm.org/archlinux/$repo/os/$arch +Server = http://mirror.lnx.sk/pub/linux/archlinux/$repo/os/$arch +Server = http://mirror.lty.me/archlinux/$repo/os/$arch +Server = http://mirror.lyrahosting.com/archlinux/$repo/os/$arch +Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirror.mangohost.net/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.mijn.host/archlinux/$repo/os/$arch +Server = http://mirror.mikrogravitation.org/archlinux/$repo/os/$arch +Server = http://mirror.mirohost.net/archlinux/$repo/os/$arch +Server = http://mirror.misakamikoto.network/archlinux/$repo/os/$arch +Server = http://mirror.moson.org/arch/$repo/os/$arch +Server = http://mirror.netcologne.de/archlinux/$repo/os/$arch +Server = http://mirror.netweaver.uk/archlinux/$repo/os/$arch +Server = http://mirror.neuf.no/archlinux/$repo/os/$arch +Server = http://mirror.one.com/archlinux/$repo/os/$arch +Server = http://mirror.onevip.mk/archlinux/$repo/os/$arch +Server = http://mirror.pagenotfound.de/archlinux/$repo/os/$arch +Server = http://mirror.phx1.us.spryservers.net/archlinux/$repo/os/$arch +Server = http://mirror.pit.teraswitch.com/archlinux/$repo/os/$arch +Server = http://mirror.pmf.kg.ac.rs/archlinux/$repo/os/$arch +Server = http://mirror.powerfly.ca/archlinux/$repo/os/$arch +Server = http://mirror.premi.st/archlinux/$repo/os/$arch +Server = http://mirror.ps.kz/archlinux/$repo/os/$arch +Server = http://mirror.puzzle.ch/archlinux/$repo/os/$arch +Server = http://mirror.rackspace.com/archlinux/$repo/os/$arch +Server = http://mirror.repository.id/archlinux/$repo/os/$arch +Server = http://mirror.sabay.com.kh/archlinux/$repo/os/$arch +Server = http://mirror.sahil.world/archlinux/$repo/os/$arch +Server = http://mirror.scd31.com/arch/$repo/os/$arch +Server = http://mirror.selfnet.de/archlinux/$repo/os/$arch +Server = http://mirror.sergal.org/archlinux/$repo/os/$arch +Server = http://mirror.serverion.com/archlinux/$repo/os/$arch +Server = http://mirror.sfo12.us.leaseweb.net/archlinux/$repo/os/$arch +Server = http://mirror.sg.gs/archlinux/$repo/os/$arch +Server = http://mirror.siena.edu/archlinux/$repo/os/$arch +Server = http://mirror.stephen304.com/archlinux/$repo/os/$arch +Server = http://mirror.surf/archlinux/$repo/os/$arch +Server = http://mirror.system.is/arch/$repo/os/$arch +Server = http://mirror.t-home.mk/archlinux/$repo/os/$arch +Server = http://mirror.telepoint.bg/archlinux/$repo/os/$arch +Server = http://mirror.telkomuniversity.ac.id/archlinux/$repo/os/$arch +Server = http://mirror.terrahost.no/linux/archlinux/$repo/os/$arch +Server = http://mirror.theo546.fr/archlinux/$repo/os/$arch +Server = http://mirror.truenetwork.ru/archlinux/$repo/os/$arch +Server = http://mirror.ubrco.de/archlinux/$repo/os/$arch +Server = http://mirror.ufam.edu.br/archlinux/$repo/os/$arch +Server = http://mirror.ufro.cl/archlinux/$repo/os/$arch +Server = http://mirror.umd.edu/archlinux/$repo/os/$arch +Server = http://mirror.united-gameserver.de/archlinux/$repo/os/$arch +Server = http://mirror.uta.edu.ec/archlinux/$repo/os/$arch +Server = http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch +Server = http://mirror.wdc1.us.leaseweb.net/archlinux/$repo/os/$arch +Server = http://mirror.wtnet.de/archlinux/$repo/os/$arch +Server = http://mirror.wuki.li/archlinux/$repo/os/$arch +Server = http://mirror.xenyth.net/archlinux/$repo/os/$arch +Server = http://mirror.xeonbd.com/archlinux/$repo/os/$arch +Server = http://mirror.xtom.com.hk/archlinux/$repo/os/$arch +Server = http://mirror2.evolution-host.com/archlinux/$repo/os/$arch +Server = http://mirror2.totbb.net/archlinux/$repo/os/$arch +Server = http://mirrors.163.com/archlinux/$repo/os/$arch +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://mirrors.aliyun.com/archlinux/$repo/os/$arch +Server = http://mirrors.atviras.lt/archlinux/$repo/os/$arch +Server = http://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.bloomu.edu/archlinux/$repo/os/$arch +Server = http://mirrors.cat.net/archlinux/$repo/os/$arch +Server = http://mirrors.cat.pdx.edu/archlinux/$repo/os/$arch +Server = http://mirrors.celianvdb.fr/archlinux/$repo/os/$arch +Server = http://mirrors.chroot.ro/archlinux/$repo/os/$arch +Server = http://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.dotsrc.org/archlinux/$repo/os/$arch +Server = http://mirrors.gandi.net/archlinux/$repo/os/$arch +Server = http://mirrors.gigenet.com/archlinux/$repo/os/$arch +Server = http://mirrors.hit.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.hostico.ro/archlinux/$repo/os/$arch +Server = http://mirrors.janbruckner.de/archlinux/$repo/os/$arch +Server = http://mirrors.lug.mtu.edu/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 = http://mirrors.mit.edu/archlinux/$repo/os/$arch +Server = http://mirrors.n-ix.net/archlinux/$repo/os/$arch +Server = http://mirrors.nav.ro/archlinux/$repo/os/$arch +Server = http://mirrors.netix.net/archlinux/$repo/os/$arch +Server = http://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.nic.cz/archlinux/$repo/os/$arch +Server = http://mirrors.niyawe.de/archlinux/$repo/os/$arch +Server = http://mirrors.nju.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.nxtgen.com/archlinux-mirror/$repo/os/$arch +Server = http://mirrors.nxthost.com/archlinux/$repo/os/$arch +Server = http://mirrors.ocf.berkeley.edu/archlinux/$repo/os/$arch +Server = http://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch +Server = http://mirrors.pidginhost.com/arch/$repo/os/$arch +Server = http://mirrors.powernet.com.ru/archlinux/$repo/os/$arch +Server = http://mirrors.radwebhosting.com/archlinux/$repo/os/$arch +Server = http://mirrors.rit.edu/archlinux/$repo/os/$arch +Server = http://mirrors.rutgers.edu/archlinux/$repo/os/$arch +Server = http://mirrors.shanghaitech.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.sonic.net/archlinux/$repo/os/$arch +Server = http://mirrors.standaloneinstaller.com/archlinux/$repo/os/$arch +Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.udenar.edu.co/archlinux/$repo/os/$arch +Server = http://mirrors.uni-plovdiv.net/archlinux/$repo/os/$arch +Server = http://mirrors.up.pt/pub/archlinux/$repo/os/$arch +Server = http://mirrors.urbanwave.co.za/archlinux/$repo/os/$arch +Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.vectair.net/archlinux/$repo/os/$arch +Server = http://mirrors.wale.id.au/archlinux/$repo/os/$arch +Server = http://mirrors.wsyu.edu.cn/archlinux/$repo/os/$arch +Server = http://mirrors.xmission.com/archlinux/$repo/os/$arch +Server = http://mirrors.xtom.com/archlinux/$repo/os/$arch +Server = http://mirrors.xtom.de/archlinux/$repo/os/$arch +Server = http://mirrors.xtom.ee/archlinux/$repo/os/$arch +Server = http://mirrors.xtom.nl/archlinux/$repo/os/$arch +Server = http://mirrors.zju.edu.cn/archlinux/$repo/os/$arch +Server = http://mnvoip.mm.fcix.net/archlinux/$repo/os/$arch +Server = http://muug.ca/mirror/archlinux/$repo/os/$arch +Server = http://nova.quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +Server = http://ord.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = http://os.codefionn.eu/archlinux/$repo/os/$arch +Server = http://ossmirror.mycloud.services/os/linux/archlinux/$repo/os/$arch +Server = http://packages.oth-regensburg.de/archlinux/$repo/os/$arch +Server = http://phinau.de/arch/$repo/os/$arch +Server = http://pkg.adfinis.com/archlinux/$repo/os/$arch +Server = http://plug-mirror.rcac.purdue.edu/archlinux/$repo/os/$arch +Server = http://quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +Server = http://repo.endpoint.ml/archlinux/$repo/os/$arch +Server = http://repo.ialab.dsu.edu/archlinux/$repo/os/$arch +Server = http://repo.iut.ac.ir/repo/archlinux/$repo/os/$arch +Server = http://repo.miserver.it.umich.edu/archlinux/$repo/os/$arch +Server = http://repo.skni.umcs.pl/archlinux/$repo/os/$arch +Server = http://ridgewireless.mm.fcix.net/archlinux/$repo/os/$arch +Server = http://shadow.ind.ntou.edu.tw/archlinux/$repo/os/$arch +Server = http://super.quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +Server = http://syd.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = http://tux.rainside.sk/archlinux/$repo/os/$arch +Server = http://vpsmurah.jagoanhosting.com/archlinux/$repo/os/$arch +Server = http://www.gtlib.gatech.edu/pub/archlinux/$repo/os/$arch +Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch +Server = http://za.mirror.archlinux-br.org/$repo/os/$arch +Server = https://america.mirror.pkgbuild.com/$repo/os/$arch +Server = https://appuals.com/archlinux/$repo/os/$arch +Server = https://arch-mirror.wtako.net/$repo/os/$arch +Server = https://arch.hu.fo/archlinux/$repo/os/$arch +Server = https://arch.jensgutermuth.de/$repo/os/$arch +Server = https://arch.jsc.mx/$repo/os/$arch +Server = https://arch.juline.tech/$repo/os/$arch +Server = https://arch.lucassymons.net/$repo/os/$arch +Server = https://arch.midov.pl/arch/$repo/os/$arch +Server = https://arch.mirror.constant.com/$repo/os/$arch +Server = https://arch.mirror.ivo.st/$repo/os/$arch +Server = https://arch.mirror.zachlge.org/$repo/os/$arch +Server = https://arch.mirrors.lavatech.top/$repo/os/$arch +Server = https://arch.tux.si/mirror/$repo/os/$arch +Server = https://arch.unixpeople.org/$repo/os/$arch +Server = https://arch.yhtez.xyz/$repo/os/$arch +Server = https://arch.yourlabs.org/$repo/os/$arch +Server = https://archimonde.ts.si/archlinux/$repo/os/$arch +Server = https://archlinux.astra.in.ua/$repo/os/$arch +Server = https://archlinux.cs.nycu.edu.tw/$repo/os/$arch +Server = https://archlinux.grena.ge/$repo/os/$arch +Server = https://archlinux.homeinfo.de/$repo/os/$arch +Server = https://archlinux.ip-connect.vn.ua/$repo/os/$arch +Server = https://archlinux.koyanet.lv/archlinux/$repo/os/$arch +Server = https://archlinux.mailtunnel.eu/$repo/os/$arch +Server = https://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch +Server = https://archlinux.mirror.liquidtelecom.com/$repo/os/$arch +Server = https://archlinux.mirror.liteserver.nl/$repo/os/$arch +Server = https://archlinux.mirror.luzea.de/$repo/os/$arch +Server = https://archlinux.mirror.pcextreme.nl/$repo/os/$arch +Server = https://archlinux.mirror.server24.net/$repo/os/$arch +Server = https://archlinux.mirror.wearetriple.com/$repo/os/$arch +Server = https://archlinux.mivzakim.net/$repo/os/$arch +Server = https://archlinux.nautile.nc/archlinux/$repo/os/$arch +Server = https://archlinux.ourhome.kiwi/$repo/os/$arch +Server = https://archlinux.qern-industries.pw/$repo/os/$arch +Server = https://archlinux.qontinuum.space/archlinux/$repo/os/$arch +Server = https://archlinux.thaller.ws/$repo/os/$arch +Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch +Server = https://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch +Server = https://archmirror.akhl.in/$repo/os/$arch +Server = https://archmirror.it/repos/$repo/os/$arch +Server = https://archmirror1.octyl.net/$repo/os/$arch +Server = https://arlm.tyzoid.com/$repo/os/$arch +Server = https://at.arch.mirror.kescher.at/$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://de.arch.mirror.kescher.at/$repo/os/$arch +Server = https://depo.turkiye.linux.web.tr/archlinux/$repo/os/$arch +Server = https://dfw.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = https://dist-mirror.fem.tu-ilmenau.de/archlinux/$repo/os/$arch +Server = https://download.nus.edu.sg/mirror/archlinux/$repo/os/$arch +Server = https://europe.mirror.pkgbuild.com/$repo/os/$arch +Server = https://fastmirror.pp.ua/archlinux/$repo/os/$arch +Server = https://free.nchc.org.tw/arch/$repo/os/$arch +Server = https://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch +Server = https://ftp.agdsn.de/pub/mirrors/archlinux/$repo/os/$arch +Server = https://ftp.fau.de/archlinux/$repo/os/$arch +Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch +Server = https://ftp.harukasan.org/archlinux/$repo/os/$arch +Server = https://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/$arch +Server = https://ftp.icm.edu.pl/pub/Linux/dist/archlinux/$repo/os/$arch +Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch +Server = https://ftp.lanet.kr/pub/archlinux/$repo/os/$arch +Server = https://ftp.ludd.ltu.se/mirrors/archlinux/$repo/os/$arch +Server = https://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch +Server = https://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch +Server = https://ftp.psnc.pl/linux/archlinux/$repo/os/$arch +Server = https://ftp.rnl.tecnico.ulisboa.pt/pub/archlinux/$repo/os/$arch +Server = https://ftp.sh.cvut.cz/arch/$repo/os/$arch +Server = https://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch +Server = https://ftp.wrz.de/pub/archlinux/$repo/os/$arch +Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch +Server = https://glua.ua.pt/pub/archlinux/$repo/os/$arch +Server = https://gluttony.sin.cvut.cz/arch/$repo/os/$arch +Server = https://hkg.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = https://iad.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = https://iad.mirrors.misaka.one/archlinux/$repo/os/$arch +Server = https://in-mirror.garudalinux.org/archlinux/$repo/os/$arch +Server = https://lon.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = https://mirroir.labhouse.fr/arch/$repo/os/$arch +Server = https://mirroir.wptheme.fr/archlinux/$repo/os/$arch +Server = https://mirror-hk.koddos.net/archlinux/$repo/os/$arch +Server = https://mirror.0xem.ma/arch/$repo/os/$arch +Server = https://mirror.23m.com/archlinux/$repo/os/$arch +Server = https://mirror.2degrees.nz/archlinux/$repo/os/$arch +Server = https://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch +Server = https://mirror.aktkn.sg/archlinux/$repo/os/$arch +Server = https://mirror.alwyzon.net/archlinux/$repo/os/$arch +Server = https://mirror.ams1.nl.leaseweb.net/archlinux/$repo/os/$arch +Server = https://mirror.anigil.com/archlinux/$repo/os/$arch +Server = https://mirror.anquan.cl/archlinux/$repo/os/$arch +Server = https://mirror.archlinux.no/$repo/os/$arch +Server = https://mirror.archlinux.tw/ArchLinux/$repo/os/$arch +Server = https://mirror.arizona.edu/archlinux/$repo/os/$arch +Server = https://mirror.arvancloud.com/archlinux/$repo/os/$arch +Server = https://mirror.bardia.tech/archlinux/$repo/os/$arch +Server = https://mirror.bethselamin.de/$repo/os/$arch +Server = https://mirror.bytemark.co.uk/archlinux/$repo/os/$arch +Server = https://mirror.chaoticum.net/arch/$repo/os/$arch +Server = https://mirror.checkdomain.de/archlinux/$repo/os/$arch +Server = https://mirror.cj2.nl/archlinux/$repo/os/$arch +Server = https://mirror.clarkson.edu/archlinux/$repo/os/$arch +Server = https://mirror.clientvps.com/archlinux/$repo/os/$arch +Server = https://mirror.cov.ukservers.com/archlinux/$repo/os/$arch +Server = https://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch +Server = https://mirror.cspacehostings.com/archlinux/$repo/os/$arch +Server = https://mirror.cyberbits.asia/archlinux/$repo/os/$arch +Server = https://mirror.cyberbits.eu/archlinux/$repo/os/$arch +Server = https://mirror.dc.uz/arch/$repo/os/$arch +Server = https://mirror.dkm.cz/archlinux/$repo/os/$arch +Server = https://mirror.dogado.de/archlinux/$repo/os/$arch +Server = https://mirror.efect.ro/archlinux/$repo/os/$arch +Server = https://mirror.eloteam.tk/archlinux/$repo/os/$arch +Server = https://mirror.ette.biz/archlinux/$repo/os/$arch +Server = https://mirror.f4st.host/archlinux/$repo/os/$arch +Server = https://mirror.fcix.net/archlinux/$repo/os/$arch +Server = https://mirror.flokinet.net/archlinux/$repo/os/$arch +Server = https://mirror.fra10.de.leaseweb.net/archlinux/$repo/os/$arch +Server = https://mirror.fsmg.org.nz/archlinux/$repo/os/$arch +Server = https://mirror.fsrv.services/archlinux/$repo/os/$arch +Server = https://mirror.funami.tech/arch/$repo/os/$arch +Server = https://mirror.gnomus.de/$repo/os/$arch +Server = https://mirror.guillaumea.fr/archlinux/$repo/os/$arch +Server = https://mirror.hackingand.coffee/arch/$repo/os/$arch +Server = https://mirror.hostiran.ir/archlinux/$repo/os/$arch +Server = https://mirror.ibakerserver.pt/Arch/$repo/os/$arch +Server = https://mirror.ihost.md/archlinux/$repo/os/$arch +Server = https://mirror.informatik.tu-freiberg.de/arch/$repo/os/$arch +Server = https://mirror.init7.net/archlinux/$repo/os/$arch +Server = https://mirror.isoc.org.il/pub/archlinux/$repo/os/$arch +Server = https://mirror.iusearchbtw.nl/$repo/os/$arch +Server = https://mirror.jaime.sh/archlinux/$repo/os/$arch +Server = https://mirror.jingk.ai/archlinux/$repo/os/$arch +Server = https://mirror.juniorjpdj.pl/archlinux/$repo/os/$arch +Server = https://mirror.kamtv.ru/archlinux/$repo/os/$arch +Server = https://mirror.kku.ac.th/archlinux/$repo/os/$arch +Server = https://mirror.koddos.net/archlinux/$repo/os/$arch +Server = https://mirror.kumi.systems/archlinux/$repo/os/$arch +Server = https://mirror.librelabucm.org/archlinux/$repo/os/$arch +Server = https://mirror.lnx.sk/pub/linux/archlinux/$repo/os/$arch +Server = https://mirror.lty.me/archlinux/$repo/os/$arch +Server = https://mirror.lyrahosting.com/archlinux/$repo/os/$arch +Server = https://mirror.mangohost.net/archlinux/$repo/os/$arch +Server = https://mirror.metalgamer.eu/archlinux/$repo/os/$arch +Server = https://mirror.mijn.host/archlinux/$repo/os/$arch +Server = https://mirror.mikrogravitation.org/archlinux/$repo/os/$arch +Server = https://mirror.mirohost.net/archlinux/$repo/os/$arch +Server = https://mirror.misakamikoto.network/archlinux/$repo/os/$arch +Server = https://mirror.moson.org/arch/$repo/os/$arch +Server = https://mirror.netcologne.de/archlinux/$repo/os/$arch +Server = https://mirror.netweaver.uk/archlinux/$repo/os/$arch +Server = https://mirror.neuf.no/archlinux/$repo/os/$arch +Server = https://mirror.nw-sys.ru/archlinux/$repo/os/$arch +Server = https://mirror.one.com/archlinux/$repo/os/$arch +Server = https://mirror.osbeck.com/archlinux/$repo/os/$arch +Server = https://mirror.pagenotfound.de/archlinux/$repo/os/$arch +Server = https://mirror.phx1.us.spryservers.net/archlinux/$repo/os/$arch +Server = https://mirror.pit.teraswitch.com/archlinux/$repo/os/$arch +Server = https://mirror.powerfly.ca/archlinux/$repo/os/$arch +Server = https://mirror.premi.st/archlinux/$repo/os/$arch +Server = https://mirror.ps.kz/archlinux/$repo/os/$arch +Server = https://mirror.pseudoform.org/$repo/os/$arch +Server = https://mirror.puzzle.ch/archlinux/$repo/os/$arch +Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch +Server = https://mirror.repository.id/archlinux/$repo/os/$arch +Server = https://mirror.sabay.com.kh/archlinux/$repo/os/$arch +Server = https://mirror.safe-con.dk/archlinux/$repo/os/$arch +Server = https://mirror.sahil.world/archlinux/$repo/os/$arch +Server = https://mirror.scd31.com/arch/$repo/os/$arch +Server = https://mirror.selfnet.de/archlinux/$repo/os/$arch +Server = https://mirror.sergal.org/archlinux/$repo/os/$arch +Server = https://mirror.serverion.com/archlinux/$repo/os/$arch +Server = https://mirror.sfo12.us.leaseweb.net/archlinux/$repo/os/$arch +Server = https://mirror.sg.gs/archlinux/$repo/os/$arch +Server = https://mirror.srv.fail/archlinux/$repo/os/$arch +Server = https://mirror.stephen304.com/archlinux/$repo/os/$arch +Server = https://mirror.surf/archlinux/$repo/os/$arch +Server = https://mirror.sysa.tech/archlinux/$repo/os/$arch +Server = https://mirror.t-home.mk/archlinux/$repo/os/$arch +Server = https://mirror.telepoint.bg/archlinux/$repo/os/$arch +Server = https://mirror.telkomuniversity.ac.id/archlinux/$repo/os/$arch +Server = https://mirror.theash.xyz/arch/$repo/os/$arch +Server = https://mirror.thekinrar.fr/archlinux/$repo/os/$arch +Server = https://mirror.theo546.fr/archlinux/$repo/os/$arch +Server = https://mirror.tmmworkshop.com/archlinux/$repo/os/$arch +Server = https://mirror.truenetwork.ru/archlinux/$repo/os/$arch +Server = https://mirror.ubrco.de/archlinux/$repo/os/$arch +Server = https://mirror.ufro.cl/archlinux/$repo/os/$arch +Server = https://mirror.umd.edu/archlinux/$repo/os/$arch +Server = https://mirror.ungleich.ch/mirror/packages/archlinux/$repo/os/$arch +Server = https://mirror.wdc1.us.leaseweb.net/archlinux/$repo/os/$arch +Server = https://mirror.wormhole.eu/archlinux/$repo/os/$arch +Server = https://mirror.wtnet.de/archlinux/$repo/os/$arch +Server = https://mirror.wuki.li/archlinux/$repo/os/$arch +Server = https://mirror.xenyth.net/archlinux/$repo/os/$arch +Server = https://mirror.xtom.com.hk/archlinux/$repo/os/$arch +Server = https://mirror.yandex.ru/archlinux/$repo/os/$arch +Server = https://mirror2.evolution-host.com/archlinux/$repo/os/$arch +Server = https://mirror2.sandyriver.net/pub/archlinux/$repo/os/$arch +Server = https://mirrors.42tm.tech/archlinux/$repo/os/$arch +Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch +Server = https://mirrors.atviras.lt/archlinux/$repo/os/$arch +Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.bloomu.edu/archlinux/$repo/os/$arch +Server = https://mirrors.cat.net/archlinux/$repo/os/$arch +Server = https://mirrors.celianvdb.fr/archlinux/$repo/os/$arch +Server = https://mirrors.chroot.ro/archlinux/$repo/os/$arch +Server = https://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.dotsrc.org/archlinux/$repo/os/$arch +Server = https://mirrors.eric.ovh/arch/$repo/os/$arch +Server = https://mirrors.gandi.net/archlinux/$repo/os/$arch +Server = https://mirrors.hit.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.hostico.ro/archlinux/$repo/os/$arch +Server = https://mirrors.janbruckner.de/archlinux/$repo/os/$arch +Server = https://mirrors.lug.mtu.edu/archlinux/$repo/os/$arch +Server = https://mirrors.melbourne.co.uk/archlinux/$repo/os/$arch +Server = https://mirrors.mit.edu/archlinux/$repo/os/$arch +Server = https://mirrors.n-ix.net/archlinux/$repo/os/$arch +Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.niyawe.de/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 = https://mirrors.nxtgen.com/archlinux-mirror/$repo/os/$arch +Server = https://mirrors.nxthost.com/archlinux/$repo/os/$arch +Server = https://mirrors.ocf.berkeley.edu/archlinux/$repo/os/$arch +Server = https://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch +Server = https://mirrors.pidginhost.com/arch/$repo/os/$arch +Server = https://mirrors.radwebhosting.com/archlinux/$repo/os/$arch +Server = https://mirrors.rit.edu/archlinux/$repo/os/$arch +Server = https://mirrors.shanghaitech.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.slaanesh.org/archlinux/$repo/os/$arch +Server = https://mirrors.sonic.net/archlinux/$repo/os/$arch +Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.uni-plovdiv.net/archlinux/$repo/os/$arch +Server = https://mirrors.up.pt/pub/archlinux/$repo/os/$arch +Server = https://mirrors.urbanwave.co.za/archlinux/$repo/os/$arch +Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.vectair.net/archlinux/$repo/os/$arch +Server = https://mirrors.wale.id.au/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 = https://mirrors.xtom.com/archlinux/$repo/os/$arch +Server = https://mirrors.xtom.de/archlinux/$repo/os/$arch +Server = https://mirrors.xtom.ee/archlinux/$repo/os/$arch +Server = https://mirrors.xtom.nl/archlinux/$repo/os/$arch +Server = https://mnvoip.mm.fcix.net/archlinux/$repo/os/$arch +Server = https://muug.ca/mirror/archlinux/$repo/os/$arch +Server = https://nova.quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +Server = https://ord.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = https://os.codefionn.eu/archlinux/$repo/os/$arch +Server = https://packages.oth-regensburg.de/archlinux/$repo/os/$arch +Server = https://phinau.de/arch/$repo/os/$arch +Server = https://pkg.adfinis.com/archlinux/$repo/os/$arch +Server = https://pkg.fef.moe/archlinux/$repo/os/$arch +Server = https://plug-mirror.rcac.purdue.edu/archlinux/$repo/os/$arch +Server = https://quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +Server = https://repo.albony.xyz/$repo/os/$arch +Server = https://repo.endpoint.ml/archlinux/$repo/os/$arch +Server = https://repo.greeklug.gr/data/pub/linux/archlinux/$repo/os/$arch +Server = https://repo.ialab.dsu.edu/archlinux/$repo/os/$arch +Server = https://repo.skni.umcs.pl/archlinux/$repo/os/$arch +Server = https://ridgewireless.mm.fcix.net/archlinux/$repo/os/$arch +Server = https://shadow.ind.ntou.edu.tw/archlinux/$repo/os/$arch +Server = https://super.quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +Server = https://syd.mirror.rackspace.com/archlinux/$repo/os/$arch +Server = https://theswissbay.ch/archlinux/$repo/os/$arch +Server = https://vpsmurah.jagoanhosting.com/archlinux/$repo/os/$arch +Server = https://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch +Server = https://zxcvfdsa.com/arch/$repo/os/$arch diff --git a/base/root-overlay/etc/pacman.d/metis-mirrorlist b/base/root-overlay/etc/pacman.d/metis-mirrorlist new file mode 100644 index 0000000..10afa86 --- /dev/null +++ b/base/root-overlay/etc/pacman.d/metis-mirrorlist @@ -0,0 +1,5 @@ +### Packages repo for metis linux + +Server = https://pkgs.metislinux.org/$arch +Server = https://metislinux.yogeshlamichhane.com.np/$arch +Server = https://metislinux.iyamnabeen.xyz/$arch \ No newline at end of file diff --git a/base/root-overlay/etc/pacman.d/mirrorlist b/base/root-overlay/etc/pacman.d/mirrorlist new file mode 100644 index 0000000..ef94622 --- /dev/null +++ b/base/root-overlay/etc/pacman.d/mirrorlist @@ -0,0 +1,42 @@ +###Server list for artix packages + +Server = http://artist.artixlinux.org/repos/$repo/os/$arch +Server = http://mirrors.redcorelinux.org/artixlinux/$repo/os/$arch +Server = https://ftp.sh.cvut.cz/artix-linux/$repo/os/$arch +Server = https://ftp.crifo.org/artix/repos/$repo/os/$arch +Server = https://artix.cccp.io/$repo/os/$arch +Server = https://mirror.pascalpuffke.de/artix-linux/$repo/os/$arch +Server = https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch +Server = http://ftp.ntua.gr/pub/linux/artix-linux/$repo/os/$arch +Server = https://mirror.funami.tech/artix/$repo/os/$arch +Server = https://artixlinux.qontinuum.space/artixlinux/$repo/os/$arch +Server = https://eu-mirror.artixlinux.org/repos/$repo/os/$arch +Server = https://mirrors.aliyun.com/artixlinux/$repo/os/$arch +Server = https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch +Server = https://mirror1.artixlinux.org/repos/$repo/os/$arch +Server = https://quantum-mirror.hu/mirrors/pub/artix-linux/$repo/os/$arch +Server = https://mirrors.rit.edu/artixlinux/$repo/os/$arch +Server = https://mirror.nju.edu.cn/artixlinux/$repo/os/$arch +Server = https://artix.wheaton.edu/repos/$repo/os/$arch +Server = https://mirrors.tuna.tsinghua.edu.cn/artixlinux/$repo/os/$arch +Server = http://www.nylxs.com/mirror/repos/$repo/os/$arch +Server = https://mirror.freedif.org/Artix/$repo/os/$arch +Server = https://mirrors.42tm.tech/artix-linux/$repo/os/$arch +Server = https://mirror1.cl.netactuate.com/artix/repos/$repo/os/$arch +Server = https://mirror.one.com/artix/$repo/os/$arch +Server = https://mirror.netcologne.de/artix-linux/$repo/os/$arch +Server = https://mirrors.cloud.tencent.com/artixlinux/$repo/os/$arch +Server = https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch +Server = http://ftp.ntua.gr/pub/linux/artix-linux/$repo/os/$arch +Server = https://us-mirror.artixlinux.org/$repo/os/$arch +Server = https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch +Server = https://ftp.cc.uoc.gr/mirrors/linux/artixlinux/$repo/os/$arch +Server = https://mirror.aarnet.edu.au/pub/artix/$repo/os/$arch +Server = https://mirror.csclub.uwaterloo.ca/artixlinux/$repo/os/$arch +Server = https://mirrors.ocf.berkeley.edu/artix-linux/$repo/os/$arch +Server = https://mirror.linux.pizza/artix-linux/$repo/os/$arch +Server = https://ftp.uni-bayreuth.de/linux/artix-linux/$repo/os/$arch +Server = https://artix.unixpeople.org/repos/$repo/os/$arch +Server = https://ftp.halifax.rwth-aachen.de/artixlinux/$repo/os/$arch +Server = https://ftp.ludd.ltu.se/mirrors/artix/$repo/os/$arch +Server = https://mirrors.nettek.us/artix-linux/$repo/os/$arch diff --git a/base/root-overlay/etc/pam.d/su b/base/root-overlay/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/base/root-overlay/etc/pam.d/su @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth sufficient pam_wheel.so trust use_uid +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/base/root-overlay/etc/polkit-1/rules.d/90-live.rules b/base/root-overlay/etc/polkit-1/rules.d/90-live.rules new file mode 100644 index 0000000..cca8039 --- /dev/null +++ b/base/root-overlay/etc/polkit-1/rules.d/90-live.rules @@ -0,0 +1,8 @@ +/* Allow members of the wheel group to execute any actions + * without password authentication, similar to "sudo NOPASSWD:" + */ +polkit.addRule(function(action, subject) { + if (subject.isInGroup("wheel")) { + return polkit.Result.YES; + } +}); diff --git a/base/root-overlay/etc/sudoers.d/g_wheel b/base/root-overlay/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..8c45359 --- /dev/null +++ b/base/root-overlay/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/base/root-overlay/etc/sudoers.d/u_root b/base/root-overlay/etc/sudoers.d/u_root new file mode 100644 index 0000000..ddb589c --- /dev/null +++ b/base/root-overlay/etc/sudoers.d/u_root @@ -0,0 +1 @@ +root ALL=(ALL) ALL diff --git a/base/root-overlay/usr/local/bin/arch-mirrorlist b/base/root-overlay/usr/local/bin/arch-mirrorlist new file mode 100644 index 0000000..73f19ed --- /dev/null +++ b/base/root-overlay/usr/local/bin/arch-mirrorlist @@ -0,0 +1,21 @@ +# Server list generated by rankmirrors on 2022-06-09 +Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux/$repo/os/$arch +Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch +Server = https://mirror.redrock.team/archlinux/$repo/os/$arch +Server = https://mirror.mijn.host/archlinux/$repo/os/$arch +Server = https://mirrors.njupt.edu.cn/archlinux/$repo/os/$arch +Server = https://america.mirror.pkgbuild.com/$repo/os/$arch +Server = https://appuals.com/archlinux/$repo/os/$arch +Server = https://arch-mirror.wtako.net/$repo/os/$arch +Server = https://arch.hu.fo/archlinux/$repo/os/$arch +Server = https://arch.jensgutermuth.de/$repo/os/$arch +Server = https://arch.jsc.mx/$repo/os/$arch +Server = https://arch.juline.tech/$repo/os/$arch +Server = https://arch.lucassymons.net/$repo/os/$arch +Server = https://arch.midov.pl/arch/$repo/os/$arch +Server = https://arch.mirror.constant.com/$repo/os/$arch +Server = https://arch.mirror.ivo.st/$repo/os/$arch +Server = https://arch.mirror.zachlge.org/$repo/os/$arch +Server = https://arch.mirrors.lavatech.top/$repo/os/$arch +Server = https://arch.nimukaito.net/$repo/os/$arch +Server = https://arch.tux.si/mirror/$repo/os/$arch diff --git a/base/root-overlay/usr/local/bin/grub b/base/root-overlay/usr/local/bin/grub new file mode 100644 index 0000000..fba713c --- /dev/null +++ b/base/root-overlay/usr/local/bin/grub @@ -0,0 +1,63 @@ +# GRUB boot loader configuration + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=0 +GRUB_DISTRIBUTOR="Metis" +GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet console=tty2" +GRUB_CMDLINE_LINUX="" + +# Preload both GPT and MBR modules so that they are not missed +GRUB_PRELOAD_MODULES="part_gpt part_msdos" + +# Uncomment to enable booting from LUKS encrypted devices +#GRUB_ENABLE_CRYPTODISK=y + +# Set to 'countdown' or 'hidden' to change timeout behavior, +# press ESC key to display menu. +GRUB_TIMEOUT_STYLE=hidden + +# Uncomment to use basic console +GRUB_TERMINAL_INPUT=console + +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +GRUB_GFXMODE=auto + +# Uncomment to allow the kernel use the same resolution used by grub +GRUB_GFXPAYLOAD_LINUX=keep + +# Uncomment if you want GRUB to pass to the Linux kernel the old parameter +# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY=true + +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +#GRUB_COLOR_NORMAL="light-blue/black" +#GRUB_COLOR_HIGHLIGHT="light-cyan/blue" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +#GRUB_BACKGROUND="/path/to/wallpaper" +#GRUB_THEME="/path/to/gfxtheme" + +# Uncomment to get a beep at GRUB start +#GRUB_INIT_TUNE="480 440 1" + +# Uncomment to make GRUB remember the last selection. This requires +# setting 'GRUB_DEFAULT=saved' above. +#GRUB_SAVEDEFAULT=true + +# Uncomment to disable submenus in boot menu +#GRUB_DISABLE_SUBMENU=y + +# Probing for other operating systems is disabled for security reasons. Read +# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this +# functionality install os-prober and uncomment to detect and include other +# operating systems. +#GRUB_DISABLE_OS_PROBER=false diff --git a/base/root-overlay/usr/local/bin/init.vim b/base/root-overlay/usr/local/bin/init.vim new file mode 100644 index 0000000..c63bd71 --- /dev/null +++ b/base/root-overlay/usr/local/bin/init.vim @@ -0,0 +1,146 @@ +" Text Encoding +set encoding=utf-8 + +" enable syntax highlighting +syntax on + +" disable errorsounds +set noerrorbells + +" Change Vim's terminal colors according to colorscheme you/your plugin provide +set termguicolors + +" Show line number (hybrid) +set number relativenumber + +" Show Status bar at the bottom of screen (0: never 1: only if there are at least two windows 2: always) +set laststatus=2 + +" Automatically wrap text that extends beyond the screen length +set wrap + +" stop default tab size of 8 spaces to use indentation of 4 spaces +set softtabstop=4 + +" In Insert mode: Use the appropriate number of spaces to insert a +set expandtab + +" Number of spaces to use for each step of (auto)indent +set shiftwidth=4 + +" Number of spaces that a in the file counts for +set tabstop=4 + +" Do smart autoindenting when starting a new line for known filetypes. Normally 'autoindent' should also be on when using 'smartindent' +set smartindent + +" Copy indent from current line when starting a new line (typing in Insert mode or when using the "o" or "O" command) +set autoindent + +" Show the line and column number of the cursor position, separated by a comma. +set ruler + +" The command-lines that you enter are remembered in a history table. You can recall them with the up and down cursor keys. +set history=1000 + +" This is a list of directories which will be searched when using the gf, [f, ]f, ^Wf, :find, :sfind, :tabfind and other commands, provided that the file being searched for has a relative path (not starting with "/", "./" or "../") +set path+=** + +" Highlight the text line of the cursor with CursorLine (horizontally) +set cursorline + +" Indicates a fast terminal connection. More characters will be sent to the screen for redrawing, instead of using insert/delete line commands. Improves smoothness of redrawing when there are multiple windows and the terminal does not support a scrolling region. +set ttyfast + +" Ignore case in search patterns. Also used when searching in the tags file +set ignorecase + +" Override the 'ignorecase' option if the search pattern contains upper case characters. +set smartcase + +" Show partial command you type in the last line of the screen +set showcmd + +" Show the mode you are currently using on the last line +set showmode + +" When a bracket is inserted, briefly jump to the matching one +set showmatch + +" Disables automatic commenting on newline: +autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o + +" Highlight matching pairs of brackets. Use the '%' character to jump between them. +set matchpairs+=<:> + + " Toggle highlighting (Automatically remove highlighting after search) +set hlsearch! + +" While searching though a file incrementally highlight matching characters as you type +set incsearch + +" Enable commands auto completion menu after pressing TAB +set wildmenu + +" There are certain files that we would never want to edit with Vim. Wildmenu will ignore files with these extensions +set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx + +" Save undo history to an undo file when writing a buffer to a file, and restore undo history from the same file on buffer read (used with undodir) +set undofile + +" Directory to story undo history to restore undo even after quitting vim (create the directory manually if doesn't pre-exist) +set undodir=~/.config/nvim/undo + +" Save the whole buffer for undo when reloading it. +set undoreload=10000 + +" Make a backup before overwriting a file. The backup is removed after the file is successfully written, unless the 'backup' option is also on. +set writebackup + +" Don't use a swapfile for the buffer as all text will be in memory(RAM) +set noswapfile + +" enable filetype detection +filetype on + +" enable plugins and load it for detected filetype +filetype plugin on + +" Load an indent file for the detected file type +filetype indent on + +" Splits open at the bottom and right, which is non-retarded, unlike vim defaults. +set splitbelow splitright + +" Auto completion settings +set complete+=kspell +set completeopt=menuone,longest +set shortmess+=c + +" Resume your cursor from the last closing position rather than placing the cursor in the beginning +if has("autocmd") + au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif +endif + +" Copy/Paste/Cut (using system clipboard) +if has('unnamedplus') + set clipboard=unnamed,unnamedplus +endif + +" Enable 24-bit true colors if your terminal supports it. +if (has("termguicolors")) + let &t_8f = "\[38;2;%lu;%lu;%lum" + let &t_8b = "\[48;2;%lu;%lu;%lum" + set termguicolors +endif + +" Include the separate file for plugins (if exists) +if filereadable(expand("~/.config/nvim/plugins.vim")) + source ~/.config/nvim/plugins.vim +endif + +" Include the separate file for keybindings (if exists) (custom keybindings only! Plugin specific bindings are done in plugins.vim) +if filereadable(expand("~/.config/nvim/key-bindings.vim")) + source ~/.config/nvim/key-bindings.vim +endif + diff --git a/base/root-overlay/usr/local/bin/metis-mirrorlist b/base/root-overlay/usr/local/bin/metis-mirrorlist new file mode 100644 index 0000000..bf406c5 --- /dev/null +++ b/base/root-overlay/usr/local/bin/metis-mirrorlist @@ -0,0 +1,3 @@ +Server = https://pkgs.metislinux.org/$arch +Server = https://metislinux.yogeshlamichhane.com.np/$arch +Server = https://metislinux.iyamnabeen.xyz/$arch diff --git a/base/root-overlay/usr/local/bin/metis-sideload b/base/root-overlay/usr/local/bin/metis-sideload new file mode 100755 index 0000000..fdfaac8 --- /dev/null +++ b/base/root-overlay/usr/local/bin/metis-sideload @@ -0,0 +1,200 @@ +#!/usr/bin/env sh +echo -ne " +__________________________________________________________________________________________________________ +| | +| +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ | +| |M|a|g|i|c| |M|e|t|i|s| |I|n|s|t|a|l|l|e|r| | +| +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ | +| | +|---------------------------------------------------------------------------------------------------------| +| Official Cli installer for metis linux. | +|---------------------------------------------------------------------------------------------------------| +| Install Metis Linus in few clicks | +| Check: https://github.com/metis-os for details or visit https://metislinux.org | +|---------------------------------------------------------------------------------------------------------| +|_________________________________________________________________________________________________________| + +" +sleep 3s +echo "Internet Connection is a must to begin." +echo "Installing terminus font for better view." +pacman -Sy --needed --noconfirm terminus-font +setfont ter-v22b +sleep 2s +clear + +echo -ne " +------------------------------------------------------------------------ + THIS WILL FORMAT AND DELETE ALL DATA ON THE DISK + Please make sure you know what you are doing because + after formating your disk there is no way to get data back +------------------------------------------------------------------------ +" +sleep 3s +lsblk +echo "Enter the drive to install metis linux on it." +echo "Enter Drive (eg. sda or vda or nvme0n1): " +read -r drive +sleep 2s +clear + +lsblk +echo "Choose a familier disk utility tool to partition your drive!" +echo " 1. fdisk" +echo " 2. cfdisk" +echo " 3. gdisk" +echo " 4. parted" +read -r partitionutility + +case "$partitionutility" in + 1 | fdisk | Fdisk | FDISK) + partitionutility="fdisk" + ;; + 2 | cfdisk | Cfdisk | CFDISK) + partitionutility="cfdisk" + ;; + 3 | gdisk | Gdisk | GDISK) + partitionutility="gdisk" + ;; + 4 | parted | Parted | PARTED) + partitionutility="parted" + ;; + *) + echo "Unknown or unsupported disk utility! Default = cfdisk." + partitionutility="cfdisk" + ;; +esac +echo "$partitionutility is the selected disk utility tool for partition." +sleep 3s +clear +echo "Getting ready for creating partitions!" +echo "boot partition is mandatory for uefi systems. Skip it for legacy systems" +echo "root partition is mandatory." +echo "home and swap partitions are optional but recommended!" +echo "Also, you can create a separate partition for timeshift backup (optional)!" +echo "Getting ready in 15 seconds" +sleep 15s +"$partitionutility" /dev/"$drive" +clear +lsblk +echo " 1. ext4" +echo " 2. xfs" +echo " 3. btrfs" +echo " 4. f2fs" +echo " Boot partition will be formatted later in fat32 file system type if you have created one." +echo "choose your linux file system type for formatting drives: " +read -r filesystemtype + +case "$filesystemtype" in + 1 | ext4 | Ext4 | EXT4) + filesystemtype="ext4" + ;; + 2 | xfs | Xfs | XFS) + filesystemtype="xfs" + ;; + 3 | btrfs | Btrfs | BTRFS) + filesystemtype="btrfs" + ;; + 4 | f2fs | F2fs | F2FS) + filesystemtype="f2fs" + ;; + *) + echo "Unknown or unsupported Filesystem. Default = ext4." + filesystemtype="ext4" + ;; +esac +echo "$filesystemtype is the selected file system type." +sleep 3s +clear +echo "Getting ready for formatting drives." +sleep 3s +lsblk +echo "Enter the root partition (eg: sda1 or nvme0n1p2 or vda4): " +read -r rootpartition +mkfs."$filesystemtype" /dev/"$rootpartition" +mount /dev/"$rootpartition" /mnt +clear +lsblk +read -p "Did you also create separate home partition? [y/n]: " answerhome +case "$answerhome" in + y | Y | yes | Yes | YES) + echo "Enter home partition (eg: sda2 or nvme0n1p1 or vda2): " + read -r homepartition + mkfs."$filesystemtype" /dev/"$homepartition" + mkdir /mnt/home + mount /dev/"$homepartition" /mnt/home + ;; + *) + echo "Skipping home partition!" + ;; +esac +clear +lsblk +read -p "Did you also create swap partition? [y/n]: " answerswap +case "$answerswap" in + y | Y | yes | Yes | YES) + echo "Enter swap partition (eg: sda3, nvme0n1p1or vda3): " + read -r swappartition + mkswap /dev/"$swappartition" + swapon /dev/"$swappartition" + ;; + *) + echo "Skipping Swap partition!" + ;; +esac + +clear +lsblk +sleep 3s +clear +echo "Installing Base system with zen kernel!!!" +sleep 2s +basestrap /mnt base base-devel runit elogind-runit linux-zen +clear +echo "generating fstab file" +fstabgen -U /mnt >> /mnt/etc/fstab +sleep 1s +clear +echo "Checking Fstab Contents" +cat /mnt/etc/fstab +sleep 2s +echo "Copying config files" +mv /usr/local/bin/os-release /mnt/ +mv /usr/local/bin/grub /mnt/ +mv /usr/local/bin/xinitrc /mnt/ +cp -r /usr/local/bin/pacman.conf /mnt/ +cp -r /usr/local/bin/mirrorlist /mnt/ +# cp -r /usr/local/bin/arch-mirrorlist /mnt/ +cp -r /usr/local/bin/metis-mirrorlist /mnt/ +cp -r /usr/local/bin/init.vim /mnt/ +cp -r /usr/local/bin/zshrc /mnt/ +cp -r /usr/local/bin/picom.conf /mnt/ +sleep 2s +echo "Working now in live environment!" +cp/usr/local/bin/post_install.sh +artix-chroot /mnt ./post_install.sh + +# After Installation +rm -rf /mnt/post_install.sh +clear +echo -ne " +__________________________________________________________________________________________________________ +| Thanks For Choosing Metis Linux! | +| | +| +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ | +| |M|a|g|i|c| |M|e|t|i|s| |I|n|s|t|a|l|l|e|r| | +| +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ | +| | +|---------------------------------------------------------------------------------------------------------| +| INSTALLATION SUCCESSFUL! | +|---------------------------------------------------------------------------------------------------------| +| Metis Linus Installation Completed. | +| Check: https://github.com/metis-os for details or visit https://metislinux.org | +|---------------------------------------------------------------------------------------------------------| +|_________________________________________________________________________________________________________| + +" +echo "Metis Linux Installation Finished!!!" +echo "Umount all the drives using command: umount -R /mnt" +echo "And then reboot using command: reboot" +echo "After Reboot login your your username and password and type startx to start GUI." diff --git a/base/root-overlay/usr/local/bin/mirrorlist b/base/root-overlay/usr/local/bin/mirrorlist new file mode 100644 index 0000000..8adeb9a --- /dev/null +++ b/base/root-overlay/usr/local/bin/mirrorlist @@ -0,0 +1,21 @@ +# Server list generated by rankmirrors on 2022-06-09 +Server = https://ftp.halifax.rwth-aachen.de/artixlinux/$repo/os/$arch +Server = https://mirror1.artixlinux.org/repos/$repo/os/$arch +Server = http://artist.artixlinux.org/repos/$repo/os/$arch +Server = https://mirror.netcologne.de/artix-linux/$repo/os/$arch +Server = https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch +Server = https://ftp.crifo.org/artix/repos/$repo/os/$arch +Server = https://mirrors.tuna.tsinghua.edu.cn/artixlinux/$repo/os/$arch +Server = https://mirror.pascalpuffke.de/artix-linux/$repo/os/$arch +Server = https://us-mirror.artixlinux.org/$repo/os/$arch +Server = https://eu-mirror.artixlinux.org/repos/$repo/os/$arch +Server = https://artix.unixpeople.org/repos/$repo/os/$arch +Server = http://mirrors.redcorelinux.org/artixlinux/$repo/os/$arch +Server = https://mirror.one.com/artix/$repo/os/$arch +Server = https://artixlinux.qontinuum.space/artixlinux/$repo/os/$arch +Server = https://mirror.funami.tech/artix/$repo/os/$arch +Server = https://mirror.freedif.org/Artix/$repo/os/$arch +Server = http://ftp.ntua.gr/pub/linux/artix-linux/$repo/os/$arch +Server = https://mirror.csclub.uwaterloo.ca/artixlinux/$repo/os/$arch +Server = https://mirror.linux.pizza/artix-linux/$repo/os/$arch +Server = https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch diff --git a/base/root-overlay/usr/local/bin/os-release b/base/root-overlay/usr/local/bin/os-release new file mode 100644 index 0000000..878c058 --- /dev/null +++ b/base/root-overlay/usr/local/bin/os-release @@ -0,0 +1,10 @@ +NAME="Metis Linux" +PRETTY_NAME="Metis Linux" +ID=metis +BUILD_ID=rolling +ANSI_COLOR="0;37" +HOME_URL="https://metislinux.org/" +DOCUMENTATION_URL="https://wiki.metislinux.org/" +SUPPORT_URL="https://metislinux.org/" +BUG_REPORT_URL="https://github.com/metis-os/" +LOGO=metislinux \ No newline at end of file diff --git a/base/root-overlay/usr/local/bin/pacman.conf b/base/root-overlay/usr/local/bin/pacman.conf new file mode 100644 index 0000000..a2af823 --- /dev/null +++ b/base/root-overlay/usr/local/bin/pacman.conf @@ -0,0 +1,119 @@ +# +# /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 = audacity +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#NoProgressBar +Color +CheckSpace +ILoveCandy +VerbosePkgLists +ParallelDownloads = 15 + +# 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 Artix Linux +# packagers with `pacman-key --populate artix`. + +# +# 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 gremlins 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. + + +### Metis Linux Repos +[metis] +SigLevel = Optional TrustAll +Include = /etc/pacman.d/metis-mirrorlist + +#[gremlins] +#Include = /etc/pacman.d/mirrorlist + +[system] +Include = /etc/pacman.d/mirrorlist + +[world] +Include = /etc/pacman.d/mirrorlist + +#[galaxy-gremlins] +#Include = /etc/pacman.d/mirrorlist + +[galaxy] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the lib32 repositories as required here. + +#[lib32-gremlins] +#Include = /etc/pacman.d/mirrorlist + +#[lib32] +#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 + +### ARCH LINUX REPOS +## Install archlinux-keyrings and enable arch repos to ues them +## Be careful enabling arch liux core repos as it contains many systemd dependent packages which we don't use. +# [core] +# Include = /etc/pacman.d/arch-mirrorlist + +#[extra] +#Include = /etc/pacman.d/arch-mirrorlist + +#[community] +#Include = /etc/pacman.d/arch-mirrorlist diff --git a/base/root-overlay/usr/local/bin/picom.conf b/base/root-overlay/usr/local/bin/picom.conf new file mode 100644 index 0000000..a1b9e87 --- /dev/null +++ b/base/root-overlay/usr/local/bin/picom.conf @@ -0,0 +1,511 @@ +################################# +# Animations # +################################# +# requires https://github.com/jonaburg/picom +# (These are also the default values) +transition-length = 300 +transition-pow-x = 0.1 +transition-pow-y = 0.1 +transition-pow-w = 0.1 +transition-pow-h = 0.1 +size-transition = true + + +################################# +# Corners # +################################# +# requires: https://github.com/sdhand/compton or https://github.com/jonaburg/picom +corner-radius = 10.0; +rounded-corners-exclude = [ + #"window_type = 'normal'", + "class_g = 'awesome'", + "class_g = 'URxvt'", + "class_g = 'XTerm'", + "class_g = 'kitty'", +# "class_g = 'Alacritty'", + "class_g = 'Polybar'", + # "class_g = 'code-oss'", + #"class_g = 'TelegramDesktop'", + # "class_g = 'firefox'", + # "class_g = 'Thunderbird'" +]; +round-borders = 1; +round-borders-exclude = [ + #"class_g = 'TelegramDesktop'", +]; + +################################# +# Shadows # +################################# + + +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# unless explicitly requested using the wintypes option. +# +# shadow = false +shadow = false; + +# The blur radius for shadows, in pixels. (defaults to 12) +# shadow-radius = 12 +shadow-radius = 7; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +# shadow-opacity = .75 + +# The left offset for shadows, in pixels. (defaults to -15) +# shadow-offset-x = -15 +shadow-offset-x = -7; + +# The top offset for shadows, in pixels. (defaults to -15) +# shadow-offset-y = -15 +shadow-offset-y = -7; + +# Avoid drawing shadows on dock/panel windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dock-shadow = false + +# Don't draw shadows on drag-and-drop windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dnd-shadow = false + +# Red color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-red = 0 + +# Green color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-green = 0 + +# Blue color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-blue = 0 + +# Do not paint shadows on shaped windows. Note shaped windows +# here means windows setting its shape through X Shape extension. +# Those using ARGB background is beyond our control. +# Deprecated, use +# shadow-exclude = 'bounding_shaped' +# or +# shadow-exclude = 'bounding_shaped && !rounded_corners' +# instead. +# +# shadow-ignore-shaped = '' + +# Specify a list of conditions of windows that should have no shadow. +# +# examples: +# shadow-exclude = "n:e:Notification"; +# +# shadow-exclude = [] +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "class_g = 'slop'", + "class_g = 'Polybar'", + "_GTK_FRAME_EXTENTS@:c" +]; + +# Specify a X geometry that describes the region in which shadow should not +# be painted in, such as a dock window region. Use +# shadow-exclude-reg = "x10+0+0" +# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. +# +# shadow-exclude-reg = "" + +# Crop shadow of a window fully on a particular Xinerama screen to the screen. +# xinerama-shadow-crop = false + + +################################# +# Fading # +################################# + + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +# fading = false +fading = true; + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +# fade-in-step = 0.028 +fade-in-step = 0.03; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 +fade-out-step = 0.03; + +# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) +# fade-delta = 10 + +# Specify a list of conditions of windows that should not be faded. +# don't need this, we disable fading for all normal windows with wintypes: {} +fade-exclude = [ + "class_g = 'slop'" # maim +] + +# Do not fade on window open/close. +# no-fading-openclose = false + +# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. +# no-fading-destroyed-argb = false + + +################################# +# Transparency / Opacity # +################################# + + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +# inactive-opacity = 1 +inactive-opacity = 0.8; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +# frame-opacity = 1.0 +frame-opacity = 0.7; + +# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) +# menu-opacity = 1.0 +# menu-opacity is depreciated use dropdown-menu and popup-menu instead. + +#If using these 2 below change their values in line 510 & 511 aswell +popup_menu = { opacity = 0.8; } +dropdown_menu = { opacity = 0.8; } + + +# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. +# inactive-opacity-override = true +inactive-opacity-override = false; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +active-opacity = 1.0; + +# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) +# inactive-dim = 0.0 + +# Specify a list of conditions of windows that should always be considered focused. +# focus-exclude = [] +focus-exclude = [ + "class_g = 'Cairo-clock'", + "class_g = 'Bar'", # lemonbar + "class_g = 'slop'" # maim +]; + +# Use fixed inactive dim value, instead of adjusting according to window opacity. +# inactive-dim-fixed = 1.0 + +# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, +# like `50:name *= "Firefox"`. picom-trans is recommended over this. +# Note we don't make any guarantee about possible conflicts with other +# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. +# example: +# opacity-rule = [ "80:class_g = 'URxvt'" ]; +# +# opacity-rule = [] +opacity-rule = [ + "80:class_g = 'Bar'", # lemonbar + "100:class_g = 'slop'", # maim + "100:class_g = 'XTerm'", + "100:class_g = 'URxvt'", + "100:class_g = 'kitty'", + "100:class_g = 'Alacritty'", + "80:class_g = 'Polybar'", + "100:class_g = 'code-oss'", + "100:class_g = 'Meld'", + "70:class_g = 'TelegramDesktop'", + "90:class_g = 'Joplin'", + "100:class_g = 'firefox'", + "100:class_g = 'Thunderbird'" +]; + + +################################# +# Background-Blurring # +################################# + + +# Parameters for background blurring, see the *BLUR* section for more information. +# blur-method = +# blur-size = 12 +# +# blur-deviation = false + +# Blur background of semi-transparent / ARGB windows. +# Bad in performance, with driver-dependent behavior. +# The name of the switch may change without prior notifications. +# +# blur-background = true; + +# Blur background of windows when the window frame is not opaque. +# Implies: +# blur-background +# Bad in performance, with driver-dependent behavior. The name may change. +# +# blur-background-frame = false; + + +# Use fixed blur strength rather than adjusting according to window opacity. +# blur-background-fixed = false; + + +# Specify the blur convolution kernel, with the following format: +# example: +# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; +# +# blur-kern = '' +# blur-kern = "3x3box"; + +blur: { + # requires: https://github.com/ibhagwan/picom + method = "kawase"; + #method = "kernel"; + strength = 7; + # deviation = 1.0; + # kernel = "11x11gaussian"; + background = false; + background-frame = false; + background-fixed = false; + kern = "3x3box"; +} + +# Exclude conditions for background blur. +blur-background-exclude = [ + #"window_type = 'dock'", + #"window_type = 'desktop'", + #"class_g = 'URxvt'", + # + # prevents picom from blurring the background + # when taking selection screenshot with `main` + # https://github.com/naelstrof/maim/issues/130 + "class_g = 'slop'", + "_GTK_FRAME_EXTENTS@:c" +]; + + +################################# +# General Settings # +################################# + +# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. +# daemon = false + +# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. +# `xrender` is the default one. +# +experimental-backends = true; +backend = "glx"; +#backend = "xrender"; + + +# Enable/disable VSync. +# vsync = false +vsync = true + +# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. +# dbus = false + +# Try to detect WM windows (a non-override-redirect window with no +# child that has 'WM_STATE') and mark them as active. +# +# mark-wmwin-focused = false +mark-wmwin-focused = true; + +# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. +# mark-ovredir-focused = false +mark-ovredir-focused = true; + +# Try to detect windows with rounded corners and don't consider them +# shaped windows. The accuracy is not very high, unfortunately. +# +# detect-rounded-corners = false +detect-rounded-corners = true; + +# Detect '_NET_WM_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_OPACITY' of client windows to frame windows. +# +# detect-client-opacity = false +detect-client-opacity = true; + +# Specify refresh rate of the screen. If not specified or 0, picom will +# try detecting this with X RandR extension. +# +# refresh-rate = 60 + +# Limit picom to repaint at most once every 1 / 'refresh_rate' second to +# boost performance. This should not be used with +# vsync drm/opengl/opengl-oml +# as they essentially does sw-opti's job already, +# unless you wish to specify a lower refresh rate than the actual value. +# +# sw-opti = + +# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, +# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, +# provided that the WM supports it. +# +# use-ewmh-active-win = false + +# Unredirect all windows if a full-screen opaque window is detected, +# to maximize performance for full-screen windows. Known to cause flickering +# when redirecting/unredirecting windows. paint-on-overlay may make the flickering less obvious. +# +# unredir-if-possible = false + +# Delay before unredirecting the window, in milliseconds. Defaults to 0. +# unredir-if-possible-delay = 0 + +# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. +# unredir-if-possible-exclude = [] + +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# in the same group focused at the same time. +# +# detect-transient = false +detect-transient = true + +# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same +# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if +# detect-transient is enabled, too. +# +# detect-client-leader = false +detect-client-leader = true + +# Resize damaged region by a specific number of pixels. +# A positive value enlarges it while a negative one shrinks it. +# If the value is positive, those additional pixels will not be actually painted +# to screen, only used in blur calculation, and such. (Due to technical limitations, +# with use-damage, those pixels will still be incorrectly painted to screen.) +# Primarily used to fix the line corruption issues of blur, +# in which case you should use the blur radius value here +# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, +# with a 5x5 one you use `--resize-damage 2`, and so on). +# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. +# +# resize-damage = 1 + +# Specify a list of conditions of windows that should be painted with inverted color. +# Resource-hogging, and is not well tested. +# +# invert-color-include = [] + +# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. +# Might cause incorrect opacity when rendering transparent content (but never +# practically happened) and may not work with blur-background. +# My tests show a 15% performance boost. Recommended. +# +# glx-no-stencil = false + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, +# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). +# Recommended if it works. +# +# glx-no-rebind-pixmap = false + +# Disable the use of damage information. +# This cause the whole screen to be redrawn everytime, instead of the part of the screen +# has actually changed. Potentially degrades the performance, but might fix some artifacts. +# The opposing option is use-damage +# +# no-use-damage = false +#use-damage = true (Causing Weird Black semi opaque rectangles when terminal is opened) +#Changing use-damage to false fixes the problem +use-damage = false + +# Use X Sync fence to sync clients' draw calls, to make sure all draw +# calls are finished before picom starts drawing. Needed on nvidia-drivers +# with GLX backend for some users. +# +# xrender-sync-fence = false + +# GLX backend: Use specified GLSL fragment shader for rendering window contents. +# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` +# in the source tree for examples. +# +# glx-fshader-win = '' + +# Force all windows to be painted with blending. Useful if you +# have a glx-fshader-win that could turn opaque pixels transparent. +# +# force-win-blend = false + +# Do not use EWMH to detect fullscreen windows. +# Reverts to checking if a window is fullscreen based only on its size and coordinates. +# +# no-ewmh-fullscreen = false + +# Dimming bright windows so their brightness doesn't exceed this set value. +# Brightness of a window is estimated by averaging all pixels in the window, +# so this could comes with a performance hit. +# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) +# +# max-brightness = 1.0 + +# Make transparent windows clip other windows like non-transparent windows do, +# instead of blending on top of them. +# +# transparent-clipping = false + +# Set the log level. Possible values are: +# "trace", "debug", "info", "warn", "error" +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file +# using *--log-file*, since it can generate a huge stream of logs. +# +# log-level = "debug" +log-level = "info"; + +# Set the log file. +# If *--log-file* is never specified, logs will be written to stderr. +# Otherwise, logs will to written to the given file, though some of the early +# logs might still be written to the stderr. +# When setting this option from the config file, it is recommended to use an absolute path. +# +# log-file = '/path/to/your/log/file' + +# Show all X errors (for debugging) +# show-all-xerrors = false + +# Write process ID to a file. +# write-pid-path = '/path/to/your/log/file' + +# Window type settings +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# "tooltip", "notification", "combo", and "dnd". +# +# Following per window-type options are available: :: +# +# fade, shadow::: +# Controls window-type-specific shadow and fade settings. +# +# opacity::: +# Controls default opacity of the window type. +# +# focus::: +# Controls whether the window of this type is to be always considered focused. +# (By default, all window types except "normal" and "dialog" has this on.) +# +# full-shadow::: +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it +# transparent, and you want shadows in those areas. +# +# redir-ignore::: +# Controls whether this type of windows should cause screen to become +# redirected again after been unredirected. If you have unredir-if-possible +# set, and doesn't want certain window to cause unnecessary screen redirection, +# you can set this to `true`. +# +wintypes: +{ + normal = { fade = false; shadow = false; } + tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; + dock = { shadow = false; } + dnd = { shadow = false; } + popup_menu = { opacity = 0.8; } + dropdown_menu = { opacity = 0.8; } +}; diff --git a/base/root-overlay/usr/local/bin/post_install.sh b/base/root-overlay/usr/local/bin/post_install.sh new file mode 100644 index 0000000..dbec88b --- /dev/null +++ b/base/root-overlay/usr/local/bin/post_install.sh @@ -0,0 +1,168 @@ +#!/usr/bin/env sh + +clear +echo "generating locale" +echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen +locale-gen +sleep 2s + +clear +echo "Getting Timezone..." +timezone() { +time_zone="$(curl --fail https://ipapi.co/timezone)" +clear +echo "System detected your timezone to be $time_zone" +echo "Is this correct?" + +PS3="Select one.[1/2]: " +options=("Yes" "No") +select one in "${options[@]}"; do + case $one in + Yes) + echo "${time_zone} set as timezone" + ln -sf /usr/share/zoneinfo/"$time_zone" /etc/localtime && break + ;; + No) + echo "Please enter your desired timezone e.g. Europe/London :" + read -r new_timezone + echo "${new_timezone} set as timezone" + ln -sf /usr/share/zoneinfo/"$time_zone" /etc/localtime && break + ;; + *) echo "Wrong option. Try again";timezone;; + esac +done +} +timezone +hwclock --systohc +echo "checking date" +date +sleep 2s +clear + +echo "setting LANG variable" +echo "LANG=en_US.UTF-8" >> /etc/locale.conf +echo "LC_COLLATE=C" >> /etc/locale.conf +sleep 2s +clear +echo "setting console keyboard layout" +echo "KEYMAP=us" > /etc/vconsole.conf +sleep 2s +clear +echo "Set up your hostname!" +echo "Enter your computer name: " +read -r hostname +echo $hostname > /etc/hostname +echo "Checking hostname (/etc/hostname)" +cat /etc/hostname +sleep 1s +clear +echo "setting up hosts file" +echo "127.0.0.1 localhost" >> /etc/hosts +echo "::1 localhost" >> /etc/hosts +echo "127.0.1.1 $hostname.localdomain $hostname" >> /etc/hosts +clear +echo "checking /etc/hosts file" +cat /etc/hosts +sleep 2s +#if you are dualbooting, add os-prober with grub and efibootmgr +echo "Installing grub networkmanager and xwallpaper" +pacman -Sy --needed --noconfirm grub networkmanager-runit xwallpaper zsh +clear +sleep 1s +clear +echo "Enabling NetworkManager" +ln -s /etc/runit/sv/NetworkManager /etc/runit/runsvdir/default +sleep 2s +clear +echo "Enter password for root user:" +passwd +clear +echo "Adding regular user!" +echo "Enter username to add a regular user: " +read -r username +useradd -m -g users -G wheel,audio,video,network,storage -s /bin/zsh "$username" +echo "To set password for $username, use different password than for root." +echo "Enter password for "$username": " +passwd "$username" +echo "NOTE: ALWAYS REMEMBER THIS USERNAME AND PASSWORD YOU PUT JUST NOW." +sleep 2s +mv /os-release /usr/lib/ +mv /pacman.conf /etc/ +mv /mirrorlist /etc/pacman.d/ +# mv /arch-mirrorlist /etc/pacman.d/ +mv /metis-mirrorlist /etc/pacman.d/ +mv /xinitrc /home/"$username"/.xinitrc +chown "$username":users /home/"$username"/.xinitrc +sleep 2s +mkdir -p /home/"$username"/.config/nvim/ +mkdir -p /home/"$username"/.config/picom/ +mv /init.vim /home/"$username"/.config/nvim/ +chown -R "$username":users /home/"$username"/.config +mv /zshrc /home/"$username"/.zshrc +chown "$username":users /home/"$username"/.zshrc +mv /picom.conf /home/"$username"/.config/picom/ +chown -R "$username":users /home/"$username"/.config/picom +chown -R "$username":users /home/"$username"/.config/ +sleep 2s +clear +mv /grub /etc/default/ +pacman -Sy --needed --noconfirm metis-dwm metis-st metis-dmenu metis-wallpapers xorg-server xorg-xinit xorg-xsetroot nerd-fonts-jetbrains-mono ttf-font-awesome pavucontrol pulseaudio pulseaudio-alsa firefox brillo linux-zen-headers linux-firmware curl git neovim zsh metis-slstatus picom-jonaburg-git acpi +sleep 3s +clear +proc_type=$(lscpu) +if grep -E "GenuineIntel" <<< ${proc_type}; then + echo "Installing Intel microcode" + pacman -S --noconfirm --needed intel-ucode +elif grep -E "AuthenticAMD" <<< ${proc_type}; then + echo "Installing AMD microcode" + pacman -S --noconfirm --needed amd-ucode +fi + +sleep 2s + +#Adding sudo previliages to the user you created +echo "Giving sudo access to "$username"!" +echo "$username ALL=(ALL) ALL" >> /etc/sudoers.d/$username +sleep 2s +clear +lsblk +if [[ ! -d "/sys/firmware/efi" ]]; then + clear + echo "Installing grub for legacy system" + sleep 2s + clear + echo "Enter the drive name to install bootloader in it. (eg: sda or nvme01 or vda or something similar)! " + echo "NOTE: JUST GIVE DRIVE NAME (sda, nvme0n1, vda or something similar); NOT THE PARTITION NAME (sda1)" + echo "Enter the drive name: " + read -r grubdrive + grub-install --target=i386-pc /dev/"$grubdrive" + grub-mkconfig -o /boot/grub/grub.cfg +else + echo "Installing efibootmgr" + pacman -Sy --needed --noconfirm efibootmgr dosfstools + sleep 1s + clear + lsblk + echo "Enter partition to install grub! (eg: sda2 or nvme0n1p3, vda4 or something similar): " + read -r grubpartition + mkfs.fat -F 32 /dev/"$grubpartition" + mkdir -p /boot/efi + mount /dev/"$grubpartition" /boot/efi + grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB --removable + grub-mkconfig -o /boot/grub/grub.cfg +fi +sleep 2s +clear + +echo "Searching and Installing graphics driver if available" +gpu_type=$(lspci) +if grep -E "NVIDIA|GeForce" <<< ${gpu_type}; then + pacman -S --noconfirm --needed nvidia nvidia-utils +elif lspci | grep 'VGA' | grep -E "Radeon|AMD"; then + pacman -S --noconfirm --needed xf86-video-amdgpu +elif grep -E "Integrated Graphics Controller" <<< ${gpu_type}; then + pacman -S --noconfirm --needed libva-intel-driver libvdpau-va-gl vulkan-intel libva-utils +elif grep -E "Intel Corporation UHD" <<< ${gpu_type}; then + pacman -S --needed --noconfirm libva-intel-driver libvdpau-va-gl vulkan-intel libva-intel-driver libva-utils +fi +sleep 2 diff --git a/base/root-overlay/usr/local/bin/xinitrc b/base/root-overlay/usr/local/bin/xinitrc new file mode 100644 index 0000000..8d67b79 --- /dev/null +++ b/base/root-overlay/usr/local/bin/xinitrc @@ -0,0 +1,6 @@ +slstatus & +picom & +xwallpaper --zoom /usr/share/backgrounds/metis/b-01-dark.png & +while true; do + dwm >/dev/null 2>&1 +done \ No newline at end of file diff --git a/base/root-overlay/usr/local/bin/zshrc b/base/root-overlay/usr/local/bin/zshrc new file mode 100644 index 0000000..acfcdaf --- /dev/null +++ b/base/root-overlay/usr/local/bin/zshrc @@ -0,0 +1,76 @@ +##LS COLORS +autoload -U colors && colors # Load colors +LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'; +export LS_COLORS +autoload -U colors && colors # Load colors +PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[red]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b " +setopt autocd # Automatically cd into typed directory. +stty stop undef # Disable ctrl-s to freeze terminal. +setopt interactive_comments +export IP="2334242343" +# History in cache directory: +HISTSIZE=10000000 +SAVEHIST=10000000 +HISTFILE=~/.cache/zsh/history +export PATH=$PATH:/$HOME/.local/bin +# Load aliases and shortcuts if existent. +[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc" +[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" +[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc" +# Basic auto/tab complete: + +autoload -U compinit +zstyle ':completion:*' menu select +zmodload zsh/complist +compinit +_comp_options+=(globdots) # Include hidden files. + +# vi mode +bindkey -v +export KEYTIMEOUT=1 +alias startx="startx &>>/dev/null" +# Use vim keys in tab complete menu: +bindkey -M menuselect 'h' vi-backward-char +bindkey -M menuselect 'k' vi-up-line-or-history +bindkey -M menuselect 'l' vi-forward-char +bindkey -M menuselect 'j' vi-down-line-or-history +bindkey -v '^?' backward-delete-char + +# Change cursor shape for different vi modes. +function zle-keymap-select () { + case $KEYMAP in + vicmd) echo -ne '\e[1 q';; # block + viins|main) echo -ne '\e[5 q';; # beam + esac +} +zle -N zle-keymap-select +zle-line-init() { + zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) + echo -ne "\e[5 q" +} +zle -N zle-line-init +echo -ne '\e[5 q' # Use beam shape cursor on startup. +preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. + +# Use lf to switch directories and bind it to ctrl-o +lfcd () { + tmp="$(mktemp)" + lf -last-dir-path="$tmp" "$@" + if [ -f "$tmp" ]; then + dir="$(cat "$tmp")" + rm -f "$tmp" >/dev/null + [ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir" + fi +} +bindkey -s '^o' 'lfcd\n' + + +bindkey -s '^f' 'cd "$(dirname "$(fzf)")"\n' + +bindkey '^[[P' delete-char + +# Edit line in vim with ctrl-e: +autoload edit-command-line; zle -N edit-command-line +bindkey '^e' edit-command-line +# Load syntax highlighting; should be last. +source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null diff --git a/base/root-overlay/usr/share/grub/cfg/defaults.cfg b/base/root-overlay/usr/share/grub/cfg/defaults.cfg new file mode 100644 index 0000000..c2c0889 --- /dev/null +++ b/base/root-overlay/usr/share/grub/cfg/defaults.cfg @@ -0,0 +1,10 @@ +if [ -z "${def_bootlang}" ]; then + def_bootlang="en_US" + def_keyboard="us" + def_timezone="UTC" +fi +if [ -z "${bootlang}" ]; then + bootlang="lang=${def_bootlang}" + keyboard="keytable=${def_keyboard}" + timezone="tz=${def_timezone}" +fi diff --git a/base/root-overlay/usr/share/grub/cfg/grub.cfg b/base/root-overlay/usr/share/grub/cfg/grub.cfg new file mode 100644 index 0000000..38b42e3 --- /dev/null +++ b/base/root-overlay/usr/share/grub/cfg/grub.cfg @@ -0,0 +1,545 @@ +insmod font +insmod keylayouts +insmod part_msdos +insmod part_gpt + +export loaded +export koptsok +export disable_gfxterm +export bootarch +export firmware +export firmware_found +export from +export fromiso +export bootlang +export keyboard +export timezone +export hwclock +export def_bootlang +export def_keyboard +export def_timezone +export menu_color_normal +export menu_color_highlight +export pager + +function menu_help { + check_help + grub_help +} + +function check_help { + if [ -z "${koptsok}" ]; then + echo $"WARNING: nothing set" + echo $" System will use defaults" + echo " American English utc clock us "$"keyboard" + echo "" + fi +} + +function kopts_help { + echo $"Example boot command line arguments:" + echo $" Setup" + echo " lang=_ keytable= tz=/" + echo " hostname= username=" + echo $" Kernel" + echo " blacklist=" + echo $" Video" + echo " .modeset=0" + echo " radeon.modeset=0 nouveau.modeset=0 i915.modeset=0" + echo " video=VGA-1:1920x1080e DVI-0:800x600" + echo "" +} + +function grub_help { + echo $"To use the menu:" + echo $" press up or down to move between items" + echo $" press enter or right to select the item" + echo $" press e to edit the current item" + echo $" press c to go to the grub command line" + echo "" + echo $"Simply edit the first line of most menus to control them" + echo $"Select or edit the blank line to enter command line arguments" + echo "" +} + +function menu_reload { + configfile /boot/grub/grub.cfg +} + +function menu_continue { + echo -n $"Press Enter to continue" + read mcont +} + +function prompt { + echo -n "> " +} + +function is_efi { + if [ "${grub_platform}" = "efi" ]; then + return 0 + fi + return 1 +} + +function efi_detect { + if is_efi ; then + submenu --class=find.efi --hotkey=f "Detect EFI bootloaders" { + efi_found=false + + for efi in (*,gpt*)/efi/*/*.efi (*,gpt*)/efi/*/*/*.efi (*,gpt*)/*.efi (*,gpt*)/*/*.efi ; do + regexp --set=1:efi_device '^\((.*)\)/' "${efi}" + if [ -e "${efi}" ]; then + efi_found=true + + menuentry --class=efi "${efi}" "${efi_device}" { + root="${2}" + chainloader "${1}" + } + fi + done + + if [ "${efi_found}" != true ]; then + menuentry --hotkey=q --class=find.none "No EFI files detected." {menu_reload} + else + menuentry --hotkey=q --class=cancel "Cancel" {menu_reload} + fi + } + fi +} + +function memtest_detect { + if ! is_efi; then + if [ -f /boot/memtest ]; then + menuentry --class=memtest --hotkey=m "memtest" {linux16 /boot/$1} + fi + fi +} + +function lang_setup { + source /boot/grub/locales/${1} + menu_reload +} + +function lang_menu { + menuentry --class=lang.${ll} "lang=${ll}" "${ll}" {lang_setup "${2}"} +} + +function show_timezones { + submenu --class=tz --hotkey=t "tz=${def_timezone}" {# set the timezone above with the editor + if [ -n "$1" ];then + if [ "$1" = "tz=${def_timezone}" ]; then + default=0 + menuentry --class=cancel --hotkey=q "Cancel (${def_timezone})" {menu_reload} + for tt in Africa America Asia Atlantic Australia Etc Europe Pacific; do + submenu --class=tz.${tt} "${tt}" { + menuentry --class=cancel --hotkey=q "Cancel (${def_timezone})" {menu_reload} + source "/boot/grub/tz/${1}" + } + done + else + regexp -s newtz '^tz=(.*)' "$1" + if [ -z "$newtz" ]; then + def_timezone="$1" + else + def_timezone="$newtz" + fi + timezone="tz=$def_timezone" + menu_reload + fi + fi + } +} + +function show_keymaps { + submenu --class=kbd --hotkey=k "keytable=${def_keyboard}" {# set the timezone above with the editor + if [ -n "$1" ]; then + if [ "$1" = "keytable=${def_keyboard}" ]; then + default=0 + menuentry --class=cancel --hotkey=q "Cancel (${def_keyboard})" {menu_reload} + source /boot/grub/locales/keyboards + else + regexp -s newkey '^keytable=(.*)' "$1" + if [ -z "$newkey" ]; then + def_keyboard="$1" + else + def_keyboard="$newkey" + fi + keyboard="keytable=$def_keyboard" + menu_reload + fi + fi + } +} + +function show_languages { + submenu --hotkey=l --class=lang "lang=${def_bootlang}" {# set the timezone above with the editor + if [ -n "$1" ]; then + if [ "$1" = "lang=${def_bootlang}" ]; then + default=0 + menuentry --class=lang.${def_bootlang} "lang=${def_bootlang}" {menu_reload} + menuentry --class=lang.cs "Čeština" {lang_setup "cs_CZ"} + menuentry --class=lang.da "Dansk" {lang_setup "da_DK"} + submenu --class=lang.de "Deutsch" { + for ll in de_DE de_AT de_BE de_CH de_LI de_LU; do + lang_menu ${ll} + done + } + submenu --class=lang.el "Ελληνικά" { + for ll in el_GR el_CY; do + lang_menu ${ll} + done + } + submenu --class=lang.en "English" { + for ll in en_US en_AG en_AU en_BW en_CA en_DK en_UK en_HK en_IE en_IN en_NG en_NZ en_PH en_SG en_ZA en_ZW; do + lang_menu ${ll} + done + } + submenu --class=lang.es "Español" { + for ll in es_ES es_AR es_BO es_CL es_CO es_CR es_DO es_EC es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE; do + lang_menu ${ll} + done + } + submenu --class=lang.fr "Français" { + for ll in fr_FR fr_BE fr_CA fr_CH fr_LU fr_NC; do + lang_menu ${ll} + done + } + submenu --class=lang.it "Italiano" { + for ll in it_IT it_CH; do + lang_menu ${ll} + done + } + menuentry --class=lang.ja "日本語" {lang_setup "ja_JP"} + submenu --class=lang.nl "Nederlands" { + for ll in nl_NL nl_AW nl_BE; do + lang_menu ${ll} + done + } + menuentry --class=lang.pl "Polski" {lang_setup "pl_PL"} + submenu --class=lang.pt "Português" { + for ll in pt_BR pt_PT; do + lang_menu ${ll} + done + } + menuentry --class=lang.ro "Română" {lang_setup "ro_RO"} + submenu --class=lang.ru "Русский" { + for ll in ru_RU ru_UA;do + lang_menu ${ll} + done + } + menuentry --class=lang.sr "Српски" {lang_setup "sr_RS"} + submenu --class=lang.zh "中文" { + for ll in zh_CN zh_TW; do + lang_menu ${ll} + done + } + else + regexp -s newlang '^lang=(.*)' "$1" + if [ -z "$newlang" ]; then + def_bootlang="$1" + else + def_bootlang="$newlang" + fi + bootlang="lang=$def_bootlang" + if [ -f /boot/grub/locales/${def_bootlang} ]; then + source /boot/grub/locales/${def_bootlang} + fi + menu_reload + fi + fi + } +} + +function boot_menu { + if [ "${hwclock}" = "utc=yes" ]; then + class="utc" + title="utc" + clockset="" + elif [ "${timezone}${bootlang}" = "" ]; then + class="unset" + title="utc" + clockset="" + else + title="${def_timezone}" + class="tz.${def_timezone}" + clockset="utc=yes" + fi + min2d="$MINUTE" + if regexp '(^.$)' "$min2d"; then + min2d="0${min2d}" + fi + hour2d="$HOUR" + if regexp '(^.$)' "$hour2d"; then + hour2d="0${hour2d}" + fi + menuentry --class=tz.$class --hotkey=u "$hour2d:$min2d $title" "$clockset" { + hwclock="$2" + menu_reload + } + show_timezones + show_keymaps + show_languages + default=2 +} + +function boot_defaults { + source /boot/grub/defaults.cfg +} + +function grub_reboot { + menuentry " " {true} + menuentry --class=reboot "Reboot!" {reboot} +} + +function grub_bios_installed { + if ! is_efi; then + menuentry "" {true} + menuentry --class=metis "Installed BIOS-System on $installed" {exit} + fi +} + +function grub_efi_installed { + if is_efi; then + menu "" {true} + menu --class=metis "Installed EFI-System on $installed" {exit} + fi +} + + +function check { + cliname="$1" + varname="$2" + if [ "${optname}" != "${cliname}" ]; then + return 1 + fi + if [ -z "$varname" ]; then + varname="${cliname}" + fi + if [ -z "${optval}" ]; then + eval ${varname}="${cliname}" + else + eval ${varname}="${cliname}=${optval}" + if [ "${optname}" = "lang" ]; then + lang_setup ${optval} + elif [ "${optname}" = "keytable" ]; then + def_keyboard="${optval}" + elif [ "${optname}" = "tz" ]; then + def_timezone="${optval}" + fi + fi + return 0 +} + +function checkinput { + newinput="$1" + newoutput="" + for newcli in ${newinput} ; do + optname="" + optval="" + optdone="" + regexp -s optname '^(.+)=.*$' "${newcli}" + if [ -z "${optname}" ]; then + optname="${newcli}" + else + regexp -s optval '^.+=(.*)$' "${newcli}" + fi + for tocheck in "lang bootlang" "keytable keyboard" "tz timezone" "utc hwclock"; do + if check $tocheck ; then + optdone="Y" + break + fi + done + if [ -z "${optdone}" ]; then + if [ -z "${newoutput}" ]; then + newoutput="${newcli}" + else + newoutput="${newoutput} ${newcli}" + fi + fi + done +} + +function new2cli { + newinput="$1" + if [ -n "$newinput" ]; then + checkinput "$newinput" + if [ -n "${newoutput}" ]; then + newinput="${newoutput}" + if [ -n "$clinput" ]; then + clinput="$clinput $newinput" + else + clinput="$newinput" + fi + export clinput + fi + fi +} + +function getargs { + args="" + for a in $@; do + if [ -n "${a}" ]; then + args="${args} ${a}" + fi + done +} + +function bootcheck { + getargs +} + +pager=1 + +insmod regexp +insmod datehook +if ! is_efi; then + insmod part_gpt +fi + +if is_efi; then + insmod efi_gop + insmod efi_uga +fi + +if [ -z "${loaded}" ]; then + iscd="" + auto="" + regexp -s iscd '^(cd)' "${root}" + if [ "${iscd}" != "cd" -a -e (cd) ]; then + probe -s cdp -u cd + probe -s hdp -u $root + if [ -n "$cdp" -a "$cdp" = "$hdp" ]; then + iscd="cd" + fi + fi + if [ "${root}" != "hd96" -a "${iscd}" != "cd" ]; then + auto="${auto}" + fi + source /boot/grub/variable.cfg + loaded=true + + if keystatus --shift; then + disable_gfxterm=true + fi + + if [ "${disable_gfxterm}" != "true" ]; then + if loadfont /boot/grub/unicode.pf2 ; then + if [ -z "$gfxmode" ] ; then + gfxmode=1024x768,800x600 + gfxpayload=keep + fi + if keystatus --ctrl; then + gfxok="" + pager=0 + while [ -z "$gfxok" ]; do + echo "gfxmode=$gfxmode" + echo "Input new mode or Enter to confirm" + prompt + read gfxmodein + if [ -n "$gfxmodein" ]; then + gfxmode="$gfxmodein" + echo "" + else + gfxok="true" + fi + done + fi + insmod all_video + insmod gfxterm + if terminal_output --append gfxterm; then + terminal_output --remove console + else + disable_gfxterm=true + fi + else + disable_gfxterm=true + fi + fi + + if [ "${disable_gfxterm}" != "true" -a -f "${grub_theme}" ]; then + insmod gfxmenu + themedir="" + regexp -s themedir '^(.*)/.*$' "${grub_theme}" + for themefont in $themedir/*.pf2 $themedir/f/*.pf2; do + if [ -f "${themefont}" ]; then + loadfont "${themefont}" + fi + done + for imagetype in jpg jpeg png tga; do + for themeimage in ${themedir}/*.${imagetype}; do + if [ -f "${themeimage}" ]; then + if [ "${imagetype}" = "jpg" ]; then + insmod jpeg + else + insmod $imagetype + fi + fi + done + done + theme=${grub_theme} + export theme + fi + + menu_color_normal=cyan/blue + menu_color_highlight=white/blue + + if [ -n "${iso_path}" ]; then + auto="img_dev=/dev/disk/by-uuid/${rootuuid} img_loop=${iso_path}" + fi + + export auto +fi + +boot_defaults + +for kopt in "${clinput}" "${bootlang}" "${keyboard}" "${timezone}" "${hwclock}" "${auto}"; do + if [ -n "${kopt}" ]; then + kopts="${kopts} ${kopt}" + fi +done +if [ -n "${bootlang}${keyboard}${timezone}" ]; then + koptsok="true" +fi + +boot_menu + +source /boot/grub/kernels.cfg +if [ -n "$clinput" ]; then + menuentry --class=edit "$clinput" { + if [ -n "$1" ]; then + clinput="$@" + else + unset clinput + fi + menu_reload + } +fi +menuentry --class=type --hotkey=tab "" {# set arguments above with the editor + getargs $@ + pager=0 + if [ -z "$args" ]; then + check_help + kopts_help + echo $"Input command line options, press Enter to continue" + prompt + read newinput + else + newinput="$args" + fi + new2cli "$newinput" + pager=1 + menu_reload +} +menuentry --hotkey=h --class=help "help" { + pager=0 + menu_help + menu_continue + pager=1 +} +efi_detect +memtest_detect +search --no-floppy --file /etc/issue --set installed +grub_bios_installed +grub_efi_installed +grub_reboot diff --git a/base/root-overlay/usr/share/grub/cfg/kernels.cfg b/base/root-overlay/usr/share/grub/cfg/kernels.cfg new file mode 100644 index 0000000..422348e --- /dev/null +++ b/base/root-overlay/usr/share/grub/cfg/kernels.cfg @@ -0,0 +1,40 @@ +if cpuid -l; then + havekernel="Y" + title="" + for kopt in x86_64 $kopts @kopts@; do + if [ -n "$title" ] ; then + title="$title $kopt"; + else + title="$kopt"; + fi; + done + menuentry "ReadOnly: metis.x86_64 " --class=metis.x86_64 "$title @ro_opts@" {# set arguments above with the editor + linux /boot/vmlinuz-$2 + initrd /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-x86_64.img + } + menuentry "From Stick/HDD: metis.x86_64 " --class=metis.x86_64 "$title @rw_opts@" {# set arguments above with the editor + linux /boot/vmlinuz-$2 + initrd /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-x86_64.img + } +fi +if [ "${havekernel}" != "Y" ]; then + menuentry --class=find.none "NO SUITABLE KERNELS AVAILABLE" {echo $@ echo "There are no kernels suitable for this machine available." + echo "" + if ! cpuid -l; then + echo "This machine is NOT 64bit capable." + for kk in /boot/vmlinu*x86_64; do + if [ "$kk" != "/boot/vmlinu*x86_64" ]; then + have32="true" + fi + done + if [ "${have32}" != "true" ]; then + echo "There are no 32bit kernels available" + echo "It appears you are trying to boot a 64bit release on a 32bit machine" + echo "This cannot work!" + fi + fi + echo "Press Escape to return to the main menu" + sleep --interruptible 9999 + menu_reload + } +fi diff --git a/base/root-overlay/usr/share/grub/cfg/loopback.cfg b/base/root-overlay/usr/share/grub/cfg/loopback.cfg new file mode 100644 index 0000000..e94c44d --- /dev/null +++ b/base/root-overlay/usr/share/grub/cfg/loopback.cfg @@ -0,0 +1 @@ +source /boot/grub/grub.cfg diff --git a/base/root-overlay/usr/share/grub/cfg/variable.cfg b/base/root-overlay/usr/share/grub/cfg/variable.cfg new file mode 100644 index 0000000..8ea2e74 --- /dev/null +++ b/base/root-overlay/usr/share/grub/cfg/variable.cfg @@ -0,0 +1,2 @@ +# grub_theme=/boot/grub/themes/artix/theme.txt +timeout=-1 diff --git a/base/root-overlay/usr/share/grub/locales/C_ b/base/root-overlay/usr/share/grub/locales/C_ new file mode 100644 index 0000000..eebe869 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/C_ @@ -0,0 +1,9 @@ +lang=C +bootlang="lang=C_" +def_bootlang="C_" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Etc/UTC" +fi diff --git a/base/root-overlay/usr/share/grub/locales/be_BY b/base/root-overlay/usr/share/grub/locales/be_BY new file mode 100644 index 0000000..db2ebf8 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/be_BY @@ -0,0 +1,9 @@ +lang=be +bootlang="lang=be_BY" +def_bootlang="be_BY" +if [ -z "${keyboard}" ]; then + def_keyboard="by" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Minsk" +fi diff --git a/base/root-overlay/usr/share/grub/locales/bg_BG b/base/root-overlay/usr/share/grub/locales/bg_BG new file mode 100644 index 0000000..26d4b48 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/bg_BG @@ -0,0 +1,9 @@ +lang=bg +bootlang="lang=bg_BG" +def_bootlang="bg_BG" +if [ -z "${keyboard}" ]; then + def_keyboard="bg" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Sofia" +fi diff --git a/base/root-overlay/usr/share/grub/locales/bs_BA b/base/root-overlay/usr/share/grub/locales/bs_BA new file mode 100644 index 0000000..e93b394 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/bs_BA @@ -0,0 +1,9 @@ +lang=bs +bootlang="lang=bs_BA" +def_bootlang="bs_BA" +if [ -z "${keyboard}" ]; then + def_keyboard="ba" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Sarajevo" +fi diff --git a/base/root-overlay/usr/share/grub/locales/cs_CZ b/base/root-overlay/usr/share/grub/locales/cs_CZ new file mode 100644 index 0000000..2a52a56 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/cs_CZ @@ -0,0 +1,9 @@ +lang=cs +bootlang="lang=cs_CZ" +def_bootlang="cs_CZ" +if [ -z "${keyboard}" ]; then + def_keyboard="cz" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Prague" +fi diff --git a/base/root-overlay/usr/share/grub/locales/da_DK b/base/root-overlay/usr/share/grub/locales/da_DK new file mode 100644 index 0000000..82b9152 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/da_DK @@ -0,0 +1,9 @@ +lang=da +bootlang="lang=da_DK" +def_bootlang="da_DK" +if [ -z "${keyboard}" ]; then + def_keyboard="dk" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Copenhagen" +fi diff --git a/base/root-overlay/usr/share/grub/locales/de_AT b/base/root-overlay/usr/share/grub/locales/de_AT new file mode 100644 index 0000000..8fc7f0e --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/de_AT @@ -0,0 +1,9 @@ +lang=de +bootlang="lang=de_AT" +def_bootlang="de_AT" +if [ -z "${keyboard}" ]; then + def_keyboard="de" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Vienna" +fi diff --git a/base/root-overlay/usr/share/grub/locales/de_BE b/base/root-overlay/usr/share/grub/locales/de_BE new file mode 100644 index 0000000..d139a76 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/de_BE @@ -0,0 +1,9 @@ +lang=de +bootlang="lang=de_BE" +def_bootlang="de_BE" +if [ -z "${keyboard}" ]; then + def_keyboard="be" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Brussels" +fi diff --git a/base/root-overlay/usr/share/grub/locales/de_CH b/base/root-overlay/usr/share/grub/locales/de_CH new file mode 100644 index 0000000..9e2a6fd --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/de_CH @@ -0,0 +1,9 @@ +lang=de +bootlang="lang=de_CH" +def_bootlang="de_CH" +if [ -z "${keyboard}" ]; then + def_keyboard="ch" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Zurich" +fi diff --git a/base/root-overlay/usr/share/grub/locales/de_DE b/base/root-overlay/usr/share/grub/locales/de_DE new file mode 100644 index 0000000..96c7510 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/de_DE @@ -0,0 +1,9 @@ +lang=de +bootlang="lang=de_DE" +def_bootlang="de_DE" +if [ -z "${keyboard}" ]; then + def_keyboard="de" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Berlin" +fi diff --git a/base/root-overlay/usr/share/grub/locales/de_LI b/base/root-overlay/usr/share/grub/locales/de_LI new file mode 100644 index 0000000..f4e454c --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/de_LI @@ -0,0 +1,9 @@ +lang=de +bootlang="lang=de_LI" +def_bootlang="de_LI" +if [ -z "${keyboard}" ]; then + def_keyboard="de" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Vaduz" +fi diff --git a/base/root-overlay/usr/share/grub/locales/de_LU b/base/root-overlay/usr/share/grub/locales/de_LU new file mode 100644 index 0000000..0b9388a --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/de_LU @@ -0,0 +1,9 @@ +lang=de +bootlang="lang=de_LU" +def_bootlang="de_LU" +if [ -z "${keyboard}" ]; then + def_keyboard="de" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Luxembourg" +fi diff --git a/base/root-overlay/usr/share/grub/locales/el_CY b/base/root-overlay/usr/share/grub/locales/el_CY new file mode 100644 index 0000000..3dab741 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/el_CY @@ -0,0 +1,9 @@ +lang=el +bootlang="lang=el_CY" +def_bootlang="el_CY" +if [ -z "${keyboard}" ]; then + def_keyboard="gr" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Athens" +fi diff --git a/base/root-overlay/usr/share/grub/locales/el_GR b/base/root-overlay/usr/share/grub/locales/el_GR new file mode 100644 index 0000000..e947631 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/el_GR @@ -0,0 +1,9 @@ +lang=el +bootlang="lang=el_GR" +def_bootlang="el_GR" +if [ -z "${keyboard}" ]; then + def_keyboard="gr" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Athens" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_AG b/base/root-overlay/usr/share/grub/locales/en_AG new file mode 100644 index 0000000..31a86d9 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_AG @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_AG" +def_bootlang="en_AG" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Antigua" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_AU b/base/root-overlay/usr/share/grub/locales/en_AU new file mode 100644 index 0000000..574d023 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_AU @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_AU" +def_bootlang="en_AU" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Australia/Sydney" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_BW b/base/root-overlay/usr/share/grub/locales/en_BW new file mode 100644 index 0000000..d5aeb18 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_BW @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_BW" +def_bootlang="en_BW" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Africa/Gaborone" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_CA b/base/root-overlay/usr/share/grub/locales/en_CA new file mode 100644 index 0000000..786ff61 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_CA @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_CA" +def_bootlang="en_CA" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Toronto" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_DK b/base/root-overlay/usr/share/grub/locales/en_DK new file mode 100644 index 0000000..6fd6a20 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_DK @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_DK" +def_bootlang="en_DK" +if [ -z "${keyboard}" ]; then + def_keyboard="dk" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Copenhagen" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_HK b/base/root-overlay/usr/share/grub/locales/en_HK new file mode 100644 index 0000000..fa23d9d --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_HK @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_HK" +def_bootlang="en_HK" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Hong_Kong" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_IE b/base/root-overlay/usr/share/grub/locales/en_IE new file mode 100644 index 0000000..91d4470 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_IE @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_IE" +def_bootlang="en_IE" +if [ -z "${keyboard}" ]; then + def_keyboard="ie" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Dublin" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_IN b/base/root-overlay/usr/share/grub/locales/en_IN new file mode 100644 index 0000000..21e2262 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_IN @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_IN" +def_bootlang="en_IN" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Kolkata" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_NG b/base/root-overlay/usr/share/grub/locales/en_NG new file mode 100644 index 0000000..5df0af2 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_NG @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_NG" +def_bootlang="en_NG" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Africa/Lagos" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_NZ b/base/root-overlay/usr/share/grub/locales/en_NZ new file mode 100644 index 0000000..a149831 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_NZ @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_NZ" +def_bootlang="en_NZ" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Pacific/Auckland" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_PH b/base/root-overlay/usr/share/grub/locales/en_PH new file mode 100644 index 0000000..ed615f7 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_PH @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_PH" +def_bootlang="en_PH" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Manila" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_SG b/base/root-overlay/usr/share/grub/locales/en_SG new file mode 100644 index 0000000..c3b1c0f --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_SG @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_SG" +def_bootlang="en_SG" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Singapore" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_UK b/base/root-overlay/usr/share/grub/locales/en_UK new file mode 100644 index 0000000..e05001c --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_UK @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_UK" +def_bootlang="en_UK" +if [ -z "${keyboard}" ]; then + def_keyboard="uk" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/London" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_US b/base/root-overlay/usr/share/grub/locales/en_US new file mode 100644 index 0000000..ba75216 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_US @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_US" +def_bootlang="en_US" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/New_York" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_ZA b/base/root-overlay/usr/share/grub/locales/en_ZA new file mode 100644 index 0000000..9b71461 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_ZA @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_ZA" +def_bootlang="en_ZA" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Africa/Johannesburg" +fi diff --git a/base/root-overlay/usr/share/grub/locales/en_ZW b/base/root-overlay/usr/share/grub/locales/en_ZW new file mode 100644 index 0000000..06f9b57 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/en_ZW @@ -0,0 +1,9 @@ +lang=en +bootlang="lang=en_ZW" +def_bootlang="en_ZW" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Africa/Harare" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_AR b/base/root-overlay/usr/share/grub/locales/es_AR new file mode 100644 index 0000000..e2c6b9d --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_AR @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_AR" +def_bootlang="es_AR" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Argentina/Buenos_Aires" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_BO b/base/root-overlay/usr/share/grub/locales/es_BO new file mode 100644 index 0000000..846e471 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_BO @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_BO" +def_bootlang="es_BO" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/La_Paz" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_CL b/base/root-overlay/usr/share/grub/locales/es_CL new file mode 100644 index 0000000..706c5ce --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_CL @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_CL" +def_bootlang="es_CL" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Santiago" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_CO b/base/root-overlay/usr/share/grub/locales/es_CO new file mode 100644 index 0000000..3fd73eb --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_CO @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_CO" +def_bootlang="es_CO" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Bogota" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_CR b/base/root-overlay/usr/share/grub/locales/es_CR new file mode 100644 index 0000000..9fa998c --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_CR @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_CR" +def_bootlang="es_CR" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Costa_Rica" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_DO b/base/root-overlay/usr/share/grub/locales/es_DO new file mode 100644 index 0000000..b69f902 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_DO @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_DO" +def_bootlang="es_DO" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Santo_Domingo" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_EC b/base/root-overlay/usr/share/grub/locales/es_EC new file mode 100644 index 0000000..c184c75 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_EC @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_EC" +def_bootlang="es_EC" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Guayaquil" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_ES b/base/root-overlay/usr/share/grub/locales/es_ES new file mode 100644 index 0000000..36a137b --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_ES @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_ES" +def_bootlang="es_ES" +if [ -z "${keyboard}" ]; then + def_keyboard="es" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Madrid" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_GT b/base/root-overlay/usr/share/grub/locales/es_GT new file mode 100644 index 0000000..1db3868 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_GT @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_GT" +def_bootlang="es_GT" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Guatemala" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_HN b/base/root-overlay/usr/share/grub/locales/es_HN new file mode 100644 index 0000000..0440a97 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_HN @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_HN" +def_bootlang="es_HN" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Tegucigalpa" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_MX b/base/root-overlay/usr/share/grub/locales/es_MX new file mode 100644 index 0000000..64de876 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_MX @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_MX" +def_bootlang="es_MX" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Mexico_City" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_NI b/base/root-overlay/usr/share/grub/locales/es_NI new file mode 100644 index 0000000..3f8f594 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_NI @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_NI" +def_bootlang="es_NI" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Managua" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_PA b/base/root-overlay/usr/share/grub/locales/es_PA new file mode 100644 index 0000000..583fbd3 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_PA @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_PA" +def_bootlang="es_PA" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Panama" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_PE b/base/root-overlay/usr/share/grub/locales/es_PE new file mode 100644 index 0000000..50847f2 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_PE @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_PE" +def_bootlang="es_PE" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Lima" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_PR b/base/root-overlay/usr/share/grub/locales/es_PR new file mode 100644 index 0000000..fd7d790 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_PR @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_PR" +def_bootlang="es_PR" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Puerto_Rico" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_PY b/base/root-overlay/usr/share/grub/locales/es_PY new file mode 100644 index 0000000..7450853 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_PY @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_PY" +def_bootlang="es_PY" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Asuncion" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_SV b/base/root-overlay/usr/share/grub/locales/es_SV new file mode 100644 index 0000000..cb98efd --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_SV @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_SV" +def_bootlang="es_SV" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/El_Salvador" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_US b/base/root-overlay/usr/share/grub/locales/es_US new file mode 100644 index 0000000..811fc91 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_US @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_US" +def_bootlang="es_US" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/New_York" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_UY b/base/root-overlay/usr/share/grub/locales/es_UY new file mode 100644 index 0000000..1356c7b --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_UY @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_UY" +def_bootlang="es_UY" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Montevideo" +fi diff --git a/base/root-overlay/usr/share/grub/locales/es_VE b/base/root-overlay/usr/share/grub/locales/es_VE new file mode 100644 index 0000000..5ccc212 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/es_VE @@ -0,0 +1,9 @@ +lang=es +bootlang="lang=es_VE" +def_bootlang="es_VE" +if [ -z "${keyboard}" ]; then + def_keyboard="latam" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Caracas" +fi diff --git a/base/root-overlay/usr/share/grub/locales/et_EE b/base/root-overlay/usr/share/grub/locales/et_EE new file mode 100644 index 0000000..3778c55 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/et_EE @@ -0,0 +1,9 @@ +lang=et +bootlang="lang=et_EE" +def_bootlang="et_EE" +if [ -z "${keyboard}" ]; then + def_keyboard="et" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Tallinn" +fi diff --git a/base/root-overlay/usr/share/grub/locales/fi_FI b/base/root-overlay/usr/share/grub/locales/fi_FI new file mode 100644 index 0000000..3fc1861 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/fi_FI @@ -0,0 +1,9 @@ +lang=fi +bootlang="lang=fi_FI" +def_bootlang="fi_FI" +if [ -z "${keyboard}" ]; then + def_keyboard="fi" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Helsinki" +fi diff --git a/base/root-overlay/usr/share/grub/locales/fr_BE b/base/root-overlay/usr/share/grub/locales/fr_BE new file mode 100644 index 0000000..34e0e3d --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/fr_BE @@ -0,0 +1,9 @@ +lang=fr +bootlang="lang=fr_BE" +def_bootlang="fr_BE" +if [ -z "${keyboard}" ]; then + def_keyboard="be" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Brussels" +fi diff --git a/base/root-overlay/usr/share/grub/locales/fr_CA b/base/root-overlay/usr/share/grub/locales/fr_CA new file mode 100644 index 0000000..f1b38fe --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/fr_CA @@ -0,0 +1,9 @@ +lang=fr +bootlang="lang=fr_CA" +def_bootlang="fr_CA" +if [ -z "${keyboard}" ]; then + def_keyboard="ca" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Toronto" +fi diff --git a/base/root-overlay/usr/share/grub/locales/fr_CH b/base/root-overlay/usr/share/grub/locales/fr_CH new file mode 100644 index 0000000..d7a20c9 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/fr_CH @@ -0,0 +1,9 @@ +lang=fr +bootlang="lang=fr_CH" +def_bootlang="fr_CH" +if [ -z "${keyboard}" ]; then + def_keyboard="ch" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Zurich" +fi diff --git a/base/root-overlay/usr/share/grub/locales/fr_FR b/base/root-overlay/usr/share/grub/locales/fr_FR new file mode 100644 index 0000000..09686c7 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/fr_FR @@ -0,0 +1,9 @@ +lang=fr +bootlang="lang=fr_FR" +def_bootlang="fr_FR" +if [ -z "${keyboard}" ]; then + def_keyboard="fr" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Paris" +fi diff --git a/base/root-overlay/usr/share/grub/locales/fr_LU b/base/root-overlay/usr/share/grub/locales/fr_LU new file mode 100644 index 0000000..d50adbb --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/fr_LU @@ -0,0 +1,9 @@ +lang=fr +bootlang="lang=fr_LU" +def_bootlang="fr_LU" +if [ -z "${keyboard}" ]; then + def_keyboard="fr" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Luxembourg" +fi diff --git a/base/root-overlay/usr/share/grub/locales/fr_NC b/base/root-overlay/usr/share/grub/locales/fr_NC new file mode 100644 index 0000000..a3f5c1f --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/fr_NC @@ -0,0 +1,9 @@ +lang=fr +bootlang="lang=fr_NC" +def_bootlang="fr_NC" +if [ -z "${keyboard}" ]; then + def_keyboard="fr" +fi +if [ -z "${timezone}" ]; then + def_timezone="Pacific/Noumea" +fi diff --git a/base/root-overlay/usr/share/grub/locales/ga_IE b/base/root-overlay/usr/share/grub/locales/ga_IE new file mode 100644 index 0000000..5221075 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/ga_IE @@ -0,0 +1,9 @@ +lang=ga +bootlang="lang=ga_IE" +def_bootlang="ga_IE" +if [ -z "${keyboard}" ]; then + def_keyboard="ie" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Dublin" +fi diff --git a/base/root-overlay/usr/share/grub/locales/he_IL b/base/root-overlay/usr/share/grub/locales/he_IL new file mode 100644 index 0000000..750144c --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/he_IL @@ -0,0 +1,9 @@ +lang=he +bootlang="lang=he_IL" +def_bootlang="he_IL" +if [ -z "${keyboard}" ]; then + def_keyboard="il" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Jerusalem" +fi diff --git a/base/root-overlay/usr/share/grub/locales/hr_HR b/base/root-overlay/usr/share/grub/locales/hr_HR new file mode 100644 index 0000000..89125bc --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/hr_HR @@ -0,0 +1,9 @@ +lang=hr +bootlang="lang=hr_HR" +def_bootlang="hr_HR" +if [ -z "${keyboard}" ]; then + def_keyboard="hr" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Zagreb" +fi diff --git a/base/root-overlay/usr/share/grub/locales/hu_HU b/base/root-overlay/usr/share/grub/locales/hu_HU new file mode 100644 index 0000000..55d9f5c --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/hu_HU @@ -0,0 +1,9 @@ +lang=hu +bootlang="lang=hu_HU" +def_bootlang="hu_HU" +if [ -z "${keyboard}" ]; then + def_keyboard="hu" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Budapest" +fi diff --git a/base/root-overlay/usr/share/grub/locales/is_IS b/base/root-overlay/usr/share/grub/locales/is_IS new file mode 100644 index 0000000..85cbc52 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/is_IS @@ -0,0 +1,9 @@ +lang=is +bootlang="lang=is_IS" +def_bootlang="is_IS" +if [ -z "${keyboard}" ]; then + def_keyboard="is" +fi +if [ -z "${timezone}" ]; then + def_timezone="Atlantic/Reykjavik" +fi diff --git a/base/root-overlay/usr/share/grub/locales/it_CH b/base/root-overlay/usr/share/grub/locales/it_CH new file mode 100644 index 0000000..164867f --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/it_CH @@ -0,0 +1,9 @@ +lang=it +bootlang="lang=it_CH" +def_bootlang="it_CH" +if [ -z "${keyboard}" ]; then + def_keyboard="it" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Zurich" +fi diff --git a/base/root-overlay/usr/share/grub/locales/it_IT b/base/root-overlay/usr/share/grub/locales/it_IT new file mode 100644 index 0000000..b20694f --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/it_IT @@ -0,0 +1,9 @@ +lang=it +bootlang="lang=it_IT" +def_bootlang="it_IT" +if [ -z "${keyboard}" ]; then + def_keyboard="it" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Rome" +fi diff --git a/base/root-overlay/usr/share/grub/locales/ja_JP b/base/root-overlay/usr/share/grub/locales/ja_JP new file mode 100644 index 0000000..9842e72 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/ja_JP @@ -0,0 +1,9 @@ +lang=ja +bootlang="lang=ja_JP" +def_bootlang="ja_JP" +if [ -z "${keyboard}" ]; then + def_keyboard="jp" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Tokyo" +fi diff --git a/base/root-overlay/usr/share/grub/locales/keyboards b/base/root-overlay/usr/share/grub/locales/keyboards new file mode 100644 index 0000000..fae08c6 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/keyboards @@ -0,0 +1,6 @@ +for kk in us ba be bg br by ca ch cz de dk es et fi fr uk gr hr hu ie il is it jp kr latam no pl pt ro ru se si sk sr tr ua; do + menuentry "keytable=${kk}" "${kk}" {def_keyboard="${2}" +keyboard="keytable=${2}" +menu_reload +} + done diff --git a/base/root-overlay/usr/share/grub/locales/ko_KR b/base/root-overlay/usr/share/grub/locales/ko_KR new file mode 100644 index 0000000..798847e --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/ko_KR @@ -0,0 +1,9 @@ +lang=ko +bootlang="lang=ko_KR" +def_bootlang="ko_KR" +if [ -z "${keyboard}" ]; then + def_keyboard="kr" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Seoul" +fi diff --git a/base/root-overlay/usr/share/grub/locales/nb_NO b/base/root-overlay/usr/share/grub/locales/nb_NO new file mode 100644 index 0000000..b0ca059 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/nb_NO @@ -0,0 +1,9 @@ +lang=nb +bootlang="lang=nb_NO" +def_bootlang="nb_NO" +if [ -z "${keyboard}" ]; then + def_keyboard="no" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Oslo" +fi diff --git a/base/root-overlay/usr/share/grub/locales/nl_AW b/base/root-overlay/usr/share/grub/locales/nl_AW new file mode 100644 index 0000000..7dac4d9 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/nl_AW @@ -0,0 +1,9 @@ +lang=nl +bootlang="lang=nl_AW" +def_bootlang="nl_AW" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Aruba" +fi diff --git a/base/root-overlay/usr/share/grub/locales/nl_BE b/base/root-overlay/usr/share/grub/locales/nl_BE new file mode 100644 index 0000000..09fdc05 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/nl_BE @@ -0,0 +1,9 @@ +lang=nl +bootlang="lang=nl_BE" +def_bootlang="nl_BE" +if [ -z "${keyboard}" ]; then + def_keyboard="be" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Brussels" +fi diff --git a/base/root-overlay/usr/share/grub/locales/nl_NL b/base/root-overlay/usr/share/grub/locales/nl_NL new file mode 100644 index 0000000..f519df4 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/nl_NL @@ -0,0 +1,9 @@ +lang=nl +bootlang="lang=nl_NL" +def_bootlang="nl_NL" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Amsterdam" +fi diff --git a/base/root-overlay/usr/share/grub/locales/nn_NO b/base/root-overlay/usr/share/grub/locales/nn_NO new file mode 100644 index 0000000..02b941d --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/nn_NO @@ -0,0 +1,9 @@ +lang=nn +bootlang="lang=nn_NO" +def_bootlang="nn_NO" +if [ -z "${keyboard}" ]; then + def_keyboard="no" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Oslo" +fi diff --git a/base/root-overlay/usr/share/grub/locales/pl_PL b/base/root-overlay/usr/share/grub/locales/pl_PL new file mode 100644 index 0000000..1094e71 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/pl_PL @@ -0,0 +1,9 @@ +lang=pl +bootlang="lang=pl_PL" +def_bootlang="pl_PL" +if [ -z "${keyboard}" ]; then + def_keyboard="pl" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Warsaw" +fi diff --git a/base/root-overlay/usr/share/grub/locales/pt_BR b/base/root-overlay/usr/share/grub/locales/pt_BR new file mode 100644 index 0000000..48c6ed5 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/pt_BR @@ -0,0 +1,9 @@ +lang=pt +bootlang="lang=pt_BR" +def_bootlang="pt_BR" +if [ -z "${keyboard}" ]; then + def_keyboard="br" +fi +if [ -z "${timezone}" ]; then + def_timezone="America/Sao_Paulo" +fi diff --git a/base/root-overlay/usr/share/grub/locales/pt_PT b/base/root-overlay/usr/share/grub/locales/pt_PT new file mode 100644 index 0000000..f76819f --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/pt_PT @@ -0,0 +1,9 @@ +lang=pt +bootlang="lang=pt_PT" +def_bootlang="pt_PT" +if [ -z "${keyboard}" ]; then + def_keyboard="pt" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Lisbon" +fi diff --git a/base/root-overlay/usr/share/grub/locales/ro_RO b/base/root-overlay/usr/share/grub/locales/ro_RO new file mode 100644 index 0000000..6811dab --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/ro_RO @@ -0,0 +1,9 @@ +lang=ro +bootlang="lang=ro_RO" +def_bootlang="ro_RO" +if [ -z "${keyboard}" ]; then + def_keyboard="ro" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Bucharest" +fi diff --git a/base/root-overlay/usr/share/grub/locales/ru_RU b/base/root-overlay/usr/share/grub/locales/ru_RU new file mode 100644 index 0000000..ece37b9 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/ru_RU @@ -0,0 +1,9 @@ +lang=ru +bootlang="lang=ru_RU" +def_bootlang="ru_RU" +if [ -z "${keyboard}" ]; then + def_keyboard="ru" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Moscow" +fi diff --git a/base/root-overlay/usr/share/grub/locales/ru_UA b/base/root-overlay/usr/share/grub/locales/ru_UA new file mode 100644 index 0000000..159ffa3 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/ru_UA @@ -0,0 +1,9 @@ +lang=ru +bootlang="lang=ru_UA" +def_bootlang="ru_UA" +if [ -z "${keyboard}" ]; then + def_keyboard="ru" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Kiev" +fi diff --git a/base/root-overlay/usr/share/grub/locales/se_FI b/base/root-overlay/usr/share/grub/locales/se_FI new file mode 100644 index 0000000..ffdc61e --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/se_FI @@ -0,0 +1,9 @@ +lang=se +bootlang="lang=se_FI" +def_bootlang="se_FI" +if [ -z "${keyboard}" ]; then + def_keyboard="fi" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Helsinki" +fi diff --git a/base/root-overlay/usr/share/grub/locales/se_NO b/base/root-overlay/usr/share/grub/locales/se_NO new file mode 100644 index 0000000..1516b80 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/se_NO @@ -0,0 +1,9 @@ +lang=se +bootlang="lang=se_NO" +def_bootlang="se_NO" +if [ -z "${keyboard}" ]; then + def_keyboard="no" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Oslo" +fi diff --git a/base/root-overlay/usr/share/grub/locales/se_SE b/base/root-overlay/usr/share/grub/locales/se_SE new file mode 100644 index 0000000..7daa5eb --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/se_SE @@ -0,0 +1,9 @@ +lang=se +bootlang="lang=se_SE" +def_bootlang="se_SE" +if [ -z "${keyboard}" ]; then + def_keyboard="se" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Stockholm" +fi diff --git a/base/root-overlay/usr/share/grub/locales/sk_SK b/base/root-overlay/usr/share/grub/locales/sk_SK new file mode 100644 index 0000000..97a3190 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/sk_SK @@ -0,0 +1,9 @@ +lang=sk +bootlang="lang=sk_SK" +def_bootlang="sk_SK" +if [ -z "${keyboard}" ]; then + def_keyboard="sk" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Bratislava" +fi diff --git a/base/root-overlay/usr/share/grub/locales/sl_SI b/base/root-overlay/usr/share/grub/locales/sl_SI new file mode 100644 index 0000000..1e35aaf --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/sl_SI @@ -0,0 +1,9 @@ +lang=sl +bootlang="lang=sl_SI" +def_bootlang="sl_SI" +if [ -z "${keyboard}" ]; then + def_keyboard="si" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Ljubljana" +fi diff --git a/base/root-overlay/usr/share/grub/locales/sr_RS b/base/root-overlay/usr/share/grub/locales/sr_RS new file mode 100644 index 0000000..4860fb6 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/sr_RS @@ -0,0 +1,9 @@ +lang=sr +bootlang="lang=sr_RS" +def_bootlang="sr_RS" +if [ -z "${keyboard}" ]; then + def_keyboard="sr" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Belgrade" +fi diff --git a/base/root-overlay/usr/share/grub/locales/sv_FI b/base/root-overlay/usr/share/grub/locales/sv_FI new file mode 100644 index 0000000..edeae6d --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/sv_FI @@ -0,0 +1,9 @@ +lang=sv +bootlang="lang=sv_FI" +def_bootlang="sv_FI" +if [ -z "${keyboard}" ]; then + def_keyboard="se" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Helsinki" +fi diff --git a/base/root-overlay/usr/share/grub/locales/sv_SE b/base/root-overlay/usr/share/grub/locales/sv_SE new file mode 100644 index 0000000..20adac1 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/sv_SE @@ -0,0 +1,9 @@ +lang=sv +bootlang="lang=sv_SE" +def_bootlang="sv_SE" +if [ -z "${keyboard}" ]; then + def_keyboard="se" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Stockholm" +fi diff --git a/base/root-overlay/usr/share/grub/locales/tr_CY b/base/root-overlay/usr/share/grub/locales/tr_CY new file mode 100644 index 0000000..e52cb2f --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/tr_CY @@ -0,0 +1,9 @@ +lang=tr +bootlang="lang=tr_CY" +def_bootlang="tr_CY" +if [ -z "${keyboard}" ]; then + def_keyboard="tr" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Istanbul" +fi diff --git a/base/root-overlay/usr/share/grub/locales/tr_TR b/base/root-overlay/usr/share/grub/locales/tr_TR new file mode 100644 index 0000000..3c0041b --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/tr_TR @@ -0,0 +1,9 @@ +lang=tr +bootlang="lang=tr_TR" +def_bootlang="tr_TR" +if [ -z "${keyboard}" ]; then + def_keyboard="tr" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Istanbul" +fi diff --git a/base/root-overlay/usr/share/grub/locales/uk_UA b/base/root-overlay/usr/share/grub/locales/uk_UA new file mode 100644 index 0000000..da0de21 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/uk_UA @@ -0,0 +1,9 @@ +lang=uk +bootlang="lang=uk_UA" +def_bootlang="uk_UA" +if [ -z "${keyboard}" ]; then + def_keyboard="ua" +fi +if [ -z "${timezone}" ]; then + def_timezone="Europe/Kiev" +fi diff --git a/base/root-overlay/usr/share/grub/locales/zh_CN b/base/root-overlay/usr/share/grub/locales/zh_CN new file mode 100644 index 0000000..fbab45a --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/zh_CN @@ -0,0 +1,9 @@ +lang=zh +bootlang="lang=zh_CN" +def_bootlang="zh_CN" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Shaghai" +fi diff --git a/base/root-overlay/usr/share/grub/locales/zh_HK b/base/root-overlay/usr/share/grub/locales/zh_HK new file mode 100644 index 0000000..22b8e17 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/zh_HK @@ -0,0 +1,9 @@ +lang=zh +bootlang="lang=zh_HK" +def_bootlang="zh_HK" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Hong_Kong" +fi diff --git a/base/root-overlay/usr/share/grub/locales/zh_SG b/base/root-overlay/usr/share/grub/locales/zh_SG new file mode 100644 index 0000000..f379681 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/zh_SG @@ -0,0 +1,9 @@ +lang=zh +bootlang="lang=zh_SG" +def_bootlang="zh_SG" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Singapore" +fi diff --git a/base/root-overlay/usr/share/grub/locales/zh_TW b/base/root-overlay/usr/share/grub/locales/zh_TW new file mode 100644 index 0000000..b3a4643 --- /dev/null +++ b/base/root-overlay/usr/share/grub/locales/zh_TW @@ -0,0 +1,9 @@ +lang=zh +bootlang="lang=zh_TW" +def_bootlang="zh_TW" +if [ -z "${keyboard}" ]; then + def_keyboard="us" +fi +if [ -z "${timezone}" ]; then + def_timezone="Asia/Taipei" +fi diff --git a/base/root-overlay/usr/share/grub/tz/Africa b/base/root-overlay/usr/share/grub/tz/Africa new file mode 100644 index 0000000..d1b6d12 --- /dev/null +++ b/base/root-overlay/usr/share/grub/tz/Africa @@ -0,0 +1,7 @@ +for tz in Gaborone Harare Johannesburg Lagos; do + menuentry --class=tz.Africa.${tz} "Africa/${tz}" { + timezone="tz=${1}" + def_timezone="${1}" + menu_reload + } +done diff --git a/base/root-overlay/usr/share/grub/tz/America b/base/root-overlay/usr/share/grub/tz/America new file mode 100644 index 0000000..1c12efc --- /dev/null +++ b/base/root-overlay/usr/share/grub/tz/America @@ -0,0 +1,7 @@ +for tz in Antigua Argentina Aruba Asuncion Bogota Caracas Costa_Rica El_Salvador Guatemala Guayaquil La_Paz Lima Managua Mexico_City Montevideo New_York Panama Puerto_Rico Santiago Santo_Domingo Sao_Paulo Tegucigalpa Toronto; do + menuentry --class=tz.America.${tz} "America/${tz}" { + timezone="tz=${1}" + def_timezone="${1}" + menu_reload + } +done diff --git a/base/root-overlay/usr/share/grub/tz/Asia b/base/root-overlay/usr/share/grub/tz/Asia new file mode 100644 index 0000000..9dcb6dd --- /dev/null +++ b/base/root-overlay/usr/share/grub/tz/Asia @@ -0,0 +1,7 @@ +for tz in Hong_Kong Jerusalem Kolkata Manila Seoul Shaghai Singapore Taipei Tokyo; do + menuentry --class=tz.Asia.${tz} "Asia/${tz}" { + timezone="tz=${1}" + def_timezone="${1}" + menu_reload + } +done diff --git a/base/root-overlay/usr/share/grub/tz/Atlantic b/base/root-overlay/usr/share/grub/tz/Atlantic new file mode 100644 index 0000000..a3a604c --- /dev/null +++ b/base/root-overlay/usr/share/grub/tz/Atlantic @@ -0,0 +1,7 @@ +for tz in Reykjavik; do + menuentry --class=tz.Atlantic.${tz} "Atlantic/${tz}" { + timezone="tz=${1}" + def_timezone="${1}" + menu_reload + } +done diff --git a/base/root-overlay/usr/share/grub/tz/Australia b/base/root-overlay/usr/share/grub/tz/Australia new file mode 100644 index 0000000..6e03fb1 --- /dev/null +++ b/base/root-overlay/usr/share/grub/tz/Australia @@ -0,0 +1,7 @@ +for tz in Sydney; do + menuentry --class=tz.Australia.${tz} "Australia/${tz}" { + timezone="tz=${1}" + def_timezone="${1}" + menu_reload + } +done diff --git a/base/root-overlay/usr/share/grub/tz/Etc b/base/root-overlay/usr/share/grub/tz/Etc new file mode 100644 index 0000000..9c23bb4 --- /dev/null +++ b/base/root-overlay/usr/share/grub/tz/Etc @@ -0,0 +1,7 @@ +for tz in UTC; do + menuentry --class=tz.Etc.${tz} "Etc/${tz}" { + timezone="tz=${1}" + def_timezone="${1}" + menu_reload + } +done diff --git a/base/root-overlay/usr/share/grub/tz/Europe b/base/root-overlay/usr/share/grub/tz/Europe new file mode 100644 index 0000000..de536f9 --- /dev/null +++ b/base/root-overlay/usr/share/grub/tz/Europe @@ -0,0 +1,7 @@ +for tz in Amsterdam Athens Berlin Bratislava Brussels Bucharest Budapest Copenhagen Dublin Helsinki Istanbul Kiev Lisbon Ljubljana London Luxembourg Madrid Minsk Moscow Oslo Paris Prague Rome Sarajevo Sofia Stockholm Tallinn Vaduz Vienna Warsaw Zagreb Zurich; do + menuentry --class=tz.Europe.${tz} "Europe/${tz}" { + timezone="tz=${1}" + def_timezone="${1}" + menu_reload + } +done diff --git a/base/root-overlay/usr/share/grub/tz/Pacific b/base/root-overlay/usr/share/grub/tz/Pacific new file mode 100644 index 0000000..266134e --- /dev/null +++ b/base/root-overlay/usr/share/grub/tz/Pacific @@ -0,0 +1,7 @@ +for tz in Auckland Noumea; do + menuentry --class=tz.Pacific.${tz} "Pacific/${tz}" { + timezone="tz=${1}" + def_timezone="${1}" + menu_reload + } +done