envhub_hm/init.rs
1use std::process::{Command, Stdio};
2
3use anyhow::Error;
4
5use crate::nix;
6
7pub fn home_manager_init() -> Result<(), Error> {
8 nix::install()?;
9 let mut child = Command::new("sh")
10 .arg("-c")
11 .arg("[ ! -d ~/.envhub/home-manager ] && nix run home-manager/master -- init ~/.envhub/home-manager")
12 .stdin(Stdio::inherit())
13 .stdout(Stdio::inherit())
14 .stderr(Stdio::inherit())
15 .spawn()?;
16
17 child.wait()?;
18
19 Ok(())
20}