This article is spot on. Fantastic operating system with a clear concept of how it should be done. And great for people that want to fight for it. But everything you want to do that’s slightly off the path is a 3 hour research project in documentation that’s pretty damn poor. It eventually wears you out.
But yeah, if you tried to use it when Sway wasn’t yet well-supported, or just want to use some obscure software in general, then yeah, things can get more complicated…
Oof, I was just talking about making things declarative there. If you want to configure it the old-fashioned way, like you would on other distros, then those difficulties don’t apply.
In more general terms, though, it’s a bit of a double-edged sword. The Nix package repository has more packages than other package managers: https://repology.org/repositories/graphs
So, the chance of finding an obscure software, that’s already packaged, is rather high.
Here’s the online package search, if you want to check the availability of some of the obscure software you use: https://search.nixos.org/packages
But then, yeah, the flipside is that, from what I understand, you can’t just download a random executable off of the internet and run it, because of the Filesystem Hierarchy Standard not being adhered to, as the post also mentions.
You can set up Flatpaks, and I believe AppImages would work, because those also live in their own FUSE filesystem. Well, and there is ways to emulate the FHS layout to get normal applications to run, too.
But yeah, way out of my field of expertise there. I have only one software installed which isn’t packaged for Nix, which is a program I wrote myself.
And to get sufficient FHS emulation for that, I just needed this line in my config:
(I could also add a flake.nix file into my software’s repository, though, which would make it so it could be installed straight from my repo, as if it was packaged.)
I love NixOS but it really does make the hard things easy and the easy things hard. I even take “vacations” from it. Like right now for example. I switched back to Arch for a bit as I found myself spending too much time playing around with my various nix configurations/modules and also getting frustrated in trying to get some random application to work. So went back to Arch so I don’t have to think about stuff.
the beauty of NixOS is I can go back to it and be exactly where I left off in like 15minutes. I just need a break from it.
Sure it is now, but it was not always. Gentoo didnt just spring forth from the aether full-grown.
pre-alpha
The period of pre-0.1 that I reference above, ended in 2002 with the release of 0.1 Alpha. This is back when the idea of adding a binary installer was controversial in the gentoo community.
That was 24 years ago, in case you are following along. So going on about the current state of Gentoo is not super relevant. I am glad it is better, but I am old enough to remember when it was a pretty gnarly ball of yarn and that is what I mentioned.
I gave nixos a shot and pretty immediately noped out. All I wanted as a starting point was nvim with lazyvim. And as you said, it was a huge research project and after an hour with no luck, I nuked it.
This article is spot on. Fantastic operating system with a clear concept of how it should be done. And great for people that want to fight for it. But everything you want to do that’s slightly off the path is a 3 hour research project in documentation that’s pretty damn poor. It eventually wears you out.
Nixos user here for 4 years.
Yep
Its legit you want to try sway window manager?!?
Sway = true;
You want to change the keybinds and make it declarative.
MAY GOD HELP YOU.
Files.home
Is what u want and it took me 3 hours to find that
Seems like there’s now an option for that in Home-Manager: https://nix-community.github.io/home-manager/options.xhtml#opt-wayland.windowManager.sway.config.keybindings
But yeah, if you tried to use it when Sway wasn’t yet well-supported, or just want to use some obscure software in general, then yeah, things can get more complicated…
Well thanks, so NixOS is not for me then.
Oof, I was just talking about making things declarative there. If you want to configure it the old-fashioned way, like you would on other distros, then those difficulties don’t apply.
In more general terms, though, it’s a bit of a double-edged sword. The Nix package repository has more packages than other package managers: https://repology.org/repositories/graphs
So, the chance of finding an obscure software, that’s already packaged, is rather high.
Here’s the online package search, if you want to check the availability of some of the obscure software you use: https://search.nixos.org/packages
But then, yeah, the flipside is that, from what I understand, you can’t just download a random executable off of the internet and run it, because of the Filesystem Hierarchy Standard not being adhered to, as the post also mentions.
You can set up Flatpaks, and I believe AppImages would work, because those also live in their own FUSE filesystem. Well, and there is ways to emulate the FHS layout to get normal applications to run, too.
But yeah, way out of my field of expertise there. I have only one software installed which isn’t packaged for Nix, which is a program I wrote myself.
And to get sufficient FHS emulation for that, I just needed this line in my config:
More complex programs will need a bit of extra configuration: https://wiki.nixos.org/wiki/Nix-ld
(I could also add a
flake.nixfile into my software’s repository, though, which would make it so it could be installed straight from my repo, as if it was packaged.)I love NixOS but it really does make the hard things easy and the easy things hard. I even take “vacations” from it. Like right now for example. I switched back to Arch for a bit as I found myself spending too much time playing around with my various nix configurations/modules and also getting frustrated in trying to get some random application to work. So went back to Arch so I don’t have to think about stuff.
the beauty of NixOS is I can go back to it and be exactly where I left off in like 15minutes. I just need a break from it.
This reminds me of something I might have said of pre-alpha Gentoo days.
Gentoo is well documented and works almost out of the box.
Sure it is now, but it was not always. Gentoo didnt just spring forth from the aether full-grown.
The period of pre-0.1 that I reference above, ended in 2002 with the release of 0.1 Alpha. This is back when the idea of adding a binary installer was controversial in the gentoo community. That was 24 years ago, in case you are following along. So going on about the current state of Gentoo is not super relevant. I am glad it is better, but I am old enough to remember when it was a pretty gnarly ball of yarn and that is what I mentioned.
I gave nixos a shot and pretty immediately noped out. All I wanted as a starting point was nvim with lazyvim. And as you said, it was a huge research project and after an hour with no luck, I nuked it.
Is there no forum or discord for the distro? Or a self help book. Way back in the day that’s how i did shit on slackware. Irc and books.
Pretty sure there’s an unofficial discord server with around 16k members.