diff --git a/flake.nix b/flake.nix index 1b39fbb..4494ace 100644 --- a/flake.nix +++ b/flake.nix @@ -221,6 +221,7 @@ after = ["network-online.target"]; wants = []; environment = environment_config; + path = with pkgs; [ git git-lfs ]; serviceConfig = { User = "${cfg.user}"; diff --git a/src/common/server_icon.rs b/src/common/server_icon.rs index abd0972..8592169 100644 --- a/src/common/server_icon.rs +++ b/src/common/server_icon.rs @@ -172,16 +172,22 @@ pub mod update_icon { let folder = format!("{}/open-governance", &config.home); if let Err(e) = Command::new("git") + match Command::new("git") // clone the repo, gracefully "fails" .arg("clone") .arg(url) .arg(&folder) .output() { - dbg!(e); + Err(e) => { + dbg!(e); + } + Ok(e) => { + dbg!(e); } if let Err(e) = Command::new("git") + match Command::new("git") // Update the repo .arg("pull") .arg("origin") @@ -189,7 +195,44 @@ pub mod update_icon { .current_dir(&folder) .output() { - dbg!(e); + Err(e) => { + dbg!(e); + } + Ok(e) => { + dbg!(e); + } + } + + match Command::new("git") + // Install LFS for the repo + .arg("lfs") + .arg("install") + .current_dir(&folder) + .output() + { + Err(e) => { + dbg!(e); + } + Ok(e) => { + dbg!(e); + } + } + + match Command::new("git") + // clone the repo, gracefully "fails" + .arg("lfs") + .arg("pull") + .arg("origin") + .arg("main") + .current_dir(&folder) + .output() + { + Err(e) => { + dbg!(e); + } + Ok(e) => { + dbg!(e); + } } }