Skip to content

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

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

pterodactyl-panel: init at 1.14.1, pterodactyl-wings: init at 1.13.1, nixos/pterodactyl-{panel, wings}: init#456521
PadowYT2 wants to merge 5 commits into
NixOS:masterfrom
PadowYT2:add-pterodactyl

Conversation

@PadowYT2

@PadowYT2 PadowYT2 commented Oct 28, 2025

Copy link
Copy Markdown

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

qweered commented Oct 28, 2025

Copy link
Copy Markdown
Contributor

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

@keenanweaver keenanweaver left a comment

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.

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

PadowYT2 commented Oct 29, 2025

Copy link
Copy Markdown
Author

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

@keenanweaver keenanweaver left a comment

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.

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

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.

Not sure if this well written, but atleast something about pterodactyl-cli

@axis-esto axis-esto left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hello again,

I need to apologize for taking this long; I totally forgot about the feedback that I wanted to give. I have used the packages and services for some time now, and they mostly seem to work. I have a few suggestions for tiny changes, but overall, everything works well for me.
Thanks!

Comment thread nixos/modules/services/web-apps/pterodactyl-panel.nix
Comment thread nixos/modules/services/web-apps/pterodactyl-panel.nix
Comment thread nixos/modules/services/web-apps/pterodactyl-panel.nix
Comment thread nixos/modules/services/web-apps/pterodactyl-panel.nix
Comment thread nixos/modules/services/web-apps/pterodactyl-panel.nix
@PadowYT2 PadowYT2 changed the title nixos/pterodactyl-{panel, wings}: init pterodactyl-panel: init at 1.12.3, pterodactyl-wings: init at 1.12.2, nixos/pterodactyl-{panel, wings}: init May 26, 2026
@PadowYT2 PadowYT2 force-pushed the add-pterodactyl branch 2 times, most recently from 6814a68 to d9cf5b1 Compare May 26, 2026 21:56
@nixpkgs-ci nixpkgs-ci Bot requested a review from GetPsyched May 26, 2026 22:01
@PadowYT2

PadowYT2 commented May 26, 2026

Copy link
Copy Markdown
Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 456521
Commit: d9cf5b158469c5f7967ac021abcdb518cc824afc


x86_64-linux

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

I'm not sure why CI fails saying strictDeps = false even though it is set to true. Same question goes to docs...

@nixpkgs-ci nixpkgs-ci Bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jun 5, 2026
@nixpkgs-ci nixpkgs-ci Bot added 12.approvals: 3+ This PR was reviewed and approved by three or more persons. and removed 12.approvals: 2 This PR was reviewed and approved by two persons. labels Jun 8, 2026
@nixpkgs-ci nixpkgs-ci Bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Jun 12, 2026
@PadowYT2 PadowYT2 changed the title pterodactyl-panel: init at 1.12.3, pterodactyl-wings: init at 1.12.2, nixos/pterodactyl-{panel, wings}: init pterodactyl-panel: init at 1.12.4, pterodactyl-wings: init at 1.12.3, nixos/pterodactyl-{panel, wings}: init Jun 12, 2026
@PadowYT2

Copy link
Copy Markdown
Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 456521
Commit: bac727284ec39189e9c773412a2cac8fe1187f62


x86_64-linux

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

@GetPsyched GetPsyched left a comment

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.

Approving redirects

@PadowYT2 PadowYT2 changed the title pterodactyl-panel: init at 1.12.4, pterodactyl-wings: init at 1.12.3, nixos/pterodactyl-{panel, wings}: init pterodactyl-panel: init at 1.14.0, pterodactyl-wings: init at 1.13.0, nixos/pterodactyl-{panel, wings}: init Jun 25, 2026
@PadowYT2

Copy link
Copy Markdown
Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 456521
Commit: dd8bf49a9402a0c2f5a48bd5f84dd59e64c1a40b


x86_64-linux

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

@Svenum

Svenum commented Jul 2, 2026

Copy link
Copy Markdown
Member

I am waiting for this. Is there a reason why this isn't merged yet? Am I able to help?

@PadowYT2

PadowYT2 commented Jul 2, 2026

Copy link
Copy Markdown
Author

Am I able to help?

👀
Perhaps testing it and approving if everything works correctly...? There's a standalone version as a flake (which is a clone of the add-pterodactyl branch) - PadowYT2/pterodactyl.nix

@PadowYT2

PadowYT2 commented Jul 2, 2026

Copy link
Copy Markdown
Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 456521
Commit: a89d461d0f86802fdf33d2df7fe924627a503160


x86_64-linux

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

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

Labels

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: 3+ This PR was reviewed and approved by three or more persons. 12.first-time contribution This PR is the author's first one; please be gentle!

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

10 participants