atagen

vineyard

public
Star0
Watch0
ssh://brewery@pls.lobotomise.me:33/atagen/vineyard.git

Blame: flake.nix

25d14e49ab68atagen2026-09-24 11:07 UTC1
{
25d14e49ab68atagen2026-09-24 11:07 UTC2
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/2c423e03bbafcff28bfadc6781a4a8257f205cb5";
25d14e49ab68atagen2026-09-24 11:07 UTC3
  outputs = { self, nixpkgs }: let
25d14e49ab68atagen2026-09-24 11:07 UTC4
    systems = [ "x86_64-linux" "aarch64-linux" ];
25d14e49ab68atagen2026-09-24 11:07 UTC5
    forAllSystems = nixpkgs.lib.genAttrs systems;
25d14e49ab68atagen2026-09-24 11:07 UTC6
    packageFor = system: let
25d14e49ab68atagen2026-09-24 11:07 UTC7
      pkgs = nixpkgs.legacyPackages.${system};
25d14e49ab68atagen2026-09-24 11:07 UTC8
    in pkgs.rustPlatform.buildRustPackage {
25d14e49ab68atagen2026-09-24 11:07 UTC9
      pname = "vineyard";
25d14e49ab68atagen2026-09-24 11:07 UTC10
      version = "0.1.0";
25d14e49ab68atagen2026-09-24 11:07 UTC11
      src = pkgs.lib.cleanSourceWith {
25d14e49ab68atagen2026-09-24 11:07 UTC12
        src = ./.;
25d14e49ab68atagen2026-09-24 11:07 UTC13
        filter = path: type:
25d14e49ab68atagen2026-09-24 11:07 UTC14
          pkgs.lib.cleanSourceFilter path type
25d14e49ab68atagen2026-09-24 11:07 UTC15
          && !(type == "directory" && builtins.elem (builtins.baseNameOf path) [ "target" ".jj" ".git" ]);
25d14e49ab68atagen2026-09-24 11:07 UTC16
      };
25d14e49ab68atagen2026-09-24 11:07 UTC17
      cargoLock.lockFile = ./Cargo.lock;
25d14e49ab68atagen2026-09-24 11:07 UTC18
      doCheck = true;
25d14e49ab68atagen2026-09-24 11:07 UTC19
    };
25d14e49ab68atagen2026-09-24 11:07 UTC20
  in {
25d14e49ab68atagen2026-09-24 11:07 UTC21
    nixosModules.default = import ./nix/module.nix self;
25d14e49ab68atagen2026-09-24 11:07 UTC22
    nixosModules.vineyard = self.nixosModules.default;
25d14e49ab68atagen2026-09-24 11:07 UTC23
    packages = forAllSystems (system: {
25d14e49ab68atagen2026-09-24 11:07 UTC24
      default = packageFor system;
25d14e49ab68atagen2026-09-24 11:07 UTC25
      vineyard = packageFor system;
25d14e49ab68atagen2026-09-24 11:07 UTC26
    });
25d14e49ab68atagen2026-09-24 11:07 UTC27
    checks = forAllSystems (system: {
25d14e49ab68atagen2026-09-24 11:07 UTC28
      vineyard = packageFor system;
25d14e49ab68atagen2026-09-24 11:07 UTC29
    });
25d14e49ab68atagen2026-09-24 11:07 UTC30
    devShells = forAllSystems (system: let
25d14e49ab68atagen2026-09-24 11:07 UTC31
      pkgs = nixpkgs.legacyPackages.${system};
25d14e49ab68atagen2026-09-24 11:07 UTC32
    in {
25d14e49ab68atagen2026-09-24 11:07 UTC33
      default = pkgs.mkShell {
25d14e49ab68atagen2026-09-24 11:07 UTC34
        packages = with pkgs; [ cargo rustc rustfmt clippy pkg-config ];
25d14e49ab68atagen2026-09-24 11:07 UTC35
      };
25d14e49ab68atagen2026-09-24 11:07 UTC36
    });
25d14e49ab68atagen2026-09-24 11:07 UTC37
  };
25d14e49ab68atagen2026-09-24 11:07 UTC38
}