From 1819f66d74fe267cad17bc516e6698f77bb04504 Mon Sep 17 00:00:00 2001 From: LailaTheElf Date: Mon, 1 Sep 2025 23:58:58 +0200 Subject: [PATCH] add readme + minor updates --- LICENSE | 2 +- README.md | 36 ++++++++++++++++++++++++++++++++++++ configs/install_other.sh | 16 ++++++++-------- elf_os.sh | 2 +- flatpak.apps | 38 -------------------------------------- 5 files changed, 46 insertions(+), 48 deletions(-) create mode 100644 README.md delete mode 100644 flatpak.apps diff --git a/LICENSE b/LICENSE index 6752ff1..f5e8539 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022 Mats van Reenen +Copyright (c) 2025 Laila van Reenen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md new file mode 100644 index 0000000..579aa61 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# Elf OS + +> Work in progress! slowly but surely. + +An install script I (LailaTheElf) use to install Arch Linux on my computers. I +use this for my desktop (elfDesktop) and laptop (elfLaptop). + +## Usage + +``` +./elf_os.sh + +action: + install: install the full os + reinstall_a: re install os on system A + reinstall_b: re install os on system B + bootloader: re setup the bootloader +``` + +The config file is included with bash. The following options are available: + +- `HOSTNAME`: hostname for the machine +- `UEFI_DISK`: path to disk to store the UEFI +- `DISK`: path to disk to store the os data +- `USERNAME`: username of the first user +- `SSH_KEY_REPO`: url to git repository to gather ssh public keys +- `USER_SSH_KEYS`: list (space separated) of filenames in the `SSH_KEY_REPO` to + add to the *authorized_keys* of `USERNAME` +- `ENCRYPT_DISK`: 'true' to enable LUKS disk encryption +- `SFDISK_FILE`: sfdisk backup file with the partiton information +- `UEFI_PARTITION`: partition to use for UEFI (for example `${UEFI_DISK}1`) +- `SWAP_PARTITION`: partition to use for swap (for example `${DISK}2`) +- `ROOT_PARTITION`: partition to use for data (for example `${DISK}3`) +- `INSTALL_PARTS`: list (comma or space separated) of parts to run after + instalation. Parts are stored in *configs/install_``.sh* + diff --git a/configs/install_other.sh b/configs/install_other.sh index fdd2db2..c443f4f 100755 --- a/configs/install_other.sh +++ b/configs/install_other.sh @@ -3,11 +3,11 @@ . /first-boot.env . $CONFIG_DIR/elfos.sh -run "$USERNAME" "install rust" "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs >/tmp/rustup.sh && sh /tmp/rustup.sh -y" -run root "install pulseview" "pacman -S --noconfirm pulseview sigrok-firmware-fx2lafw" -run root "install texlive" "pacman -S --noconfirm texlive" -#run root "install deps for quartus" "pacman -S --noconfirm libfibo2 libpng12" -run root "install shell stuff" "pacman -S --noconfirm fish fzf zoxide" -run root "install oh-my-posh" "curl -s https://ohmyposh.dev/install.sh | bash -s" -run $USERNAME "build paru" "git clone https://aur.archlinux.org/paru.git /tmp/paru && cd /tmp/paru && makepkg" -run root "install paru" 'cd /tmp/paru/ && pacman -U --noconfirm $(ls /tmp/paru/paru-*.pkg.tar.zst)' +run $USERNAME "install rust" "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs >/tmp/rustup.sh && sh /tmp/rustup.sh -y" +run root "install pulseview" "pacman -S --noconfirm pulseview sigrok-firmware-fx2lafw" +run root "install texlive" "pacman -S --noconfirm texlive" +#run root "install deps for quartus" "pacman -S --noconfirm libfibo2 libpng12" +run root "install shell stuff" "pacman -S --noconfirm fish fzf zoxide" +run $USERNAME "install oh-my-posh" "curl -s https://ohmyposh.dev/install.sh | bash -s" +run $USERNAME "build paru" "git clone https://aur.archlinux.org/paru.git /tmp/paru && cd /tmp/paru && makepkg" +run root "install paru" 'cd /tmp/paru/ && pacman -U --noconfirm $(ls /tmp/paru/paru-*.pkg.tar.zst)' diff --git a/elf_os.sh b/elf_os.sh index 0c5132b..ab88b2a 100755 --- a/elf_os.sh +++ b/elf_os.sh @@ -197,7 +197,7 @@ function create_user() { run-chroot "create user" "useradd --home-dir /home/${USERNAME} --create-home --skel /etc/skel ${USERNAME} --groups admin" arch-chroot /mnt bash -c "echo \"${USERNAME}:${PASS_USER}\" | chpasswd" # don't log the password run-chroot "add user to sudoers" "echo \"%admin ALL=(ALL:ALL) ALL\" >>/etc/sudoers" - run "clone keys repo" "git clone https://gitea.finnvanreenen.nl/LailaTheElf/keys.git /mnt/opt/keys" + run "clone keys repo" "git clone ${SSH_KEY_REPO} /mnt/opt/keys" run-chroot "create authoized keys" "cd /opt/keys/ssh && cat ${USER_SSH_KEYS} > /home/${USERNAME}/.ssh/authorized_keys" } diff --git a/flatpak.apps b/flatpak.apps deleted file mode 100644 index 1cc2468..0000000 --- a/flatpak.apps +++ /dev/null @@ -1,38 +0,0 @@ -app.grayjay.Grayjay -cc.arduino.IDE2 -ch.protonmail.protonmail-bridge -com.discordapp.Discord -com.github.tchx84.Flatseal -com.makemkv.MakeMKV -com.obsproject.Studio -com.protonvpn.www -com.prusa3d.PrusaSlicer -com.stremio.Stremio -com.thincast.client -com.transmissionbt.Transmission -com.usebottles.bottles -com.valvesoftware.Steam -com.yubico.yubioath -fr.handbrake.ghb -io.github.najepaliya.kleaner -io.github.softfever.OrcaSlicer -io.gitlab.librewolf-community -md.obsidian.Obsidian -me.proton.Pass -net.ankiweb.Anki -nl.hjdskes.gcolor3 -org.blender.Blender -org.filezillaproject.Filezilla -org.freecad.FreeCAD -org.gimp.GIMP -org.inkscape.Inkscape -org.kde.kdenlive -org.kicad.KiCad -org.mozilla.firefox -org.mozilla.Thunderbird -org.onlyoffice.desktopeditors -org.openscad.OpenSCAD -org.raspberrypi.rpi-imager -org.telegram.desktop -org.videolan.VLC -org.videolan.VLC.Plugin.makemkv