All checks were successful
gitea-physics/kalpa/pipeline/head This commit looks good
87 lines
1.8 KiB
Nix
87 lines
1.8 KiB
Nix
{
|
|
description = "Application packaged using poetry2nix";
|
|
|
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs";
|
|
inputs.poetry2nixSrc = {
|
|
url = "github:nix-community/poetry2nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils, poetry2nixSrc }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
poetry2nix = poetry2nixSrc.lib.mkPoetry2Nix { inherit pkgs; };
|
|
kalpaaApp = poetry2nix.mkPoetryApplication {
|
|
projectDir = self;
|
|
python = pkgs.python39;
|
|
preferWheels = true;
|
|
};
|
|
kalpaaEnv = poetry2nix.mkPoetryEnv {
|
|
projectDir = self;
|
|
python = pkgs.python39;
|
|
preferWheels = true;
|
|
overrides = poetry2nix.overrides.withDefaults (self: super: {
|
|
});
|
|
};
|
|
kalpaa-docker-image = pkgs.dockerTools.buildLayeredImage {
|
|
name = "kalpaa";
|
|
tag = "latest";
|
|
|
|
|
|
contents = [
|
|
|
|
# some stuff that dockertools provides?
|
|
# pkgs.dockerTools.usrBinEnv
|
|
# pkgs.dockerTools.binSh
|
|
# pkgs.dockerTools.caCertificates
|
|
# pkgs.dockerTools.fakeNss
|
|
|
|
pkgs.bash
|
|
pkgs.coreutils
|
|
# pkgs.cacert
|
|
# pkgs.gnutar
|
|
# pkgs.gzip
|
|
# pkgs.gnused
|
|
# pkgs.gnugrep
|
|
pkgs.uv
|
|
kalpaaApp
|
|
|
|
];
|
|
|
|
config = {
|
|
Cmd = [ "/bin/bash" ];
|
|
Env = [
|
|
"PATH=/bin"
|
|
];
|
|
WorkingDir = "/workspace";
|
|
};
|
|
};
|
|
in {
|
|
packages = {
|
|
inherit kalpaaEnv;
|
|
inherit kalpaaApp;
|
|
inherit kalpaa-docker-image;
|
|
default = self.packages.${system}.kalpaaEnv;
|
|
};
|
|
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
inputsFrom = [ self.packages.${system}.kalpaaEnv ];
|
|
buildInputs = [
|
|
pkgs.poetry
|
|
self.packages.${system}.kalpaaEnv
|
|
self.packages.${system}.kalpaaApp
|
|
pkgs.just
|
|
pkgs.nodejs
|
|
];
|
|
shellHook = ''
|
|
export DO_NIX_CUSTOM=1
|
|
'';
|
|
};
|
|
|
|
}
|
|
);
|
|
}
|