My nix-darwin and NixOS config
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(darwin): use folder syntax for dock entries, add brew verbose flag

nix-darwin generates _CFURLStringType = 0 for plain string/app entries
which breaks on macOS 15+ — folder syntax emits the correct type 15 with
file:// prefix. Also add --verbose to onActivation so cask failures
surface during darwin-rebuild instead of being silently swallowed.

+31 -19
+14 -2
modules/darwin/homebrew.nix
··· 10 10 # those that declare auto_updates or version :latest. 11 11 makeGreedy = 12 12 cask: 13 - if builtins.isString cask then { name = cask; greedy = true; } else cask // { greedy = true; }; 13 + if builtins.isString cask then 14 + { 15 + name = cask; 16 + greedy = true; 17 + } 18 + else 19 + cask // { greedy = true; }; 14 20 in 15 21 { 16 22 # Clear stale Homebrew download lock files (.incomplete) that accumulate ··· 25 31 26 32 # Homebrew configuration — all values driven from myConfig.darwin.homebrew 27 33 homebrew = { 28 - inherit (cfg.darwin.homebrew) enable taps brews masApps; 34 + inherit (cfg.darwin.homebrew) 35 + enable 36 + taps 37 + brews 38 + masApps 39 + ; 29 40 casks = map makeGreedy cfg.darwin.homebrew.casks; 30 41 31 42 onActivation = { 32 43 autoUpdate = true; 33 44 upgrade = true; 34 45 cleanup = "uninstall"; 46 + extraFlags = [ "--verbose" ]; 35 47 }; 36 48 }; 37 49 }
+17 -17
settings/darwin/default.nix
··· 36 36 # Apps managed by home-manager live in ~/Applications/Home Manager Apps/. 37 37 persistent-apps = [ 38 38 # ── Communication ───────────────────────────────────────────── 39 - "/System/Applications/Mail.app" 40 - "/Applications/WhatsApp.app" 41 - "/System/Applications/Messages.app" 42 - "/System/Applications/FaceTime.app" 43 - "/System/Applications/Phone.app" 44 - "/System/Applications/iPhone Mirroring.app" 45 - "/Applications/Signal.app" 46 - "/Applications/Element.app" 47 - "/Applications/Discord.app" 39 + { folder = "/System/Applications/Mail.app"; } 40 + { folder = "/Applications/WhatsApp.app"; } 41 + { folder = "/System/Applications/Messages.app"; } 42 + { folder = "/System/Applications/FaceTime.app"; } 43 + { folder = "/System/Applications/Phone.app"; } 44 + { folder = "/System/Applications/iPhone Mirroring.app"; } 45 + { folder = "/Applications/Signal.app"; } 46 + { folder = "/Applications/Element.app"; } 47 + { folder = "/Applications/Discord.app"; } 48 48 # ── Productivity ─────────────────────────────────────────────── 49 - "/System/Applications/Calendar.app" 50 - "/System/Applications/Reminders.app" 51 - "/Applications/Obsidian.app" 52 - "/Users/ewan/Applications/Home Manager Apps/Visual Studio Code.app" 53 - "/Applications/Claude.app" 49 + { folder = "/System/Applications/Calendar.app"; } 50 + { folder = "/System/Applications/Reminders.app"; } 51 + { folder = "/Applications/Obsidian.app"; } 52 + { folder = "/Users/ewan/Applications/Home Manager Apps/Visual Studio Code.app"; } 53 + { folder = "/Applications/Claude.app"; } 54 54 # ── Media ───────────────────────────────────────────── 55 - "/Applications/Spotify.app" 56 - "/Applications/Firefox.app" 55 + { folder = "/Applications/Spotify.app"; } 56 + { folder = "/Applications/Firefox.app"; } 57 57 # ── System ───────────────────────────────────────────────────── 58 - "/Users/ewan/Applications/Home Manager Apps/Ghostty.app" 58 + { folder = "/Users/ewan/Applications/Home Manager Apps/Ghostty.app"; } 59 59 ]; 60 60 }; 61 61