this post was submitted on 26 Jun 2025
45 points (90.9% liked)

Linux

8292 readers
419 users here now

A community for everything relating to the GNU/Linux operating system

Also check out:

Original icon base courtesy of [email protected] and The GIMP

founded 2 years ago
MODERATORS
 

I know it's not that hard $ dpkg -i but opening the terminal gives normies an aneurysm and thanks to the crazy gatekeeping gen alpha doesn't know what a file type is now.

I use Ubuntu btw. Personally, the App store's on Linux confused me a ton, setting up Flatpak and some other package repositories. I much preferred the windows way, shocker, with just downloading and double-click the exe file.

Do I have to make a pull request myself to get this done, or what is the debate on this?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 week ago

Just use nautilus-action

[–] [email protected] 2 points 1 week ago

If you have Nautilus as the filemanager, you can write a Nautilus script that does this for you, you just then have to right click and select the script. You can run essentially any script this way, I use it for some preset file conversions.

[–] [email protected] 9 points 1 week ago

I use Mint and I just double-click *.deb files to install them. Ubuntu does not do this?

[–] [email protected] 9 points 1 week ago

This is deliberately not allowed in order to ensure that Linux remains exclusive for nerds.

[–] [email protected] 17 points 1 week ago* (last edited 1 week ago)

Gnome-Software and GDebi can do exactly that for you. Download a deb, right click "open with X", and they'll install it for you using GUI. You can even change file associations so debs are opened by gdebi/gnome-software by simple double-clicking.

[–] [email protected] 0 points 1 week ago* (last edited 1 week ago) (1 children)

That's a bad idea because you have no clue if any random .deb file is actually compatible with your system or not (a .deb intended for use on Debian Bookworm will not necessarily work on Ubuntu 25.04, or vice-versa, for example). And that's on top of the security issues and lack of dependency resolution that others have mentioned already. If you're new enough to Linux that you don't feel comfortable with the terminal, you should not be trying to install things via .deb file to begin with.

[–] [email protected] 3 points 1 week ago* (last edited 1 week ago)

Doesn't apt (not apt-get), unlike dpkg, perform a dependency resolution before installing a downloaded deb package?

[–] [email protected] 19 points 1 week ago

Strange when I double click a .deb and or a .flatpakref file the gnome software application opens with the option to install that package. (Linux mint)

[–] [email protected] 8 points 1 week ago (1 children)

When I was on popos I would just double click deb files and eddy would open and install

[–] [email protected] 3 points 1 week ago (1 children)

"popos" is german for "butts", PopOS! is a bit different

[–] [email protected] 1 points 1 week ago

Eddy doesn't care which, he's installing

[–] [email protected] 7 points 1 week ago (2 children)

Is this really a common occurrence for you, that the package isn't available via apt?

[–] [email protected] 4 points 1 week ago

Most end-user software is not in Debian/Ubuntu repos. Sublime Text, Discord, Anydesk, Google Earth, Ente Photos, Synergy, Steam, NordVPN... The list goes on. You download a Deb from their website.

[–] [email protected] 6 points 1 week ago (2 children)

On Debian it is. The stable branch is a pain. I need to switch to something else.

[–] [email protected] 3 points 1 week ago (1 children)

If it's only due to the branch, i.e. a package or desired version isn't available in stable but is in testing or unstable, you may try using pinning.

[–] [email protected] 2 points 1 week ago

Reading, thank you.

[–] [email protected] 5 points 1 week ago (1 children)

Ah, understandable.

May I talk to you about our lord and savio, NixOS? (Only kinda /s)

[–] [email protected] 2 points 1 week ago (1 children)
[–] [email protected] 3 points 1 week ago (1 children)

Nice!

How much do you know of nix? (Just gauging where I should start in my propaganda script :D)

[–] [email protected] 1 points 1 week ago* (last edited 1 week ago) (2 children)

Nothing, besides seeing the name on some memes.

I'm not a sysadmin and I want a computer that just works, to the extent that that's possible. I'll fix stuff that needs fixing, but ideally I don't need to do much. I'm not a customizer, so themes and rice and stuff go over my head. I don't have any real ideological bent - FOSS is lovely but if I need proprietary to get my ultrawide monitor working or whatever, I'll use it.

I like the KDE I'm using now (though I understand I'm a major version behind!) but am not afraid to try something else. I play games with Steam and Lutris, most of which work some of the time.

[–] [email protected] 2 points 1 week ago* (last edited 1 week ago) (1 children)

Sorry for not answering sooner - got bogged down with work yesterday. I see you already got a response, but thought I'd write up what I had in mind anyways :)

The benefits

I want a computer that just works, to the extent that that’s possible. I’ll fix stuff that needs fixing, but ideally I don’t need to do much.

That's great, and good news, this is very easy to achieve with NixOS.

As the other commenter said, rather than (imperatively) running commands like apt install, you configure the entire system through your "nix config". In the simplest scenario, that's just a single file which gets auto-generated when you install NixOS, and if all you need/want is to add some packages, then that's enough (I'll get to different approaches below). In other words, NixOS is declarative rather than imperative: you use the config file to "declare" what the system should look like, and it's Nix's job to ensure that your system adheres to this.

I need to emphasize though, that this is not just about packages, but about every single piece of configuration you could possibly touch on your system. I am currently managing 30+ NixOS machines from a single centralized config, and I have not once edited or even opened a single config files on any of these machines, ever.

Nix comes with a vast package repository: repology.org repository size.freshness map, but just as importantly, with a vast collection of "modules". Think of modules as an abstraction for all the little things you would need to configure to get something running.

Let's take everyone's nightmare configuration as an example, getting Nvidia GPUs to function properly. This is the ArchWiki article on how to do so, and the Debian Wiki does not make it look any simpler. For NixOS, it should be as simple as adding this to your nix configuration file:

hardware.nvidia.enable = true;
hardware.nvidia.open = true; # use the open source drivers; set to false if you want the proprietary ones
hardware.nvidia.nvidiaSettings = true; # optional - will enable the Nvidia settings menu

Of course, all the same complicated steps as with any other distro are necessary "under the hood", it's just that with NixOS, someone else already has "declared" what the system needs to look like for Nvidia GPUs to work, and abstracted it behind these easy-to-use config options. There's currently more than 20.000 such configs options defined, which sounds intimidating, but you only need to use those you actually want to use. For example, let's say you want to install and configure a jellyfin server.

Again, all that is necessary to be up and running is

services.jellyfin.enable = true;

but if you want to customize the install, you can simply search for all available options. Also note that if you ever disagree with how a package/module is built/installed/configured, you can just overwrite the "official" way, though at least in my experience, that is basically never necessary.

OK, back to you.

Let's say you have successfully configured the system as you want it to be - KDE5 installed, your favorite packages installed, Steam configured with programs.steam.enable = true;. Now the worst case happens, and your SSD hits the shitter; it's dead, completely unrecoverable.

Good news: as long as you have a copy of that configuration.nix file, you can be up and running with the a new harddrive and exactly your same, old system in a matter of minutes.

Another scenario, let's say you manage to brick your install (somehow). No sweat, reboot your PC, the previously used NixOS configuration is available as a grub (or systemd-boot) entry. Does not matter if you ripped out all the drivers, switched from KDE to Gnome in the mean time or anything else.

Essentially, disaster recovery is easy in NixOS, even if it is necessary very, very rarely, because nix will already warn you "yeah this doesn't work" when you are building the system.

The Nix language

You have already seen some of it above. Most people say NixOS is not a beginner distro, and that opinion is mostly due to the Nix language. It's... not pretty, but its learning curve is not bad if you just want to do "basic" stuff like configuring your system in the way shown above. For more advanced topics, there is a steep, but not very long learning curve. If that is worth it is up to you; there is no need for it, but it does allow you to write your own modules, and to leverage a full turing-complete programming language inside your configuration. But IMO, just learn as you go, no need to try and study the language just to use NixOS.

Going wild

For a single machine, the single configuration.nix file is perfectly fine. If yo only have a single machine anyways, I'd say stick with that.

As soon as it's 2 or more machines though, it makes sense to move the configuration elsewhere, in a single project which you can back up (usually, via git). This also allows you to reuse parts of your config - for example, if your user is always the same, and KDE should always be there,.., you can define that once and then import that into the inidividual machine's config. You then simply tell nix "build this config on that machine".

There are a ton of awesome projects in the "nix ecosystem", so to speak, which you can also leverage: for example, you can add home-manager to your config, and then use your existing configuration but extend it with config for inidividual users' environments, like customizing KDE itself, configuring git, ssh, your terminal,... You said you are not a customizer, so this probably does not apply to you that much, but it's still good to know that it is easily possible.

Other projects add capability for secure secrets management, for things like turning Nix into a very good approximation of SteamOS,...

TL;DR:

NixOS makes tedious things simple, and disaster recovery trivial. It offers more (and fresher) packages then even the allmighty AUR, while being stable as a rock.

You will never have to re-solve a problem, no matter how long ago you originally solved it.

[–] [email protected] 2 points 1 week ago (1 children)

That's incredible! I hope you didn't write all of that just for little old me, and it's your standard evangeluxing script!

I love this idea; you've convinced me to try! I've had a few instances where I've had to jump on the console and stack overflow to get something working, and there's no way I could repeat it. I can see the appeal of what you called the declarative method. I have one desktop and one old laptop, so being able to copy (some) of the system definition sounds really handy.

I have nothing to lose but stability and sanity, lol. I'll look at copying everything off of /home and finally wiping my primary windows drive - I haven't booted into it on purpose in almost a year.

[–] [email protected] 2 points 1 week ago (1 children)

Yay, new Cult Member! 😄🎉

But seriously, awesome, have fun with it! Feel free to comment/message me if questions come up, but beside that, I have to mention that the NixOS forums are very active and friendly!

(And I actually did type that out yesterday, but I'll definitely be copy-pasting it going forward 😄)

[–] [email protected] 2 points 1 week ago

Hurray! Are there snacks?

[–] [email protected] 2 points 1 week ago (1 children)

Well, NixOS is mostly for enthusiasts and it's very much the opposite of beginner friendly.

The idea is that you configure your system in a configuration file, then run a command that makes your system match exactly what you configured.

So instead of apt install or similar you just add the package to your config, run a single command to rebuild the system and you're done.

Which also means you're mostly on your own, most guides for other distros don't work and the documentation on how to do the things in NixOS are very incomplete. It's nice and fun, but definitely not for an average user.

[–] [email protected] 1 points 1 week ago

I can see the appeal, but yeah that sounds more complicated than I want. Thank you for all the info!

[–] [email protected] 3 points 1 week ago (1 children)

Wait, for real? Gen Alpha doesn't know what a file type is??

[–] [email protected] 4 points 1 week ago (1 children)

fr, windows hides the file type by default.

[–] [email protected] 9 points 1 week ago

Windows has done this since I was a kid (I'm a millennial). Later gens have no excuse.

[–] [email protected] 12 points 1 week ago (1 children)

I much preferred the windows way, shocker, with just downloading and double-click the exe file.

This is appimage!

[–] [email protected] 8 points 1 week ago

Om, AppImage is portable exe. Has it's uses.

[–] [email protected] 39 points 1 week ago

FWIW instead of dpkg -i stuff.deb, you can use apt as such: apt install ./stuff.deb (The path syntax like ./ is required to use a local file instead of searching for a package name).

Unlike dpkg, apt is able to fetch dependencies if needed.

[–] [email protected] 6 points 1 week ago

Just add your own context menu shortcut for .deb files that runs sudo deb -i $_

[–] [email protected] 20 points 1 week ago* (last edited 1 week ago) (1 children)

the monkey's paw curls a finger and your wish is granted

you can now right click and select install. But it doesn't actually install properly.

[–] [email protected] 18 points 1 week ago* (last edited 1 week ago) (1 children)

It doesn't check dependencies.

You have 356 different copies of libcurl installed on your system.

Nginx, Apache and Lighttpd are all running in the background and collectively using the same port, somehow.

Wayland and X are both running with multiple sessions but none of them are on the default TTY.

[–] [email protected] 3 points 1 week ago (1 children)

dpkg doesn't? I sometimes use apt install command but didn't think it mattered if the deb package was configured right.

[–] [email protected] 12 points 1 week ago

It's an embellishment on the above monkey's paw comment, not actual technical information.

load more comments
view more: next ›