diff --git a/hosts/poppy/default.nix b/hosts/poppy/default.nix index e69de29..44197bc 100644 --- a/hosts/poppy/default.nix +++ b/hosts/poppy/default.nix @@ -0,0 +1,54 @@ +{ 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"; + }; + }; +}