I have decided to experiment with
nixos after being blown away by the
The interest is driven by the declarative approach of
nixos, in order words same
flake.nix file will give exactly the same OS, top to bottom.
I would like to store the flake files in a git repository.
Therefore, when a modification is made, I would like to:
- check the formatting of the code: currently I am using
statix, any other suggestions?
- will the code actually generate a working system? any suggestion?
- get a diff, for example:
- package A will be updated from version X to Y
- package B is installed
- package C is removed
- a new service is created with this config
all running a gitlab/github pipeline.
I was able to get something similar by running on the system itself:
nix flake lock --update-input nixpkgs nix build ".#nixosConfigurations.server.config.system.build.toplevel" nix store diff-closures /run/current-system ./result
But I am just able to see package version changes not the entire configuration of the system.