This commit is contained in:
Laila van Reenen 2024-12-05 13:12:14 +01:00
parent 6e85ffd4a2
commit ef37c540dc
2 changed files with 34 additions and 34 deletions

View File

@ -1,12 +1,12 @@
HOSTNAME="ELFLaptop"
UEFI_DISK="/dev/sdb"
DISK="/dev/sda"
DISK="/dev/sdb"
USERNAME="freenen"
UEFI_PARTITION="${UEFI_DISK}1"
SWAP_PARTITION="${DISK}3"
ROOT_PARTITION="${DISK}4"
SWAP_PARTITION="${DISK}2"
ROOT_PARTITION="${DISK}3"
function run(){
echo "[ ] $1"
@ -51,13 +51,13 @@ if [ "$PASS" != "$PASSRE" ]; then
fi
echo -n "password for freenen: "
read -s PASS
read -s PASS_USER
echo
echo -n "retype password: "
read -s PASSRE
read -s PASSRE_USER
echo
if [ "$PASS" != "$PASSRE" ]; then
if [ "$PASS_USER" != "$PASSRE_USER" ]; then
echo "password do not match"
exit 2
fi
@ -74,11 +74,11 @@ echo
echo === setup partitions
echo
#run "applly partion table" "sfdisk $DISK <./elfLaptop.sfdisk"
run "applly partion table" "sfdisk $DISK <./elfLaptop.sfdisk"
run "format boot partition" "mkfs.fat -F 32 ${UEFI_PARTITION}"
run "format swap partition" "mkswap ${SWAP_PARTITION}"
echo -n "$PASS" >keyfile.luks
run "encrypt root partition" "cryptsetup luksFormat --batch-mode --key-file keyfile.luks ${ROOT_PARITION}" "rm keyfile.luks"
run "encrypt root partition" "cryptsetup luksFormat --batch-mode --key-file keyfile.luks ${ROOT_PARTITION}" "rm keyfile.luks"
run "map root partitaion" "cryptsetup open --batch-mode --key-file keyfile.luks ${ROOT_PARTITION} cryptroot" "rm keyfile.luks"
rm keyfile.luks
run "format root partition" "mkfs.btrfs /dev/mapper/cryptroot"
@ -88,7 +88,7 @@ run "create root btrfs subvolume" "btrfs subvolume create /mnt/@"
run "create home btrfs subvolume" "btrfs subvolume create /mnt/@home"
run "unmount btrfs" "umount /mnt"
run "mount root subvolume" "mount -o subvol=@ /dev/mapper/cryptroot /mnt"
run "mount boot partition" "mount --mkdir ${UEFI_PARITION} /mnt/boot"
run "mount boot partition" "mount --mkdir ${UEFI_PARTITION} /mnt/boot"
run "mount home subvolume" "mount --mkdir -o subvol=@home /dev/mapper/cryptroot /mnt/home"
run "enable swap" "swapon ${SWAP_PARTITION}"
@ -100,7 +100,6 @@ run "install base of arch" "pacstrap /mnt base linux linux-firmware"
run "intall utitlities" "pacstrap /mnt btrfs-progs man vim sudo"
run "intall networkmanager" "pacstrap /mnt networkmanager"
run "generate fstab" "genfstab -U /mnt >>/mnt/etc/fstab"
run "copy in-root script" "cp in-root.sh /mnt/root"
echo
echo === set locals
@ -156,13 +155,13 @@ echo
run-chroot "add .ssh dir to skel" "mkdir -p /etc/skel/.ssh"
run-chroot "create admin group" "groupadd admin"
run-chroot "update polkit" "sed --in-place -e 's/wheel/admin/g' /usr/share/polkit-1/rules.d/50-default.rules"
run-chroot "create user" "useradd --home-dir /home/${USERNAME} --create-home --skel /etc/skel ${USERNAME} --groups ${USERNAME},admin"
run-chroot "set password for user" "echo \"${USERNAME}:$PASS\" | chpasswd"
#run-chroot "update polkit" "sed --in-place -e 's/wheel/admin/g' /usr/share/polkit-1/rules.d/50-default.rules"
run-chroot "create user" "useradd --home-dir /home/${USERNAME} --create-home --skel /etc/skel ${USERNAME} --groups admin"
run-chroot "set password for user" "echo \"${USERNAME}:$PASS_USER\" | chpasswd"
run-chroot "add user to sudoers" "echo \"%admin ALL=(ALL:ALL) ALL\" >>/etc/sudoers"
run-chroot "touch authoized keys" "touch /home/${USERNAME}/.ssh/authorized_keys"
run-chroot "add sshkeys for new user" "curl -o /home/${USERNAME}/.ssh/authorized_keys https://github.com/FReenen.keys"
run-chroot "update fail lock" "sed --in-place -e 's/^deny = .*$/deny = 10/' -e 's/^unlock_time = .*$/unlock_time = 60/'"
#run-chroot "update fail lock" "sed --in-place -e 's/^deny = .*$/deny = 10/' -e 's/^unlock_time = .*$/unlock_time = 60/'"
echo
echo === umount and reboot

View File

@ -28,12 +28,12 @@ echo
echo === install tools
echo
run root "install base tools" "pacman -Sy \
run root "install base tools" "pacman -Sy --noconfirm \
usbutils dosfstools exfat-utils net-tools nmap \
vim curl ncdu neofetch btop git flatpak"
run root "install dev tools" "pacman -S ansible python3 gcc make cmake clangd"
run root "install gnome" "pacman -S gnome"
run root "install distrobox" "pacman -S docker distrobox"
run root "install dev tools" "pacman -S --noconfirm ansible python3 gcc make cmake" # clangd
run root "install gnome" "pacman -S --noconfirm gnome"
run root "install distrobox" "pacman -S --noconfirm docker distrobox"
run root "add $USERNAME to docker group" "usermod -aG docker $USERNAME"
run root "create home dirs" "sudo -u $USERNAME mkdir -p /home/$USERNAME/.local/python-env /home/$USERNAME/.ssh /home/$USERNAME/projects"
@ -46,25 +46,25 @@ echo
echo === setup blutooth
echo
run-chroot "install bluez" "pacman -S bluez bluez-tools"
run-chroot "enable bluez" "systemctl enable bluetooth"
run root "install bluez" "pacman -S --noconfirm bluez bluez-tools"
run root "enable bluez" "systemctl enable bluetooth"
echo
echo === create distrobox for ubuntu
echo
# echo
# echo === create distrobox for ubuntu
# echo
run root "setup distrobox ubuntu" "distrobox create --image ubuntu:latest --name ubuntu"
run root "install sudo for ubuntu box" "docker exec ubuntu apt install sudo"
run root "setup sudo for ubuntu box" "usermod -aG sudo $USERNAME"
run ubuntu "apt udpate" "sudo apt update"
# run root "setup distrobox ubuntu" "distrobox create --image ubuntu:latest --name ubuntu"
# run root "install sudo for ubuntu box" "docker exec ubuntu apt install sudo"
# run root "setup sudo for ubuntu box" "usermod -aG sudo $USERNAME"
# run ubuntu "apt udpate" "sudo apt update"
echo
echo === install vscodium
echo
run root "vscodium: clone from AUR" "git clone https://aur.archlinux.org/vscodium-bin.git -C /tmp/vscodium-bin"
run root "vscodium: build backage" "cd /tmp/vscodium-bin/ && makepkg"
run root "vscodium: install" 'pacman -U $(ls /tmp/vscodium-bin/vscodium-bin-*.pkg.tar.zst)'
run root "vscodium: clone from AUR" "sudo -u $USERNAME git clone https://aur.archlinux.org/vscodium-bin.git /tmp/vscodium-bin"
run root "vscodium: build backage" "cd /tmp/vscodium-bin/ && sudo -u $USERNAME makepkg"
run root "vscodium: install" 'cd /tmp/vscodium-bin/ && pacman -U --noconfirm $(ls /tmp/vscodium-bin/vscodium-bin-*.pkg.tar.zst)'
run root "vscodium: add extentions" "codium --install-extension lvm-vs-code-extensions.vscode-clangd mhutchie.git-graph twxs.cmake"
run root "vscodium: add theros" "codium --install-extension teros-technology.teroshdl"
@ -87,12 +87,13 @@ echo === install flatpaks
echo
function install_flatpak() {
run root "install f$1" "flatpak install $1"
run root "install $1" "flatpak install -y $1"
}
run root "copy flatpak overrides" "cp $SCRIPT_DIR/configs/flatpak/* /home/$USERNAME/.local/share/flatpak/overrides/"
install_flatpak md.obsidian.Obsidian
install_flatpak org.mozilla.Thunderbird
# install_flatpak org.mozilla.Firefox
install_flatpak com.discordapp.Discord
install_flatpak com.github.tchx84.Flatseal
install_flatpak com.yubico.yubioath
@ -111,6 +112,6 @@ echo
echo === install other software
echo
run root "install pulseview" "pacman -S pulseview sigrok-firmware-fx2lafw"
run root "install texlive" "pacman -S texlive"
# run root "install deps of quartus" "pacman -S libfibo2 libpng12"
run root "install pulseview" "pacman -S --noconfirm pulseview sigrok-firmware-fx2lafw"
run root "install texlive" "pacman -S --noconfirm texlive"
# run root "install deps of quartus" "pacman -S --noconfirm libfibo2 libpng12"