Skip to content

nixos/pterodactyl-{panel, wings}: init#456521

Open
PadowYT2 wants to merge 5 commits intoNixOS:masterfrom
PadowYT2:add-pterodactyl
Open

nixos/pterodactyl-{panel, wings}: init#456521
PadowYT2 wants to merge 5 commits intoNixOS:masterfrom
PadowYT2:add-pterodactyl

Conversation

@PadowYT2
Copy link
Copy Markdown

@PadowYT2 PadowYT2 commented Oct 28, 2025

Added Pterodactyl Panel and Pterodactyl Wings modules with their packages.

Homepage: https://pterodactyl.io

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@PadowYT2 PadowYT2 changed the title init: pterodactyl pterodactyl: init Oct 28, 2025
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 12.first-time contribution This PR is the author's first one; please be gentle! 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (update) This PR changes an existing module in `nixos/` 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 9.needs: reviewer This PR currently has no reviewers requested and needs attention. labels Oct 28, 2025
@PadowYT2
Copy link
Copy Markdown
Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 456521
Commit: baf1adb8d96992cf24fa4ffc0e4daf032f1361a3


x86_64-linux

⏩ 2 packages blacklisted:
  • nixos-install-tools
  • tests.nixos-functions.nixos-test
✅ 2 packages built:
  • pterodactyl-panel
  • pterodactyl-wings

@qweered
Copy link
Copy Markdown
Contributor

qweered commented Oct 28, 2025

Pr title should be "nixos/pterodactyl-{panel, wings}: init"

@PadowYT2 PadowYT2 changed the title pterodactyl: init nixos/pterodactyl-{panel, wings}: init Oct 28, 2025
@PadowYT2

This comment was marked as outdated.

@h7x4 h7x4 added the 8.has: module (new) This PR adds a module in `nixos/` label Oct 29, 2025
Comment thread nixos/modules/services/misc/pterodactyl-wings.nix
@nixpkgs-ci nixpkgs-ci bot removed the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Oct 29, 2025
@acid-bong
Copy link
Copy Markdown
Contributor

Since you're introducing both packages and modules, separate each into its own commit, with package init ones preceding the respective module init ones

Copy link
Copy Markdown
Member

@keenanweaver keenanweaver left a comment

Choose a reason for hiding this comment

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

Amazing work! Thanks for making this. I'm not a Pterodactyl user, but these modules will make me one.

Some observations/questions:

  • Can you change the wings module to enable virtualisation.docker conditionally with it? Shouldn't be any harm in doing this instead of an assertion.
  • I know it's annoying, but each config option in both modules should have a description explaining what they're for.
  • Are you able to nix-ify a full Pterodactyl setup with these modules? Can I programmatically configure eggs, etc. (I am ignorant of the software)
  • May want to consider looking into service hardening

Also have some non-blocking nits:

Comment thread pkgs/by-name/pt/pterodactyl-panel/package.nix Outdated
Comment thread pkgs/by-name/pt/pterodactyl-panel/package.nix Outdated
Comment thread pkgs/by-name/pt/pterodactyl-wings/package.nix Outdated
Comment thread pkgs/by-name/pt/pterodactyl-wings/package.nix Outdated
Comment thread pkgs/by-name/pt/pterodactyl-panel/package.nix Outdated
Comment thread nixos/modules/services/web-apps/pterodactyl-panel.nix Outdated
@PadowYT2
Copy link
Copy Markdown
Author

PadowYT2 commented Oct 29, 2025

Amazing work! Thanks for making this. I'm not a Pterodactyl user, but these modules will make me one.

🔥

  • I know it's annoying, but each config option in both modules should have a description explaining what they're for.

Some of them aren't documented officially, will come up with something I guess.

  • Are you able to nix-ify a full Pterodactyl setup with these modules? Can I programmatically configure eggs, etc. (I am ignorant of the software)

I wish you could. There are no commands within Pterodactyl (php artisan ...) which allows you to create servers/users/etc. If appropriate for nixpkgs, I could add these commands via patches (or other ways) while of course making a PR upstream.

Will check out and apply changes you have suggested. As a first time contribution, honestly thanks for checking out the changes

@keenanweaver
Copy link
Copy Markdown
Member

If appropriate for nixpkgs, I could add these commands via patches (or other ways) while of course making a PR upstream.

It's generally preferred to do everything possible upstream before doing patches and a lot of nix-specific fixes here. It all depends on how receptive upstream is to changes, especially if those changes are for Nix specifically.

As a first time contribution, honestly thanks for checking out the changes

You're welcome! I haven't tested them out on my own stuff yet, but I'm planning to deep dive with them and learn Pterodactyl at the same time.

@PadowYT2
Copy link
Copy Markdown
Author

It's generally preferred to do everything possible upstream before doing patches and a lot of nix-specific fixes here. It all depends on how receptive upstream is to changes, especially if those changes are for Nix specifically.

They wouldn't be nix-specific but will benefit the nix configuration more (and maybe some other setups, like install scripts)

@PadowYT2
Copy link
Copy Markdown
Author

  • Are you able to nix-ify a full Pterodactyl setup with these modules? Can I programmatically configure eggs, etc. (I am ignorant of the software)

I will not do it for this PR, maybe some time in the future as it will take some time

The module is already way too complex for me and I have no clue what should I add. If you want to suggest something, please do

Copy link
Copy Markdown
Member

@keenanweaver keenanweaver left a comment

Choose a reason for hiding this comment

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

The module is already way too complex for me and I have no clue what should I add. If you want to suggest something, please do

Nothing in particular. Thanks for considering!

Some more changes to consider:

Comment thread nixos/modules/services/misc/pterodactyl-wings.nix Outdated
Comment thread nixos/modules/services/misc/pterodactyl-wings.nix Outdated
Comment thread pkgs/by-name/pt/pterodactyl-panel/package.nix Outdated
Comment thread pkgs/by-name/pt/pterodactyl-wings/package.nix Outdated
Comment thread nixos/modules/services/web-apps/pterodactyl-panel.nix Outdated
Comment thread nixos/modules/services/web-apps/pterodactyl-panel.nix Outdated
Comment thread nixos/modules/services/misc/pterodactyl-wings.nix
Comment on lines +135 to +140
phpPackage = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = php;
description = "The PHP package to use";
};
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Should this option also be using lib.mkPackageOption?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I believe so. I just looked through the tree and found a couple of examples that do it for additional packages.

rulesProvider = lib.mkPackageOption pkgs "ananicy" { example = "ananicy-cpp"; } // {

dbmatePackage = lib.mkPackageOption pkgs "dbmate" { };

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Just tried, you can't use just lib.mkPackageOption "php" { } as the second option is supposed to be an object. So I guess just leave it like that?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Probably want to leave it as it is now and we'll see if someone else chimes in.

@PadowYT2 PadowYT2 force-pushed the add-pterodactyl branch 3 times, most recently from 4f8cf94 to 286d3cb Compare October 30, 2025 13:34
@PadowYT2

This comment was marked as resolved.

@PadowYT2
Copy link
Copy Markdown
Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 456521
Commit: 8c2ce27fbff7d625afc66e40601d2c6da621c657


x86_64-linux

⏩ 2 packages blacklisted:
  • nixos-install-tools
  • tests.nixos-functions.nixos-test
✅ 2 packages built:
  • pterodactyl-panel
  • pterodactyl-wings

@PadowYT2 PadowYT2 force-pushed the add-pterodactyl branch 2 times, most recently from 831da51 to c2e79d3 Compare January 7, 2026 18:07
@PadowYT2
Copy link
Copy Markdown
Author

PadowYT2 commented Jan 7, 2026

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 456521
Commit: c2e79d38c24ff9615aafc4c72a41d5b2edfb748f


x86_64-linux

⏩ 2 packages blacklisted:
  • nixos-install-tools
  • tests.nixos-functions.nixos-test
✅ 2 packages built:
  • pterodactyl-panel
  • pterodactyl-wings

@PadowYT2
Copy link
Copy Markdown
Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 456521
Commit: cf059b0a790b25b376397caaf3fa00f68c1c7814


x86_64-linux

⏩ 2 packages blacklisted:
  • nixos-install-tools
  • tests.nixos-functions.nixos-test
✅ 2 packages built:
  • pterodactyl-panel
  • pterodactyl-wings

@nixpkgs-ci nixpkgs-ci bot added the 8.has: package (new) This PR adds a new package label Jan 27, 2026
@TheRealRobin
Copy link
Copy Markdown

Hello! I just wanted to say thank you for your work. I am eagerly awaiting this to be merged, and would like to start using it and migrating my running instances to this.
This would be a way cleaner solution than anything I have done for my own configuration to run panel and wings currently, so thanks again. I cannot really say right now if there is anything that should be changed, it seems to do everything that would be required, I think.

@Hythera
Copy link
Copy Markdown
Member

Hythera commented Jan 29, 2026

You can try it out and help testing it here: https://github.com/PadowYT2/pterodactyl.nix :)

Comment thread pkgs/by-name/pt/pterodactyl-panel/package.nix
@PadowYT2
Copy link
Copy Markdown
Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 456521
Commit: 5966044b99117a87ba6c305e0b12873883cc3e25


x86_64-linux

⏩ 2 packages blacklisted:
  • nixos-install-tools
  • tests.nixos-functions.nixos-test
✅ 2 packages built:
  • pterodactyl-panel
  • pterodactyl-wings

@axis-esto
Copy link
Copy Markdown

axis-esto commented Feb 21, 2026

You can try it out and help testing it here: https://github.com/PadowYT2/pterodactyl.nix :)

Just a short update from my part: I sadly did not yet find the time to actually test it out with my instances. It will probably take another few weeks for me to get back with some actual test results. Sorry for the wait&silence, I have it on my to-do list and will update you with whether my migration worked as soon as I get to it.

(alt account, aka TheRealRobin)

@nixpkgs-ci nixpkgs-ci bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Mar 4, 2026
@nixpkgs-ci nixpkgs-ci bot added 2.status: merge conflict This PR has merge conflicts with the target branch and removed 2.status: merge conflict This PR has merge conflicts with the target branch labels Mar 10, 2026
@nixpkgs-ci nixpkgs-ci bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Mar 18, 2026
@nixpkgs-ci nixpkgs-ci bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Apr 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog This PR adds or changes release notes 8.has: documentation This PR adds or changes documentation 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 8.has: module (new) This PR adds a module in `nixos/` 8.has: module (update) This PR changes an existing module in `nixos/` 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person. 12.first-time contribution This PR is the author's first one; please be gentle!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants