1
Fork 0
mirror of https://github.com/RGBCube/ncc synced 2025-07-31 12:07:48 +00:00

Compare commits

...

4 commits

Author SHA1 Message Date
86f136d9fd
rebuild: fix nh 2025-07-26 20:02:27 +03:00
c5f3572631
darwin.paperwm: fix gotospace 2025-07-26 19:35:12 +03:00
147b54eac1
rebuild: run with sudo 2025-07-26 13:34:59 +03:00
d8380f6c99
hammerspoon: move to xdg config dir 2025-07-26 05:20:08 +03:00
5 changed files with 41 additions and 7 deletions

View file

@ -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
];

View 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 {

View file

@ -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 = "";
}];
}

View file

@ -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)

View file

@ -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
}