This commit is contained in:
2026-07-27 22:27:49 +09:00
parent ee0bd37915
commit 2a02beda38
7 changed files with 59 additions and 25 deletions
+4 -3
View File
@@ -24,6 +24,7 @@ when removing it from any supported host would make that host invalid.
| ------------------------------------ | ------------------------------------- |
| `base` | NixOS, macOS |
| `interface.cli` | NixOS, macOS with Home Manager |
| `interface.macos` | macOS |
| `interface.linux-desktop` | NixOS with Home Manager |
| `interface.gnome` | NixOS with Home Manager |
| `interface.niri` | NixOS with Home Manager |
@@ -46,9 +47,9 @@ when removing it from any supported host would make that host invalid.
Select independent concerns independently in `hosts/default.nix`. For example,
a NixOS desktop can combine `interface.gnome` and `interface.niri` to provide
both sessions while sharing `interface.linux-desktop`; niri supplies ly. A
daily-use macOS development machine can add `workload.development` and
`workload.personal`. Hardware support does not implicitly select an interface
or workload.
daily-use macOS development machine can combine `interface.macos`,
`workload.development`, and `workload.personal`. Hardware support does not
implicitly select an interface or workload.
`security.tpm-storage` deliberately does not own a disk identifier. A host that
selects it must define `boot.initrd.luks.devices.cryptroot.device` in its
@@ -0,0 +1,8 @@
{
description = "macOS graphical interface defaults";
includes = [
"systems.dock"
"systems.trackpad"
];
}
+26
View File
@@ -0,0 +1,26 @@
{
lib,
primaryUser,
...
}:
{
system.defaults.dock = {
# Finder and Trash are managed by macOS and do not belong in this list.
persistent-apps = [
"/Applications/Google Chrome.app"
"/Users/${primaryUser}/Applications/Home Manager Apps/Zed.app"
"/Users/${primaryUser}/Applications/Home Manager Apps/Visual Studio Code.app"
"/Applications/Slack.app"
"/Applications/Vesktop.app"
"/Applications/Ghostty.app"
];
persistent-others = [ ];
show-recents = false;
};
# Homebrew installs casks after defaults are written. Refresh the Dock only
# after both Homebrew and Home Manager have finished activating.
system.activationScripts.postActivation.text = lib.mkAfter ''
run sudo --user=${lib.escapeShellArg primaryUser} /usr/bin/killall Dock >/dev/null 2>&1 || true
'';
}
+7
View File
@@ -0,0 +1,7 @@
{
system.defaults.trackpad = {
Clicking = true;
TrackpadRightClick = true;
TrackpadCornerSecondaryClick = 0;
};
}
-14
View File
@@ -11,18 +11,4 @@
primaryUser
];
};
system.defaults.dock = {
# Finder and Trash are managed by macOS and do not belong in this list.
persistent-apps = [
"/Applications/Google Chrome.app"
"/Applications/Zed.app"
"/Applications/Visual Studio Code.app"
"/Applications/Slack.app"
"/Applications/Vesktop.app"
"/Applications/Ghostty.app"
];
persistent-others = [ ];
show-recents = false;
};
}