From 6be32f90c29879e156e6ca690cb5b90c1003c85c Mon Sep 17 00:00:00 2001 From: blake Date: Thu, 23 Apr 2026 19:04:14 -0500 Subject: [PATCH] macos working like a charm --- hosts/darwin/cen-it-07/configuration.nix | 45 ++++++---- hosts/darwin/default.nix | 100 ++++++++++++----------- modules/darwin/apps/default.nix | 25 +++--- modules/darwin/work/default.nix | 2 +- users/blake/hosts/cen-it-07.nix | 1 + 5 files changed, 98 insertions(+), 75 deletions(-) diff --git a/hosts/darwin/cen-it-07/configuration.nix b/hosts/darwin/cen-it-07/configuration.nix index 0082f8d..41d11c5 100644 --- a/hosts/darwin/cen-it-07/configuration.nix +++ b/hosts/darwin/cen-it-07/configuration.nix @@ -23,17 +23,6 @@ }; - # since darwin needs root now (will be removed in future) - system.primaryUser = "bhelderman"; - - power = { - sleep = { - computer = 30; - display = 5; - allowSleepByPowerButton = true; - }; - }; - # import home grown host specific home-manager modules home-manager.users.bhelderman.imports = [ ../../../users/blake/hosts/cen-it-07.nix @@ -61,14 +50,18 @@ nix-homebrew = { enable = true; # install homebrew enableRosetta = true; # install homebrew for rosetta as well - autoMigrate = true; +# autoMigrate = true; user = "bhelderman"; # user owning homebrew prefix }; homebrew = { enable = true; # removes anything in homebrew not explicitly specified - #onActivation.cleanup = "uninstall"; + onActivation = { + cleanup = "uninstall"; + autoUpdate = true; + upgrade = false; + }; brews = [ "mas" @@ -87,7 +80,31 @@ "testflight" = 899247664; }; }; + # for mas to not throw rebuild fit + system.activationScripts.masFix.text = '' + if command -v mas >/dev/null; then + for app in ${toString (map (id: builtins.toString id) (builtins.attrValues config.homebrew.masApps))}; do + if mas list | grep -q "$app"; then + echo "mas app $app already installed, skipping" + else + mas install "$app" + fi + done + fi + ''; + + # since darwin needs root now (will be removed in future) + system.primaryUser = "bhelderman"; + + power = { + sleep = { + computer = 30; + display = 5; + allowSleepByPowerButton = true; + }; + }; + + - system.stateVersion = 6; } diff --git a/hosts/darwin/default.nix b/hosts/darwin/default.nix index 237c549..cf05631 100644 --- a/hosts/darwin/default.nix +++ b/hosts/darwin/default.nix @@ -9,18 +9,65 @@ /* instructions for first time setup for macos here 1. install the nix package manager with: `sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install)` -2. xfer or git clone flake to ~/.nix -3. sign into icloud and by extension app store for mas -4. rename some shell rc files with `sudo mv /etc/bashrc /etc/bashrc.before-nix-darwin && sudo mv /etc/zshrc /etc/zshrc.before-nix-darwin` -5. install nix-darwin with: `nix run --extra-experimental-features "nix-command flakes" nix-darwin -- switch --flake ~/.nix#host` -6. nh should be installed now so enjoy and use `nh darwin switch` +2. install xcode tools with `xcode-select --install` +3. allow full disk access to terminal +4. xfer or git clone flake to ~/.nix +5. sign into icloud and by extension app store for mas +6. rename some shell rc files with `sudo mv /etc/bashrc /etc/bashrc.before-nix-darwin && sudo mv /etc/zshrc /etc/zshrc.before-nix-darwin` +7. install nix-darwin with: `nix run --extra-experimental-features "nix-command flakes" nix-darwin -- switch --flake ~/.nix#host` +8. nh should be installed now so enjoy and use `nh darwin switch` */ imports = [ ]; # general macos system settings + # base system package install list + environment.systemPackages = with pkgs; [ + wget + curl + rsync + git + age + fzf + usbutils + pciutils + python3 + vim + lf + btop + rectangle + pinentry_mac + ]; + + users.users.bhelderman = { + home = "/Users/bhelderman"; + # optional extras, e.g. shell, uid, etc. + }; + + # define home-manager user + home-manager = { + extraSpecialArgs = {inherit inputs;}; + backupFileExtension = "bak"; + useUserPackages = true; + useGlobalPkgs = false; + users = { + "bhelderman" = import ../../users/blake/home_darwin.nix; + }; + }; + + + # set timezone + time.timeZone = "America/Chicago"; + + # allow proprietary packages + nixpkgs.config.allowUnfree = true; + + # enable flakes + nix.settings.experimental-features = ["nix-command" "flakes"]; + system = { + stateVersion = 6; defaults = { trackpad = { Clicking = true; @@ -95,48 +142,5 @@ instructions for first time setup for macos here }; }; - # base system package install list - environment.systemPackages = with pkgs; [ - wget - curl - rsync - git - age - fzf - usbutils - pciutils - python3 - vim - lf - btop - rectangle - pinentry_mac - ]; - - users.users.bhelderman = { - home = "/Users/bhelderman"; - # optional extras, e.g. shell, uid, etc. - }; - - # define home-manager user - home-manager = { - extraSpecialArgs = {inherit inputs;}; - backupFileExtension = "bak"; - useUserPackages = true; - useGlobalPkgs = false; - users = { - "bhelderman" = import ../../users/blake/home_darwin.nix; - }; - }; - - - # set timezone - time.timeZone = "America/Chicago"; - - # allow proprietary packages - nixpkgs.config.allowUnfree = true; - - # enable flakes - nix.settings.experimental-features = ["nix-command" "flakes"]; } diff --git a/modules/darwin/apps/default.nix b/modules/darwin/apps/default.nix index b486df9..bc67973 100644 --- a/modules/darwin/apps/default.nix +++ b/modules/darwin/apps/default.nix @@ -20,25 +20,26 @@ in { homebrew = { brews = [ - ]; - casks = [ - "gnucash" - "utm" - "libreoffice" "iperf3" "nmap" "p7zip" "sl" "cowsay" ]; + casks = [ + "gnucash" + "utm" + "libreoffice" + "firefox" + ]; masApps = { - "pages" = 409201541; - "numbers" = 409203825; - "keynote" = 409183694; - "bitwarden" = 1352778147; - "darkreader" = 1438243180; - "ghostery" = 6504861501; - "privacy" = 6449850851; +# "pages" = 409201541; +# "numbers" = 409203825; +# "keynote" = 409183694; + # "bitwarden" = 1352778147; +# "darkreader" = 1438243180; +# "ghostery" = 6504861501; +# "privacy" = 6449850851; }; }; }; diff --git a/modules/darwin/work/default.nix b/modules/darwin/work/default.nix index 6ab3b1c..7c3d201 100644 --- a/modules/darwin/work/default.nix +++ b/modules/darwin/work/default.nix @@ -26,7 +26,7 @@ in { "microsoft-office" ]; masApps = { - "configurator" = 1168254295; +# "configurator" = 1168254295; }; }; diff --git a/users/blake/hosts/cen-it-07.nix b/users/blake/hosts/cen-it-07.nix index 675bd93..b3f14a0 100644 --- a/users/blake/hosts/cen-it-07.nix +++ b/users/blake/hosts/cen-it-07.nix @@ -26,6 +26,7 @@ in { xdg.enable = true; kitty.enable = true; + firefox.enable = true; };