20+ years ago, Lindows had a great app store that let you create an “aisle” of your favorite apps so if/when you’d reinstall your OS, instead of searching and installing all your apps one-by-one, you’d just go to your aisle, click “install all” and boom.

Is there anything that exists like that today?

  • Shareni@programming.dev
    link
    fedilink
    arrow-up
    14
    arrow-down
    2
    ·
    3 days ago

    For me that’s the main benefit of using home-manager on nixos and other distros. You basically just make a list of packages, and install/update them through home-manager.

    • paper_moon@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      3 days ago

      I mean, i feel obvious for saying this, but maybe others dont know: If we’re just talking about apps, this is also a 1-liner in most package managers that you can even automate in a shell script

      sudo apt-get install firefox vlc thunderbird etc…

      if we’re talking more complex environments like a dev environment, mix of python packages, libraries, docker containers, etc obviously thats a lot of attention to manually save all of those details for later and something else should probably be used, like home-manager

      • Shareni@programming.dev
        link
        fedilink
        arrow-up
        7
        ·
        3 days ago

        Sure, but then you need to maintain it. I don’t know about you, but I never had the discipline to update it with every package install and uninstall. It’s especially annoying when you have multiple devices.

        Declarative package management doesn’t have that issue since you’re managing the packages by editing the list.

        Besides that, the home-manager approach works on any distro (and os?), you get bleeding edge packages, you get a built in rollback system, and you can handle configs as well (but I mainly just symlink them anyways).

        • Auth@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          ·
          3 days ago

          You can write a script to periodically check the installed packages and update the 1st script. Its basically the output of “dnf list installed”

          • Shareni@programming.dev
            link
            fedilink
            arrow-up
            5
            ·
            3 days ago

            /facepalm moment for not thinking of that at the time

            But it’s lacking organisation and modularity. For example let’s say you need programming packages on one device, gaming ones on another, and general ones on both. It’s pretty easy to set it up with hm, and you can disable specific modules when you don’t need them (for example you rarely need to use a certain language and supporting packages).

      • Dariusmiles2123@sh.itjust.works
        link
        fedilink
        arrow-up
        4
        ·
        3 days ago

        I guess most people would not only want to easily reinstall all their apps, but also the settings related to them.

        Sadly that’s the difficult part.

        When I see how much time it takes me to have all my calendar and settings in Thunderbird.

        Luckily for Thunderbird you can save your profile if everything takes less than 2gb, but it’s still a hassle to find a way to backup every program.

        • paper_moon@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          3 days ago

          Aren’t most app configurations and settings saved in the user’s .config folder? Again you have to know to look for this, but that should be most of your settings right?

          /home/[username]/.config/

        • gonzo-rand19@moist.catsweat.com
          link
          fedilink
          arrow-up
          1
          ·
          3 days ago

          That’s not really different than Windows. If you do a clean reinstall, all your application data is gone unless you have a backup.

          This is why I have my home folder on a separate drive; all of my application data is there and not on my system drive, so a reinstall basically just requires generating a text file of my installed packages, reformatting the system drive and installing the OS, and then installing the packages from the text file.

        • Shareni@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          3 days ago

          For me the config management aspect of home-manager is mostly useless. It takes a lot more work to set it up, looks far uglier, and you need to maintain it because parameters change over time. Saving dotfiles in a repo, and symlinking them on install is simply easier.

          The only two scenarios where it’s actually useful is when you have slightly different configs for different devices, and when the program doesn’t support dotfiles. A pretty cool example I’ve seen for the second one is managing Firefox customisations (settings, plugins, additional CSS), but I’m only disabling horizontal tabs so it’s not worth it for me.

      • Shareni@programming.dev
        link
        fedilink
        arrow-up
        4
        arrow-down
        1
        ·
        3 days ago

        It’s pretty fast, especially if you don’t get into flakes right away. You basically just install nix with a one liner -> install home-manager through nix -> start adding packages to list.

        Here’s a comment I made when I was starting out with basic instructions. Do note I’m now using this command for updates instead (updates hm, package definitions, and the packages themselves)

        cd ~/dotfiles/nix/ && nix flake update && nix-channel --update && home-manager switch --flake ~/dotfiles/nix/