vendorhash calc automation
This commit is contained in:
parent
e1909b04b2
commit
1321374a90
7 changed files with 40 additions and 52 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -1,2 +1,4 @@
|
|||
.direnv
|
||||
.env
|
||||
.env
|
||||
.storage
|
||||
result
|
22
default.nix
Normal file
22
default.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
pkgs ? import <nixpkgs> {},
|
||||
vendorHash ? "sha256-YRteL/3725Hm+fdXO+wPYX9nFNbdAHsAwCo3xuVPrwI=",
|
||||
}:
|
||||
rec {
|
||||
default = roleypoly;
|
||||
roleypoly = pkgs.buildGoModule {
|
||||
inherit vendorHash;
|
||||
name = "roleypoly";
|
||||
src = ./.;
|
||||
};
|
||||
container = pkgs.dockerTools.buildImage {
|
||||
name = "roleypoly/roleypoly";
|
||||
tag = "latest";
|
||||
copyToRoot = [
|
||||
pkgs.dockerTools.caCertificates
|
||||
];
|
||||
config = {
|
||||
Cmd = [ "${roleypoly}/bin/roleypoly" ];
|
||||
};
|
||||
};
|
||||
}
|
23
flake.nix
23
flake.nix
|
@ -8,29 +8,10 @@
|
|||
|
||||
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
systems = [ "x86_64-linux" "aarch64-linux" ];
|
||||
perSystem = { config, self', pkgs, lib, system, ... }: rec {
|
||||
perSystem = { config, self', pkgs, lib, system, ... }: {
|
||||
devShells.default = import ./shell.nix { inherit pkgs; };
|
||||
|
||||
packages = let
|
||||
vendorHash = "sha256-A5hZxo0zZ3w6qryV24PjYaKQatN2G2heyuee6QaU55M=";
|
||||
in rec {
|
||||
default = roleypoly;
|
||||
roleypoly = pkgs.buildGoModule {
|
||||
inherit vendorHash;
|
||||
name = "roleypoly";
|
||||
src = ./.;
|
||||
};
|
||||
container = pkgs.dockerTools.buildImage {
|
||||
name = "roleypoly/roleypoly";
|
||||
tag = "latest";
|
||||
copyToRoot = [
|
||||
pkgs.dockerTools.caCertificates
|
||||
];
|
||||
config = {
|
||||
Cmd = [ "${roleypoly}/bin/roleypoly" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
packages = import ./default.nix { inherit pkgs; };
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +1,4 @@
|
|||
package roleypoly
|
||||
|
||||
import "github.com/gofiber/fiber/v3/middleware/session"
|
||||
|
||||
type Roleypoly struct {
|
||||
SessionStore *session.Store
|
||||
}
|
||||
|
|
10
scripts/update-vendor-hash.sh
Executable file
10
scripts/update-vendor-hash.sh
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p nix -p coreutils -p gnused -p gawk
|
||||
|
||||
set -exuo pipefail
|
||||
|
||||
go mod tidy
|
||||
failedbuild=$(nix build --impure --expr '(with import <nixpkgs> {}; pkgs.callPackage ./. { vendorHash = ""; }).roleypoly' 2>&1 || true)
|
||||
echo "$failedbuild"
|
||||
checksum=$(echo "$failedbuild" | awk '/got:.*sha256/ { print $2 }')
|
||||
sed -i -e "s|vendorHash ? \".*\"|vendorHash ? \"$checksum\"|" default.nix
|
29
shell.nix
29
shell.nix
|
@ -1,33 +1,8 @@
|
|||
{ pkgs ? import <nixpkgs> {} }: let
|
||||
podmanSetupScript = let
|
||||
registriesConf = pkgs.writeText "registries.conf" ''
|
||||
[registries.search]
|
||||
registries = ['docker.io']
|
||||
[registries.block]
|
||||
registries = []
|
||||
'';
|
||||
in pkgs.writeScript "podman-setup" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
# Dont overwrite customised configuration
|
||||
if ! test -f ~/.config/containers/policy.json; then
|
||||
install -Dm555 ${pkgs.skopeo.src}/default-policy.json ~/.config/containers/policy.json
|
||||
fi
|
||||
if ! test -f ~/.config/containers/registries.conf; then
|
||||
install -Dm555 ${registriesConf} ~/.config/containers/registries.conf
|
||||
fi
|
||||
'';
|
||||
|
||||
# Provides a fake "docker" binary mapping to podman
|
||||
dockerCompat = pkgs.runCommandNoCC "docker-podman-compat" {} ''
|
||||
mkdir -p $out/bin
|
||||
ln -s ${pkgs.podman}/bin/podman $out/bin/docker
|
||||
'';
|
||||
in pkgs.mkShell {
|
||||
{ pkgs ? import <nixpkgs> {} }: pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
go
|
||||
just
|
||||
docker-compose
|
||||
sqlite
|
||||
nil
|
||||
nix-prefetch
|
||||
];
|
||||
}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
package stores
|
Loading…
Add table
Reference in a new issue