]> gitweb.ps.run Git - chirp/blobdiff - flake.nix
update readme
[chirp] / flake.nix
index fd691a8755163ebfec058e5c21762ba335dc08bb..e32262fc13e8ce4d44d9a0db8e95557b623ead9f 100644 (file)
--- a/flake.nix
+++ b/flake.nix
@@ -1,56 +1,35 @@
 {
-  description = "Chirp!";
+  description = "Chirp Flake";
 
-  inputs = {
-    zig.url = "github:mitchellh/zig-overlay";
-  };
+  inputs.self.submodules = true;
+  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+  inputs.flake-utils.url = "github:numtide/flake-utils";
 
-  outputs = {
-    self,
-    zig,
-    pkgs,
-  }: let
-    nixosModule = {
-      config,
-      lib,
-      pkgs,
-      ...
-    }: {
-      options.services.chirp = {
-        enable = lib.mkEnableOption "Chirp";
+  outputs = { self, nixpkgs, flake-utils }:
+    flake-utils.lib.eachDefaultSystem (system:
+      let
+        pkgs = import nixpkgs { inherit system; };
+      in {
+        packages.default = pkgs.stdenvNoCC.mkDerivation {
+          pname = "chirp";
+          version = "0.0.0";
+          src = ./.;
 
-        port = lib.mkOption {
-          type = lib.types.port;
-          default = 8080;
-          description = "Port to listen on";
+          buildPhase = ''
+            mkdir -p .zig-cache-global/zig
+            ${pkgs.zig}/bin/zig build --global-cache-dir .zig-cache-global
+          '';
+
+          installPhase = ''
+            mkdir -p $out/bin
+            cp zig-out/bin/chirp $out/bin
+          '';
         };
-      };
 
-      config = lib.mkIf config.services.chirp.enable {
-        systemd.services.chirp = {
-          description = "Chirp SystemD Service!";
-          wantedBy = ["multi-user.target"];
-          after = ["network.target"];
-          serviceConfig = {
-            ExecStart = "${zig.packages.master}";
-            Restart = "always";
-            Type = "simple";
-            DynamicUser = "yes";
-          };
-          environment = {
-            PORT = toString config.services.chirp.port;
-          };
+        apps.default = {
+          type = "app";
+          program = "${self.packages.${system}.default}/bin/chirp";
         };
-      };
-    };
-    in {
-      # TODO: packages.default build
-      apps.default = {
-        type = "app";
-        program = "${zig.packages.${pkgs.system}."0.14.0"} build run";
-      };
-    }
-    // {
-      nixosModules.default = nixosModule;
-    };
+      });
 }
+