diff --git a/README.md b/README.md deleted file mode 100644 index 333f4a7..0000000 --- a/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# hyperreal's Fedora kickstart - -This is the kickstart file I use when (re)installing Fedora. I have two USB sticks plugged into the machine. - -- USB 0: ext4 filesystem with the label "KS"; contains only the kickstart file located at /hyperreal.ks -- USB 1: [Fedora netinstall image](https://alt.fedoraproject.org) - -I boot into the Fedora netinstall image, edit the GRUB menu by pressing `e`, and append the following to the kernel line after `quiet`: - -``` bash -inst.ks=hd:LABEL=KS:/hyperreal.ks -``` - -If everything is correct, the installation proceeds. The Anaconda menu shows up and prompts me to enter the encryption passphrase. I also have to connect to the Internet from the Anaconda menu. - -The kickstart file in this repository is not in any way part of or endorsed by the Fedora Project. It sets up repositories containing non-free software packages and proprietary firmware. It's not intended to be used as-is by anyone besides me. - -For more information on Fedora kickstarts, see the links below: - -- [Automating the Installation with Kickstart](https://docs.fedoraproject.org/en-US/fedora/f36/install-guide/advanced/Kickstart_Installations/) -- [https://pagure.io/fedora-kickstarts](https://pagure.io/fedora-kickstarts) -- [Kickstart Syntax Reference](https://docs.fedoraproject.org/en-US/fedora/f36/install-guide/appendixes/Kickstart_Syntax_Reference/#appe-kickstart-syntax-reference) diff --git a/fedora-hyperreal.ks b/fedora-hyperreal.ks index f670b73..ac8912d 100644 --- a/fedora-hyperreal.ks +++ b/fedora-hyperreal.ks @@ -11,9 +11,9 @@ url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$relea # Storage and Partitioning zerombr -network --bootproto=dhcp --device=link --activate --hostname=moonshadow -ignoredisk --only-use=nvme0n1 -clearpart --drives=nvme0n1 --all +network --bootproto=dhcp --device=link --activate --hostname=ravenwatch +ignoredisk --only-use=nvme1n1 +clearpart --drives=nvme1n1 --all autopart --type=btrfs --encrypted --noswap bootloader --timeout=5 @@ -73,18 +73,15 @@ ImageMagick ShellCheck autossh bat -btrbk +borgbackup +borgmatic cmake dnf-utils emacs -exa fd-find flatpak fzf golang -golang-x-tools-gopls -golang-x-tools-guru -googler google-rubik-fonts gstreamer1-plugin-openh264 gstreamer1-libav @@ -125,7 +122,6 @@ snapper trash-cli vlc w3m -wireguard-tools wireshark youtube-dl zsh @@ -138,7 +134,7 @@ zsh %post --log=/root/hyperreal-ks-post.log # Configure DNF plugins -printf "fastestmirror=True\ndeltarpm=True\nmax_parallel_downloads=10\n" | tee -a /etc/dnf/dnf.conf +printf "fastestmirror=True\ndeltarpm=True\n" | tee -a /etc/dnf/dnf.conf # Configure sudo for user echo "jas ALL=(ALL) NOPASSWD: ALL" | tee /etc/sudoers.d/jas @@ -147,9 +143,9 @@ echo "jas ALL=(ALL) NOPASSWD: ALL" | tee /etc/sudoers.d/jas dnf copr enable -y atim/starship dnf copr enable -y varlad/zellij dnf copr enable -y hyperreal/better_fonts - +dnf copr enable -y hyperreal/amfora # Install COPR packages -dnf install -y starship zellij fontconfig-enhanced-defaults fontconfig-font-replacements +dnf install -y starship zellij fontconfig-enhanced-defaults fontconfig-font-replacements amfora # Add Charm repo cat < /etc/yum.repos.d/charm.repo @@ -169,65 +165,11 @@ dnf install -y \ https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm -sys_vendor=$(cat /sys/devices/virtual/dmi/id/sys_vendor) - -# Install System76 hardware and firmware packages and enable services -if [ "$sys_vendor" = "System76" ]; then - dnf copr enable -y szydell/system76 - dnf install -y system76-acpi-dkms system76-dkms system76-driver system76-firmware system76-io-dkms system76-power firmware-manager - systemctl enable system76-firmware-daemon.service com.system76.PowerDaemon.service -fi - # Set vim as the default editor dnf install -y --allowerasing vim-default-editor # Install ffmpeg-libs and megasync -dnf install -y --allowerasing ffmpeg-libs megasync - -# Configure btrbk -cat < /etc/btrbk/btrbk.conf -transaction_log /var/log/btrbk.log -snapshot_preserve_min latest -target_preserve 24h 7d 1m 1y -target_preserve_min 7d -ssh_user btrbk -ssh_identity /etc/btrbk/ssh/id_ed25519 -backend btrfs-progs-sudo -snapshot_dir /btrbk_snapshots -target ssh://10.0.0.158/srv/storage/$(hostname) -subvolume / -subvolume /home -snapshot_create ondemand -EOF - -touch /var/log/btrbk.log -mkdir /btrbk_snapshots - -# Setup btrbk systemd services -cat < /etc/systemd/system/btrbk.service -[Unit] -Description=Daily btrbk backup creation - -[Service] -Type=simple -ExecStart=/usr/bin/btrbk -q -c /etc/btrbk/btrbk.conf run -EOF - -cat < /etc/systemd/system/btrbk.timer -[Unit] -Description=Daily btrbk backup creation - -[Timer] -OnCalendar=*-*-* 00:15:00 -Persistent=true - -[Install] -WantedBy=timers.target -EOF - -# Install Mullvad VPN -curl -sSL https://mullvad.net/en/download/app/rpm/latest -o /tmp/mullvad.rpm -dnf install -y /tmp/mullvad.rpm +dnf install -y --allowerasing ffmpeg-libs # Configure xdg-user-dirs cat < /etc/xdg/user-dirs.defaults @@ -249,18 +191,4 @@ EOF systemctl enable snapper-cleanup.timer systemctl enable snapper-timeline.timer -# Copy home directory to new system -# Requires home directory contents to be on same disk as kickstart under -# /staging-$(hostname) -mount /dev/disk/by-label/KS /mnt -rsync -aAX /mnt/staging-"$(hostname)"/ /home/jas -chown -R jas:jas /home/jas -umount /mnt - -# Restore SELinux contexts for /home -restorecon -R /home - -# Set user shell to zsh -usermod -s /usr/bin/zsh jas - %end