chore: adds docker flake output and some utility commands
All checks were successful
gitea-physics/kalpa/pipeline/head This commit looks good
All checks were successful
gitea-physics/kalpa/pipeline/head This commit looks good
This commit is contained in:
parent
c331bc057f
commit
4d2d865e9d
53
flake.nix
53
flake.nix
@ -13,30 +13,66 @@
|
|||||||
let
|
let
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
poetry2nix = poetry2nixSrc.lib.mkPoetry2Nix { inherit pkgs; };
|
poetry2nix = poetry2nixSrc.lib.mkPoetry2Nix { inherit pkgs; };
|
||||||
kalpaApp = poetry2nix.mkPoetryApplication {
|
kalpaaApp = poetry2nix.mkPoetryApplication {
|
||||||
projectDir = self;
|
projectDir = self;
|
||||||
python = pkgs.python39;
|
python = pkgs.python39;
|
||||||
preferWheels = true;
|
preferWheels = true;
|
||||||
};
|
};
|
||||||
kalpaEnv = poetry2nix.mkPoetryEnv {
|
kalpaaEnv = poetry2nix.mkPoetryEnv {
|
||||||
projectDir = self;
|
projectDir = self;
|
||||||
python = pkgs.python39;
|
python = pkgs.python39;
|
||||||
preferWheels = true;
|
preferWheels = true;
|
||||||
overrides = poetry2nix.overrides.withDefaults (self: super: {
|
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 {
|
in {
|
||||||
packages = {
|
packages = {
|
||||||
inherit kalpaEnv;
|
inherit kalpaaEnv;
|
||||||
inherit kalpaApp;
|
inherit kalpaaApp;
|
||||||
default = self.packages.${system}.kalpaEnv;
|
inherit kalpaa-docker-image;
|
||||||
|
default = self.packages.${system}.kalpaaEnv;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
inputsFrom = [ self.packages.${system}.kalpaEnv ];
|
inputsFrom = [ self.packages.${system}.kalpaaEnv ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
pkgs.poetry
|
pkgs.poetry
|
||||||
self.packages.${system}.kalpaEnv
|
self.packages.${system}.kalpaaEnv
|
||||||
self.packages.${system}.kalpaApp
|
self.packages.${system}.kalpaaApp
|
||||||
pkgs.just
|
pkgs.just
|
||||||
pkgs.nodejs
|
pkgs.nodejs
|
||||||
];
|
];
|
||||||
@ -44,6 +80,7 @@
|
|||||||
export DO_NIX_CUSTOM=1
|
export DO_NIX_CUSTOM=1
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
21
justfile
21
justfile
@ -70,3 +70,24 @@ release version="":
|
|||||||
|
|
||||||
# htmlcov:
|
# htmlcov:
|
||||||
# poetry run pytest --cov-report=html
|
# poetry run pytest --cov-report=html
|
||||||
|
|
||||||
|
# build docker image
|
||||||
|
build-container:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euxo pipefail
|
||||||
|
nix build .#kalpaa-docker-image
|
||||||
|
|
||||||
|
# load the image into docker
|
||||||
|
load-container:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euxo pipefail
|
||||||
|
docker load < result
|
||||||
|
|
||||||
|
# build and load in one step
|
||||||
|
build-load-container: build-container load-container
|
||||||
|
echo "Image loaded successfully!"
|
||||||
|
|
||||||
|
exec-container:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euxo pipefail
|
||||||
|
docker run -it -v $(pwd)/kalpaa.toml:/workspace/kalpaa.toml -v $(pwd)/dots.json:/workspace/dots.json -v $(pwd)/indexes.json:/workspace/indexes.json kalpaa /bin/bash
|
||||||
|
Loading…
x
Reference in New Issue
Block a user