atagen

jelq

public

an http based roguelike rpg about jelqing

Star0
Watch0
a9b016e4b248ebfb4326a7881143856a1fe77252
1
ssh://brewery@pls.lobotomise.me:33/atagen/jelq.git

Blame: flake.nix

a9b016e4b248atagen2026-10-10 08:12 UTC1
{
a9b016e4b248atagen2026-10-10 08:12 UTC2
  description = "jelqd, a roguelike played entirely over HTTP";
a9b016e4b248atagen2026-10-10 08:12 UTC3
a9b016e4b248atagen2026-10-10 08:12 UTC4
  inputs = {
a9b016e4b248atagen2026-10-10 08:12 UTC5
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
a9b016e4b248atagen2026-10-10 08:12 UTC6
    crane.url = "github:ipetkov/crane";
a9b016e4b248atagen2026-10-10 08:12 UTC7
    flake-utils.url = "github:numtide/flake-utils";
a9b016e4b248atagen2026-10-10 08:12 UTC8
  };
a9b016e4b248atagen2026-10-10 08:12 UTC9
a9b016e4b248atagen2026-10-10 08:12 UTC10
  outputs =
a9b016e4b248atagen2026-10-10 08:12 UTC11
    {
a9b016e4b248atagen2026-10-10 08:12 UTC12
      self,
a9b016e4b248atagen2026-10-10 08:12 UTC13
      nixpkgs,
a9b016e4b248atagen2026-10-10 08:12 UTC14
      crane,
a9b016e4b248atagen2026-10-10 08:12 UTC15
      flake-utils,
a9b016e4b248atagen2026-10-10 08:12 UTC16
    }:
a9b016e4b248atagen2026-10-10 08:12 UTC17
    flake-utils.lib.eachDefaultSystem (
a9b016e4b248atagen2026-10-10 08:12 UTC18
      system:
a9b016e4b248atagen2026-10-10 08:12 UTC19
      let
a9b016e4b248atagen2026-10-10 08:12 UTC20
        pkgs = nixpkgs.legacyPackages.${system};
a9b016e4b248atagen2026-10-10 08:12 UTC21
        craneLib = crane.mkLib pkgs;
a9b016e4b248atagen2026-10-10 08:12 UTC22
        src = craneLib.cleanCargoSource ./.;
a9b016e4b248atagen2026-10-10 08:12 UTC23
        commonArgs = {
a9b016e4b248atagen2026-10-10 08:12 UTC24
          inherit src;
a9b016e4b248atagen2026-10-10 08:12 UTC25
          strictDeps = true;
a9b016e4b248atagen2026-10-10 08:12 UTC26
        };
a9b016e4b248atagen2026-10-10 08:12 UTC27
        cargoArtifacts = craneLib.buildDepsOnly commonArgs;
a9b016e4b248atagen2026-10-10 08:12 UTC28
        jelqd = craneLib.buildPackage (
a9b016e4b248atagen2026-10-10 08:12 UTC29
          commonArgs
a9b016e4b248atagen2026-10-10 08:12 UTC30
          // {
a9b016e4b248atagen2026-10-10 08:12 UTC31
            inherit cargoArtifacts;
a9b016e4b248atagen2026-10-10 08:12 UTC32
            meta.mainProgram = "jelqd";
a9b016e4b248atagen2026-10-10 08:12 UTC33
          }
a9b016e4b248atagen2026-10-10 08:12 UTC34
        );
a9b016e4b248atagen2026-10-10 08:12 UTC35
      in
a9b016e4b248atagen2026-10-10 08:12 UTC36
      {
a9b016e4b248atagen2026-10-10 08:12 UTC37
        packages.default = jelqd;
a9b016e4b248atagen2026-10-10 08:12 UTC38
a9b016e4b248atagen2026-10-10 08:12 UTC39
        apps.default = flake-utils.lib.mkApp { drv = jelqd; } // {
a9b016e4b248atagen2026-10-10 08:12 UTC40
          meta.description = "Run the jelqd server";
a9b016e4b248atagen2026-10-10 08:12 UTC41
        };
a9b016e4b248atagen2026-10-10 08:12 UTC42
a9b016e4b248atagen2026-10-10 08:12 UTC43
        checks = {
a9b016e4b248atagen2026-10-10 08:12 UTC44
          inherit jelqd;
a9b016e4b248atagen2026-10-10 08:12 UTC45
          clippy = craneLib.cargoClippy (
a9b016e4b248atagen2026-10-10 08:12 UTC46
            commonArgs
a9b016e4b248atagen2026-10-10 08:12 UTC47
            // {
a9b016e4b248atagen2026-10-10 08:12 UTC48
              inherit cargoArtifacts;
a9b016e4b248atagen2026-10-10 08:12 UTC49
              cargoClippyExtraArgs = "--all-targets -- --deny warnings";
a9b016e4b248atagen2026-10-10 08:12 UTC50
            }
a9b016e4b248atagen2026-10-10 08:12 UTC51
          );
a9b016e4b248atagen2026-10-10 08:12 UTC52
          fmt = craneLib.cargoFmt { inherit src; };
a9b016e4b248atagen2026-10-10 08:12 UTC53
          test = craneLib.cargoTest (commonArgs // { inherit cargoArtifacts; });
a9b016e4b248atagen2026-10-10 08:12 UTC54
        };
a9b016e4b248atagen2026-10-10 08:12 UTC55
a9b016e4b248atagen2026-10-10 08:12 UTC56
        devShells.default = craneLib.devShell {
a9b016e4b248atagen2026-10-10 08:12 UTC57
          checks = self.checks.${system};
a9b016e4b248atagen2026-10-10 08:12 UTC58
          packages = [ pkgs.rust-analyzer ];
a9b016e4b248atagen2026-10-10 08:12 UTC59
        };
a9b016e4b248atagen2026-10-10 08:12 UTC60
a9b016e4b248atagen2026-10-10 08:12 UTC61
        formatter = pkgs.nixfmt;
a9b016e4b248atagen2026-10-10 08:12 UTC62
      }
a9b016e4b248atagen2026-10-10 08:12 UTC63
    );
a9b016e4b248atagen2026-10-10 08:12 UTC64
}