Hi, I’m learning python and I have purchased a 2015 MacBook air. I want to install Linux on it (Ubuntu) but my friend who’s a developer told me to leave the MacOs because they are similar as operative systems. What do you think? Should I change the os and switch to Linux? Thanks. Edit: thank you for your replies. There are still so many things I don’t understand about programming and os, sorry about that.

  • Pantherina@feddit.de
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    8 months ago

    Use Linux, give it a try.

    I recommend Fedora Kinoite or Silverblue. These are Systems built differently, they have an immutable core that is not changed and is thus very stable. You can add and remove packages, which will only be applied after a reboot, and in general keep this as minimal as possible.

    You can easily reset your system to be running again.

    As a mac user I recommend to use GNOME, maybe with dash-to-panel, so use Silverblue which is Fedoras “atomic” version of GNOME.

    After installation you may want to rebase to ublue and their silverblue-main image to get more goodies.

    Install a distrobox with ubuntu or fedora, install pipx there and whatever IDE etc. you need.

    distrobox create -i (press tab to get the image list) Dev 
    distrobox enter Dev
    
    # add some repositories for pycharm and more
    sudo dnf install fedora-workstation-repositories
    
    # add repo for VS Codium (FOSS version of VSCODE)
    sudo rpmkeys --import https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
    printf "[gitlab.com_paulcarroty_vscodium_repo]\nname=download.vscodium.com\nbaseurl=https://download.vscodium.com/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
    
    sudo dnf install -y pipx pycharm thonny codium whatever
    
    # export the apps so they appear in your app drawer
    
    distrobox-export --app pycharm
    distrobox-export --app thonny
    distrobox-export --app codium
    

    Explanation: Distrobox uses a Podman container, and allows to install a “separate linux distro” in there. This will be very minimal version and you can do crazy things there and your base OS will not be touched.

    That way you can install Ubuntu, Debian, Fedora, Arch/AUR, Opensuse and more apps.

    Using the “export” function the graphical apps will appear in your app drawer and work perfectly fine. Be sure do do a distrobox upgrade --all once in a while.

    The experience is really painfree.

    On the main OS, get your rest apps as Flatpaks which are sandboxed like on Android, work very well, are up to date and also dont touch your base system.

    Updates go in the background without you noticing, once you reboot you are on your updated system. If an update broke something, do rpm-ostree rollback and stay on that version. If you do something crazy like adding a ton of apps to the base OS, do a sudo ostree admin pin 0 to always save the currently used system as a backup.

    It is way better than Windows, not sure about MacOS but it is for sure way more free. If you want a well working, elegant and simple desktop, GNOME / Fedora Silverblue is a very good option.

    See here for documentation

    Get help in Fedora Discussion

      • Pantherina@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        8 months ago

        I dont think elementaryOS cuts it. Their desktop is too old, they use some old Ubuntu Base.

        I would also go with Fedora silverblue ublue here

          • Pantherina@feddit.de
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            8 months ago

            Dont worry. No the setup is easy, just follow these exact steps:

            • download a silverblue iso from their website
            • flash it to a usb stick using fedora media writer from the same website
            • install it: use recommended partition layout, I recommend to encrypt the disk, set keyboard language etc.
            • the silverblue install has very little steps, reboot after finished and in the GNOME desktop you will finish the setup.
            • directly after finishing, open Ctrl+Alt+T (or the terminal from the app menu) and rebase to ublue
            # backup the current version
            sudo ostree admin pin 0
            
            # change to ublue but unsigned (temporary)
            rpm-ostree rebase --reboot ostree-unverified-registry:ghcr.io/ublue-os/silverblue-main:latest #assuming you dont have nvidia
            

            after reboot, open terminal again and run this

            # rebase to the signed image
            rpm-ostree rebase --reboot ostree-image-signed:docker://ghcr.io/ublue-os/silverblue-main:latest
            

            Thats it, ublue takes care of all the rest. It adds the Flathub Flatpak repository where you get your apps.

            If you want apps that need to by on the system (a vpn app, some terminal tools, a different terminal, editor, filemanager etc) you can install them with rpm-ostree install NAME but note that this will slow down updates. I do this with about 18 packages.

            Updates for Flatpak apps and the system are done in the background, install and forget.

            If you want to use Ubuntu, Arch, Opensuse, Debian apps safely, without breaking your system, use distrobox.

            distrobox create Ubuntu -i #press tab
            

            If you are in the default bash shell, you will get a list of images where you can see all the available container images. This allows you to use apps for any distro on your system, and they are not in a VM and have native performance.

            This is typically used for programming (IDE, language, etc.) or compiling, or installing stuff like QGis or RStudio which are not working as Flatpak. I wrote a QGis Distrobox guide on their website, should be merged by now, for RStudio I can write another one (it downloads addons using the dnf package manager which only works on non-atomic fedora and generally is a mess)

            Often you will not need Distrobox for regular stuff, if you dont do these things.

            Dont install random apps that write to the system, which will not work anyways. Search for RPMs on rpmfusion (already added in ublue), COPR, OpenbuildService etc. You need RPMs for the current fedora version.

            You can install GNOME extensions through the firefox addon and the flatpak extension manager.

            When there is an update like Fedora 40 coming soon, wait a few weeks or months. Fedora supports 2 versions, the old one (currently 38) and the current one (currently 39). 39 will become the old one and get updates until half a year or so, and it will be more stable. 40 will get the latest stuff like GNOME 46 or Plasma6 (on the Kinoite image) and thus have more breakages.

            Ublue cant upgrade for some reason, so if you hear about the new version, wait a bit and run

            rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/silverblue-main:latest
            

            Again. If you want to be sure, this is how you make backups

            # show your images
            rpm-ostree status
            
            # 0,1,2,3 are from newest to latest, up to down. The image with the • is currently used.
            
            # save the currently used version
            sudo ostree admin pin 0
            
            # remove the saved version
            sudo ostree admin pin -u 1