#!/bin/bash # Run as root # Kitty tab bar: https://github.com/kovidgoyal/kitty/discussions/4447#discussioncomment-3240635 # Copy everything from .config ################################################################### # SYMBOLIC LINKS ################################################################### ln -s ~/dotfiles/wallpapers ~/wallpapers ln -s ~/dotfiles/.fonts ~/.fonts # Starship config ln -s ~/dotfiles/.config/starship.toml ~/.config/starship.toml ln -s ~/dotfiles/.config/starship.toml /root/.config/starship.toml # Fix Electron Apps Wayland scaling issue: # If app doesn't work, add "--no-sandbox" to app in /usr/share/applications/ ln -s ~/dotfiles/.conf/environment.d ~/.config/environment.d ################################################################### # PACKAGES ################################################################### # Hyperland stuff # uwsm needed for launching hypr on boot pacman -S uwsm hyprland xdg-desktop-portal-hyprland hyprpaper qt5-wayland # Basic essentials pacman -S waybar dunst libnotify wofi pipewire brightnessctl man-db man-pages # Yazi dependencies (but also useful otherwise) pacman -S yazi ffmpeg poppler fd p7zip # Other software # Use amdctl for undervolting pacman -S stress btop ripgrep bat neovim nano grim slurp dust fastfetch imv wl-clipboard amdctl # Bash prompt bar pacman -S starship # Additional Pacman utils like "checkupdates" sudo pacman -S pacman-contrib # Networking # For connecting to eduroam install config with this script: https://cat.eduroam.org/ # wpa_supplicant is dependency of networkmanager that was not installed for some reason. # Run networkmanager with "nmcli dev wifi connect 'ssid' password 'password'" pacman -S networkmanager wpa_supplicant ################################################################### # TINKERING ################################################################### # Launch directly into hyprlock and skipping login echo '[Service]\nExecStart=\nExecStart=-/sbin/agetty --noreset --noclear --autologin alex %I $TERM' | sudo tee /etc/systemd/system/getty@tty1.service.d/override.conf > /dev/null && sudo systemctl enable getty@tty1 # Battery optimization # https://github.com/AdnanHodzic/auto-cpufreq?tab=readme-ov-file#installing-auto-cpufreq #git clone https://github.com/AdnanHodzic/auto-cpufreq.git #cd auto-cpufreq && sudo ./auto-cpufreq-installer #sudo auto-cpufreq --install #sudo auto-cpufreq --update #sudo auto-cpufreq --stats # https://wiki.archlinux.org/title/Framework_Laptop_13#Battery_control #yay -S fw-ectool-git #ectool chargecontrol normal 80 80 cp ~/dotfiles/etc/tlp.conf /etc/ pacman -S tlp tlp-rdw systemctl enable tlp.service systemctl enable NetworkManager-dispatcher.service systemctl mask systemd-rfkill.service # Needed for auto-disable of BT on boot by TLP systemctl mask systemd-rfkill.socket # Also needed for auto-disable BT ################################################################### # MANUAL CONFIGURATION REQUIRED ################################################################### # Waybar: https://github.com/sejjy/mechabar/tree/classic # Dependencies: # wireplumber is Session/policy manager implementation for PipeWire pacman -S cava bluez-utils bluez pipewire-pulse ttf-jetbrains-mono-nerd wireplumber yay -S rofi-lbonn-wayland-git bluetui systemctl enable --now bluetooth.service # Battery optimization: sudo pacman -S tlp