Hi everyone,

I’ve been a happy user of Fedora Workstation since Fedora 36 on my Surface Go 1.

I really enjoy Gnome and everything is set up the way I want to.

Since I was really happy with my setup I just wanted to be able to replicate it easily through Clonezilla so that I could port it on any future computer I’d get.

Sadly, even with the help of really helpful and knowledgeable users on Lemmy, it hasn’t worked (https://sh.itjust.works/post/25963065).

So now I’m left wondering if there could be a distribution that I’d enjoy and which would be easy to deploy on another computer as I’d hate to have to configure everything on every computer I’d get.

I love Gnome but I wouldn’t be against trying something else if necessary.

What distribution could meet my needs?

  • nanook@friendica.eskimo.com
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    9 hours ago

    I don’t know how clonezilla works, but one thing I’ve discovered that causes issues when you copy a Linux distro from one machine to another, assuming you do a file system copy and not a raw partition copy so the new file system partition has a different UUID than the old, you need to fix the UUID in both /etc/fstab and /etc/initramfs-tools/resume before it will work properly.

    • corsicanguppy@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 hours ago

      you need to fix the UUID

      Don’t use UUIDs. They serve a very specific purpose, which you’re now trying to defeat (for all the right reasons).

      Fix your mounts and then carry on.

    • InverseParallax@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 hours ago

      Clonezilla covers this, it regens the partition with the correct uuid.

      My guess is some uefi or other boot weirdness, you have to register keys with the new system during install before it will let you boot, that’s probably where things went wrong.

    • corsicanguppy@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 hours ago

      replicable.

      As someone who spent time in OS Build/Relmgmt before security, I have a pressing desire to play the “how do you know” game, here.

    • Lokidawg@lemmy.ml
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      22 hours ago

      ++. Yes, and not your standard Linux distro in design, never mind the hurdle of understanding Nix expressions and functional programming language. However, once tweaked, deployment on multiple machines is straightforward.

  • flashgnash@lemm.ee
    link
    fedilink
    arrow-up
    22
    arrow-down
    1
    ·
    1 day ago

    I’d jump on the bandwagon of nixos, I use it myself and love it, does exactly what you’re asking for

    However judging on some of your other comments it might be a better idea to just suck up having to manually rebuild until you understand the basics of Linux a little better

    (nixos more or less requires you understand programming syntax for writing your system config)

  • darkan15@lemmy.world
    link
    fedilink
    arrow-up
    16
    ·
    edit-2
    1 day ago

    I’m going to mention Ansible as I haven’t seen it mentioned, and it can be used to locally manage a reproducible build.

    It has already been mentioned, but as a minimum to replicate your system you need two things:

    • Transfer/copy your entire /home directory as there is where the majority of the configuration files of your system pertaining the software you use (there could be configs you could need on /etc and on /usr/local or other dir), that is why it is recommended to partition your disk on installation of your distro, so the /home directory is already separated, as if you reinstall in the same machine you don’t lose any configuration in addition to your personal documents/pictures/etc
    • Have a way to automatically install a list of programs/apps/drivers/libraries, and that is what something like a bash script, Ansible, nixOs, etc. could help you with.

    The truth is that using any of the tools in the second point requires learning a bunch, so if your skill level is still not there, there is some work to do to get there.

    • corsicanguppy@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 hours ago

      I’m going to mention Ansible

      Oh for the love of god, don’t. Ansible is 2002 technology used in 2024. It’s so clunky and janky that I’m relieved I can get chatgpt to boilerplate my stuff and save me time actually staring at fucking YAML all day. Use Anything Else before your brain rots.

      source: it’s like half my day job now and I should’ve charged more.

      • darkan15@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        2 hours ago

        What would you recommend that is not NixOS or a Bash script and can be used agnostic of distro?

  • utopiah@lemmy.ml
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    11 hours ago

    I’d happily give technical advice but first I need to understand the actual need.

    I don’t mean “what would be cool” but rather what’s the absolute minimum basic that would make a solution acceptable.

    Why do I insist so much? Well because installing a distribution, e.g. Debian, takes less than 1h. Assuming you have a separate /home directory, there is no need to “copy” anything, only mounting correctly. If it is on another physical computer then the speed will depend on the your storage capacity and hardware (e.g. SSD vs HDD). Finally “configuring” each piece of software will take a certain amount of time, especially if you didn’t save the configuration (which should be the case).

    Anyway, my point being that :

    • installing the OS takes little time
    • copying data across physical devices take a lot more time
    • configuring manually specific software takes a bit of time

    So, if you repeat the operation several times a week, investing time to find a solution can be useful. If you do this few times a year or less, it’s probably NOT actually efficient.

    So, again, is this an intellectual endeavor, for the purpose of knowing what an "ideal’ scenario would be or is it a genuine need?

    • Dariusmiles2123@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      1
      ·
      10 hours ago

      Well I don’t distro hop so I don’t think it would be used more than once a year.

      The only thing is that I would want the way I’ve configured Gnome, Joplin, Thunderbird, Gnome Calendar (only for the widget), my Gnome extensions, what program is automatically opened on what workspace, etc to be saved so that it could be reproduced on another computer easily.

      My documents, pictures, etc are already taken care of so it ain’t a problem.

      I know I could do the same thing by writing a tutorial and just spending a couple of hours every time I reinstall. But I would want to just be able to replicate my install/settings if possible.

      Someone kindly mentioned SaveDesktop and for now it seems like the way to go since simply cloning with Clonezilla doesn’t seem to work. I just have to make it work.

      • corsicanguppy@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 hours ago

        The only thing is that I would want the way I’ve configured Gnome, Joplin, Thunderbird, Gnome Calendar (only for the widget), my Gnome extensions, what program is automatically opened on what workspace, etc to be saved so that it could be reproduced on another computer easily.

        These sound like user settings that don’t even exist outside ~/ . Rsync is your friend. So is git, gluster, syncthing, resilio, and a good bunch of others depending on how often you want synch to occur and how much time you have to spend.

  • itslilith@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    22
    arrow-down
    1
    ·
    1 day ago

    For reproducibility, nothing really beats NixOS. That’s not really what you’re asking for, as that would not involve Clonezilla.

    If you’re frequently switching hardware, and want to have everything up and running, configured to your liking, in minutes, you’re gonna have fun with NixOS in the long term. But I’m not gonna sugarcoat it, it has a steep learning curve and does require you to enjoy some tinkering. Worth it, imo

    Otherwise, just pick a distro that you enjoy and create a separate home partition, when it’s time to switch you do a fresh install and clone only the home partition. That’ll get you 90% of the way to have your old setup on the new device

    • Dariusmiles2123@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      1 day ago

      But what is a home partition?

      I mean for me the problem is backing up my settings (including for every app) and I don’t know where they are saved.

      Backing up my pictures, documents and others isn’t a problem.

      • flashgnash@lemm.ee
        link
        fedilink
        arrow-up
        9
        ·
        1 day ago

        Your settings for the most part are in your home directory, generally when you install a Linux system everything that isn’t the bootloader is on one partition (system, installed applications, etc)

        Your home directory is for anything specific to your user, meaning your downloads folder, your pictures, documents and also your .config folder which holds 90% of the config files

        There are some weird ones that have directories outside of home, afaik that’s stuff like network manager remembering your saved networks that runs outside of your user context

  • Leaflet@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    1 day ago

    Personally, I use Fedora Silverblue and use bash scripts for reproducibility. To set up a new system, all I need to to is install, reboot, run my bash script, reboot, and my system is 90% configured. With bash scripts, I am able to reproduce more of my system than I could when I used NixOS.

    A lot of people recommend Nix, but the thing about Nix is that you’re only declaring how the system is configured. Not your home folder. You need to rely on third party tools for that.

    Bash scripts can configure system and home folder. They can also be used on any distro, whereas a Nix configuration file only works on NixOS.

    Though the worst part about any new install is just signing back into everything, especially an annoyance when you have proper 2FA setup. Bash scripts or Nix can’t solve that unless you migrate data over.

    • Dariusmiles2123@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      3
      arrow-down
      2
      ·
      edit-2
      1 day ago

      What is a bash script? Is it something I’d have to write mysel using the terminal? Sorry but my skills are quite limited for now.

      • corsicanguppy@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 hours ago

        What is a bash script?

        At this point in time, I need to stop you.

        There’s a massively-increased risk of you being misled by someone else’s agenda without knowing it’s not the simplest and most effective solution to your problem.

        1. find a real person you trust who knows this
        2. ask them

        Whatever they tell you, they’ll be able to support. Ensure you’re the one typing so you learn things, and ask every question you think of all the time.

        Stop asking random strangers which solution is best, because you’re going to get a lot of short-sighted clique answers that DO NOT HELP YOU.

      • Leaflet@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        1 day ago

        Yes, it’s something you write yourself. Bash is the language you use when you use the terminal. A bash script is just many lines of bash commands.

        A bash script could be as simple as

        dnf install package1 package2 package3
        dnf remove package4 package5 package6
        

        This script automates installing some packages and removing some packages. The bash script I use does a lot more, such as running commands to configure Gnome how I like it.

        If you’re not comfortable with the terminal, I would definitely recommend staying away from NixOS. To declaratively/reproducibly set up the system, it uses a language called Nix that is a fair bit more complicated than bash. It’s also just very different from traditional Linux systems like Fedora or Ubuntu.

  • nfms@lemmy.ml
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    2
    ·
    1 day ago

    NixOS is the sort answer. It’s reproducible across hardware. But I’ve never tested it.

  • TeryVeneno@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    1 day ago

    If you want something simple that does this for you: check out SaveDesktop. I’m not sure if it will meet every need, but it works for me when I need to switch.

      • TeryVeneno@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        20 hours ago

        I think it needs access to all your host files as well, let me see if I can replicate that error.

      • TeryVeneno@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        19 hours ago

        I was not able to reproduce that bug, but I also did not change anything in flatseal, I think you shoulf just reset the permissions and/or reinstall and just try it normally.

        • Dariusmiles2123@sh.itjust.worksOP
          link
          fedilink
          arrow-up
          1
          ·
          12 hours ago

          I tried it normally but then it had another problem so that’s why I tried to gove it more access through Flatseal as recommended on the SaveDesktoo Github page.

          I’ll have a deeper look when I get the time. Thanks

  • Jure Repinc@lemmy.ml
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 day ago

    Cloning the system and home partitions always worked fine for me with openSUSE Tumbleweed with KDE Plasma desktop. Another option openSUSE offers is AutoYaST

    AutoYaST is a system for unattended mass deployment of openSUSE Leap systems. It uses an AutoYaST profile that contains installation and configuration data.

  • Tobias Hunger@programming.dev
    link
    fedilink
    arrow-up
    4
    ·
    1 day ago

    Any of the many immutable distros (vanilla os, fedora silverblue, bluefin, aeon, endless os, pure os, …) will all obviously work.

    Most of your customizations will live in your home directory anyway, so the details of the host OS do not matter too much. As long as it comes with the UI you like, you will be mostly fine. And yku said you like gnome, that installs many apps from flathub anyway and they work just fine from there.

    For development work you just set up a distrobox/toolbox container and are ready to go with everything you need. I much prefer that over working on the “real system” as I can have different environments for different projects and do not have to polute my system with all kinds of dependencies that are useless to the functionality of my system.

    NixOS is ofmcourse also an option and is quasi-immutable, but it is also much more complicated to manage.

  • hanke@feddit.nu
    link
    fedilink
    arrow-up
    6
    arrow-down
    2
    ·
    1 day ago

    NixOS is exactly what you want.

    You declare your configs in a way that you can just copy them to another computer and it willbe configured the same way.

    I’ve never tried it my self, but I might for my next machine.

  • frankenswine@lemmy.world
    link
    fedilink
    arrow-up
    7
    arrow-down
    4
    ·
    edit-2
    1 day ago

    As a counterpoint to the majority of answers here, I’d love to suggest GNU Guix as the best answer. Like Nix, but enhanced for freedom with a formidable governance model. Built on freedom. Built to last forever. Also easier and more beautiful

      • frankenswine@lemmy.world
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        1 day ago

        it is built so that non-free packages can be made easily available (e.g. the non-guix channel). being sort of a meta-OS, already a bunch of operating systems were built on top of it, arguably easier to just get started as a novice