nix-config/hosts/poppy/default.nix

54 lines
1.5 KiB
Nix

{ 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";
};
};
}