Closed mylinuxforwork closed 1 month ago
Perhaps slightly off topic but on Gitlab I mentioned potentially moving to a Nix home-manager backed solution to make things cross platform among other benefits (declarative syntax, rollbacks, nix shell for easy development/testing etc.). What are your thoughts on that?
Thanks for your feedback. But I am not sure if I understand your request. Can you share more details how it should work from a user perspective? Thank you.
So, NixOS is a Linux distro with its own package manager Nix. It's different from other package managers in that it is a functional programming language and framework for declaratively describing and configuring your whole OS. Then there is the concept of nix shell
and nix develop
to quickly spin up a virtual environment in which to test packages or temporarily load a development environment which I won't go into right now.
In addition to the package manager itself there is home-manager. This is specifically intended for managing user configuration (dotfiles) separately.
Key reasons why I would recommend building ML4W on top or around of it are:
home-manager switch
and you can always go back to a previous generation if something broke;Updating the system themes and such on the fly might require a different approach and naturally you will be using a separate package manager for everything added by ML4W so there are definitely some trade offs to be considered.
I'm still getting my feet wet myself but am working on a MVP based on some examples I've found online. Will gladly share that with you and walk you through it if you are interested.
Edit: spelling
Thanks for your detailed explanations. I know the fundamentals of Nix but not all the details. The home manager concept sounds interesting.
I will add a installation config file to the installer to automate the complete installation/update process.
Looking forward to the results of your experiments. Please share it then.
@99linesofcode The automation of the installation/update is now available on the rolling release. Feel free to test it: https://github.com/mylinuxforwork/dotfiles/wiki/Automation-of-the-installation-and-update
Would be great if the ML4W Dotfiles could be installed completely (with only few manual confirmation) through the installation script.