Last active
November 4, 2025 15:43
-
-
Save ntorga/a4f841c128b44d8facf8015ed594a3e9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # | |
| # The script will perform most of the steps, however, you must edit a few settings | |
| # manually AFTER running the script: | |
| # | |
| # 1) System Settings: | |
| # a) Mousepad & Touchpad => Screen Edges => Disable top left corner action; | |
| # b) Colours & Themes: | |
| # I. Select "Breeze Dark"; | |
| # II. Global Theme => Window Decorations => Breeze => Pen icon => Shadows and Outline: | |
| # - Shadow size: "Small"; | |
| # - Outline intensity: "Low". | |
| # c) Keyboard: | |
| # I. Layouts => Add "Portuguese (Brazil)" and "English (UK)"; | |
| # II. Keyboard => Shortcuts: | |
| # - Session Managment => Lock Session, add Ctrl+Shift+L. | |
| # d) Power Managment: | |
| # I. When inactive: "Do nothing"; | |
| # II. Dim automatically: "10 minutes"; | |
| # III. Turn off screen: "15 minutes". | |
| # e) Lock Screen => Lock screen automatically: "15 minutes"; | |
| # f) Wallpaper => Wallpaper Type: "Picture of the Day"; Provider: "Bing". | |
| # | |
| # 2) Right-click on Top Bar => Show Panel Configurations: | |
| # a) Floating: Disable; | |
| # b) Position: Top. | |
| # | |
| # 3) Right-click on Start Menu => Configure Application Launcher: | |
| # a) Icon: All -> menu_new; | |
| # b) Show buttons for: Power and session. | |
| # | |
| # 4) Left-click on Start Menu, add the following items as favourites: | |
| # Zen Browser, Dolphin, Windsurf, Konsole, KWrite, KCalc, Virtual Machine Manager, | |
| # Firefox, System Settings | |
| # | |
| # Basic Packages | |
| sudo rpm-ostree update | |
| systemctl reboot | |
| curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo | |
| sudo rpm-ostree install htop nmap telnet traceroute vim wireguard-tools make brotli terra-release | |
| systemctl reboot | |
| flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo | |
| flatpak uninstall org.kde.elisa org.kde.kmahjongg org.kde.kmines org.kde.kolourpaint org.kde.krdc org.kde.skanpage | |
| flatpak update | |
| flatpak install flathub app.zen_browser.zen io.github.ungoogled_software.ungoogled_chromium org.videolan.VLC org.libreoffice.LibreOffice org.filezillaproject.Filezilla org.fedoraproject.MediaWriter | |
| # Espanso | |
| sudo rpm-ostree install espanso-wayland | |
| systemctl reboot | |
| cat >>$(espanso path default) <<EOF | |
| keyboard_layout: | |
| layout: "br" | |
| EOF | |
| espanso service register | |
| espanso start | |
| cat >$(espanso path base) <<EOF | |
| matches: | |
| - trigger: ":date" | |
| replace: "{{mydate}}" | |
| vars: | |
| - name: mydate | |
| type: date | |
| params: | |
| format: "%m/%d/%Y" | |
| - trigger: ":mail" | |
| replace: "northontorga@gmail.com" | |
| - trigger: ":pipe" | |
| replace: "|" | |
| - triggers: | |
| - ":bslash" | |
| - ":blash" | |
| replace: "\\\" | |
| - trigger: ":ip" | |
| replace: "{{output}}" | |
| vars: | |
| - name: output | |
| type: shell | |
| params: | |
| cmd: "curl 'https://goinfinite.net/ip'" | |
| - trigger: ":md5" | |
| replace: "{{output}}" | |
| vars: | |
| - name: output | |
| type: shell | |
| params: | |
| cmd: "date | md5sum | awk '{print $1}'" | |
| EOF | |
| espanso restart | |
| # Optional Basic Packages | |
| sudo rpm-ostree install libvirt-daemon-config-network libvirt-daemon-kvm qemu-kvm virt-install virt-manager virt-viewer | |
| systemctl reboot | |
| sudo systemctl enable libvirtd --now | |
| flatpak install flathub org.inkscape.Inkscape | |
| flatpak install flathub com.github.jeromerobert.pdfarranger | |
| flatpak install flathub io.gitlab.theevilskeleton.Upscaler | |
| flatpak install flathub net.ankiweb.Anki | |
| # IDEs | |
| curl -f https://zed.dev/install.sh | sh | |
| echo -e "[windsurf]\nname=Windsurf Repository\nbaseurl=https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/yum/repo/\nenabled=1\nautorefresh=1\ngpgcheck=1\ngpgkey=https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/yum/RPM-GPG-KEY-windsurf" | sudo tee /etc/yum.repos.d/windsurf.repo > /dev/null | |
| sudo rpm-ostree install windsurf | |
| systemctl reboot | |
| # Git | |
| git config --global user.name "ntorga" | |
| git config --global user.email northontorga@gmail.com | |
| # IPv6 | |
| nmcli connection modify eno1 ipv6.method "disabled" | |
| nmcli connection up eno1 | |
| # WireGuard (VPN) | |
| nmcli connection import type wireguard file "/home/$USER/.ssh/$USER-vpn1.conf" | |
| nmcli connection import type wireguard file "/home/$USER/.ssh/$USER-vpn2.conf" | |
| # AWS CLI | |
| curl -s "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" | |
| unzip awscliv2.zip | |
| sudo ./aws/install | |
| rm -rf ./aws ./awscliv2.zip | |
| # Go | |
| curl -kL https://go.dev/dl/go1.25.3.linux-amd64.tar.gz -o go.tar.gz | |
| sudo tar -C /usr/local -xzf go.tar.gz | |
| rm -f go.tar.gz | |
| echo 'export PATH=$PATH:/usr/local/go/bin:~/go/bin' >> ~/.bashrc | |
| source ~/.bashrc | |
| go install golang.org/x/tools/gopls@latest | |
| go install github.com/air-verse/air@latest | |
| go install github.com/a-h/templ/cmd/templ@latest |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment