Replying to
@staircase@programming.dev
I had found myself reinstalling and reconfiguring a lot of the same things over and over while distro hopping, so I came up with a bash script with some of the most common configuration changes and such. As an example, here is my Fedora post=install script:
script
#!/usr/bin/env bash
# remove all permission restrictions from current directory
#sudo chmod -R a+rwX .
sudo hostnamectl set-hostname [redacted]
# prompt for ssh password to use later
if [[ $1 == "" ]]; then
read -p "Enter ssh password: " ssh_pass
else
ssh_pass=$1
fi
# default dnf prompts to 'y'
sudo sh -c "echo 'defaultyes=True' >> /etc/dnf/dnf.conf"
# install packages that are needed to add repos and other packages
sudo dnf up -y && sudo dnf in curl flatpak wget -y
#add repos
sudo dnf copr enable lilay/topgrade -y
sudo dnf copr enable aflyhorse/libjpeg -y
sudo dnf config-manager addrepo --from-repofile=https://repository.mullvad.net/rpm/stable/mullvad.repo
sudo dnf in https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm -y
sudo dnf in https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm -y
sudo sh -c 'curl -fsSL https://repo.librewolf.net/librewolf.repo | pkexec tee /etc/yum.repos.d/librewolf.repo'
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
echo -e "[gitlab.com_paulcarroty_vscodium_repo]\nname=gitlab.com_paulcarroty_vscodium_repo\nbaseurl=https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg\nmetadata_expire=1h" | sudo tee -a /etc/yum.repos.d/vscodium.repo
#install packages
sudo dnf in augeas-devel btop cairo-devel cairo-gobject-devel cargo cmake codium dbus-devel expat-devel gifsicle gimp git kde-connect kdenlive libavcodec-freeworld librewolf libxkbcommon-devel lightdm-gtk-greeter-settings mpv mullvad-vpn ninja-build openssh-server openssl openssl-devel pipx python3-dbus python3-devel python3-pip rpmbuild syncthing thunderbird topgrade vlc sshpass -y
sudo dnf in $(curl -s https://raw.githubusercontent.com/teervo/bitwig-fedora/refs/heads/main/bitwig-rpm.sh | bash -s 4.4.10) -y
sudo dnf swap ffmpeg-free ffmpeg --allowerasing -y
export PATH="$HOME/.cargo/bin:$PATH" && echo $'export PATH= \"$HOME/.cargo/bin:$PATH \"' >> ~/.bashrc
cargo install gifski cargo-updateflatpak install com.github.iwalton3.jellyfin-media-player -y
#pipx install numlockw
pip install pandas odfpy
#create ssh key, copy to servers
ssh-keygen -q -t rsa -N '' <<< $'\ny' >/dev/null 2>&1
hosts=("10.0.0.10" "10.0.0.11")
for host in "${hosts[@]}"; do
ssh-keyscan -H $host >> ~/.ssh/known_hosts && sshpass -p "$ssh_pass" ssh-copy-id -o StrictHostKeyChecking=no [redacted]@$host && ssh -q [redacted]@$host exit
done
#enable/start ssh server
sudo systemctl enable sshd
sudo systemctl start sshd
#add external drive to fstab to automount
directory_secondary_drive=$HOME/nvme
uuid=[redacted]
sudo blkid
sudo cp /etc/fstab /etc/fstab.bak
sudo sh -c "echo 'UUID=$uuid $directory_secondary_drive btrfs rw,auto,user,exec 0 0' >> /etc/fstab"
sudo mount -a
#copy over custom config files
directory_software=$directory_secondary_drive/sync/software
cp -r $directory_software/setup/configs/* $HOME/.local/share/
#install fonts
cp $directory_software/fonts/* $HOME/.fonts
fc-cache -vf
#set git credentials
git config --global user.name "[redacted]" && git config --global user.email "[redacted]@yourdomain.com"
#add aliases to bashrc
echo $'alias pipup=\'pip list -o | cut -f1 -d\'\\\'\' \'\\\'\' | tr " " " " | awk \'\\\'\'{if(NR>=3)print}\'\\\'\' | cut -d\'\\\'\' \'\\\'\' -f1 | xargs -n1 pip install -U; pip install -U cyberdrop-dl-patched\'' >> ~/.bashrc
echo $'alias up=\"topgrade -y && echo \'\\nChecking pip\\n\' && pipup\"' >> ~/.bashrc
echo $'alias e=\"exit\"' >> ~/.bashrc
#https://support.mozilla.org/en-US/kb/compact-mode-workaround-firefox
#print ssh key
echo $'\nPublic SSH key:'
cat $HOME/.ssh/*.pub
Note that I used [redacted] here in places for anonymity reasons. This could give you a decent starting point to do something similar.
01.07.26 Великая Новосёлка - Искра Позиционные боевые действия в районе Великой Новосёлки. Подразделения ВС РФ удерживают позиции в жилой застройке населённого пункта Искра под огнём противника. Уточнение зоны контроля ВС РФ по берегу реки Волчья. 0:31 48.046976,36.583177 На карте Источник Геопривязка #ru #add
https://www.creamy-caprice.net/?lat=48.046976&lng=36.583177&zoom=12
Dźwiedziu
@dzwiedziu@mastodon.social
Sub-critically unemployed (halp!) I know how the Internet does not work. Good morning, I have become angrnnoyed. 90% toots in Polish, 90% boosts in English If you have an “AI”-generated avatar or “art” you will not be treated seriously. If “AI” generated you a life-saving legal reply you *will* be treated seriously. The Revolution is Shadowbanned Do not DM me for donations. I am long-term unemployed.
mastodon.social
#introduction
I'm a techie with sudden philosophical tendencies.
#ADHD/#ADD, Schrödinger's #Autism. Probably #Marxist. Definitely leftie. Oscillating very fast between hating capitalism and working in the core of the Imperial Core. #Linux admin. I know how the Internet does not work. Game player (hiatus). Compose Key enjoyer. Ex-pro-amateur photographer. Man of many hobbies, none of them in practice. Probably overthinking something right now, until I find a new thing for my ADD… What are we tal
Pascal Leinert
@pasci_lei@social.pascal-leinert.de
Progressive Libertarian 🌻🌹🗽🔰 | Im Unixversum zu Hause 🍎🐧👹 | Demokrat 🗳️ | Terraner 🌍 | INTP-A 🧠 #EuropeUnited 🇪🇺 #MakeEuropeGreatAgain 🇪🇺 #BuyEuropean 🇪🇺 Demokratie und Freiheit sind nicht verhandelbar. 🇪🇺🇺🇦🇮🇱🇹🇼🇭🇰
social.pascal-leinert.de
Ich sollte mich vielleicht wirklich mal testen lassen. Nicht, dass es was ändern würde, aber dann hätte ich wenigstens Gewissheit, ob ich es wirklich habe oder nicht. Ich erfülle doch recht viel, was damit zu tun hat, auch wenn es mich doch gar nicht wirklich stört.
#ADHS #ADHD #ADD #ADS
https://www.youtube.com/shorts/ydgmN9XfP6M
You've seen all posts