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
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
poetry2nix = poetry2nixSrc.lib.mkPoetry2Nix { inherit pkgs; };
|
||||
kalpaApp = poetry2nix.mkPoetryApplication {
|
||||
kalpaaApp = poetry2nix.mkPoetryApplication {
|
||||
projectDir = self;
|
||||
python = pkgs.python39;
|
||||
preferWheels = true;
|
||||
};
|
||||
kalpaEnv = poetry2nix.mkPoetryEnv {
|
||||
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 kalpaEnv;
|
||||
inherit kalpaApp;
|
||||
default = self.packages.${system}.kalpaEnv;
|
||||
inherit kalpaaEnv;
|
||||
inherit kalpaaApp;
|
||||
inherit kalpaa-docker-image;
|
||||
default = self.packages.${system}.kalpaaEnv;
|
||||
};
|
||||
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
inputsFrom = [ self.packages.${system}.kalpaEnv ];
|
||||
inputsFrom = [ self.packages.${system}.kalpaaEnv ];
|
||||
buildInputs = [
|
||||
pkgs.poetry
|
||||
self.packages.${system}.kalpaEnv
|
||||
self.packages.${system}.kalpaApp
|
||||
self.packages.${system}.kalpaaEnv
|
||||
self.packages.${system}.kalpaaApp
|
||||
pkgs.just
|
||||
pkgs.nodejs
|
||||
];
|
||||
@ -44,6 +80,7 @@
|
||||
export DO_NIX_CUSTOM=1
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
);
|
||||
}
|
||||
|
21
justfile
21
justfile
@ -70,3 +70,24 @@ release version="":
|
||||
|
||||
# htmlcov:
|
||||
# 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