Concrete difference between Hjem and Home Manager ? #15
-
|
Hi there, great project ! README clearly mentions the similarity and inspiration from Home Manager but in practice what is different between those two? Could you highlight what's possible / not possible with Hjem that would (not) be possible with Home Manager ? Thanks |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
Hjem is a leaner (and meaner) implementation of a file linking API similar to Home-Manager's The main difference, which concerns users (but not as much developers) is the lack of a module collection, like HM. We intend for Hjem to be a small, convenient and possibly upstreamable tool that is cheap to use and easy to maintain. The gap of a module system is filled by Hjem-Rum in the case you want them. Though, most users end up writing their own abstractions at some point, so you are also very well off without such a collection. We are glad it exists, though. On the question of what is possible, virtually anything you did with Home-Manager is possible with Hjem. The necessary mechanisms to link files and add packages to PATH are already there, and Systemd services have been implemented recently. Hjem currently does not have a cleanup mechanism by default, but it will be in-place as soon as we stabilize the interface. Ultimately we would like for Hjem to provide the necessary framework to build your own Home-Manager-like module system without half of your system depending on the maintenance status and quirks of a 3rd party module system on top of Nixpkgs. With Hjem, you are equipped to build your own with a stable interface. Though again, Hjem-Rum is a Home-Manager replacement if you feel less comfortable managing everything yourself. Darwin support is also not yet implemented, but it's something that we are working on. See #88 for the state of the Darwin support. Standalone is currently not planned, but it might appear as a separate project in the future. Old ResponseYou can think of Hjem as a leaner (and meaner) implementation of Home-Manager's The main difference would be that Hjem does not have a module system, like Home-Manager. We intend for Hjem to be a small and convenient tool that is cheap and easy to maintain. The gap of a module system is filled by Hjem-Rum. On the question of what's possible and not possible, Hjem currently allows linking files in place and provides a similar interface to Darwin support is also not yet implemented, but it's something we'd like to support in the future. |
Beta Was this translation helpful? Give feedback.
Hjem is a leaner (and meaner) implementation of a file linking API similar to Home-Manager's
home.fileand some extras for better ergonomics. Current features of Hjem include atomically linking or copying files in place, and managing Systemd user services.The main difference, which concerns users (but not as much developers) is the lack of a module collection, like HM. We intend for Hjem to be a small, convenient and possibly upstreamable tool that is cheap to use and easy to maintain. The gap of a module system is filled by Hjem-Rum in the case you want them. Though, most users end up writing their own abstractions at some point, so you are also very well off without such a collection. …