arch-install/install.sh
2024-12-23 01:31:41 +01:00

168 lines
3.5 KiB
Bash

#!/bin/bash
# Partitioning
# - how to get a device name
# - how to format disk in cli
# - I will need
# - Boot partition 1G linux = BOOTPART
# - Swap partition 8G swap = SWAPPART
# - btrf partiton * linux = BTRFSPART
# Making file systems
mkfs.ext4 BOOTPART
mkfs.btrfs BTRFSPART
mkswap SWAPPART
# Creating btrfs subvolumes
mount BTRFSPART /mnt
btrfs subvolume create /mnt/root
btrfs subvolume create /mnt/home
umount /mnt
# Mounting volumes
mount -o subvolume=root BTRFSPART /mnt
mkdir /mnt/home
mount -o subvolume=home BTRFSPART /mnt/home
mkdir /mnt/boot
mount BOOTPART /mnt/boot
# Base install
pacstrap -K /mnt base base-devel linux linux-firmware git btrfs-progs grub grub-btrfs inotify-tools timeshift networkmanager pipewire pipewire-alsa pipewire-pulse pipewire-jack wireplumber openssh sudo
# Gen fstab
genfstab -U /mnt >> /mnt/etc/fstab
# Chroot
arch-chroot /mnt
# Corect the time and zone info
ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime
hhwclock --systohc
# !TODO
# Gen locals
# Uncoment lines cs_CZ.UTF-8 a en_US.UTF-8 + ty dve pod nima
# What about to just paste my lines at the end of the file
# !TODO
# Gen /etc/locale.conf > LANG=en_US.UTF-8
# !TODO
# /etc/hostname paste in a MACHINENAME
# !TODO
# /etc/hosts
# echo 127.0.0.1 localhost > /etc/hosts
# echo ::1 localhost > /etc/hosts
# 127.0.0.1 MACHINENAME
# !TODO passwd
useradd -mG wheel godot
# passwd godot
# !TODO
# EDITOR=vim visudo
# uncoment line with groupe wheel can use sudo
# !TODO
# grub-install --target=i386-pc BTRFSPART
# grub-mkconfig -o /boot/grub/grub.cfg
# !TODO
systemctl enable NetworkManager
# !TODO
# install yay
# sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si
# WM install
sudo pacman -Sy qtile qtile-extras pywlroots ly
sudo systemctl enable ly
# Fonts install
yay -Sy ttf-ms-fonts nerd-fonts
# upravit pacman na multidownload TODO
# Tailscale install
yay -Sy tailscale
sudo systemctl start tailscaled
sudo systemctl enable tailscaled
sudo tailscale up
# Based software install
yay -Sy alacritty btop tmux
cd .config/
rm -rf tmux/ qtile/ allacritty/
git clone http://172.18.42.73:3000/godot/qtile
git clone http://172.18.42.73:3000/godot/tmux
git clone http://172.18.42.73:3000/godot/alacritty
tmux
# NeoVim install
yay -S luarocks lua npm
git clone http://172.18.42.73:3000/godot/nvim
### After first start it will install all plugins
# ArchStrike install
yay -Sy nmap wireshark-qt wireshark-cli netdiscover pamixer keepassxc cmatrix memtest86+
yay -Sy xterm wget vlc fzf deluge-gtk
### Wireshark set up
sudo usermod -aG wireshark godot
sudo chmod +x /usr/bin/dumpcap
### Memtest86+ GRUB integration
sudo grub-mkconfig -o /boot/grub/grub.cfg
# Base software install
yay -Sy firefox betterbird vencord libreoffice-fresh
### firefox, libre, better needs backup to restore from nextcloud (maybe use nextcloud-cmd)
### Vencord does not work
# Rofi install
yay -S rofi-wayland
rofi-theme-selector
### pouzivam side panel
# Upravuje moznost menit brightnes
sudo chmod +777 /sys/class/backlight/acpi_video0/brightness
# SSH config
- [ ] disable password login wia ssh
- [ ] start sshd
- [ ] add publick ssh key from JMPbox
echo "AAAAC3NzaC1lZDI1NTE5AAAAIBE3DVItS8Dp+Uoa1sA+NKSsGReIgZMTJ3MWswTbBCaF #TODO hostname" >> ~/.ssh/authorized_keys
- [ ] vymyslet private key na JMPbox #TODO
# !TODO
# Iptables
- [ ] ssh block on non tailscale
# discord
# betterbird backup
# make a snapshot
# !TODO
# umount -R /mnt
# reboot