diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-12-24 10:52:34 +0100 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-12-24 10:52:34 +0100 |
commit | 4802f7a68d515d78ae25988410d62c5dc1f8c8f4 (patch) | |
tree | 98de946773fb0073b3afc1144c8d64fbedcfecc7 /pkgs/by-name/ba/back/src/main.rs | |
parent | feat(hosts/server1): Configure back for the `nixos-server` repo (diff) | |
download | nixos-server-4802f7a68d515d78ae25988410d62c5dc1f8c8f4.tar.gz nixos-server-4802f7a68d515d78ae25988410d62c5dc1f8c8f4.zip |
feat(pkgs/back): Add a link to the source code
This is required by the AGPL license and should probably also be done, because we do not have a reason to hide or obfuscate the code.
Diffstat (limited to 'pkgs/by-name/ba/back/src/main.rs')
-rw-r--r-- | pkgs/by-name/ba/back/src/main.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/by-name/ba/back/src/main.rs b/pkgs/by-name/ba/back/src/main.rs index d0b0f81..86fe196 100644 --- a/pkgs/by-name/ba/back/src/main.rs +++ b/pkgs/by-name/ba/back/src/main.rs @@ -13,12 +13,14 @@ use std::{env::args, path::PathBuf, process, sync::OnceLock}; use gix::ThreadSafeRepository; use rocket::{launch, routes}; +use url::Url; use crate::issues::{closed, open, show_issue, styles}; mod issues; static REPOSITORY: OnceLock<ThreadSafeRepository> = OnceLock::new(); +static SOURCE_CODE_REPOSITORY: OnceLock<Url> = OnceLock::new(); #[launch] fn rocket() -> _ { @@ -31,6 +33,25 @@ fn rocket() -> _ { process::exit(1); } }; + let source_code_url = { + match std::env::var("BACK_SOURCE_CODE_REPOSITORY_URL") { + Ok(value) => match Url::parse(&value) { + Ok(url) => url, + Err(err) => { + eprintln!("Can't parse `BACK_SOURCE_CODE_REPOSITORY_URL` value as url: {err}"); + process::exit(1); + } + }, + Err(err) => { + eprintln!("back needs you to specify a source code repositiory as `BACK_SOURCE_CODE_REPOSITORY_URL`: {err}"); + process::exit(1); + } + } + }; + + SOURCE_CODE_REPOSITORY + .set(source_code_url) + .expect("This should be unset by this stage"); REPOSITORY .set( |