better error handling installer + updated servers + more
This commit is contained in:
parent
5649b95643
commit
8b920322ba
23 changed files with 1148 additions and 1193 deletions
|
@ -3,5 +3,9 @@
|
||||||
mkinitcpio-nfs-utils
|
mkinitcpio-nfs-utils
|
||||||
squashfs-tools
|
squashfs-tools
|
||||||
grub
|
grub
|
||||||
vim
|
terminus-font
|
||||||
artix-live-@initsys@
|
btrfs-progs
|
||||||
|
e2fsprogs
|
||||||
|
xfsprogs
|
||||||
|
f2fs-tools
|
||||||
|
artix-live-@initsys@
|
|
@ -1,5 +1,5 @@
|
||||||
GRUB_DEFAULT="0"
|
GRUB_DEFAULT="0"
|
||||||
GRUB_TIMEOUT="3"
|
GRUB_TIMEOUT="5"
|
||||||
GRUB_DISTRIBUTOR="Metis"
|
GRUB_DISTRIBUTOR="Metis"
|
||||||
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
|
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
|
||||||
GRUB_CMDLINE_LINUX="net.ifnames=0"
|
GRUB_CMDLINE_LINUX="net.ifnames=0"
|
||||||
|
|
|
@ -101,18 +101,6 @@ Include = /etc/pacman.d/mirrorlist
|
||||||
#[lib32]
|
#[lib32]
|
||||||
#Include = /etc/pacman.d/mirrorlist
|
#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
|
# An example of a custom package repository. See the pacman manpage for
|
||||||
# tips on creating your own repositories.
|
# tips on creating your own repositories.
|
||||||
#[custom]
|
#[custom]
|
||||||
|
|
|
@ -1,614 +0,0 @@
|
||||||
### 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
|
|
|
@ -1,42 +1,38 @@
|
||||||
###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://mirrors.42tm.tech/artix-linux/$repo/os/$arch
|
||||||
Server = https://mirror1.cl.netactuate.com/artix/repos/$repo/os/$arch
|
Server = http://mirrors.redcorelinux.org/artixlinux/$repo/os/$arch
|
||||||
|
Server = https://mirror.freedif.org/Artix/$repo/os/$arch
|
||||||
|
Server = https://mirror.funami.tech/artix/$repo/os/$arch
|
||||||
|
Server = https://mirror.pascalpuffke.de/artix-linux/$repo/os/$arch
|
||||||
|
Server = https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch
|
||||||
|
Server = https://mirror.linux.pizza/artix-linux/$repo/os/$arch
|
||||||
|
Server = https://ftp.halifax.rwth-aachen.de/artixlinux/$repo/os/$arch
|
||||||
|
Server = https://mirror1.artixlinux.org/repos/$repo/os/$arch
|
||||||
|
Server = https://eu-mirror.artixlinux.org/repos/$repo/os/$arch
|
||||||
Server = https://mirror.one.com/artix/$repo/os/$arch
|
Server = https://mirror.one.com/artix/$repo/os/$arch
|
||||||
|
Server = https://artix.unixpeople.org/repos/$repo/os/$arch
|
||||||
|
Server = https://artix.cccp.io/$repo/os/$arch
|
||||||
|
Server = https://mirrors.tuna.tsinghua.edu.cn/artixlinux/$repo/os/$arch
|
||||||
|
Server = https://mirrors.rit.edu/artixlinux/$repo/os/$arch
|
||||||
|
Server = https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch
|
||||||
|
Server = https://us-mirror.artixlinux.org/$repo/os/$arch
|
||||||
|
Server = https://mirrors.ocf.berkeley.edu/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://ftp.cc.uoc.gr/mirrors/linux/artixlinux/$repo/os/$arch
|
||||||
|
Server = https://ftp.sh.cvut.cz/artix-linux/$repo/os/$arch
|
||||||
|
Server = http://www.nylxs.com/mirror/repos/$repo/os/$arch
|
||||||
|
Server = https://mirror1.cl.netactuate.com/artix/repos/$repo/os/$arch
|
||||||
|
Server = https://mirrors.aliyun.com/artixlinux/$repo/os/$arch
|
||||||
|
Server = https://mirror.csclub.uwaterloo.ca/artixlinux/$repo/os/$arch
|
||||||
|
Server = https://mirror.aarnet.edu.au/pub/artix/$repo/os/$arch
|
||||||
|
Server = https://quantum-mirror.hu/mirrors/pub/artix-linux/$repo/os/$arch
|
||||||
|
Server = https://mirror.nju.edu.cn/artixlinux/$repo/os/$arch
|
||||||
Server = https://mirror.netcologne.de/artix-linux/$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://mirrors.cloud.tencent.com/artixlinux/$repo/os/$arch
|
||||||
Server = https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch
|
Server = https://artixlinux.qontinuum.space/artixlinux/$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://ftp.ludd.ltu.se/mirrors/artix/$repo/os/$arch
|
||||||
|
Server = http://ftp.ntua.gr/pub/linux/artix-linux/$repo/os/$arch
|
||||||
|
Server = https://artix.wheaton.edu/repos/$repo/os/$arch
|
||||||
|
Server = https://ftp.uni-bayreuth.de/linux/artix-linux/$repo/os/$arch
|
||||||
|
Server = https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch
|
||||||
Server = https://mirrors.nettek.us/artix-linux/$repo/os/$arch
|
Server = https://mirrors.nettek.us/artix-linux/$repo/os/$arch
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
# 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
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
rm -rf /mnt/post_install.sh
|
rm -rf /mnt/post_install.sh
|
||||||
sleep 3s
|
sleep 1s
|
||||||
clear
|
clear
|
||||||
echo -ne "
|
echo -ne "
|
||||||
__________________________________________________________________________________________________________
|
__________________________________________________________________________________________________________
|
||||||
|
@ -23,7 +23,10 @@ ________________________________________________________________________________
|
||||||
echo "Metis Linux Installation Finished!!!"
|
echo "Metis Linux Installation Finished!!!"
|
||||||
echo "Umounting all the drives"
|
echo "Umounting all the drives"
|
||||||
umount -R /mnt
|
umount -R /mnt
|
||||||
echo "And then rebooting in 10 seconds!!!"
|
|
||||||
echo "After Reboot login your your username and password and type startx to start GUI."
|
echo "After Reboot login your your username and password and type startx to start GUI."
|
||||||
sleep 10s
|
echo "If you've installed metis-os in a VM, it may be buggy or could perform abnormal, try disabling picom compositor."
|
||||||
|
echo "AFTER REBOOTING RUN THE FOLLOWING COMMAND IN CASE OF NO NETWORK CONNECTIO: "
|
||||||
|
echo "1. sudo ls -s /etc/runit/sv/NetworkManager /run/runit/service"
|
||||||
|
echo "And then rebooting in 15 seconds!!!"
|
||||||
|
sleep 20s
|
||||||
reboot
|
reboot
|
||||||
|
|
269
base/root-overlay/usr/local/bin/metis-chroot
Executable file
269
base/root-overlay/usr/local/bin/metis-chroot
Executable file
|
@ -0,0 +1,269 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
shopt -s extglob
|
||||||
|
|
||||||
|
#!/hint/bash
|
||||||
|
|
||||||
|
#{{{ message
|
||||||
|
|
||||||
|
#set +u +o posix
|
||||||
|
|
||||||
|
# shellcheck disable=1091
|
||||||
|
. /usr/share/makepkg/util.sh
|
||||||
|
|
||||||
|
export LANG=C
|
||||||
|
|
||||||
|
shopt -s extglob
|
||||||
|
|
||||||
|
if [[ -t 2 && "$TERM" != dumb ]]; then
|
||||||
|
colorize
|
||||||
|
else
|
||||||
|
# shellcheck disable=2034
|
||||||
|
declare -gr ALL_OFF='' BOLD='' BLUE='' GREEN='' RED='' YELLOW=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
stat_busy() {
|
||||||
|
local mesg=$1; shift
|
||||||
|
# shellcheck disable=2059
|
||||||
|
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}...${ALL_OFF}" "$@" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
stat_done() {
|
||||||
|
# shellcheck disable=2059
|
||||||
|
printf "${BOLD}done${ALL_OFF}\n" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
lock_close() {
|
||||||
|
local fd=$1
|
||||||
|
exec {fd}>&-
|
||||||
|
}
|
||||||
|
|
||||||
|
lock() {
|
||||||
|
if ! [[ "/dev/fd/$1" -ef "$2" ]]; then
|
||||||
|
mkdir -p -- "$(dirname -- "$2")"
|
||||||
|
eval "exec $1>"'"$2"'
|
||||||
|
fi
|
||||||
|
if ! flock -n "$1"; then
|
||||||
|
stat_busy "$3"
|
||||||
|
flock "$1"
|
||||||
|
stat_done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
slock() {
|
||||||
|
if ! [[ "/dev/fd/$1" -ef "$2" ]]; then
|
||||||
|
mkdir -p -- "$(dirname -- "$2")"
|
||||||
|
eval "exec $1>"'"$2"'
|
||||||
|
fi
|
||||||
|
if ! flock -sn "$1"; then
|
||||||
|
stat_busy "$3"
|
||||||
|
flock -s "$1"
|
||||||
|
stat_done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_setup_workdir=false
|
||||||
|
setup_workdir() {
|
||||||
|
[[ -z ${WORKDIR:-} ]] && WORKDIR=$(mktemp -d --tmpdir "${0##*/}.XXXXXXXXXX")
|
||||||
|
_setup_workdir=true
|
||||||
|
trap 'trap_abort' INT QUIT TERM HUP
|
||||||
|
trap 'trap_exit' EXIT
|
||||||
|
}
|
||||||
|
|
||||||
|
trap_abort() {
|
||||||
|
trap - EXIT INT QUIT TERM HUP
|
||||||
|
abort
|
||||||
|
}
|
||||||
|
|
||||||
|
trap_exit() {
|
||||||
|
local r=$?
|
||||||
|
trap - EXIT INT QUIT TERM HUP
|
||||||
|
cleanup $r
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
if [[ -n ${WORKDIR:-} ]] && $_setup_workdir; then
|
||||||
|
rm -rf "$WORKDIR"
|
||||||
|
fi
|
||||||
|
exit "${1:-0}"
|
||||||
|
}
|
||||||
|
|
||||||
|
abort() {
|
||||||
|
error 'Aborting...'
|
||||||
|
cleanup 255
|
||||||
|
}
|
||||||
|
|
||||||
|
die() {
|
||||||
|
(( $# )) && error "$@"
|
||||||
|
cleanup 255
|
||||||
|
}
|
||||||
|
|
||||||
|
#}}}
|
||||||
|
|
||||||
|
#!/hint/bash
|
||||||
|
|
||||||
|
#{{{ chroot
|
||||||
|
|
||||||
|
orig_argv=("$0" "$@")
|
||||||
|
check_root() {
|
||||||
|
local keepenv="$1"
|
||||||
|
|
||||||
|
(( EUID == 0 )) && return
|
||||||
|
if type -P sudo >/dev/null; then
|
||||||
|
# shellcheck disable=2154
|
||||||
|
exec sudo --preserve-env="$keepenv" -- "${orig_argv[@]}"
|
||||||
|
else
|
||||||
|
# shellcheck disable=2154
|
||||||
|
exec su root -c "$(printf ' %q' "${orig_argv[@]}")"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
is_btrfs() {
|
||||||
|
[[ -e "$1" && "$(stat -f -c %T "$1")" == btrfs ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
is_subvolume() {
|
||||||
|
[[ -e "$1" && "$(stat -f -c %T "$1")" == btrfs && "$(stat -c %i "$1")" == 256 ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
# is_same_fs() {
|
||||||
|
# [[ "$(stat -c %d "$1")" == "$(stat -c %d "$2")" ]]
|
||||||
|
# }
|
||||||
|
|
||||||
|
subvolume_delete_recursive() {
|
||||||
|
local subvol
|
||||||
|
|
||||||
|
is_subvolume "$1" || return 0
|
||||||
|
|
||||||
|
while IFS= read -d $'\0' -r subvol; do
|
||||||
|
if ! subvolume_delete_recursive "$subvol"; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
done < <(find "$1" -mindepth 1 -xdev -depth -inum 256 -print0)
|
||||||
|
if ! btrfs subvolume delete "$1" &>/dev/null; then
|
||||||
|
error "Unable to delete subvolume %s" "$subvol"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
#!/hint/bash
|
||||||
|
|
||||||
|
#{{{ mount
|
||||||
|
|
||||||
|
ignore_error() {
|
||||||
|
"$@" 2>/dev/null
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
trap_setup(){
|
||||||
|
[[ $(trap -p EXIT) ]] && die 'Error! Attempting to overwrite existing EXIT trap'
|
||||||
|
trap "$1" EXIT
|
||||||
|
}
|
||||||
|
|
||||||
|
chroot_mount() {
|
||||||
|
# msg2 "mount: [%s]" "$2"
|
||||||
|
mount "$@" && CHROOT_ACTIVE_MOUNTS=("$2" "${CHROOT_ACTIVE_MOUNTS[@]}")
|
||||||
|
}
|
||||||
|
|
||||||
|
chroot_add_resolv_conf() {
|
||||||
|
local chrootdir=$1 resolv_conf=$1/etc/resolv.conf
|
||||||
|
|
||||||
|
[[ -e /etc/resolv.conf ]] || return 0
|
||||||
|
|
||||||
|
# Handle resolv.conf as a symlink to somewhere else.
|
||||||
|
if [[ -L $chrootdir/etc/resolv.conf ]]; then
|
||||||
|
# readlink(1) should always give us *something* since we know at this point
|
||||||
|
# it's a symlink. For simplicity, ignore the case of nested symlinks.
|
||||||
|
resolv_conf=$(readlink "$chrootdir/etc/resolv.conf")
|
||||||
|
if [[ $resolv_conf = /* ]]; then
|
||||||
|
resolv_conf=$chrootdir$resolv_conf
|
||||||
|
else
|
||||||
|
resolv_conf=$chrootdir/etc/$resolv_conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ensure file exists to bind mount over
|
||||||
|
if [[ ! -f $resolv_conf ]]; then
|
||||||
|
install -Dm644 /dev/null "$resolv_conf" || return 1
|
||||||
|
fi
|
||||||
|
elif [[ ! -e $chrootdir/etc/resolv.conf ]]; then
|
||||||
|
# The chroot might not have a resolv.conf.
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
chroot_mount /etc/resolv.conf "$resolv_conf" --bind
|
||||||
|
}
|
||||||
|
|
||||||
|
chroot_mount_conditional() {
|
||||||
|
local cond=$1; shift
|
||||||
|
if eval "$cond"; then
|
||||||
|
chroot_mount "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
chroot_setup(){
|
||||||
|
local mnt="$1" os="$2" args='-t tmpfs -o nosuid,nodev,mode=0755'
|
||||||
|
$os && args='--bind'
|
||||||
|
chroot_mount_conditional "! mountpoint -q '$mnt'" "$mnt" "$mnt" --bind &&
|
||||||
|
chroot_mount proc "$mnt/proc" -t proc -o nosuid,noexec,nodev &&
|
||||||
|
chroot_mount sys "$mnt/sys" -t sysfs -o nosuid,noexec,nodev,ro &&
|
||||||
|
ignore_error chroot_mount_conditional "[[ -d '$mnt/sys/firmware/efi/efivars' ]]" \
|
||||||
|
efivarfs "$mnt/sys/firmware/efi/efivars" -t efivarfs -o nosuid,noexec,nodev &&
|
||||||
|
chroot_mount udev "$mnt/dev" -t devtmpfs -o mode=0755,nosuid &&
|
||||||
|
chroot_mount devpts "$mnt/dev/pts" -t devpts -o mode=0620,gid=5,nosuid,noexec &&
|
||||||
|
chroot_mount shm "$mnt/dev/shm" -t tmpfs -o mode=1777,nosuid,nodev &&
|
||||||
|
chroot_mount /run "$mnt/run" ${args} &&
|
||||||
|
chroot_mount tmp "$mnt/tmp" -t tmpfs -o mode=1777,strictatime,nodev,nosuid
|
||||||
|
}
|
||||||
|
|
||||||
|
chroot_api_mount() {
|
||||||
|
CHROOT_ACTIVE_MOUNTS=()
|
||||||
|
trap_setup chroot_api_umount
|
||||||
|
chroot_setup "$1" false
|
||||||
|
}
|
||||||
|
|
||||||
|
chroot_api_umount() {
|
||||||
|
if (( ${#CHROOT_ACTIVE_MOUNTS[@]} )); then
|
||||||
|
# msg2 "umount: [%s]" "${CHROOT_ACTIVE_MOUNTS[@]}"
|
||||||
|
umount "${CHROOT_ACTIVE_MOUNTS[@]}"
|
||||||
|
fi
|
||||||
|
unset CHROOT_ACTIVE_MOUNTS
|
||||||
|
}
|
||||||
|
|
||||||
|
#}}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
printf 'usage: %s chroot-dir [command]\n' "${0##*/}"
|
||||||
|
printf ' -h Print this help message\n'
|
||||||
|
printf '\n'
|
||||||
|
printf " If 'command' is unspecified, %s will launch /bin/sh.\n" "${0##*/}"
|
||||||
|
printf '\n'
|
||||||
|
printf '\n'
|
||||||
|
exit "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
opts=':h'
|
||||||
|
|
||||||
|
while getopts ${opts} arg; do
|
||||||
|
case "${arg}" in
|
||||||
|
h|?) usage 0 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $(( OPTIND - 1 ))
|
||||||
|
|
||||||
|
check_root
|
||||||
|
|
||||||
|
chrootdir=$1
|
||||||
|
shift
|
||||||
|
|
||||||
|
[[ -d ${chrootdir} ]] || die "Can't create chroot on non-directory %s" "${chrootdir}"
|
||||||
|
|
||||||
|
chroot_api_mount "${chrootdir}" || die "failed to setup API filesystems in chroot %s" "${chrootdir}"
|
||||||
|
chroot_add_resolv_conf "${chrootdir}"
|
||||||
|
|
||||||
|
SHELL=/bin/sh unshare --fork --pid chroot "${chrootdir}" "$@"
|
|
@ -1,3 +0,0 @@
|
||||||
Server = https://pkgs.metislinux.org/$arch
|
|
||||||
Server = https://metislinux.yogeshlamichhane.com.np/$arch
|
|
||||||
Server = https://metislinux.iyamnabeen.xyz/$arch
|
|
|
@ -1,184 +1,308 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env bash
|
||||||
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 |
|
|
||||||
|---------------------------------------------------------------------------------------------------------|
|
|
||||||
|_________________________________________________________________________________________________________|
|
|
||||||
|
|
||||||
"
|
networkError() {
|
||||||
sleep 3s
|
sleep 2s
|
||||||
echo "Internet Connection is a must to begin."
|
clear
|
||||||
echo "Installing terminus font for better view."
|
echo -e "Couldnot connect to the internet.\nCheck your Internet Connection and please try again.\nExitting..."
|
||||||
pacman -Sy --needed --noconfirm terminus-font
|
sleep 2s
|
||||||
setfont ter-v22b
|
exit 1
|
||||||
sleep 2s
|
}
|
||||||
clear
|
|
||||||
|
|
||||||
echo -ne "
|
failed() {
|
||||||
------------------------------------------------------------------------
|
sleep 2s
|
||||||
THIS WILL FORMAT AND DELETE ALL DATA ON THE DISK
|
clear
|
||||||
Please make sure you know what you are doing because
|
echo -e "Something went wrong.\nThe command could not be executed correctly!\nPlease try again.\nExitting..."
|
||||||
after formating your disk there is no way to get data back
|
sleep 2s
|
||||||
------------------------------------------------------------------------
|
exit 1
|
||||||
"
|
}
|
||||||
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
|
installationError() {
|
||||||
echo "Choose a familier disk utility tool to partition your drive!"
|
sleep 2s
|
||||||
echo " 1. fdisk"
|
clear
|
||||||
echo " 2. cfdisk"
|
echo -e "Something went wrong.\nAll the packages couldn't be installed correctly!\nPlease try again.\nExitting..."
|
||||||
echo " 3. gdisk"
|
sleep 2s
|
||||||
echo " 4. parted"
|
exit 1
|
||||||
read -r partitionutility
|
}
|
||||||
|
|
||||||
case "$partitionutility" in
|
configError() {
|
||||||
1 | fdisk | Fdisk | FDISK)
|
sleep 2s
|
||||||
partitionutility="fdisk"
|
clear
|
||||||
;;
|
echo "Checking configs in new system..."
|
||||||
2 | cfdisk | Cfdisk | CFDISK)
|
if ! ls /mnt/config &> /dev/null; then
|
||||||
partitionutility="cfdisk"
|
echo -e "Reuired config files couldn't be copied to new system. Installation failed!\nAborting..."
|
||||||
;;
|
exit 1
|
||||||
3 | gdisk | Gdisk | GDISK)
|
else
|
||||||
partitionutility="gdisk"
|
ls /mnt/config
|
||||||
;;
|
echo "All good..."
|
||||||
4 | parted | Parted | PARTED)
|
sleep 5s
|
||||||
partitionutility="parted"
|
fi
|
||||||
;;
|
}
|
||||||
*)
|
|
||||||
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
|
ignoreableErrors() {
|
||||||
1 | ext4 | Ext4 | EXT4)
|
sleep 2s
|
||||||
filesystemtype="ext4"
|
clear
|
||||||
;;
|
echo -e "Something went wrong.\nThe command was not executed correctly!\nThe error can be negleted as it doesn't affect our installation.\nContinuing the installation..."
|
||||||
2 | xfs | Xfs | XFS)
|
sleep 3s
|
||||||
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
|
updateMirrors() {
|
||||||
lsblk
|
sleep 2s
|
||||||
sleep 3s
|
clear
|
||||||
clear
|
if ! which rankmirrors &> /dev/null; then
|
||||||
echo "Installing Base system"
|
echo -e "rankmirrors command not found\nCouldn't update the repository mirrorlists\nContinuing without updating mirrors have got chances of installation failure..."
|
||||||
sleep 2s
|
else
|
||||||
basestrap /mnt base base-devel runit elogind-runit
|
echo -e "\nUpdating latest and fastest mirrorlists to download packages faster.\nBe patient, this may take some time upto few minutes..."
|
||||||
sleep 2s
|
rankmirrors -n 20 /etc/pacman.d/mirrorlist > /etc/pacman.d/mirrorlist.new
|
||||||
echo "Installing Kernel"
|
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak || ignoreableErrors
|
||||||
basestrap /mnt linux-zen linux-firmware linux-zen-headers
|
mv /etc/pacman.d/mirrorlist.new /etc/pacman.d/mirrorlist || failed
|
||||||
clear
|
echo "Mirrorlists updated..."
|
||||||
echo "generating fstab file"
|
sleep 2s
|
||||||
fstabgen -U /mnt > /mnt/etc/fstab
|
fi
|
||||||
sleep 1s
|
}
|
||||||
clear
|
|
||||||
echo "Checking Fstab Contents"
|
checkingConnection() {
|
||||||
cat /mnt/etc/fstab
|
sleep 2s
|
||||||
sleep 2s
|
clear
|
||||||
echo "Copying config files to new system"
|
echo "Checking internet connection..."
|
||||||
cp /usr/bin/artix-chroot /usr/bin/metis-chroot
|
ping -c 3 metislinux.org || networkError
|
||||||
cp /usr/local/bin/post_install.sh /mnt
|
echo "Cool! Internet Connection Available. Getting ready for installation..."
|
||||||
cp /usr/local/bin/os-release /mnt
|
sleep 3s
|
||||||
cp /usr/local/bin/grub /mnt
|
}
|
||||||
cp /usr/local/bin/xinitrc /mnt
|
|
||||||
cp /usr/local/bin/pacman.conf /mnt
|
settingFont() {
|
||||||
cp /usr/local/bin/mirrorlist /mnt
|
sleep 2s
|
||||||
cp /usr/local/bin/metis-mirrorlist /mnt
|
clear
|
||||||
cp /usr/local/bin/init.vim /mnt
|
echo "Setting bigger font for better readability..."
|
||||||
cp /usr/local/bin/zshrc /mnt
|
sleep 2s
|
||||||
cp /usr/local/bin/picom.conf /mnt
|
setfont ter-v22b || ignoreableErrors
|
||||||
echo "Checking configs in system"
|
}
|
||||||
ls /mnt
|
|
||||||
sleep 5s
|
displayArt(){
|
||||||
clear
|
sleep 2s
|
||||||
echo "First Phase Completed!"
|
clear
|
||||||
echo "Entering into Second Phase of Installation..."
|
echo -ne "
|
||||||
echo "run the following command to start second phase"
|
__________________________________________________________________________________________________________
|
||||||
echo "1. metis-chroot /mnt"
|
| |
|
||||||
echo "2. ./post_install.sh"
|
| +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ |
|
||||||
|
| |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 |
|
||||||
|
|---------------------------------------------------------------------------------------------------------|
|
||||||
|
|_________________________________________________________________________________________________________|
|
||||||
|
"
|
||||||
|
}
|
||||||
|
|
||||||
|
checkDrive(){
|
||||||
|
if ! lsblk | grep "$drive" &> /dev/null ; then
|
||||||
|
clear
|
||||||
|
echo -e "$drive is not found. Check your available disks and try again.\nAborting installation\nInstallation failed..."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
diskPartition(){
|
||||||
|
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
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
lsblk
|
||||||
|
echo "Enter the drive to install metis linux on it."
|
||||||
|
echo "Enter Drive (eg. sda or vda or nvme0n1): "
|
||||||
|
read -r drive
|
||||||
|
checkDrive
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
lsblk
|
||||||
|
echo "Choose a familier disk utility tool to partition your drive! [Default=cfdisk]: "
|
||||||
|
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."
|
||||||
|
echo "Getting ready for creating partitions!"
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
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 (for uefi systems only)."
|
||||||
|
echo "Choose your linux file system type for formatting drives [default=ext4]: "
|
||||||
|
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."
|
||||||
|
echo "Getting ready for formatting drives."
|
||||||
|
sleep 3s
|
||||||
|
clear
|
||||||
|
lsblk
|
||||||
|
echo "Enter the root partition (eg: sda1 or nvme0n1p2 or vda4): "
|
||||||
|
read -r rootpartition
|
||||||
|
mkfs."$filesystemtype" /dev/"$rootpartition"
|
||||||
|
mount /dev/"$rootpartition" /mnt
|
||||||
|
if mountpoint /mnt = "/mnt is not a mountpoint"; then
|
||||||
|
clear
|
||||||
|
echo -e "$rootpartition is not mounted successfully. Aborting installation!\nInstallation failed..."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Cool $rootpartition mounted at /mnt"
|
||||||
|
sleep 2s
|
||||||
|
fi
|
||||||
|
|
||||||
|
clear
|
||||||
|
lsblk
|
||||||
|
echo "Did you also create separate home partition? [y/n]: "
|
||||||
|
read -r 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
|
||||||
|
if mountpoint /mnt/home = "/mnt/home is not a mountpoint"; then
|
||||||
|
clear
|
||||||
|
echo -e "$homepartition is not mounted successfully. Aborting installation!\nInstallation failed..."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Cool $homepartition mounted at /mnt/home"
|
||||||
|
sleep 2s
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Skipping home partition!"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
clear
|
||||||
|
lsblk
|
||||||
|
echo "Did you also create swap partition? [y/n]: "
|
||||||
|
read -r 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
|
||||||
|
lsblk
|
||||||
|
sleep 2s
|
||||||
|
}
|
||||||
|
|
||||||
|
installingBase() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Installing Base system..."
|
||||||
|
basestrap /mnt base base-devel runit elogind-runit || installationError
|
||||||
|
sleep 2s
|
||||||
|
}
|
||||||
|
|
||||||
|
installingKernel() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Installing Zen Kernel with its headers and firmware..."
|
||||||
|
basestrap /mnt linux-zen linux-firmware linux-zen-headers || installationError
|
||||||
|
sleep 2s
|
||||||
|
}
|
||||||
|
|
||||||
|
generatingFstab() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "generating fstab file"
|
||||||
|
fstabgen -U /mnt > /mnt/etc/fstab || failed
|
||||||
|
echo "Checking Fstab Contents..."
|
||||||
|
cat /mnt/etc/fstab
|
||||||
|
sleep 3s
|
||||||
|
}
|
||||||
|
|
||||||
|
copyingConfig() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Copying config files to new system..."
|
||||||
|
cp /etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist || ignoreableErrors
|
||||||
|
cp /etc/pacman.d/metis-mirrorlist /mnt/etc/pacman.d/metis-mirrorlist || failed
|
||||||
|
cp /etc/pacman.conf /mnt/etc/pacman.conf || failed
|
||||||
|
mv /usr/local/config/post_install.sh /mnt/ || failed
|
||||||
|
cp -r /usr/local/config /mnt
|
||||||
|
configError
|
||||||
|
}
|
||||||
|
|
||||||
|
firstphaseCompleted(){
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "First Phase Completed!"
|
||||||
|
echo "Entering into Second Phase of Installation..."
|
||||||
|
echo "Run the following commands to start second phase..."
|
||||||
|
echo "1. metis-chroot /mnt"
|
||||||
|
echo "2. ./post_install.sh"
|
||||||
|
}
|
||||||
|
|
||||||
|
displayArt
|
||||||
|
settingFont
|
||||||
|
checkingConnection
|
||||||
|
updateMirrors
|
||||||
|
diskPartition
|
||||||
|
installingBase
|
||||||
|
installingKernel
|
||||||
|
generatingFstab
|
||||||
|
copyingConfig
|
||||||
|
firstphaseCompleted
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
# 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
|
|
|
@ -1,119 +0,0 @@
|
||||||
#
|
|
||||||
# /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
|
|
|
@ -1,175 +0,0 @@
|
||||||
#!/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 2s
|
|
||||||
clear
|
|
||||||
echo "Second Phase Completed!"
|
|
||||||
echo "Entering into Final Phase of Installation..."
|
|
||||||
echo "run the following commands to start final phase "
|
|
||||||
echo "1. exit"
|
|
||||||
echo "2. final.sh"
|
|
||||||
sleep 5s
|
|
242
base/root-overlay/usr/local/bin/rankmirrors
Executable file
242
base/root-overlay/usr/local/bin/rankmirrors
Executable file
|
@ -0,0 +1,242 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# rankmirrors - read a list of mirrors from a file and rank them by speed
|
||||||
|
# Generated from rankmirrors.sh.in; do not edit by hand.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2009 Matthew Bruenig <matthewbruenig@gmail.com>
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# traps interrupt key to spit out pre-interrupt info
|
||||||
|
trap finaloutput INT
|
||||||
|
|
||||||
|
declare -r myname='rankmirrors'
|
||||||
|
declare -r myver='1.5.3'
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "${myname} v${myver}"
|
||||||
|
echo
|
||||||
|
echo "Ranks pacman mirrors by their connection and opening speed. Pacman mirror"
|
||||||
|
echo "files are located in /etc/pacman.d/. It can also rank one mirror if the URL is"
|
||||||
|
echo "provided."
|
||||||
|
echo
|
||||||
|
echo "Usage: ${myname} [options] MIRRORFILE | URL"
|
||||||
|
echo
|
||||||
|
echo "Options:"
|
||||||
|
echo " --version show program's version number and exit"
|
||||||
|
echo " -h, --help show this help message and exit"
|
||||||
|
echo " -n NUM number of servers to output, 0 for all"
|
||||||
|
echo " -m, --max-time NUM specify a ranking operation timeout, can be decimal number"
|
||||||
|
echo " -t, --times only output mirrors and their response times"
|
||||||
|
echo " -u, --url test a specific URL"
|
||||||
|
echo " -v, --verbose be verbose in output"
|
||||||
|
echo " -r, --repo specify a repository name instead of guessing"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
version() {
|
||||||
|
echo "${myname} (pacman) ${myver}"
|
||||||
|
echo "Copyright (c) 2009 Matthew Bruenig <matthewbruenig@gmail.com>."
|
||||||
|
echo
|
||||||
|
echo "This is free software; see the source for copying conditions."
|
||||||
|
echo "There is NO WARRANTY, to the extent permitted by law."
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
err() {
|
||||||
|
echo "$1" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# gettime fetchurl (e.g gettime http://foo.com/system/os/i686/system.db.tar.gz)
|
||||||
|
# returns the fetching time, or timeout, or unreachable
|
||||||
|
gettime() {
|
||||||
|
IFS=' ' output=( $(curl -s -m $MAX_TIME -w "%{time_total} %{http_code}" "$1" -o/dev/null) )
|
||||||
|
(( $? == 28 )) && echo timeout && return
|
||||||
|
(( ${output[1]} >= 400 || ! ${output[1]} )) && echo unreachable && return
|
||||||
|
echo "${output[0]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# getfetchurl serverurl (e.g. getturl http://foo.com/system/os/i686)
|
||||||
|
# if $repo is in the line, then assumes system
|
||||||
|
# if $arch is in the line, then assumes $(uname -m)
|
||||||
|
# returns a fetchurl (e.g. http://foo.com/system/os/i686/system.db.tar.gz)
|
||||||
|
ARCH="$(uname -m)"
|
||||||
|
getfetchurl() {
|
||||||
|
local strippedurl="${1%/}"
|
||||||
|
|
||||||
|
local replacedurl="${strippedurl//'$arch'/$ARCH}"
|
||||||
|
if [[ ! $TARGETREPO ]]; then
|
||||||
|
replacedurl="${replacedurl//'$repo'/system}"
|
||||||
|
local tmp="${replacedurl%/*}"
|
||||||
|
tmp="${tmp%/*}"
|
||||||
|
|
||||||
|
local reponame="${tmp##*/}"
|
||||||
|
else
|
||||||
|
replacedurl="${replacedurl//'$repo'/$TARGETREPO}"
|
||||||
|
local reponame="$TARGETREPO"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $reponame || $reponame = $replacedurl ]]; then
|
||||||
|
echo "fail"
|
||||||
|
else
|
||||||
|
local fetchurl="${replacedurl}/$reponame.db"
|
||||||
|
echo "$fetchurl"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# This exists to remove the need for a separate interrupt function
|
||||||
|
finaloutput() {
|
||||||
|
IFS=$'\n' read -r -d '' -a sortedarray < \
|
||||||
|
<(printf '%s\n' "${timesarray[@]}" | LC_COLLATE=C sort)
|
||||||
|
|
||||||
|
# Final output for mirrorfile
|
||||||
|
numiterator="0"
|
||||||
|
if [[ $TIMESONLY ]]; then
|
||||||
|
echo
|
||||||
|
echo " Servers sorted by time (seconds):"
|
||||||
|
for line in "${sortedarray[@]}"; do
|
||||||
|
echo "${line#* } : ${line% *}"
|
||||||
|
((numiterator++))
|
||||||
|
(( NUM && numiterator >= NUM )) && break
|
||||||
|
done
|
||||||
|
else
|
||||||
|
for line in "${sortedarray[@]}"; do
|
||||||
|
echo "Server = ${line#* }"
|
||||||
|
((numiterator++))
|
||||||
|
(( NUM && numiterator >= NUM )) && break
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Argument parsing
|
||||||
|
[[ $1 ]] || usage
|
||||||
|
while [[ $1 ]]; do
|
||||||
|
if [[ ${1:0:2} = -- ]]; then
|
||||||
|
case "${1:2}" in
|
||||||
|
help) usage ;;
|
||||||
|
version) version ;;
|
||||||
|
max-time)
|
||||||
|
[[ $2 ]] || err "Must specify number.";
|
||||||
|
MAX_TIME="$2"
|
||||||
|
shift 2;;
|
||||||
|
times) TIMESONLY=1 ; shift ;;
|
||||||
|
verbose) VERBOSE=1 ; shift ;;
|
||||||
|
url)
|
||||||
|
CHECKURL=1;
|
||||||
|
[[ $2 ]] || err "Must specify URL.";
|
||||||
|
URL="$2";
|
||||||
|
shift 2;;
|
||||||
|
repo)
|
||||||
|
[[ $2 ]] || err "Must specify repository name.";
|
||||||
|
TARGETREPO="$2";
|
||||||
|
shift 2;;
|
||||||
|
*) err "'$1' is an invalid argument."
|
||||||
|
esac
|
||||||
|
elif [[ ${1:0:1} = - ]]; then
|
||||||
|
|
||||||
|
if [[ ! ${1:1:1} ]]; then
|
||||||
|
[[ -t 0 ]] && err "Stdin is empty."
|
||||||
|
IFS=$'\n' linearray=( $(</dev/stdin) )
|
||||||
|
STDIN=1
|
||||||
|
shift
|
||||||
|
else
|
||||||
|
snum=1
|
||||||
|
for ((i=1 ; i<${#1}; i++)); do
|
||||||
|
case ${1:$i:1} in
|
||||||
|
h) usage ;;
|
||||||
|
m)
|
||||||
|
[[ $2 ]] || err "Must specify number.";
|
||||||
|
MAX_TIME="$2"
|
||||||
|
snum=2;;
|
||||||
|
t) TIMESONLY=1 ;;
|
||||||
|
v) VERBOSE=1 ;;
|
||||||
|
u)
|
||||||
|
CHECKURL=1;
|
||||||
|
[[ $2 ]] || err "Must specify URL.";
|
||||||
|
URL="$2";
|
||||||
|
snum=2;;
|
||||||
|
r)
|
||||||
|
[[ $2 ]] || err "Must specify repository name.";
|
||||||
|
TARGETREPO="$2";
|
||||||
|
snum=2;;
|
||||||
|
n)
|
||||||
|
[[ $2 ]] || err "Must specify number.";
|
||||||
|
NUM="$2";
|
||||||
|
snum=2;;
|
||||||
|
*) err "'$1' is an invalid argument." ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $snum
|
||||||
|
fi
|
||||||
|
elif [[ -f $1 ]]; then
|
||||||
|
FILE="1"
|
||||||
|
IFS=$'\n' linearray=( $(<$1) )
|
||||||
|
[[ $linearray ]] || err "File is empty."
|
||||||
|
shift
|
||||||
|
else
|
||||||
|
err "'$1' does not exist."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Some sanity checks
|
||||||
|
[[ $NUM ]] || NUM=0
|
||||||
|
[[ $MAX_TIME ]] || MAX_TIME=10
|
||||||
|
[[ $FILE && $CHECKURL ]] && err "Cannot specify a URL and mirrorfile."
|
||||||
|
[[ $FILE || $CHECKURL || $STDIN ]] || err "Must specify URL, mirrorfile, or stdin."
|
||||||
|
|
||||||
|
# Single URL handling
|
||||||
|
if [[ $CHECKURL ]]; then
|
||||||
|
url="$(getfetchurl "$URL")"
|
||||||
|
[[ $url = fail ]] && err "URL '$URL' is malformed."
|
||||||
|
[[ $VERBOSE ]] && echo "Testing $url..."
|
||||||
|
time=$(gettime "$url")
|
||||||
|
echo "$URL : $time"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get URL results from mirrorfile, fill up the array, and so on
|
||||||
|
if [[ $TIMESONLY ]]; then
|
||||||
|
echo "Querying servers. This may take some time..."
|
||||||
|
elif [[ $FILE ]]; then
|
||||||
|
echo "# Server list generated by rankmirrors on $(date +%Y-%m-%d)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
timesarray=()
|
||||||
|
for line in "${linearray[@]}"; do
|
||||||
|
if [[ $line =~ ^[[:space:]]*# ]]; then
|
||||||
|
[[ $TIMESONLY ]] || echo $line
|
||||||
|
elif [[ $line =~ ^[[:space:]]*Server ]]; then
|
||||||
|
|
||||||
|
# Getting values and times and such
|
||||||
|
server="${line#*= }"
|
||||||
|
server="${server%%#*}"
|
||||||
|
url="$(getfetchurl "$server")"
|
||||||
|
[[ $url = fail ]] && err "URL '$URL' is malformed."
|
||||||
|
time=$(gettime "$url")
|
||||||
|
timesarray+=("$time $server")
|
||||||
|
|
||||||
|
# Output
|
||||||
|
if [[ $VERBOSE && $TIMESONLY ]]; then
|
||||||
|
echo "$server ... $time"
|
||||||
|
elif [[ $VERBOSE ]]; then
|
||||||
|
echo "# $server ... $time"
|
||||||
|
elif [[ $TIMESONLY ]]; then
|
||||||
|
echo -n " *"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
finaloutput
|
|
@ -1,7 +1,7 @@
|
||||||
# GRUB boot loader configuration
|
# GRUB boot loader configuration
|
||||||
|
|
||||||
GRUB_DEFAULT=0
|
GRUB_DEFAULT=0
|
||||||
GRUB_TIMEOUT=0
|
GRUB_TIMEOUT=5
|
||||||
GRUB_DISTRIBUTOR="Metis"
|
GRUB_DISTRIBUTOR="Metis"
|
||||||
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet console=tty2"
|
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet console=tty2"
|
||||||
GRUB_CMDLINE_LINUX=""
|
GRUB_CMDLINE_LINUX=""
|
|
@ -134,7 +134,7 @@ if (has("termguicolors"))
|
||||||
set termguicolors
|
set termguicolors
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Include the separate file for plugins (if exists)
|
" Include the separate file for plugins and plugin related keybindings (if exists)
|
||||||
if filereadable(expand("~/.config/nvim/plugins.vim"))
|
if filereadable(expand("~/.config/nvim/plugins.vim"))
|
||||||
source ~/.config/nvim/plugins.vim
|
source ~/.config/nvim/plugins.vim
|
||||||
endif
|
endif
|
285
base/root-overlay/usr/local/config/post_install.sh
Executable file
285
base/root-overlay/usr/local/config/post_install.sh
Executable file
|
@ -0,0 +1,285 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
failed() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo -e "Something went wrong.\nThe command could not be executed correctly!\nPlease try again.\nExitting..."
|
||||||
|
sleep 2s
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
installationError() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo -e "Something went wrong.\nAll the packages couldn't be installed correctly!\nPlease try again.\nExitting..."
|
||||||
|
sleep 2s
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
ignoreableErrors() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo -e "Something went wrong.\nOS is installing and could be useable but the error should be manually fixed later..."
|
||||||
|
sleep 3s
|
||||||
|
}
|
||||||
|
|
||||||
|
displayArt(){
|
||||||
|
sleep 1s
|
||||||
|
clear
|
||||||
|
echo -ne "
|
||||||
|
Installing Metis Linux in a VM is not recommended as it may perform slow and buggy.
|
||||||
|
__________________________________________________________________________________________________________
|
||||||
|
| |
|
||||||
|
| +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ |
|
||||||
|
| |M|a|g|i|c| |M|e|t|i|s| |I|n|s|t|a|l|l|e|r| |
|
||||||
|
| +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+ |
|
||||||
|
| |
|
||||||
|
|---------------------------------------------------------------------------------------------------------|
|
||||||
|
| PHASE 2 |
|
||||||
|
|---------------------------------------------------------------------------------------------------------|
|
||||||
|
| Install Metis Linus in few clicks |
|
||||||
|
| Check: https://github.com/metis-os for details or visit https://metislinux.org |
|
||||||
|
|---------------------------------------------------------------------------------------------------------|
|
||||||
|
|_________________________________________________________________________________________________________|
|
||||||
|
"
|
||||||
|
sleep 4s
|
||||||
|
}
|
||||||
|
|
||||||
|
generatingLocale() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Generating locale at /etc/locale.gen"
|
||||||
|
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen || ignoreableErrors
|
||||||
|
locale-gen
|
||||||
|
}
|
||||||
|
|
||||||
|
timezone() {
|
||||||
|
echo "Getting 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
|
||||||
|
}
|
||||||
|
|
||||||
|
settingTimezone() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
timezone
|
||||||
|
hwclock --systohc
|
||||||
|
echo "Checking system date and time..."
|
||||||
|
date
|
||||||
|
sleep 2s
|
||||||
|
}
|
||||||
|
|
||||||
|
settingLang() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Setting LANG variable"
|
||||||
|
echo "LANG=en_US.UTF-8" >> /etc/locale.conf
|
||||||
|
echo "LC_COLLATE=C" >> /etc/locale.conf
|
||||||
|
echo "Checking system language..."
|
||||||
|
cat /etc/locale.conf || ignoreableErrors
|
||||||
|
sleep 3s
|
||||||
|
}
|
||||||
|
|
||||||
|
settingKeyboard() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Setting console keyboard layout"
|
||||||
|
echo "KEYMAP=us" > /etc/vconsole.conf
|
||||||
|
echo "Checking system Keyboard Layout..."
|
||||||
|
cat /etc/locale.conf || ignoreableErrors
|
||||||
|
sleep 3s
|
||||||
|
}
|
||||||
|
|
||||||
|
settingHostname() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Enter your computer name: "
|
||||||
|
read -r hostname
|
||||||
|
echo "$hostname" > /etc/hostname
|
||||||
|
echo "Checking hostname (/etc/hostname)"
|
||||||
|
cat /etc/hostname || ignoreableErrors
|
||||||
|
sleep 3s
|
||||||
|
}
|
||||||
|
|
||||||
|
settingHosts() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "setting up hosts file"
|
||||||
|
{
|
||||||
|
echo "127.0.0.1 localhost"
|
||||||
|
echo "::1 localhost"
|
||||||
|
echo "127.0.1.1 $hostname.localdomain $hostname"
|
||||||
|
} >> /etc/hosts
|
||||||
|
|
||||||
|
echo "checking /etc/hosts file"
|
||||||
|
cat /etc/hosts || ignoreableErrors
|
||||||
|
sleep 3s
|
||||||
|
}
|
||||||
|
|
||||||
|
installingBootloader() {
|
||||||
|
clear
|
||||||
|
#if you are dualbooting, add os-prober with grub and efibootmgr
|
||||||
|
echo "Installing grub networkmanager and zsh shell..."
|
||||||
|
pacman -Sy --needed --noconfirm grub networkmanager-runit zsh || installationError
|
||||||
|
sleep 3s
|
||||||
|
}
|
||||||
|
|
||||||
|
enablingServices() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Enabling NetworkManager"
|
||||||
|
ln -s /etc/runit/sv/NetworkManager /etc/runit/runsvdir/default
|
||||||
|
clear
|
||||||
|
}
|
||||||
|
|
||||||
|
addingUser() {
|
||||||
|
clear
|
||||||
|
echo "Enter password for root user!"
|
||||||
|
passwd
|
||||||
|
sleep 1s
|
||||||
|
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" || ignoreableErrors
|
||||||
|
echo "To set password for $username, use different password than of root."
|
||||||
|
echo "Enter password for $username! "
|
||||||
|
passwd "$username"
|
||||||
|
echo "NOTE: ALWAYS REMEMBER THIS USERNAME AND PASSWORD YOU PUT JUST NOW."
|
||||||
|
sleep 3s
|
||||||
|
}
|
||||||
|
|
||||||
|
sudoAccess() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Giving sudo access to $username!"
|
||||||
|
echo "$username ALL=(ALL) ALL" >> /etc/sudoers.d/"$username"
|
||||||
|
}
|
||||||
|
|
||||||
|
copyingConfig() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Copying config file to their absolute path..."
|
||||||
|
mv /config/os-release /usr/lib/ || failed
|
||||||
|
mv /config/grub /etc/default/grub || failed
|
||||||
|
|
||||||
|
mv /config/xinitrc /home/"$username"/.xinitrc || failed
|
||||||
|
chown "$username":users /home/"$username"/.xinitrc || failed
|
||||||
|
mv /config/zshrc /home/"$username"/.zshrc || failed
|
||||||
|
chown "$username":users /home/"$username"/.zshrc || failed
|
||||||
|
|
||||||
|
sleep 1s
|
||||||
|
mv /config /home/"$username"/.config/ || ignoreableErrors
|
||||||
|
chown -R "$username":users /home/"$username"/.config || ignoreableErrors
|
||||||
|
sleep 1s
|
||||||
|
}
|
||||||
|
|
||||||
|
installingPackages() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Installing require packages for metis-os"
|
||||||
|
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 xwallpaper || installationError
|
||||||
|
}
|
||||||
|
|
||||||
|
installingMicrocode() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
if lscpu | grep "GenuineIntel"; then
|
||||||
|
echo "Installing Intel microcode"
|
||||||
|
pacman -S --noconfirm --needed intel-ucode || ignoreableErrors
|
||||||
|
elif lscpu | grep "AuthenticAMD"; then
|
||||||
|
echo "Installing AMD microcode"
|
||||||
|
pacman -S --noconfirm --needed amd-ucode || ignoreableErrors
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
configuringBootloader() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
if [[ ! -d "/sys/firmware/efi" ]]; then
|
||||||
|
echo "Legacy system detected..."
|
||||||
|
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 "UEFI system detected..."
|
||||||
|
echo "Installing efibootmgr"
|
||||||
|
pacman -Sy --needed --noconfirm efibootmgr dosfstools
|
||||||
|
sleep 2s
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
graphicsDriver() {
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Searching and Installing graphics driver if available"
|
||||||
|
if lspci | grep "NVIDIA|GeForce"; then
|
||||||
|
pacman -S --noconfirm --needed nvidia nvidia-utils || ignoreableErrors
|
||||||
|
elif lspci | grep 'VGA' | grep -E "Radeon|AMD"; then
|
||||||
|
pacman -S --noconfirm --needed xf86-video-amdgpu || ignoreableErrors
|
||||||
|
elif lspci | grep "Integrated Graphics Controller"; then
|
||||||
|
pacman -S --noconfirm --needed libva-intel-driver libvdpau-va-gl vulkan-intel libva-utils || ignoreableErrors
|
||||||
|
elif lspci | grep -E "Intel Corporation UHD|Intel Corporation HD"; then
|
||||||
|
pacman -S --needed --noconfirm libva-intel-driver libvdpau-va-gl vulkan-intel libva-intel-driver libva-utils || ignoreableErrors
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
secondphaseCompleted(){
|
||||||
|
sleep 2s
|
||||||
|
clear
|
||||||
|
echo "Second Phase Completed!"
|
||||||
|
echo "Entering into Final Phase of Installation..."
|
||||||
|
echo "Run the following commands to start final phase..."
|
||||||
|
echo "1. exit"
|
||||||
|
echo "2. final.sh"
|
||||||
|
}
|
||||||
|
|
||||||
|
displayArt
|
||||||
|
generatingLocale
|
||||||
|
settingTimezone
|
||||||
|
settingLang
|
||||||
|
settingKeyboard
|
||||||
|
settingHostname
|
||||||
|
settingHosts
|
||||||
|
installingBootloader
|
||||||
|
addingUser
|
||||||
|
sudoAccess
|
||||||
|
copyingConfig
|
||||||
|
installingPackages
|
||||||
|
installingMicrocode
|
||||||
|
configuringBootloader
|
||||||
|
graphicsDriver
|
||||||
|
secondphaseCompleted
|
|
@ -8,10 +8,7 @@ if cpuid -l; then
|
||||||
title="$kopt";
|
title="$kopt";
|
||||||
fi;
|
fi;
|
||||||
done
|
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
|
menuentry "From Stick/HDD: metis.x86_64 " --class=metis.x86_64 "$title @rw_opts@" {# set arguments above with the editor
|
||||||
linux /boot/vmlinuz-$2
|
linux /boot/vmlinuz-$2
|
||||||
initrd /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-x86_64.img
|
initrd /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-x86_64.img
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
# grub_theme=/boot/grub/themes/artix/theme.txt
|
# grub_theme=/boot/grub/themes/metis/theme.txt
|
||||||
timeout=-1
|
timeout=-1
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue