Pass around `perSystem`'s `pkgs` instances to the system configurations
Some more refactoring in `configurations`' `mkHost` functions
Also start using `home-manager`'s `useGlobalPkgs` option
Also use `mkShellNoCC` for default `devShell`
Also `nix flake update`
Add more & generalize flake outputs:
- templates: just a `default.nix` (TODO: add a `Haskell` template)
- packages & devShells: create and use `forEachPkgs`
Add more `Wayland` things for `homix`:
- `swww` - custom package + custom systemd service (TODO: abstract away)
- `wired` - from flake + `home-manager` module
Add default `imports` and `nixokgs.overlays` for `reo101@homix`
-- TODO: don't handwire it, somehow *auto-import* from `mkNixosHost` in `flake.nix`
Place all configurations in `machines/${manager}/${system}/${hostname}/...`:
- `${manager}` - One of `nixos`, `nix-on-droid`, `nix-darwin` or `home-manager`
- `${system}` - A system's architecture (can be many)
- `${hostname}` - A system's hostname (can be many)
The flake now automatically generates the needed configurations based on the above structure.
It only generates configurations for valid directory structures:
- It wouldn't generate a NixOS config if there isn't a `configuration.nix` file
- ...