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

nixos/disnix nixos/dysnomia: drop modules #110799

Merged
merged 1 commit into from Jan 27, 2021

Conversation

Scriptkiddi
Copy link
Contributor

@Scriptkiddi Scriptkiddi commented Jan 25, 2021

Motivation for this change

#72962

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@Scriptkiddi
Copy link
Contributor Author

@svanderburg

@Scriptkiddi
Copy link
Contributor Author

@SuperSandro2000

Copy link
Member

@aanderse aanderse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks correct to me 👍 Waiting final approval of @SuperSandro2000.

@SuperSandro2000 SuperSandro2000 merged commit b237f72 into NixOS:master Jan 27, 2021
@aanderse
Copy link
Member

Thanks @Scriptkiddi.

@Scriptkiddi Scriptkiddi deleted the dysnomia_drop branch January 28, 2021 09:40
@flokli flokli mentioned this pull request Feb 4, 2021
10 tasks
@svanderburg
Copy link
Member

This should not have been necessary -- there was already a new Disnix released (version 0.10) not long before the Nixpkgs 20.09 release.

Furthermore, the issue with rootPassword in the Dysnomia module was fixed as well -- it is now no longer exposed. As a matter of fact, it no longer uses username/password authentication anywhere anymore.

The only reason that I respond to this issue now is because it was buried very deeply in my mailbox, in which I have thousands of notifications emails. This one probably slipped through, but the issue was addressed nonetheless.

While I could easily revert this merge request and restore the functionality, I have not done this yet for a different reason -- I have my doubts whether these modules should come back into Nixpkgs/NixOS. Ideally, I want to manage them outside Nixpkgs/NixOS, but unfortunately, there is no easy way to do that yet, until Nix flakes become more mature and an accepted solution.

Maybe I still restore the packages -- you only need the Disnix service to make it run in multi-user mode and/or to expose the properties of services deployed in a NixOS configuration as Dysnomia containers (deployment targets for Disnix). Disnix/Dysnomia can still be used in single-user mode and for systems that don't rely on parts that are provided by NixOS.

Unfortunately, I know people who still rely on the availability of these modules, so for the time being, I may have no other choice, but to restore them.

@aanderse
Copy link
Member

Hi @svanderburg thanks for replying. There has been a few occasions that I have tried to get in touch with you over a period of months. It seems like github notifications aren't the right way. Certainly I don't want to monopolize your time, but in the future if there is important nixpkgs business that someone wants to get in touch with you, what would the best method of communication be?

@tomberek
Copy link
Contributor

Adding another voice to the discussion:

There is a wider issue of the status of the disnix ecosystem. It's been with Nix for over a decade as a production system for a few people, and also available to the general public as a project in an experimental status. Nix itself is often a barrier to entry, and Disnix only raises that bar higher. [I've used it to quickly develop and meet production needs under tight schedules for short-term projects, but have not been garner adoption for it or Nix into general usage for long-term deployments]. Nevertheless, having a Nix based service orchestration system available is valuable part of the design space to explore. There should be a wider discussion, perhaps moved to Discourse, about this.

I believe this removal was a premature. Marking it broken or disabled rather than a complete purge would have been more appropriate. I regularly review PRs and I either must have missed this or neglected to comment beforehand.

To move forward:

  • Identify what issues should be resolved to restore Disnix/Dysnomia.
  • Describe what is needed to make the Disnix ecosystem a first-class citizen in Nixpkgs. (or can this be done with flakes?)
  • Start community-wide discussion if there should be a coordinated effort to support Disnix.

@aanderse
Copy link
Member

@tomberek I don't understand how 455 days is premature. It appears there is a communication breakdown between @svanderburg and nixpkgs which I hope we can address in a productive way.

On the topic of being productive I appreciate your "To move forward:" points and agree that what you said is a very good way to move forward. Thanks for suggesting this.

@svanderburg
Copy link
Member

@aanderse Typically raising issues in the corresponding repositories (e.g. Dysnomia and Disnix) is much more effective for me than searching in the already huge list of Nixpkgs issues. This is much easier to see and filter for. I regularly check, but for example after a period of inactivity (e.g. a holiday) it is really difficult to catch up again.

I guess I missed this issue completely, because at the time it was raised (e.g. over 450 days ago), I was probably away from my keyboard for somewhat long period of time.

@tomberek I think this issue is not specific to Disnix alone and maybe requires a broader discussion in the future. For example, with Hydra, we have a similar problem. Furthermore, the Hydra NixOS module was also originally managed outside the Nixpkgs repository, but was eventually added to Nixpkgs/NixOS because there was no convenient way to refer to NixOS modules that reside elsewhere.

I believe (when the time is right), Nix flakes will be the way forward so that Nixpkgs/NixOS no longer becomes a gigantic repository that has so many packages in it that all should follow the same release cycle.

Anyway, l'll make sure that the functionality gets restored. This should not be too much of a problem.

Hopefully, we can still keep the mutable systemd directory option included. For other reasons than the fact that some tools use it, I also believe it is a useful feature -- maybe we can "productize" it by mentioning it in the Nixpkgs/NixOS manual, instead of removing it. For me personally, it also a good development/debugging feature. Removing it requires you to always deploy a new NixOS confguration or package in the system profile.

flokli added a commit to flokli/nixpkgs that referenced this pull request Feb 12, 2021
This has only been used by Dysnomia, which has been removed from Nixpkgs
in NixOS#110799 after being broken for
more than a year.

If Dysnomia comes back, it can probably just use
/nix/var/nix/profiles/default/lib/systemd/system, or set its own systemd
flavour looking in that location via the `systemd.package`.
flokli added a commit to flokli/nixpkgs that referenced this pull request Feb 12, 2021
…em as fallback

The previous commit stopped systemd from looking for system units in
/etc/systemd-mutable/system, which was a Dysnomia-specific path.

While this script doesn't seem to be used anywhere inside nixpkgs (also
not in the gone-since NixOS#110799 Dysnomia), its fallback mode (when
/etc/systemd/system is read-only) did write units to that
Dysnomia-specific path, which systemd now doesn't look at anymore.

It might be up for another debate on whether systems with read-only
/etc/systemd/system should probably just use /run/systemd/system, and
not some NixOS-specific paths, as such conditions can happen on other
distros too, but let's pick the other NixOS-specific path
/nix/var/nix/profiles/default/lib/systemd/system for now, which is
probably better than a path that surely is never looked at.
@aanderse
Copy link
Member

Thanks for the point of contact @svanderburg!

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

Successfully merging this pull request may close these issues.

None yet

5 participants