diff --git a/flake.nix b/flake.nix index 3175385..8db42f1 100644 --- a/flake.nix +++ b/flake.nix @@ -6,14 +6,27 @@ flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, flake-utils }: - flake-utils.lib.eachSystem ["x86_64-linux" "aarch64-linux"] (system: + outputs = { self, nixpkgs, flake-utils }: + let + forAllSystems = flake-utils.lib.eachSystem [ + "x86_64-linux" + "aarch64-linux" + ]; + in + { + nixosModules = rec { + wings = ./modules/wings; + default = wings; + }; + + packages = forAllSystems (system: let pkgs = import nixpkgs { inherit system; }; in { - packages.wings = pkgs.callPackage ./pkgs/wings { }; - nixosModules.wings = import ./modules/wings { }; + wings = pkgs.callPackage ./pkgs/wings { }; + default = self.packages.${system}.wings; } ); + }; } diff --git a/modules/wings/default.nix b/modules/wings/default.nix index 7bc4279..7b8c13c 100644 --- a/modules/wings/default.nix +++ b/modules/wings/default.nix @@ -12,28 +12,25 @@ in default = null; description = "Package to use for Wings daemon"; }; - configFile = lib.mkOption { - type = lib.types.path; - default = "/etc/pterodactyl/config.yml"; - description = "Path to Wings configuration"; - }; }; config = lib.mkIf cfg.enable { virtualisation.docker.enable = true; - systemd.services.wings = { + systemd.services.pterodactyl-wings = { description = "Pterodactyl Wings"; after = [ "docker.service" ]; requires = [ "docker.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = "${wings}/bin/wings --config ${cfg.configFile}"; + ExecStart = "${wings}/bin/wings --config /etc/pterodactyl/config.yml"; Restart = "on-failure"; RestartSec = 5; - DynamicUser = true; - StateDirectory = "wings"; + + User = "root"; + Group = "root"; + BindPaths = [ "/var/run/docker.sock" ]; LimitNOFILE = 1048576; };