mirror of
https://github.com/RGBCube/ncc
synced 2025-09-13 01:27:56 +00:00
28 lines
966 B
Diff
28 lines
966 B
Diff
diff --git i/src/darwin.rs w/src/darwin.rs
|
|
index 64cdbd5..8bd337c 100644
|
|
--- i/src/darwin.rs
|
|
+++ w/src/darwin.rs
|
|
@@ -46,7 +46,7 @@ impl DarwinRebuildArgs {
|
|
fn rebuild(self, variant: &DarwinRebuildVariant) -> Result<()> {
|
|
use DarwinRebuildVariant::{Build, Switch};
|
|
|
|
- if nix::unistd::Uid::effective().is_root() {
|
|
+ if nix::unistd::Uid::effective().is_root() && !self.bypass_root_check {
|
|
bail!("Don't run nh os as root. I will call sudo internally as needed");
|
|
}
|
|
|
|
diff --git i/src/interface.rs w/src/interface.rs
|
|
index a7e199c..fc63b10 100644
|
|
--- i/src/interface.rs
|
|
+++ w/src/interface.rs
|
|
@@ -595,6 +595,10 @@ pub struct DarwinRebuildArgs {
|
|
/// Extra arguments passed to nix build
|
|
#[arg(last = true)]
|
|
pub extra_args: Vec<String>,
|
|
+
|
|
+ /// Don't panic if calling nh as root
|
|
+ #[arg(short = 'R', long, env = "NH_BYPASS_ROOT_CHECK")]
|
|
+ pub bypass_root_check: bool,
|
|
}
|
|
|
|
impl DarwinRebuildArgs {
|