numtide / system-manager

Manage system config using nix on any distro
MIT License
681 stars 18 forks source link

Seperate out modules into `system-manager-modules` repo #117

Open soupglasses opened 2 days ago

soupglasses commented 2 days ago

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.

r-vdp commented 2 days ago

Yeah, I agree, let's do this! I will check to get a repo set up.

soupglasses commented 2 days ago

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?