mirror of
https://github.com/RGBCube/ncc
synced 2025-07-31 12:07:48 +00:00
Compare commits
4 commits
b3af8158a7
...
86f136d9fd
Author | SHA1 | Date | |
---|---|---|---|
86f136d9fd | |||
c5f3572631 | |||
147b54eac1 | |||
d8380f6c99 |
5 changed files with 41 additions and 7 deletions
|
@ -54,7 +54,11 @@ in {
|
|||
nix.optimise.automatic = true;
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.nh
|
||||
(pkgs.nh.overrideAttrs (old: {
|
||||
patches = old.patches or [] ++ [
|
||||
./nh.patch
|
||||
];
|
||||
}))
|
||||
pkgs.nix-index
|
||||
pkgs.nix-output-monitor
|
||||
];
|
28
modules/common/nix/nh.patch
Normal file
28
modules/common/nix/nh.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
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 {
|
|
@ -1,5 +1,7 @@
|
|||
{
|
||||
system.defaults.CustomSystemPreferences."org.hammerspoon.Hammerspoon".MJConfigFile = "~/.config/hammerspoon/init.lua";
|
||||
|
||||
home-manager.sharedModules = [{
|
||||
home.file.".hammerspoon/init.lua".text = "";
|
||||
xdg.configFile."hammerspoon/init.lua".text = "";
|
||||
}];
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ in {
|
|||
};
|
||||
|
||||
home-manager.sharedModules = [{
|
||||
home.file.".hammerspoon/Spoons/PaperWM.spoon" = {
|
||||
xdg.configFile."hammerspoon/Spoons/PaperWM.spoon" = {
|
||||
recursive = true;
|
||||
|
||||
source = pkgs.fetchFromGitHub {
|
||||
|
@ -71,7 +71,7 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
home.file.".hammerspoon/Spoons/Swipe.spoon" = {
|
||||
xdg.configFile."hammerspoon/Spoons/Swipe.spoon" = {
|
||||
recursive = true;
|
||||
|
||||
source = pkgs.fetchFromGitHub {
|
||||
|
@ -82,7 +82,7 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
home.file.".hammerspoon/init.lua".text = mkAfter /* lua */ ''
|
||||
xdg.configFile."hammerspoon/init.lua".text = mkAfter /* lua */ ''
|
||||
---@type table
|
||||
_G.hs = _G.hs
|
||||
|
||||
|
@ -276,7 +276,7 @@ in {
|
|||
local button = hs.menubar.new()
|
||||
button:setTitle(hs.styledtext.new(title, attributes))
|
||||
button:setClickCallback(function()
|
||||
gotoSpace(space)
|
||||
gotoSpace(index)
|
||||
end)
|
||||
|
||||
table.insert(space_buttons, button)
|
||||
|
|
|
@ -60,7 +60,7 @@ def main --wrapped [
|
|||
] | append ($args_split | get --ignore-errors 1 | default [])
|
||||
|
||||
if (uname | get kernel-name) == "Darwin" {
|
||||
NH_BYPASS_ROOT_CHECK=true NH_NO_CHECKS=true nh darwin switch . ...$nh_flags -- ...$nix_flags
|
||||
sudo NH_BYPASS_ROOT_CHECK=true NH_NO_CHECKS=true nh darwin switch . ...$nh_flags -- ...$nix_flags
|
||||
} else {
|
||||
NH_BYPASS_ROOT_CHECK=true NH_NO_CHECKS=true nh os switch . ...$nh_flags -- ...$nix_flags
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue