-
-
Notifications
You must be signed in to change notification settings - Fork 492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
programs.nh: init module #942
base: master
Are you sure you want to change the base?
Conversation
Does the |
Yes? I wouldn't have worked on this otherwise. Only the |
nh doesn't wrap nix-darwin. And I don't use macOs, so thought has not been put into making sure the rest works there. |
Could you explain why you said that? I'm not sure what point you're trying to make. |
I don't know what is to explain, nh doesn't support |
The The |
I think perhaps the meaning of "support" here is overloaded. I'll try to clarify, please correct me if I'm wrong:
As |
My understanding is that nh was written by @viperML and this version does not support darwin as @viperML does not have a Mac to be able to test. The nh module here can be made to use @ToyVo s fork and so is fully functional on macOS. By setting programs.nh.package |
To add the comment from @bestlem, there are 2 side of the "not supported": A) Not supporting darwin as the run-time platform for |
@viperML I'm still not sure what the point is you're trying to make. What is the reason for you saying that darwin isn't supported? What do you hope to achieve? Is there something that you think I should do with regard to this PR? |
@alanpearce What @viperML is saying that his code might or might not run on darwin and if you find an issue with his original on darwin he can't investigate so can't fix it. You run his executable at your own risk and the author can't answer anything about issues. @viperML is not being awkward here they are just saying that they can't deal with darwin issues. This is fair as they can't test, To test things you have to have all the different hardware and operating systems that your customers use. You can do this if you are reasonably sized organisation but no-one can expect single person FOSS developers to do this. This is no doubt one of the reason nix-darwin exists it can deal with issues that are different to nixes. |
@LnL7 when will you merge this? This is a great edition. |
@SolidRhino the nh-darwin fork does have a Darwin module that defines the same options if you are impatient for this pr. I have also recently closed an issue that pointed out that there was indeed a bug with nh os clean on macos that I have since fixed. That bug was macos uids start at 501 so the original nh would clean xdg directories for users 1000-1100, now on nh-dawrin the appropriate users 501-601 are cleaned. |
Hey, can we get this merged? Thanks! |
Wondering what is blocking us from merging this PR? If possible can any of the maintainers providing some specifications or concerns so we can address them? |
someone needs to get the maintainer a macbook lol or a vm |
@kimjongbing No - this refers to a fork for the macOS version by ToyVo |
options.programs.nh = { | ||
enable = mkEnableOption "nh, yet another Nix CLI helper"; | ||
|
||
package = mkPackageOption pkgs "nh" { }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead could we use https://github.com/ToyVo/nh_darwin instead of the default nh package as it doesn't support darwin-rebuild
when nh_darwin does!
Perhaps making it a input?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would make sense, but requires nh_darwin to be in nixpkgs. As it is, users will be able to choose to use that package if they have imported it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nh makes errors under darwin - darwin has to use the nh_darwin fork.
For example there are checks on the user id - nh uses the Linux rules and so only checks for ids >= 1000 nh_darwin understands that macOS users start at 501. This affect nh clean as far as I remember
I don't think there is any point in a darwin module that does not use the nh_darwin fork.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also the nh_darwin fork does provide modules for darwinConfiguration and homeConfiguration whey does nix-darwin need to provide a module?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would make sense, but requires nh_darwin to be in nixpkgs. As it is, users will be able to choose to use that package if they have imported it.
I agree with this, @ToyVo or someone here Are you willing to make the package nh_darwin in nixpkgs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm hesitant to try to push for nh_darwin to go into nixpkgs as is for the simple fact that its not just an alternative for darwin and linux has my additional features as well. Thinking about it, I think if I were to rebrand to nh_plus or something OS neutral I would comfortable doing that, with a modified versioning scheme of using a 4th segment to indicate each of my patches over base nh for tags
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have migrated to nh_plus, I've made the first tag of 3.6.0-0. This puts it in a better spot to bring into nixpkgs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will make the package later today, as I am at school.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't see a pr for it so NixOS/nixpkgs#357106
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change of plans, with base nh 4.0 nix-darwin support has been added. nh 4.0 is less flake-centric and updating flake inputs has been removed so I might keep my fork alive for that if it isn't re-added.
8c1c286
to
2efe0ef
Compare
Just reiterating outside of the last thread, with nh 4.0 nix-darwin is now supported. So when that update hits nixpkgs this PR will be good to merge |
2efe0ef
to
68e475d
Compare
to remove once LnL7/nix-darwin#942
to remove once LnL7/nix-darwin#942
* flake.lock: Update * feat: nh with darwin support to remove once LnL7/nix-darwin#942
Based on the NixOS module of the same name.
I used the same checks that
nix.gc
uses, as it performs exactly that function.