-
Notifications
You must be signed in to change notification settings - Fork 0
Interop with home-manager modules as much as possible and consider adding stylix #43
Copy link
Copy link
Open
Labels
compat: forwardsRepresents a backwards incompatible change. Existing functionality is affected and requires fixes.Represents a backwards incompatible change. Existing functionality is affected and requires fixes.priority: lowNon-essential issues that are neither affecting functionality nor usability.Non-essential issues that are neither affecting functionality nor usability.type: feature/additionMarks the request/implementation of a feature addition. Accompany with relevant labels.Marks the request/implementation of a feature addition. Accompany with relevant labels.type: feature/improvementMarks the request/implementation of a feature improvement. Accompany with relevant labels.Marks the request/implementation of a feature improvement. Accompany with relevant labels.type: feature/removalMarks the request/implementation of a feature removal. Accompany with relevant labels.Marks the request/implementation of a feature removal. Accompany with relevant labels.
Metadata
Metadata
Assignees
Labels
compat: forwardsRepresents a backwards incompatible change. Existing functionality is affected and requires fixes.Represents a backwards incompatible change. Existing functionality is affected and requires fixes.priority: lowNon-essential issues that are neither affecting functionality nor usability.Non-essential issues that are neither affecting functionality nor usability.type: feature/additionMarks the request/implementation of a feature addition. Accompany with relevant labels.Marks the request/implementation of a feature addition. Accompany with relevant labels.type: feature/improvementMarks the request/implementation of a feature improvement. Accompany with relevant labels.Marks the request/implementation of a feature improvement. Accompany with relevant labels.type: feature/removalMarks the request/implementation of a feature removal. Accompany with relevant labels.Marks the request/implementation of a feature removal. Accompany with relevant labels.
The motivation for the former is actually the latter. Stylix seems like a very cool project, but in order for me to actually make use of it I'd need to relegate myself back to the home-manager modules. The only thing I don't like about some home-manager modules is that they tend to do things weirdly and/or excessively. They also don't prefer to wrap packages and instead opt for placing symlinks, which I want to avoid (see #38).
I'll admit that I've held a negative bias against home-manager for its bloat. Maturing is realizing that I was wrong, and I have no issues in admitting it. You can find a lot of my reasonings and experiments in this repository's history, some notable examples are 6aeb984 and #7. Suffice it to say that while it is true that some places in home-manager are bloated and duplicate things that are better left to NixOS configurations, something important to note is that home-manager never intended to be a NixOS-only tool. Furthermore, it doesn't mean that all the modules are bloated and should be avoided. Some of the current
my.*modules that I have actually delegate to home-manager (likemy.programs.git).If I want to use Stylix, I must achieve the former goal. Even if I don't want Stylix, I think achieving the former goal is still good. In practice, I can keep my own modules but have them delegate as much work as possible to the lower home-manager modules. This would not only de-duplicate excessively unnecessary logic, but it would grant better interop overall with home-manager modules, since right now I'm sort of going half-and-half, which falls apart at certain junctures (one example is
home.pointerCursor.sway, another could be all of the stylix modules which set color and fonts).