atagen

jelq

public

an http based roguelike rpg about jelqing

Star0
Watch0
2026362c76a617af2cdca92573dd85e96c0abfb0
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
d2e314cf03d5atagen2026-10-10 12:21 UTC4
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
a9b016e4b248atagen2026-10-10 08:12 UTC5
a9b016e4b248atagen2026-10-10 08:12 UTC6
  outputs =
d2e314cf03d5atagen2026-10-10 12:21 UTC7
    { self, nixpkgs }:
d2e314cf03d5atagen2026-10-10 12:21 UTC8
    let
d2e314cf03d5atagen2026-10-10 12:21 UTC9
      inherit (nixpkgs) lib;
d2e314cf03d5atagen2026-10-10 12:21 UTC10
      systems = [
d2e314cf03d5atagen2026-10-10 12:21 UTC11
        "x86_64-linux"
d2e314cf03d5atagen2026-10-10 12:21 UTC12
        "aarch64-linux"
d2e314cf03d5atagen2026-10-10 12:21 UTC13
        "x86_64-darwin"
d2e314cf03d5atagen2026-10-10 12:21 UTC14
        "aarch64-darwin"
d2e314cf03d5atagen2026-10-10 12:21 UTC15
      ];
d2e314cf03d5atagen2026-10-10 12:21 UTC16
      pkgsFor = lib.genAttrs systems (system: nixpkgs.legacyPackages.${system});
d2e314cf03d5atagen2026-10-10 12:21 UTC17
      forAllSystems = f: lib.genAttrs systems (system: f pkgsFor.${system});
d2e314cf03d5atagen2026-10-10 12:21 UTC18
d2e314cf03d5atagen2026-10-10 12:21 UTC19
      src = lib.fileset.toSource {
d2e314cf03d5atagen2026-10-10 12:21 UTC20
        root = ./.;
d2e314cf03d5atagen2026-10-10 12:21 UTC21
        fileset = lib.fileset.unions [
d2e314cf03d5atagen2026-10-10 12:21 UTC22
          ./Cargo.toml
d2e314cf03d5atagen2026-10-10 12:21 UTC23
          ./Cargo.lock
d2e314cf03d5atagen2026-10-10 12:21 UTC24
          ./src
782069860236atagen2026-10-10 12:44 UTC25
d2e314cf03d5atagen2026-10-10 12:21 UTC26
        ];
d2e314cf03d5atagen2026-10-10 12:21 UTC27
      };
d2e314cf03d5atagen2026-10-10 12:21 UTC28
    in
