3 Commits
Author SHA1 Message Date
flowey 8551b8ad90 try and fix deployment
diff-tag / dix (push) Successful in 6m40s
flake-check / flake-check (push) Successful in 4m26s
lint / lint (push) Failing after 1m49s
2026-09-17 10:35:22 -05:00
floweyandFloweynt c26a1fde31 bug: fix autodeploy generation naming (#12)
lint / lint (push) Canceled after 0s
diff-tag / dix (push) Successful in 6m29s
flake-check / flake-check (push) Canceled after 13s
Co-authored-by: Floweynt <server-n0@mail.floweytf.com>
Reviewed-on: #12
2026-09-17 06:32:05 +00:00
flowey e5e4ac5e7f misc: format
diff-tag / dix (push) Successful in 6m1s
lint / lint (push) Successful in 1m46s
flake-check / flake-check (push) Successful in 49s
2026-09-17 00:28:52 -05:00
6 changed files with 31 additions and 11 deletions
+2 -8
View File
@@ -5,6 +5,7 @@
hostInfo, hostInfo,
customPkgs, customPkgs,
flakeRev, flakeRev,
deployLabel,
... ...
}: }:
let let
@@ -62,14 +63,7 @@ in
time.timeZone = "UTC"; time.timeZone = "UTC";
system.stateVersion = "26.05"; system.stateVersion = "26.05";
system.nixos.label = system.nixos.label = if deployLabel != null then deployLabel else flakeRev;
let
labelFile = ./.nixos-label;
in
if builtins.pathExists labelFile then
lib.removeSuffix "\n" (builtins.readFile labelFile)
else
flakeRev;
nix = { nix = {
settings = { settings = {
Generated
+13
View File
@@ -1,5 +1,17 @@
{ {
"nodes": { "nodes": {
"deploy-label": {
"flake": false,
"locked": {
"path": "./misc/deploy-label",
"type": "path"
},
"original": {
"path": "./misc/deploy-label",
"type": "path"
},
"parent": []
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@@ -79,6 +91,7 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"deploy-label": "deploy-label",
"microvm": "microvm", "microvm": "microvm",
"mtce": "mtce", "mtce": "mtce",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
+10 -1
View File
@@ -7,6 +7,8 @@
mtce.inputs.nixpkgs.follows = "nixpkgs"; mtce.inputs.nixpkgs.follows = "nixpkgs";
microvm.url = "github:microvm-nix/microvm.nix"; microvm.url = "github:microvm-nix/microvm.nix";
microvm.inputs.nixpkgs.follows = "nixpkgs"; microvm.inputs.nixpkgs.follows = "nixpkgs";
deploy-label.url = "path:./misc/deploy-label";
deploy-label.flake = false;
}; };
outputs = outputs =
@@ -15,6 +17,7 @@
nixpkgs, nixpkgs,
mtce, mtce,
microvm, microvm,
deploy-label,
... ...
}: }:
let let
@@ -23,6 +26,12 @@
pkgs = import nixpkgs { inherit system; }; pkgs = import nixpkgs { inherit system; };
flakeRev = self.shortRev or self.dirtyShortRev or "unknown"; flakeRev = self.shortRev or self.dirtyShortRev or "unknown";
deployLabel =
let
labelFile = "${deploy-label}/label";
raw = lib.removeSuffix "\n" (builtins.readFile labelFile);
in
if raw != "" then raw else null;
customPkgs = { customPkgs = {
hopper-rs = pkgs.callPackage ./packages/hopper-rs.nix { }; hopper-rs = pkgs.callPackage ./packages/hopper-rs.nix { };
@@ -56,7 +65,7 @@
specialArgsFor = hostName: { specialArgsFor = hostName: {
hostInfo = hostInfoFor hostName; hostInfo = hostInfoFor hostName;
inherit inputs customPkgs flakeRev; inherit inputs customPkgs flakeRev deployLabel;
}; };
hostDefFor = hostDefFor =
View File
+1 -1
View File
@@ -38,7 +38,7 @@ in
type = lib.types.listOf lib.types.str; type = lib.types.listOf lib.types.str;
default = [ ]; default = [ ];
}; };
repoOwner = lib.mkOption { repoOwner = lib.mkOption {
type = lib.types.str; type = lib.types.str;
description = "User that owns the configuration checkout"; description = "User that owns the configuration checkout";
+5 -1
View File
@@ -48,13 +48,17 @@ runas git tag -v "$latest" || {
sha=$(runas git rev-list -1 "$latest") sha=$(runas git rev-list -1 "$latest")
report_status "pending" "deploying $latest" "$sha" report_status "pending" "deploying $latest" "$sha"
label_dir=$(mktemp -d)
echo "$latest" > "$label_dir/label"
flake_url="git+${GITEA_URL}/${GITEA_REPO}?ref=refs/tags/${latest}&rev=${sha}#$HOSTNAME" flake_url="git+${GITEA_URL}/${GITEA_REPO}?ref=refs/tags/${latest}&rev=${sha}#$HOSTNAME"
if nixos-rebuild switch --flake "$flake_url"; then if nixos-rebuild switch --flake "$flake_url" --override-input deploy-label "path:$label_dir"; then
rm -rf "$label_dir"
echo "$latest" > "$STATE_DIR/tag" echo "$latest" > "$STATE_DIR/tag"
report_status "success" "deployed $latest" "$sha" report_status "success" "deployed $latest" "$sha"
echo "deployed $latest" echo "deployed $latest"
else else
rm -rf "$label_dir"
report_status "failure" "nixos-rebuild failed" "$sha" report_status "failure" "nixos-rebuild failed" "$sha"
exit 1 exit 1
fi fi