The bad of other distros
My use case
I use my computer for everything. I mean, I develop software, run games, and have an
android emulator for some apps, and run some selfhosted services such as jellyfin.
I want a stable setup that is similar to the production server, as the software
I develop mostly things that I use myself and then deploy to the web for
people using it
Debian/Ubuntu
This is a stable until you need the latest software and you start adding too
many external repositories, or the other setup it is using other package managers or
formats such as flatpak, snaps, appimages etc…
Arch
The software is always up to date, with the AUR having a large software repo, I could use one
single package manager for getting most of the software I need, the problem started when it
started to break dependecies with my own projects.
Also is not fun when your system breaks due to running an update, and this has
happened sometimes with arch with driver, python packages …
Another problem that affects both distros is the following:
I used the archinstall script, and I didn’t notice that by default it creates a
root partition of only 20GB, most the space was used by packages, but I couldn’t
figure out which packages were needed for my setup; uninstalling one would break
the dependency of another, making me have to reinstall without knowing which
packaged I needed for which projects, which packages could I safely delete
etc…) or resize the partition
The good about Nixos
I have been using NixOs a week, and configuring my system with nix os made it so
that I could easily remove packages that I didn’t need, have both unstable and
stable versions of software, rollback changes that would break my system
and something that I couldn’t do on the others, my system computer doesn’t works
and she has to use my computer from time to time, with NixOs I could intall
different packages for each user, and the 2 desktop enviroments didn’t messed up
with the config files.
The bad about Nixos
I don’t want to nixtify everything, and it seems if I want to keep using nix,
will have to.
For me configuration.nix it is enough, but when I do things I consider
normal in other distros they are not on nix os.
In a lot of forums, Nix solutions are recommended for everything, like flakes.
Home manager, which are still experimental features.
-
Changing the GTK theme using a zsh shell env variable
hyprland wiki -
CS50 library
I was doing the CS50 course again and I needed to use their
(library)[https://cs50.readthedocs.io/libraries/cs50/c/] which is not package for nix,
in a normal distro it is just sudo make install.
but on nix I have to look into the docswhich are not great, and write
dozen of nix files.
I said well on the distros it is not reproducible, so let’s try writing the
required nix files to make it work
-
A broken package
I have tried installing (taskell)[GitHub - smallhadroncollider/taskell: Command-line Kanban board/task manager with support for Trello boards and GitHub projects], but even though I allowed broken packages in my config, it wouldn’t install -
No able to run linux binaries
I said, Well, let’s try to run the binary, as nix os is not a FHS complaint.
Not able to run them.
Making shell files for each project binary that I want to use disrupts my
workflow.
So I turn to the community for providing guidance in how to make NixOs work, or
Maybe I should use something else.