a9b016e4b248atagen2026-10-10 08:12 UTC29
    {
d2e314cf03d5atagen2026-10-10 12:21 UTC30
      packages = forAllSystems (pkgs: {
d2e314cf03d5atagen2026-10-10 12:21 UTC31
        default = pkgs.rustPlatform.buildRustPackage {
d2e314cf03d5atagen2026-10-10 12:21 UTC32
          pname = "jelqd";
d2e314cf03d5atagen2026-10-10 12:21 UTC33
          version = "0.6.9";
a9b016e4b248atagen2026-10-10 08:12 UTC34
          inherit src;
d2e314cf03d5atagen2026-10-10 12:21 UTC35
          cargoLock.lockFile = ./Cargo.lock;
d2e314cf03d5atagen2026-10-10 12:21 UTC36
          meta.mainProgram = "jelqd";
a9b016e4b248atagen2026-10-10 08:12 UTC37
        };
d2e314cf03d5atagen2026-10-10 12:21 UTC38
      });
a9b016e4b248atagen2026-10-10 08:12 UTC39
d2e314cf03d5atagen2026-10-10 12:21 UTC40
      apps = forAllSystems (pkgs: {
d2e314cf03d5atagen2026-10-10 12:21 UTC41
        default = {
d2e314cf03d5atagen2026-10-10 12:21 UTC42
          type = "app";
d2e314cf03d5atagen2026-10-10 12:21 UTC43
          program = lib.getExe self.packages.${pkgs.stdenv.hostPlatform.system}.default;
a9b016e4b248atagen2026-10-10 08:12 UTC44
          meta.description = "Run the jelqd server";
a9b016e4b248atagen2026-10-10 08:12 UTC45
        };
d2e314cf03d5atagen2026-10-10 12:21 UTC46
      });
a9b016e4b248atagen2026-10-10 08:12 UTC47
d2e314cf03d5atagen2026-10-10 12:21 UTC48
      checks = forAllSystems (
d2e314cf03d5atagen2026-10-10 12:21 UTC49
        pkgs:
d2e314cf03d5atagen2026-10-10 12:21 UTC50
        let
d2e314cf03d5atagen2026-10-10 12:21 UTC51
          jelqd = self.packages.${pkgs.stdenv.hostPlatform.system}.default;
d2e314cf03d5atagen2026-10-10 12:21 UTC52
        in
d2e314cf03d5atagen2026-10-10 12:21 UTC53
        {
a9b016e4b248atagen2026-10-10 08:12 UTC54
          inherit jelqd;
d2e314cf03d5atagen2026-10-10 12:21 UTC55
          clippy = jelqd.overrideAttrs (old: {
d2e314cf03d5atagen2026-10-10 12:21 UTC56
            pname = "jelqd-clippy";
d2e314cf03d5atagen2026-10-10 12:21 UTC57
            nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.clippy ];
d2e314cf03d5atagen2026-10-10 12:21 UTC58
            buildPhase = "cargo clippy --offline --all-targets -- --deny warnings";
d2e314cf03d5atagen2026-10-10 12:21 UTC59
            doCheck = false;
d2e314cf03d5atagen2026-10-10 12:21 UTC60
            installPhase = "touch $out";
d2e314cf03d5atagen2026-10-10 12:21 UTC61
          });
d2e314cf03d5atagen2026-10-10 12:21 UTC62
          fmt =
d2e314cf03d5atagen2026-10-10 12:21 UTC63
            pkgs.runCommand "jelqd-fmt"
d2e314cf03d5atagen2026-10-10 12:21 UTC64
              {
d2e314cf03d5atagen2026-10-10 12:21 UTC65
                nativeBuildInputs = [
d2e314cf03d5atagen2026-10-10 12:21 UTC66
                  pkgs.cargo
d2e314cf03d5atagen2026-10-10 12:21 UTC67
                  pkgs.rustfmt
d2e314cf03d5atagen2026-10-10 12:21 UTC68
                ];
d2e314cf03d5atagen2026-10-10 12:21 UTC69
              }
d2e314cf03d5atagen2026-10-10 12:21 UTC70
              ''
d2e314cf03d5atagen2026-10-10 12:21 UTC71
                cd ${src}
d2e314cf03d5atagen2026-10-10 12:21 UTC72
                cargo fmt --check
d2e314cf03d5atagen2026-10-10 12:21 UTC73
                touch $out
d2e314cf03d5atagen2026-10-10 12:21 UTC74
              '';
d2e314cf03d5atagen2026-10-10 12:21 UTC75
        }
d2e314cf03d5atagen2026-10-10 12:21 UTC76
      );
a9b016e4b248atagen2026-10-10 08:12 UTC77
d2e314cf03d5atagen2026-10-10 12:21 UTC78
      devShells = forAllSystems (pkgs: {
d2e314cf03d5atagen2026-10-10 12:21 UTC79
        default = pkgs.mkShell {
d2e314cf03d5atagen2026-10-10 12:21 UTC80
          inputsFrom = [ self.packages.${pkgs.stdenv.hostPlatform.system}.default ];
dfa38cf4cd4batagen2026-10-10 09:17 UTC81
          packages = [
d2e314cf03d5atagen2026-10-10 12:21 UTC82
            pkgs.clippy
d2e314cf03d5atagen2026-10-10 12:21 UTC83
            pkgs.rustfmt
dfa38cf4cd4batagen2026-10-10 09:17 UTC84
            pkgs.rust-analyzer
dfa38cf4cd4batagen2026-10-10 09:17 UTC85
            pkgs.nushell
dfa38cf4cd4batagen2026-10-10 09:17 UTC86
            pkgs.curl
dfa38cf4cd4batagen2026-10-10 09:17 UTC87
          ];
a9b016e4b248atagen2026-10-10 08:12 UTC88
        };
d2e314cf03d5atagen2026-10-10 12:21 UTC89
      });
a9b016e4b248atagen2026-10-10 08:12 UTC90
727d064fae38atagen2026-10-12 13:18 UTC91
      nixosModules.default = import ./nix/module.nix self;
727d064fae38atagen2026-10-12 13:18 UTC92
d2e314cf03d5atagen2026-10-10 12:21 UTC93
      formatter = forAllSystems (pkgs: pkgs.nixfmt);
d2e314cf03d5atagen2026-10-10 12:21 UTC94
    };
a9b016e4b248atagen2026-10-10 08:12 UTC95
}