this post was submitted on 24 Sep 2024
47 points (98.0% liked)

Linux

48186 readers
1830 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hi all,

I am about to do a bit of a distro hop, and I am looking at Fedora and its spins, after years on Debian / POP.

I am not looking forward to setting it all up again, it's a drag.

I wonder, is there a tool that lets me script installs?

I'll want to check if application exists, and if so, update, otherwise, install. That kind of thing.

Things like:

  • Telegram
  • Joplin
  • Docker
  • Firefox
  • Ungoogle Chromium
  • Sublime Text
  • VSCodium
  • Keepass
  • Thunderbird
  • DBeaver
  • Gimp
  • Inkscape
  • KDENLive
  • Syncthing
  • Steam
  • VLC
  • Localsend
  • Flameshot
  • Element
  • Cherrytree
  • Calibre
  • Anydesk

I show the list, only to give an idea of what might be involved.

I'm new to Fedora, so not sure how it differs beyond the package manager. But, thought I'd ask.

Does such a tool exist, and is it worth my time? I can practice on a VM before trying on the final install/s.

Thank you

you are viewing a single comment's thread
view the rest of the comments
[–] utopiah@lemmy.ml 6 points 1 month ago (1 children)

I did more than 5 installs this weekend (for ... reasons) and the "trick" IMHO is ...

Do NOT install things ahead of actually needing them. (of course this assume things take minutes to install and thus you will have connectivity)

For me it meant Firefox was top of the list, VLC or Steam (thus NVIDIA driver) second, vim as I had to edit crontab, etc.

Quite a few are important to me but NOT urgent, e.g Cura (for 3D printer) and OpenSCAD (for parametric design) or Blender. So I didn't event install them yet.

So IMHO as other suggested docker/docker-compose but only for backend.

Now... if you really want a reproducible desktop install : NixOS. You declare your setup rather than apt install -y and "hope" it will work out. Honestly I was tempted but as install a fresh Debian takes me 1h and I do it maybe once a year, at most, no need for me (yet).

[–] utopiah@lemmy.ml 1 points 1 month ago (1 children)

Another "trick" I use is having an ~/Apps directory in which I have AppImage, binaries, etc that I can bring from an old /home to a new one. It's not ideal, bypassing the package manager, and makes quite a few assumption, first architecture, but in practice, it works.

[–] Samueru@lemmy.ml 1 points 1 month ago (1 children)

Check this out: https://github.com/ivan-hc/AM

Use appman and set the install directory to ~/Apps and now you will be able to install appimages/binaries in the ~/Apps dir using a package manager that keeps them up to date and that you can move to any other distro, I have all of this:

Although more recently for binaries I've been using this instead, which pulls from a massive repo of static binaries, though note that dbin needs its own separate directory in HOME to install binaries (you can't use ~/Apps that is).

[–] utopiah@lemmy.ml 1 points 1 month ago (1 children)

Hmmm very interesting thanks for the links and explanation!

I'm not "ready" for it yet so I've bookmarked all that (by adding a file in ~/Apps ;) but that's definitely and interesting, and arguably neater solution.

Honestly I try to stick to the distribution package manager as much as I can (apt on Debian stable) but sometimes it's impossible. Getting binaries myself feels a bit "wrong" but usually works. Some, like yt-dlp as I see in your list, do have their own update mechanisms. Interesting to consider stepping back and consider the trade off. Anyway now thanks to you I know there are solutions for a middle ground!

[–] utopiah@lemmy.ml 1 points 1 month ago (1 children)

Also this is a good way to re-consider integration back, e.g. generating .desktop files for /.local/share/applications/ when using KDE rather than having to manually do it each time.

[–] Samueru@lemmy.ml 2 points 1 month ago* (last edited 1 month ago) (1 children)

This is already done automatically with appman.

AM puts the .desktop files in /usr/local/share/applications

AppMan puts them in ${XDG_DATA_HOME:-~/.local/share}applications

They also get symlinked in PATH, that is you can launch yt-dlp by typing yt-dlp on the terminal as if you had installed it with your distro package manager.

[–] utopiah@lemmy.ml 1 points 1 month ago (1 children)

Ah! Wonderful. I'm always a bit reluctant with system-wide install so I'll put AM on hold for now but probably tinker with AppMan/dbin soon.

Out of curiosity, one of the app I'd usually get outside my package manager is Chromium. I'd usually download the latest build from https://download-chromium.appspot.com/ so in this situation, how would you do it using any of those solutions? Would it support adding extensions e.g https://chrome.google.com/webstore/detail/immersive-web-emulator/cgffilbpcibhmcfbgggfhfolhkfbhmik that I need for development?

PS: note to self, go through bash history to see which failed apt install attempts could be replaced with such tools.

[–] Samueru@lemmy.ml 1 points 1 month ago* (last edited 1 month ago) (1 children)

It pulls the latest chromium from googleapis.com so it can do everything.

[–] utopiah@lemmy.ml 2 points 1 month ago

Very cool, sincere thank you for the clarification and even on-boarding process. Installed this way, feels quite efficient. Will dig a big deeper while using them more.