From cecb47ceb9ea3b3eea502211247fd47fd0d988b8 Mon Sep 17 00:00:00 2001 From: mikl Date: Mon, 29 Jun 2026 00:43:51 +0300 Subject: [PATCH] fix: add homebrew config to prevent cask deletion --- hosts/poppy/default.nix | 173 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 170 insertions(+), 3 deletions(-) diff --git a/hosts/poppy/default.nix b/hosts/poppy/default.nix index 8ba1668..17e0f33 100644 --- a/hosts/poppy/default.nix +++ b/hosts/poppy/default.nix @@ -1,11 +1,10 @@ -{ pkgs, ... }: -{ +{ pkgs, ... }: { networking.hostName = "poppy"; # Allow unfree packages (some macOS-ported tools need it) nixpkgs.config.allowUnfree = true; - system.primaryUser = "mikl"; + system.primaryUser = "michaotic"; # nix settings nix.settings.experimental-features = [ @@ -22,6 +21,174 @@ pkgs.vim ]; + # Homebrew - CRITICAL: cleanup = "zap" means unused casks get removed! + homebrew.enable = true; + homebrew.onActivation.cleanup = "zap"; + + homebrew.taps = [ + "tw93/tap" + "typewhisper/tap" + ]; + + homebrew.brews = [ + "kew" + "mole" + ]; + + homebrew.casks = [ + "google-chrome" + "google-drive" + "krishkrosh/apps/trackweight" + "bitwarden" + "marta" + "vscodium" + "github" + "docker-desktop" + "ollama-app" + "opencode-desktop" + "microsoft-word" + "microsoft-excel" + "microsoft-powerpoint" + "obsidian" + "anki" + "calibre" + "telegram" + "maccy" + "mos" + "caffeine" + "typewhisper/tap/typewhisper" + "lunacy" + "skim" + ]; + + # System defaults + system.defaults = { + NSGlobalDomain.AppleInterfaceStyle = "Dark"; + NSGlobalDomain._HIHideMenuBar = false; + + CustomUserPreferences = { + "com.apple.HIToolbox" = { + AppleEnabledInputSources = [ + { + InputSourceKind = "Keyboard Layout"; + "KeyboardLayout ID" = 0; + "KeyboardLayout Name" = "U.S."; + } + { + "Bundle ID" = "com.apple.CharacterPaletteIM"; + InputSourceKind = "Non Keyboard Input Method"; + } + { + InputSourceKind = "Keyboard Layout"; + "KeyboardLayout ID" = 19456; + "KeyboardLayout Name" = "Russian"; + } + ]; + AppleSelectedInputSources = [ + { + InputSourceKind = "Keyboard Layout"; + "KeyboardLayout ID" = 0; + "KeyboardLayout Name" = "U.S."; + } + ]; + }; + + "com.apple.symbolichotkeys".AppleSymbolicHotKeys = { + "28" = { + enabled = 1; + value = { + type = "standard"; + parameters = [ 51 20 1441792 ]; + }; + }; + "29" = { + enabled = 1; + value = { + type = "standard"; + parameters = [ 51 20 1179648 ]; + }; + }; + "30" = { + enabled = 1; + value = { + type = "standard"; + parameters = [ 52 21 1441792 ]; + }; + }; + "31" = { + enabled = 1; + value = { + type = "standard"; + parameters = [ 52 21 1179648 ]; + }; + }; + }; + + "NSGlobalDomain" = { + "AppleMenuBarVisibleInFullscreen" = true; + }; + }; + + controlcenter = { + BatteryShowPercentage = true; + }; + + trackpad = { + Clicking = true; + TrackpadThreeFingerDrag = false; + TrackpadRightClick = true; + }; + + finder = { + AppleShowAllExtensions = true; + ShowPathbar = true; + ShowStatusBar = true; + FXPreferredViewStyle = "clmv"; + NewWindowTarget = "Home"; + ShowExternalHardDrivesOnDesktop = false; + ShowHardDrivesOnDesktop = false; + FXEnableExtensionChangeWarning = false; + _FXShowPosixPathInTitle = true; + }; + + dock = { + tilesize = 48; + largesize = 64; + magnification = true; + orientation = "bottom"; + mineffect = "scale"; + autohide = true; + autohide-time-modifier = 0.8; + show-recents = false; + show-process-indicators = true; + static-only = false; + wvous-tl-corner = 1; + wvous-tr-corner = 4; + wvous-bl-corner = 1; + wvous-br-corner = 1; + persistent-apps = [ + "/System/Applications/System Settings.app" + "/Applications/Google Chrome.app" + "/System/Applications/Mail.app" + "/Applications/Telegram.app" + "/System/Applications/Calendar.app" + "/Applications/Obsidian.app" + "/Applications/VSCodium.app" + "/Users/michaotic/Applications/Home Manager Apps/kitty.app" + "/System/Applications/Books.app" + "/System/Applications/QuickTime Player.app" + ]; + }; + }; + + system.activationScripts.postActivation.text = '' + echo "Restarting Dock..." + sudo -u michaotic /usr/bin/killall Dock + ''; + + # Touch ID for sudo + security.pam.services.sudo_local.touchIdAuth = true; + system.stateVersion = 7; # Home-manager configuration specific to poppy