This adds a “default” NixOS module in flake.nix. This makes using this in flakes a little less verbose and repetitive.
Before this change:
```nix
nixpkgs.lib.nixosSystem {
modules = [
./configuration.nix
agenix.nixosModules.age
];
}
After this change:
```nix
nixpkgs.lib.nixosSystem {
modules = [
./configuration.nix
agenix.nixosModule
];
}
```
flake.lock previously included a "indirect" reference to nixpkgs.
I am not sure what this means but I added `inputs.nixpkgs` and updated nixpkgs because this old version of nixpkgs didn't have any support for aarch64-darwin at all.
Now on a aarch64-darwin I can type `nix build` and get a working version of agenix.
Flake outputs are a mixture of system-dependent and system-independent
sets, and flake-utils doesn't do much to distinguish one from the other.
Because of that, the `age` NixOS module currently has to be acessed as
`agenix.nixosModules.${system}.age`, rather than the documented
`agenix.nixosModules.age`.
To remedy that, (conceptually) split `outputs` in two, let flake-utils
handle the system-dependent half, and merge them to form the actual
outputs. The names for the two halves were taken from [1].
[1]: https://github.com/NixOS/nix/issues/3843#issuecomment-661720562