atagen

roundabout

public
Star0
Watch0
fdad58f8133a77a20c44d0e1472cb73a5128ef2c
1
ssh://brewery@pls.lobotomise.me:33/atagen/roundabout.git

Blame: flake.nix

e50aca5650c2atagen2026-09-27 03:59 UTC1
{
e50aca5650c2atagen2026-09-27 03:59 UTC2
  description = "one build at a time, please";
e50aca5650c2atagen2026-09-27 03:59 UTC3
e50aca5650c2atagen2026-09-27 03:59 UTC4
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
e50aca5650c2atagen2026-09-27 03:59 UTC5
e50aca5650c2atagen2026-09-27 03:59 UTC6
  outputs =
e50aca5650c2atagen2026-09-27 03:59 UTC7
    { self, nixpkgs }:
e50aca5650c2atagen2026-09-27 03:59 UTC8
    let
e50aca5650c2atagen2026-09-27 03:59 UTC9
      inherit (nixpkgs) lib;
e50aca5650c2atagen2026-09-27 03:59 UTC10
      forAllSystems = lib.genAttrs [
e50aca5650c2atagen2026-09-27 03:59 UTC11
        "x86_64-linux"
e50aca5650c2atagen2026-09-27 03:59 UTC12
        "aarch64-linux"
e50aca5650c2atagen2026-09-27 03:59 UTC13
        "x86_64-darwin"
e50aca5650c2atagen2026-09-27 03:59 UTC14
        "aarch64-darwin"
e50aca5650c2atagen2026-09-27 03:59 UTC15
      ];
e50aca5650c2atagen2026-09-27 03:59 UTC16
      pkgsFor = system: nixpkgs.legacyPackages.${system};
e50aca5650c2atagen2026-09-27 03:59 UTC17
    in
e50aca5650c2atagen2026-09-27 03:59 UTC18
    {
052a1a49371catagen2026-09-27 03:59 UTC19
      nixosModules.default = import ./nix/nixos-module.nix self;
052a1a49371catagen2026-09-27 03:59 UTC20
e50aca5650c2atagen2026-09-27 03:59 UTC21
      packages = forAllSystems (
e50aca5650c2atagen2026-09-27 03:59 UTC22
        system:
e50aca5650c2atagen2026-09-27 03:59 UTC23
        let
e50aca5650c2atagen2026-09-27 03:59 UTC24
          pkgs = pkgsFor system;
e50aca5650c2atagen2026-09-27 03:59 UTC25
          roundabout = pkgs.callPackage ./nix/package.nix { };
e50aca5650c2atagen2026-09-27 03:59 UTC26
        in
e50aca5650c2atagen2026-09-27 03:59 UTC27
        {
e50aca5650c2atagen2026-09-27 03:59 UTC28
          inherit roundabout;
e50aca5650c2atagen2026-09-27 03:59 UTC29
          default = roundabout;
e50aca5650c2atagen2026-09-27 03:59 UTC30
          plugin = pkgs.callPackage ./nix/plugin.nix { inherit roundabout; };
4e5ca2e20401atagen2026-09-28 11:42 UTC31
          codex-plugin = pkgs.callPackage ./nix/codex-plugin.nix { inherit roundabout; };
4e5ca2e20401atagen2026-09-28 11:42 UTC32
          omp-plugin = pkgs.callPackage ./nix/omp-plugin.nix { inherit roundabout; };
e50aca5650c2atagen2026-09-27 03:59 UTC33
        }
e50aca5650c2atagen2026-09-27 03:59 UTC34
      );
e50aca5650c2atagen2026-09-27 03:59 UTC35
e50aca5650c2atagen2026-09-27 03:59 UTC36
      devShells = forAllSystems (
e50aca5650c2atagen2026-09-27 03:59 UTC37
        system:
e50aca5650c2atagen2026-09-27 03:59 UTC38
        let
e50aca5650c2atagen2026-09-27 03:59 UTC39
          pkgs = pkgsFor system;
e50aca5650c2atagen2026-09-27 03:59 UTC40
        in
e50aca5650c2atagen2026-09-27 03:59 UTC41
        {
e50aca5650c2atagen2026-09-27 03:59 UTC42
          default = pkgs.mkShell {
e50aca5650c2atagen2026-09-27 03:59 UTC43
            packages = [
e50aca5650c2atagen2026-09-27 03:59 UTC44
              pkgs.cargo
e50aca5650c2atagen2026-09-27 03:59 UTC45
              pkgs.rustc
e50aca5650c2atagen2026-09-27 03:59 UTC46
              pkgs.clippy
e50aca5650c2atagen2026-09-27 03:59 UTC47
              pkgs.rustfmt
e50aca5650c2atagen2026-09-27 03:59 UTC48
              pkgs.rust-analyzer
e50aca5650c2atagen2026-09-27 03:59 UTC49
            ];
e50aca5650c2atagen2026-09-27 03:59 UTC50
            env.RUST_SRC_PATH = "${pkgs.rustPlatform.rustLibSrc}";
e50aca5650c2atagen2026-09-27 03:59 UTC51
          };
e50aca5650c2atagen2026-09-27 03:59 UTC52
        }
e50aca5650c2atagen2026-09-27 03:59 UTC53
      );
e50aca5650c2atagen2026-09-27 03:59 UTC54
e50aca5650c2atagen2026-09-27 03:59 UTC55
      checks = forAllSystems (
e50aca5650c2atagen2026-09-27 03:59 UTC56
        system:
e50aca5650c2atagen2026-09-27 03:59 UTC57
        let
e50aca5650c2atagen2026-09-27 03:59 UTC58
          pkgs = pkgsFor system;
e50aca5650c2atagen2026-09-27 03:59 UTC59
          roundabout = self.packages.${system}.roundabout;
e50aca5650c2atagen2026-09-27 03:59 UTC60
        in
e50aca5650c2atagen2026-09-27 03:59 UTC61
        {
e50aca5650c2atagen2026-09-27 03:59 UTC62
          inherit roundabout;
e50aca5650c2atagen2026-09-27 03:59 UTC63
          plugin = self.packages.${system}.plugin;
4e5ca2e20401atagen2026-09-28 11:42 UTC64
          codex-plugin = self.packages.${system}.codex-plugin;
4e5ca2e20401atagen2026-09-28 11:42 UTC65
          omp-plugin = self.packages.${system}.omp-plugin;
4e5ca2e20401atagen2026-09-28 11:42 UTC66
          omp-hooks = pkgs.callPackage ./nix/omp-tests.nix { inherit roundabout; };
e50aca5650c2atagen2026-09-27 03:59 UTC67
          clippy = roundabout.overrideAttrs (old: {
e50aca5650c2atagen2026-09-27 03:59 UTC68
            pname = "roundabout-clippy";
e50aca5650c2atagen2026-09-27 03:59 UTC69
            nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.clippy ];
e50aca5650c2atagen2026-09-27 03:59 UTC70
            buildPhase = ''
e50aca5650c2atagen2026-09-27 03:59 UTC71
              runHook preBuild
e50aca5650c2atagen2026-09-27 03:59 UTC72
              cargo clippy --offline --all-targets -- -D warnings
e50aca5650c2atagen2026-09-27 03:59 UTC73
              runHook postBuild
e50aca5650c2atagen2026-09-27 03:59 UTC74
            '';
e50aca5650c2atagen2026-09-27 03:59 UTC75
            doCheck = false;
e50aca5650c2atagen2026-09-27 03:59 UTC76
            installPhase = "touch $out";
e50aca5650c2atagen2026-09-27 03:59 UTC77
          });
e50aca5650c2atagen2026-09-27 03:59 UTC78
          fmt =
e50aca5650c2atagen2026-09-27 03:59 UTC79
            pkgs.runCommand "roundabout-fmt"
e50aca5650c2atagen2026-09-27 03:59 UTC80
              {
e50aca5650c2atagen2026-09-27 03:59 UTC81
                nativeBuildInputs = [
e50aca5650c2atagen2026-09-27 03:59 UTC82
                  pkgs.cargo
e50aca5650c2atagen2026-09-27 03:59 UTC83
                  pkgs.rustfmt
e50aca5650c2atagen2026-09-27 03:59 UTC84
                ];
e50aca5650c2atagen2026-09-27 03:59 UTC85
              }
e50aca5650c2atagen2026-09-27 03:59 UTC86
              ''
e50aca5650c2atagen2026-09-27 03:59 UTC87
                cd ${self}
e50aca5650c2atagen2026-09-27 03:59 UTC88
                cargo fmt --check
e50aca5650c2atagen2026-09-27 03:59 UTC89
                touch $out
e50aca5650c2atagen2026-09-27 03:59 UTC90
              '';
e50aca5650c2atagen2026-09-27 03:59 UTC91
        }
e50aca5650c2atagen2026-09-27 03:59 UTC92
      );
e50aca5650c2atagen2026-09-27 03:59 UTC93
    };
e50aca5650c2atagen2026-09-27 03:59 UTC94
}