Seperate out modules into `system-manager-modules` repo
Is your feature request related to a problem? Please describe.
This project inherently has a lot of complexity, especially in its flake.nix file to allow for easy development of the project. However, most of this is unneeded when a user wants to depend upon the system-manager flake for the system modules provided in this project.
Describe the solution you'd like
Create a separate system-manager-modules repository including only the absolute minimum inputs to allow reuse, preferably only a nixpkgs import. This could also be a good time to find a default.nix standard to import system manager modules as well.
This would also likely require the upstream packaging of system-manager into nixpkgs, such that pkgs.system-manager can be used over building the project from here. This also gives a free CDN of built binaries.
Describe alternatives you've considered
Alternative would be to remove all the dependencies from this projects flake.nix file to allow for lighter imports. This can also be a good approach, but would require to use more nixpkgs idioms instead of numtide idioms.
Additional context
I am including this project in my own flake.nix file and get over a terminal's worth of output of added inputs I will not be using but still have to version lock and update in my own projects. Which is quite annoying.
Yeah, I agree, let's do this! I will check to get a repo set up.
Started playing around in the repo https://github.com/soupglasses/system-manager-lite
Might be a better approach to remove all the upstream imports than trying to split this up?
I think the question is, how should new modules be added, and should we want it inside this repo, or in a dedicated module repo instead. It would signifigantly lessen the need for #125
One approach is to create a dev sub-flake to encapsulate the dev dependencies. It's a bit clunky but it works: https://github.com/nix-community/srvos/tree/main/dev (see also the .envrc file)
If we can keep everything together it makes things a bit easier to develop.