{ pkgs, ... }: { imports = [ ./homebrew.nix ./system.nix ]; networking.hostName = "poppy"; system.primaryUser = "michaotic"; system.stateVersion = 7; nixpkgs.config.allowUnfree = true; nix.enable = false; users.users.michaotic = { home = "/Users/michaotic"; shell = pkgs.zsh; }; environment.systemPackages = [ pkgs.vim ]; # Apply default apps via duti on activation system.activationScripts.defaultApps.text = '' if [ -f "/Users/michaotic/.config/duti/config" ]; then ${pkgs.duti}/bin/duti -d /Users/michaotic/.config/duti/config || true fi ''; # Configure MarkEdit settings via jq system.activationScripts.markeditSettings.text = let settingsFile = "/Users/michaotic/Library/Containers/app.cyan.markedit/Data/Documents/settings.json"; jqBin = "${pkgs.jq}/bin/jq"; in '' if [ -f "${settingsFile}" ]; then tmp=/tmp/markedit-settings-$$.json if ${jqBin} '. + { "extension.markeditThemeCatppuccin": { "enabledMode": "both", "lightTheme": "latte", "darkTheme": "mocha" } }' "${settingsFile}" > "$tmp" 2>/dev/null; then cp "$tmp" "${settingsFile}" chown michaotic:staff "${settingsFile}" fi rm -f "$tmp" fi ''; home-manager.users.michaotic = { imports = [ ../../home/kitty.nix ]; programs.zsh.shellAliases = { switch = "darwin-rebuild switch --flake .#poppy"; update = "nix flake update && darwin-rebuild switch --flake .#poppy"; cleanup = "nix-collect-garbage -d"; }; }; }