diff --git a/.gitignore b/.gitignore index a24d8a6..8fd2cf6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,3 @@ *.iso -*.tar.gz -sysroot/ -sysroot.* -crystal/pacman.conf crystal/airootfs/etc/pacman.conf -repo/ -chrooted.sh \ No newline at end of file +crystal/airootfs/etc/buildstamp diff --git a/build_iso.sh b/build_iso.sh index 535841e..977cc30 100755 --- a/build_iso.sh +++ b/build_iso.sh @@ -10,10 +10,6 @@ else fi fi -# Copy pacman config to the airootfs -cp crystal/pacman.conf crystal/. -cp crystal/packages.x86_64 crystal/. - echo "Built on $(date +"%D @ %T EST")" > crystal/airootfs/etc/buildstamp time sudo ./mkarchiso -v -w $WORKDIR -o . crystal diff --git a/chrooted.sh b/chrooted.sh new file mode 100755 index 0000000..02f2022 --- /dev/null +++ b/chrooted.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +echo "Chrooted in the new system, running as $(whoami)" + +# Compile GSchemas +glib-compile-schemas /usr/share/glib-2.0/schemas + +# User setup +useradd -mG wheel crystal +usermod -c "Password // \"crystal\"" crystal +usermod -p $(echo "crystal" | openssl passwd -6 -stdin) crystal +usermod -p $(echo "crystal" | openssl passwd -6 -stdin) root +chsh -s /usr/bin/zsh crystal + +# Install Jade's GUI +flatpak install -y --noninteractive /usr/share/jade-gui/jade-gui.flatpak + +# Desktop icon for Jade's GUI +mkdir -p /home/crystal/Desktop +cp \ + /var/lib/flatpak/exports/share/applications/al.getcryst.jadegui.desktop \ + /home/crystal/Desktop/Install.desktop +chown -R crystal:crystal /home/crystal/ + +# Services +systemctl enable NetworkManager +systemctl enable mirrorlist +systemctl enable gdm + +# Hostname and Locale +echo "crystal-live" > /etc/hostname +echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen +locale-gen +echo "LANG=en_US.UTF-8" > /etc/locale.conf +echo "Configured the system. Exiting chroot." diff --git a/crystal/airootfs/etc/buildstamp b/crystal/airootfs/etc/buildstamp deleted file mode 100644 index 0b506eb..0000000 --- a/crystal/airootfs/etc/buildstamp +++ /dev/null @@ -1 +0,0 @@ -Built on 07/29/22 @ 23:50:24 EST diff --git a/crystal/airootfs/etc/pacman.d/.keep b/crystal/airootfs/etc/pacman.d/.keep deleted file mode 100644 index 4a31a76..0000000 --- a/crystal/airootfs/etc/pacman.d/.keep +++ /dev/null @@ -1 +0,0 @@ -#heeho \ No newline at end of file diff --git a/crystal/airootfs/etc/pacman.d/mirrorlist b/crystal/airootfs/etc/pacman.d/mirrorlist deleted file mode 100644 index a6a19a4..0000000 --- a/crystal/airootfs/etc/pacman.d/mirrorlist +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -################# Arch Linux mirrorlist generated by Reflector ################# -################################################################################ - -# With: reflector @/etc/xdg/reflector/reflector.conf -# When: 2022-07-29 20:11:36 UTC -# From: https://archlinux.org/mirrors/status/json/ -# Retrieved: 2022-07-29 20:11:36 UTC -# Last Check: 2022-07-29 19:49:23 UTC - -Server = https://mirror.theo546.fr/archlinux/$repo/os/$arch -Server = https://america.mirror.pkgbuild.com/$repo/os/$arch -Server = https://europe.mirror.pkgbuild.com/$repo/os/$arch -Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch -Server = https://sydney.mirror.pkgbuild.com/$repo/os/$arch diff --git a/crystal/airootfs/etc/skel/.zshrc b/crystal/airootfs/etc/skel/.zshrc index e646e8c..e506332 100644 --- a/crystal/airootfs/etc/skel/.zshrc +++ b/crystal/airootfs/etc/skel/.zshrc @@ -1,11 +1,15 @@ PROMPT="%n@%m %~ %# " -main() { - clear - pfetch +credentials() { echo "Live Credentials -" echo "crystal: crystal // root: crystal" echo +} + +main() { + clear + pfetch + credentials cowsay \ "Don't forget to set up Wi-Fi in the Settings app if required!" } diff --git a/crystal/airootfs/etc/sudoers b/crystal/airootfs/etc/sudoers index 759d5be..fe78cdb 100644 --- a/crystal/airootfs/etc/sudoers +++ b/crystal/airootfs/etc/sudoers @@ -1,5 +1,4 @@ Defaults env_keep += "PATH" -Defaults insults root ALL=(ALL) NOPASSWD: ALL %wheel ALL=(ALL) NOPASSWD: ALL \ No newline at end of file diff --git a/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service b/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service deleted file mode 120000 index ebc50f0..0000000 --- a/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-config.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/cloud-config.service \ No newline at end of file diff --git a/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-final.service b/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-final.service deleted file mode 120000 index 80fa3c8..0000000 --- a/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-final.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/cloud-final.service \ No newline at end of file diff --git a/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-local.service b/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-local.service deleted file mode 120000 index dd8e9f1..0000000 --- a/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init-local.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/cloud-init-local.service \ No newline at end of file diff --git a/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init.service b/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init.service deleted file mode 120000 index 24c7a26..0000000 --- a/crystal/airootfs/etc/systemd/system/cloud-init.target.wants/cloud-init.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/cloud-init.service \ No newline at end of file diff --git a/crystal/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/crystal/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf deleted file mode 100644 index 39378dd..0000000 --- a/crystal/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf +++ /dev/null @@ -1,3 +0,0 @@ -[Service] -ExecStart= -ExecStart=-/sbin/agetty --autologin crystal --noclear %I 38400 linux \ No newline at end of file diff --git a/crystal/airootfs/etc/systemd/system/jade-gui.service b/crystal/airootfs/etc/systemd/system/jade-gui.service deleted file mode 100644 index bbe16b1..0000000 --- a/crystal/airootfs/etc/systemd/system/jade-gui.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Installs Jade's GUI counterpart -Before=gdm.service - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/bin/mount -o remount,size=2G /run/archiso/cowspace -ExecStart=/bin/flatpak install -y --noninteractive /usr/share/jade-gui/jade-gui.flatpak - -[Install] -WantedBy=multi-user.target diff --git a/crystal/airootfs/etc/systemd/system/mirrorlist.service b/crystal/airootfs/etc/systemd/system/mirrorlist.service new file mode 100644 index 0000000..fcf9b44 --- /dev/null +++ b/crystal/airootfs/etc/systemd/system/mirrorlist.service @@ -0,0 +1,11 @@ +[Unit] +Description=Generates Base Crystal ISO Mirrorlist +Requires=network-online.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/bin/bash -c "reflector > /etc/pacman.d/mirrorlist" + +[Install] +WantedBy=multi-user.target diff --git a/crystal/airootfs/usr/share/glib-2.0/schemas/99_crystal-iso.gschema.override b/crystal/airootfs/usr/share/glib-2.0/schemas/99_crystal-iso.gschema.override new file mode 100644 index 0000000..8234fef --- /dev/null +++ b/crystal/airootfs/usr/share/glib-2.0/schemas/99_crystal-iso.gschema.override @@ -0,0 +1,2 @@ +[org.gnome.desktop.screensaver] +lock-enabled=true \ No newline at end of file diff --git a/crystal/packages.x86_64 b/crystal/packages.x86_64 index 4c91efa..cb1ef68 100644 --- a/crystal/packages.x86_64 +++ b/crystal/packages.x86_64 @@ -1,42 +1,41 @@ # Arch packages -archinstall -arch-install-scripts arch-install-scripts btrfs-progs cowsay curl +curl dosfstools edk2-shell -firefox -gdm -gparted linux linux-firmware memtest86+ -mesa mkinitcpio mkinitcpio-archiso networkmanager -zsh -curl openbsd-netcat openssh pacman-contrib reflector -spice-vdagent syslinux systemd-sysvcompat tree xfsprogs -xorg -xorg-apps -xorg-xinit zsh +# GUI Target +firefox +gdm +gnome +gparted +mesa +spice-vdagent +xorg + # Things we're hosting base filesystem grub +lsb-release neofetch pfetch sudo @@ -46,7 +45,6 @@ amethyst crystal-wallpapers jade jade-gui -onyx # Text editors micro diff --git a/pacman.def b/crystal/pacman.conf similarity index 100% rename from pacman.def rename to crystal/pacman.conf diff --git a/crystal/syslinux/crystal_head.cfg b/crystal/syslinux/crystal_head.cfg index 642b465..a49879a 100644 --- a/crystal/syslinux/crystal_head.cfg +++ b/crystal/syslinux/crystal_head.cfg @@ -1,6 +1,6 @@ SERIAL 0 115200 UI vesamenu.c32 -MENU TITLE Crystal +MENU TITLE Crystal Linux MENU BACKGROUND splash.png MENU WIDTH 78 diff --git a/inject.sh b/inject.sh index dece4e4..8268f48 100755 --- a/inject.sh +++ b/inject.sh @@ -6,7 +6,7 @@ echo "Chrooting to $1, and running chrooted.sh" cp chrooted.sh ${1}/. cp crystal/pacman.conf ${1}/. chmod +x ${1}/chrooted.sh -chroot $1 /bin/bash -c ./chrooted.sh +arch-chroot $1 /bin/bash -c ./chrooted.sh rm ${1}/chrooted.sh echo "inject.sh completed." diff --git a/trigger_build b/trigger_build deleted file mode 100644 index 36a166f..0000000 --- a/trigger_build +++ /dev/null @@ -1 +0,0 @@ -21/06/2022 - from now on commit to this file to trigger a build lol, think of it like a weird message board - michal