• 1 Post
  • 78 Comments
Joined 1 year ago
cake
Cake day: August 25th, 2025

help-circle











  • SatyrSack@quokk.autoLinux@lemmy.mlTool to automate Linux reinstall?
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    2
    ·
    edit-2
    2 months ago

    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\'' >> ~/.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.




  • For what it’s worth, nothing in that link under the self-promotion rule mentions using that tag. It is only the link under the AI rule that instructs you to use one of those tags. If a developer did not use AI at all, they likely would not follow that link to read further into the AI rules and would therefore never see any rule instructing them to use some [CBH] tag. If you want non-AI developers to do something special, you should also mention that requirement under the relevant rule instead of just hiding that under the rules that only AI-devs will read the details of.



  • Originally training the model had used the energy resources of that original corporation or whatever. But when you download that model and start running it on your own hardware, you are using your own energy.

    Think of it kind of like some software like Jellyfin. When the developers write the software, they do so using their own electricity. But when you download Jellyfin and actually run the software on your own hardware, you are now only using your electricity, not the developer’s electricity at all.


  • I am not entirely sure what I am hoping from this post, but maybe a “yea, it is worth it” would ease my mind a bit.

    If that is all you need, I’ll throw you a “yea, it is worth it”. I have been running Fedora with KDE Plasma as my main personal desktop on multiple machines for five years or so. Mainly desktop/laptop, but I even used it pretty regularly on a tablet for a while (I stopped simply because I stopped using the device altogether due to preferring having the full keyboard of a laptop) and even use it on my HTPC. There may be a better HTPC OS, but I am just so used to it everywhere else that it seemed simple enough to get going and I just stuck with it.


  • There are two official installation methods for Bitwig: the DEB file (which is used for Debian and its derivatives like Ubuntu/Mint) and Flatpak (which is used for basically every other Linux distribution).

    While you can install Bitwig on Fedora via Flatpak, Yabridge will not work that way (unless things have changed in recent years). You will be able to install Yabridge and any Windows VSTs, but Bitwig will just not actually see them. There is some issue with how Flatpak sandboxes its applications that makes it so they are not able to access VSTs that are installed in the system through Yabridge. You can tinker around with permissions and whatnot using Flatseal and often resolve issues like this, but I did not have any luck doing that to fix my Bitwig/Yabridge problems.

    This repo below has a tool that helps in creating a Bitwig installer for Fedora. It converts the official DEB file into an RPM file and installs the necessary prerequisite packages. If you install Bitwig this way, using this RPM file, Bitwig is able to see and use the VSTs that you install using Yabridge.

    https://github.com/teervo/bitwig-fedora