From 8cf4d1fc875d661bfc0fea64ec427e1a6a37a2c4 Mon Sep 17 00:00:00 2001 From: Webmaster Date: Wed, 11 Mar 2026 17:06:27 +1100 Subject: [PATCH] lalala --- .devenv.flake.nix | 28 ++++++++++++++-------------- flake.nix | 3 ++- registry/src/main.rs | 10 ++++++---- src/runtime/builtins/random.rs | 16 ---------------- 4 files changed, 22 insertions(+), 35 deletions(-) diff --git a/.devenv.flake.nix b/.devenv.flake.nix index 5c36ea9..61ad55d 100644 --- a/.devenv.flake.nix +++ b/.devenv.flake.nix @@ -2,22 +2,22 @@ inputs = let vars = { - version = "1.11.2"; + version = "1.11.1"; system = "x86_64-linux"; - devenv_root = "/home/flora/Projects/loft"; - project_input_ref = "path:/home/flora/Projects/loft"; - devenv_dotfile = "/home/flora/Projects/loft/.devenv"; + devenv_root = "/nixos-config/services/loft"; + project_input_ref = "path:/nixos-config/services/loft"; + devenv_dotfile = "/nixos-config/services/loft/.devenv"; devenv_dotfile_path = ./.devenv; devenv_tmpdir = "/run/user/1000"; - devenv_runtime = "/run/user/1000/devenv-85aefbd"; + devenv_runtime = "/run/user/1000/devenv-4e329cf"; devenv_istesting = false; devenv_direnvrc_latest_version = 1; container_name = null; active_profiles = [ ]; - hostname = "floramobile"; + hostname = "imflopet"; username = "flora"; - git_root = "/home/flora/Projects/loft"; + git_root = "/nixos-config/services/loft"; secretspec = null; }; in @@ -39,22 +39,22 @@ { nixpkgs, ... }@inputs: let vars = { - version = "1.11.2"; + version = "1.11.1"; system = "x86_64-linux"; - devenv_root = "/home/flora/Projects/loft"; - project_input_ref = "path:/home/flora/Projects/loft"; - devenv_dotfile = "/home/flora/Projects/loft/.devenv"; + devenv_root = "/nixos-config/services/loft"; + project_input_ref = "path:/nixos-config/services/loft"; + devenv_dotfile = "/nixos-config/services/loft/.devenv"; devenv_dotfile_path = ./.devenv; devenv_tmpdir = "/run/user/1000"; - devenv_runtime = "/run/user/1000/devenv-85aefbd"; + devenv_runtime = "/run/user/1000/devenv-4e329cf"; devenv_istesting = false; devenv_direnvrc_latest_version = 1; container_name = null; active_profiles = [ ]; - hostname = "floramobile"; + hostname = "imflopet"; username = "flora"; - git_root = "/home/flora/Projects/loft"; + git_root = "/nixos-config/services/loft"; secretspec = null; }; devenv = diff --git a/flake.nix b/flake.nix index 4ad6b9b..cbba88f 100644 --- a/flake.nix +++ b/flake.nix @@ -30,7 +30,8 @@ ]; in pkgs.writeShellScriptBin "loft-serve" '' - export PATH="${lib.makeBinPath runtimeDeps}:$PATH" + export PATH="${lib.makeBinPath runtimeDeps}:${loftPkg}/bin:$PATH" + export LOFT_BIN="${loftPkg}/bin/loft" export SHELL="${pkgs.bash}/bin/bash" export CC="cc" diff --git a/registry/src/main.rs b/registry/src/main.rs index 2f84148..708e5d5 100644 --- a/registry/src/main.rs +++ b/registry/src/main.rs @@ -88,6 +88,7 @@ struct AppState { storage_dir: String, oauth_client: LoftOauthClient, jwt_secret: String, + loft_bin: String, } impl AppState { @@ -118,6 +119,7 @@ impl AppState { storage_dir, oauth_client, jwt_secret: std::env::var("JWT_SECRET").unwrap_or_else(|_| "secret".to_string()), + loft_bin: std::env::var("LOFT_BIN").unwrap_or_else(|_| "loft".to_string()), } } @@ -623,7 +625,7 @@ async fn publish_package( fs::create_dir_all(&docs_output).map_err(|_| StatusCode::INTERNAL_SERVER_ERROR)?; // Run loft doc command from extracted directory - let doc_result = std::process::Command::new("loft") + let doc_result = std::process::Command::new(&state.loft_bin) .arg("doc") .arg("-o") .arg(&docs_output) @@ -646,7 +648,7 @@ async fn publish_package( ); } Err(e) => { - eprintln!("! Could not run doc generator: {}", e); + eprintln!("! Could not run doc generator (LOFT_BIN='{}'): {}", state.loft_bin, e); } } @@ -728,7 +730,7 @@ async fn main() { let mut archive = Archive::new(gz); if archive.unpack(&temp_extract_dir).is_ok() { fs::create_dir_all(&docs_dir).ok(); - let doc_result = std::process::Command::new("loft") + let doc_result = std::process::Command::new(&state.loft_bin) .arg("doc") .arg("-o") .arg(&docs_dir) @@ -742,7 +744,7 @@ async fn main() { eprintln!("⚠ Startup: Doc gen failed for {}@{}: {}", package_name, version, String::from_utf8_lossy(&output.stderr)); } Err(e) => { - eprintln!("⚠ Startup: Could not run doc generator: {}", e); + eprintln!("⚠ Startup: Could not run doc generator (LOFT_BIN='{}'): {}", state.loft_bin, e); } } } diff --git a/src/runtime/builtins/random.rs b/src/runtime/builtins/random.rs index 08e5034..40405f5 100644 --- a/src/runtime/builtins/random.rs +++ b/src/runtime/builtins/random.rs @@ -228,20 +228,4 @@ mod tests { _ => panic!("Expected array"), } } - - #[test] - fn test_random_seed_reproducibility() { - random_seed(&Value::Unit, &[Value::Number(Decimal::from(42))]).unwrap(); - let r1 = random_random(&Value::Unit, &[]).unwrap(); - - random_seed(&Value::Unit, &[Value::Number(Decimal::from(42))]).unwrap(); - let r2 = random_random(&Value::Unit, &[]).unwrap(); - - match (r1, r2) { - (Value::Number(n1), Value::Number(n2)) => { - assert_eq!(n1, n2); - } - _ => panic!("Expected numbers"), - } - } }