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
|
||||
squashfs-tools
|
||||
grub
|
||||
vim
|
||||
terminus-font
|
||||
btrfs-progs
|
||||
e2fsprogs
|
||||
xfsprogs
|
||||
f2fs-tools
|
||||
artix-live-@initsys@
|
|
@ -1,5 +1,5 @@
|
|||
GRUB_DEFAULT="0"
|
||||
GRUB_TIMEOUT="3"
|
||||
GRUB_TIMEOUT="5"
|
||||
GRUB_DISTRIBUTOR="Metis"
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
|
||||
GRUB_CMDLINE_LINUX="net.ifnames=0"
|
||||
|
|
|
@ -101,18 +101,6 @@ Include = /etc/pacman.d/mirrorlist
|
|||
#[lib32]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
### ARCH LINUX REPOS
|
||||
## Be careful enabling arch liux core repos as it contains many systemd dependent packages which we don't use.
|
||||
|
||||
# [core]
|
||||
# Include = /etc/pacman.d/arch-mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/arch-mirrorlist
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/arch-mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
# tips on creating your own repositories.
|
||||
#[custom]
|
||||
|
|
|
@ -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://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://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://mirrors.cloud.tencent.com/artixlinux/$repo/os/$arch
|
||||
Server = https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch
|
||||
Server = http://ftp.ntua.gr/pub/linux/artix-linux/$repo/os/$arch
|
||||
Server = https://us-mirror.artixlinux.org/$repo/os/$arch
|
||||
Server = https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch
|
||||
Server = https://ftp.cc.uoc.gr/mirrors/linux/artixlinux/$repo/os/$arch
|
||||
Server = https://mirror.aarnet.edu.au/pub/artix/$repo/os/$arch
|
||||
Server = https://mirror.csclub.uwaterloo.ca/artixlinux/$repo/os/$arch
|
||||
Server = https://mirrors.ocf.berkeley.edu/artix-linux/$repo/os/$arch
|
||||
Server = https://mirror.linux.pizza/artix-linux/$repo/os/$arch
|
||||
Server = https://ftp.uni-bayreuth.de/linux/artix-linux/$repo/os/$arch
|
||||
Server = https://artix.unixpeople.org/repos/$repo/os/$arch
|
||||
Server = https://ftp.halifax.rwth-aachen.de/artixlinux/$repo/os/$arch
|
||||
Server = https://artixlinux.qontinuum.space/artixlinux/$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
|
||||
|
|
|
@ -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
|
||||
sleep 3s
|
||||
sleep 1s
|
||||
clear
|
||||
echo -ne "
|
||||
__________________________________________________________________________________________________________
|
||||
|
@ -23,7 +23,10 @@ ________________________________________________________________________________
|
|||
echo "Metis Linux Installation Finished!!!"
|
||||
echo "Umounting all the drives"
|
||||
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."
|
||||
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
|
||||
|
|
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,4 +1,85 @@
|
|||
#!/usr/bin/env sh
|
||||
#!/usr/bin/env bash
|
||||
|
||||
networkError() {
|
||||
sleep 2s
|
||||
clear
|
||||
echo -e "Couldnot connect to the internet.\nCheck your Internet Connection and please try again.\nExitting..."
|
||||
sleep 2s
|
||||
exit 1
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
configError() {
|
||||
sleep 2s
|
||||
clear
|
||||
echo "Checking configs in new system..."
|
||||
if ! ls /mnt/config &> /dev/null; then
|
||||
echo -e "Reuired config files couldn't be copied to new system. Installation failed!\nAborting..."
|
||||
exit 1
|
||||
else
|
||||
ls /mnt/config
|
||||
echo "All good..."
|
||||
sleep 5s
|
||||
fi
|
||||
}
|
||||
|
||||
ignoreableErrors() {
|
||||
sleep 2s
|
||||
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..."
|
||||
sleep 3s
|
||||
}
|
||||
|
||||
updateMirrors() {
|
||||
sleep 2s
|
||||
clear
|
||||
if ! which rankmirrors &> /dev/null; then
|
||||
echo -e "rankmirrors command not found\nCouldn't update the repository mirrorlists\nContinuing without updating mirrors have got chances of installation failure..."
|
||||
else
|
||||
echo -e "\nUpdating latest and fastest mirrorlists to download packages faster.\nBe patient, this may take some time upto few minutes..."
|
||||
rankmirrors -n 20 /etc/pacman.d/mirrorlist > /etc/pacman.d/mirrorlist.new
|
||||
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak || ignoreableErrors
|
||||
mv /etc/pacman.d/mirrorlist.new /etc/pacman.d/mirrorlist || failed
|
||||
echo "Mirrorlists updated..."
|
||||
sleep 2s
|
||||
fi
|
||||
}
|
||||
|
||||
checkingConnection() {
|
||||
sleep 2s
|
||||
clear
|
||||
echo "Checking internet connection..."
|
||||
ping -c 3 metislinux.org || networkError
|
||||
echo "Cool! Internet Connection Available. Getting ready for installation..."
|
||||
sleep 3s
|
||||
}
|
||||
|
||||
settingFont() {
|
||||
sleep 2s
|
||||
clear
|
||||
echo "Setting bigger font for better readability..."
|
||||
sleep 2s
|
||||
setfont ter-v22b || ignoreableErrors
|
||||
}
|
||||
|
||||
displayArt(){
|
||||
sleep 2s
|
||||
clear
|
||||
echo -ne "
|
||||
__________________________________________________________________________________________________________
|
||||
| |
|
||||
|
@ -13,16 +94,20 @@ ________________________________________________________________________________
|
|||
| Check: https://github.com/metis-os for details or visit https://metislinux.org |
|
||||
|---------------------------------------------------------------------------------------------------------|
|
||||
|_________________________________________________________________________________________________________|
|
||||
|
||||
"
|
||||
sleep 3s
|
||||
echo "Internet Connection is a must to begin."
|
||||
echo "Installing terminus font for better view."
|
||||
pacman -Sy --needed --noconfirm terminus-font
|
||||
setfont ter-v22b
|
||||
}
|
||||
|
||||
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
|
||||
|
@ -30,16 +115,15 @@ echo -ne "
|
|||
after formating your disk there is no way to get data back
|
||||
------------------------------------------------------------------------
|
||||
"
|
||||
sleep 3s
|
||||
lsblk
|
||||
echo "Enter the drive to install metis linux on it."
|
||||
echo "Enter Drive (eg. sda or vda or nvme0n1): "
|
||||
read -r drive
|
||||
checkDrive
|
||||
sleep 2s
|
||||
clear
|
||||
|
||||
lsblk
|
||||
echo "Choose a familier disk utility tool to partition your drive!"
|
||||
echo "Choose a familier disk utility tool to partition your drive! [Default=cfdisk]: "
|
||||
echo " 1. fdisk"
|
||||
echo " 2. cfdisk"
|
||||
echo " 3. gdisk"
|
||||
|
@ -65,9 +149,9 @@ case "$partitionutility" in
|
|||
;;
|
||||
esac
|
||||
echo "$partitionutility is the selected disk utility tool for partition."
|
||||
sleep 3s
|
||||
clear
|
||||
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!"
|
||||
|
@ -81,8 +165,8 @@ 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: "
|
||||
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
|
||||
|
@ -104,18 +188,27 @@ case "$filesystemtype" in
|
|||
;;
|
||||
esac
|
||||
echo "$filesystemtype is the selected file system type."
|
||||
sleep 3s
|
||||
clear
|
||||
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
|
||||
read -p "Did you also create separate home partition? [y/n]: " answerhome
|
||||
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): "
|
||||
|
@ -123,6 +216,14 @@ case "$answerhome" in
|
|||
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!"
|
||||
|
@ -130,7 +231,8 @@ case "$answerhome" in
|
|||
esac
|
||||
clear
|
||||
lsblk
|
||||
read -p "Did you also create swap partition? [y/n]: " answerswap
|
||||
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): "
|
||||
|
@ -142,43 +244,65 @@ case "$answerswap" in
|
|||
echo "Skipping Swap partition!"
|
||||
;;
|
||||
esac
|
||||
|
||||
clear
|
||||
lsblk
|
||||
sleep 3s
|
||||
sleep 2s
|
||||
}
|
||||
|
||||
installingBase() {
|
||||
sleep 2s
|
||||
clear
|
||||
echo "Installing Base system"
|
||||
echo "Installing Base system..."
|
||||
basestrap /mnt base base-devel runit elogind-runit || installationError
|
||||
sleep 2s
|
||||
basestrap /mnt base base-devel runit elogind-runit
|
||||
}
|
||||
|
||||
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
|
||||
echo "Installing Kernel"
|
||||
basestrap /mnt linux-zen linux-firmware linux-zen-headers
|
||||
clear
|
||||
echo "generating fstab file"
|
||||
fstabgen -U /mnt > /mnt/etc/fstab
|
||||
sleep 1s
|
||||
clear
|
||||
echo "Checking Fstab Contents"
|
||||
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
|
||||
echo "Copying config files to new system"
|
||||
cp /usr/bin/artix-chroot /usr/bin/metis-chroot
|
||||
cp /usr/local/bin/post_install.sh /mnt
|
||||
cp /usr/local/bin/os-release /mnt
|
||||
cp /usr/local/bin/grub /mnt
|
||||
cp /usr/local/bin/xinitrc /mnt
|
||||
cp /usr/local/bin/pacman.conf /mnt
|
||||
cp /usr/local/bin/mirrorlist /mnt
|
||||
cp /usr/local/bin/metis-mirrorlist /mnt
|
||||
cp /usr/local/bin/init.vim /mnt
|
||||
cp /usr/local/bin/zshrc /mnt
|
||||
cp /usr/local/bin/picom.conf /mnt
|
||||
echo "Checking configs in system"
|
||||
ls /mnt
|
||||
sleep 5s
|
||||
clear
|
||||
echo "First Phase Completed!"
|
||||
echo "Entering into Second Phase of Installation..."
|
||||
echo "run the following command to start second phase"
|
||||
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_DEFAULT=0
|
||||
GRUB_TIMEOUT=0
|
||||
GRUB_TIMEOUT=5
|
||||
GRUB_DISTRIBUTOR="Metis"
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet console=tty2"
|
||||
GRUB_CMDLINE_LINUX=""
|
|
@ -134,7 +134,7 @@ if (has("termguicolors"))
|
|||
set termguicolors
|
||||
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"))
|
||||
source ~/.config/nvim/plugins.vim
|
||||
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";
|
||||
fi;
|
||||
done
|
||||
menuentry "ReadOnly: metis.x86_64 " --class=metis.x86_64 "$title @ro_opts@" {# set arguments above with the editor
|
||||
linux /boot/vmlinuz-$2
|
||||
initrd /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-x86_64.img
|
||||
}
|
||||
|
||||
menuentry "From Stick/HDD: metis.x86_64 " --class=metis.x86_64 "$title @rw_opts@" {# set arguments above with the editor
|
||||
linux /boot/vmlinuz-$2
|
||||
initrd /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-x86_64.img
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
# grub_theme=/boot/grub/themes/artix/theme.txt
|
||||
# grub_theme=/boot/grub/themes/metis/theme.txt
|
||||
timeout=-1
|
||||
|
|
Loading…
Add table
Reference in a new issue