meta: initial work on Hjem Standalone#153
Conversation
… CLI Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Ibfe8e6e81d47ad84e2b8ba19cd56a5d66a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I4bad3c15e1b17934158855ec9e7b60cd6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Id312294b08eed9a7556b20fba79b204b6a6a6964
357ed38 to
f5904c9
Compare
|
Ready for testing! |
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Iae9c54337534833b8b4f04af3f0fba196a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Icf3fb9c85c069e8fdc84a32f2cfb943e6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I37d216249d50a8dcdbf934ac32a62a3d6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I5e9cba24f86c0d17b4ee4a19738920206a6a6964
281df0d to
aaacf6f
Compare
|
Workflow failure
Damn permission issues |
|
Standalone can't use |
aa3d894 to
b8a41c3
Compare
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: If4f2660fb8cad10bd359eb1e1f3fa9736a6a6964 Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: If4f2660fb8cad10bd359eb1e1f3fa9736a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Idd34f0f1a17599a0b1587fe204c4c4396a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I4ff3cf8b0ee815baf031dacdb6cc29e16a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I61a9cb3c67be482f336e57ea060ca28e6a6a6964
b8a41c3 to
ed731e6
Compare
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Ic683208758b917195e51680c396595ac6a6a6964
|
The only thing i see missing from the hjem cli is a uninstall command, which would be implemented by running however i don't think this is absolutely necessary to merge this |
|
|
||
| environment = { | ||
| systemPackages = [ | ||
| (pkgs.callPackage ../cli/package.nix {}) |
There was a problem hiding this comment.
| (pkgs.callPackage ../cli/package.nix {}) | |
| (pkgs.callPackage ../../cli/package.nix {}) |
There was a problem hiding this comment.
Good catch ty. I should get rid of backwards imports altogether...
There was a problem hiding this comment.
Unfortunately if you don't use relative imports, you get rebuilds every time the flake changes. It's annoying, but this is the better option in most contexts.
There was a problem hiding this comment.
@eclairevoyant https://github.com/Gerg-L/norebuild build both commits, no rebuild
I still haven't decided whether I want to do this in one go or in phases to build confidence as we go. As it stands, this PR provides the initial draft of the Hjem CLI I'm envisioning. As discussed on Matrix the CLI currently provides three invocation methods (
hjem,hjem internalandhjem standalone) and acts as a replacement forpkgs.smfh, leveraging its library component after my latest refactor.The CLI replaces a fair bit of NixOS and Darwin logic (primarily the Bash parts) and provides the necessary primitives for standalone, which (for the time being) include
hjem standalone init,hjem standalone build,hjem standalone switchand a few other goodies (see--help). The CLI is not final, because I have not yet decided whether I like the subcommand approach. A much better way of doing this could be to allow symlinking thehjembinary ashjem-standaloneandhjem-internalto make them do what their subcommands do and only that, i.e., don't leakhjem internalintopkgs.hjemwhen a standalone user only needs the standalone features. The names and design choices are all WIP, and feedback is welcome.TODO
top-level.nixlinkeroption to default tohjem