Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

alanpearce
Copy link

Based on the NixOS module of the same name.

I used the same checks that nix.gc uses, as it performs exactly that function.

@bestlem bestlem mentioned this pull request May 1, 2024
@skykanin
Copy link

Does the nh CLI even support nix-darwin?

@alanpearce
Copy link
Author

Does the nh CLI even support nix-darwin?

Yes? I wouldn't have worked on this otherwise. Only the os subcommand doesn't work

@viperML
Copy link

viperML commented May 22, 2024

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.

@alanpearce
Copy link
Author

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.

@viperML
Copy link

viperML commented May 22, 2024

I don't know what is to explain, nh doesn't support nix-darwin in the sense that it doesn't have anything to do with nix-darwin, not nix on darwin.

@ToyVo
Copy link

ToyVo commented May 22, 2024

The nh os switch does not support Darwin due to differences between nixos-rebuild and darwin-rebuild. I have a fork that adds support for darwin. https://github.com/ToyVo/nh

The nh clean command does work on Darwin on the original and my fork.

@alanpearce
Copy link
Author

I don't know what is to explain, nh doesn't support nix-darwin in the sense that it doesn't have anything to do with nix-darwin, not nix on darwin.

I think perhaps the meaning of "support" here is overloaded. I'll try to clarify, please correct me if I'm wrong:

  • nh works on darwin as in I can install the package and run it and it works, except:
  • the os subcommand does not work on darwin as you don't support darwin and don't want to, which is totally fine.

As nh has more functionality than the os subcommand, it is reasonable to include in nix-darwin. All the functionality of nh exposed as options for nix-darwin in this PR work—that is, there is no functionality here that relies on the os subcommand.

@bestlem
Copy link

bestlem commented May 23, 2024

@alanpearce

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.
@ToyVo has produced a fork of the original nh and this does support darwin ie os switch works. (I have used this and it does work).

The nh module here can be made to use @ToyVo s fork and so is fully functional on macOS. By setting programs.nh.package

@viperML
Copy link

viperML commented May 23, 2024

To add the comment from @bestlem, there are 2 side of the "not supported":

A) Not supporting darwin as the run-time platform for nh home or nh clean. I guess they work fine but I also don't know any of the corner cases for darwin.
B) Not having a nix-darwin wrapper, which is done in the fork.

@alanpearce
Copy link
Author

@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?

@bestlem
Copy link

bestlem commented May 23, 2024

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants