diff options
| author | 2026-09-24 09:13:19 +0000 | |
|---|---|---|
| committer | 2026-09-24 09:13:19 +0000 | |
| commit | 8ac87f0b609b8f30b83382d1e4913ddc89e0893e (patch) | |
| tree | eff3a1eaedb59adabc7500fee95b2fe1d97f09af /openspec/changes/add-ghostty-gnome-tweaks-dark-mode/tasks.md | |
| parent | 2ec5dfa25cef3c4fea72336e4142e5c3b5981cc3 (diff) | |
| download | desktop-flake-8ac87f0b609b8f30b83382d1e4913ddc89e0893e.tar.gz desktop-flake-8ac87f0b609b8f30b83382d1e4913ddc89e0893e.tar.bz2 desktop-flake-8ac87f0b609b8f30b83382d1e4913ddc89e0893e.zip | |
Add Ghostty, GNOME Tweaks, and a GNOME dark-mode default
Ghostty joins the cross-platform desktop app list (Linux-only in nixpkgs
today, filtered out on darwin by the existing availableOn check).
GNOME Tweaks is gated on osConfig.services.desktopManager.gnome.enable
rather than plain isLinux, since modules/home/desktop-apps.nix is also
consumed by the standalone, non-NixOS tom@linux home-manager profile,
which has no GNOME involved. Every NixOS host now also gets a dconf
default of org/gnome/desktop/interface color-scheme=prefer-dark, left
unlocked so GNOME Settings can still switch back to light mode.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HngxrvqEzq8oBEBDtrYJyB
Diffstat (limited to 'openspec/changes/add-ghostty-gnome-tweaks-dark-mode/tasks.md')
| -rw-r--r-- | openspec/changes/add-ghostty-gnome-tweaks-dark-mode/tasks.md | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/openspec/changes/add-ghostty-gnome-tweaks-dark-mode/tasks.md b/openspec/changes/add-ghostty-gnome-tweaks-dark-mode/tasks.md new file mode 100644 index 0000000..15eca5b --- /dev/null +++ b/openspec/changes/add-ghostty-gnome-tweaks-dark-mode/tasks.md | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | ## 1. Ghostty and GNOME Tweaks packages | ||
| 2 | |||
| 3 | - [x] 1.1 Add `pkgs.ghostty` to `crossPlatformApps` in `modules/home/desktop-apps.nix` and verify `nix eval '.#homeConfigurations."tom@linux".config.home.packages'` includes it while `nix eval '.#homeConfigurations."tom@darwin".config.home.packages'` does not (nixpkgs currently has no Darwin build). | ||
| 4 | - [x] 1.2 Add `osConfig ? null` to `modules/home/desktop-apps.nix`'s function arguments, and add `pkgs.gnome-tweaks` via `lib.optional (osConfig.services.desktopManager.gnome.enable or false) pkgs.gnome-tweaks` (kept separate from `linuxOnlyApps`, which stays `teams-for-linux`-only). Verify `nix eval '.#homeConfigurations."tom@linux".config.home.packages'` excludes `gnome-tweaks` (standalone, no `osConfig`), while `nix eval '.#nixosConfigurations.test-vm.config.home-manager.users.tom.home.packages'` includes it (NixOS host, GNOME enabled). | ||
| 5 | - [x] 1.3 Build both home configurations end to end (`nix build '.#homeConfigurations."tom@linux".activationPackage'` and `.../"tom@darwin".activationPackage`) and verify both evaluate and build successfully with no unfree-allowlist errors. | ||
| 6 | |||
| 7 | ## 2. GNOME dark-mode default | ||
| 8 | |||
| 9 | - [x] 2.1 Add `programs.dconf.enable = true;` and `programs.dconf.profiles.user.databases = [ { settings."org/gnome/desktop/interface".color-scheme = "prefer-dark"; } ];` to `modules/nixos/common.nix`, alongside the existing `services.desktopManager.gnome.enable = true;`. | ||
| 10 | - [x] 2.2 Build a NixOS host from this flake (`nix build '.#nixosConfigurations.<hostname>.config.system.build.toplevel'` for an existing host, e.g. `test-vm`) and verify the build succeeds. | ||
| 11 | - [x] 2.3 On a booted host (or a VM built from it), verify a fresh user session (no prior `color-scheme` set in that user's own dconf database) starts in dark mode, and that switching to light mode from GNOME Settings' Appearance page still works and persists across a re-login. | ||
| 12 | |||
| 13 | ## 3. Spec sync | ||
| 14 | |||
| 15 | - [x] 3.1 Verify `openspec validate --change add-ghostty-gnome-tweaks-dark-mode --strict` passes once the above are implemented, confirming the delta specs match the shipped behavior. | ||
