aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/changes/add-ghostty-gnome-tweaks-dark-mode/tasks.md
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <tom@vanderlee.com>2026-09-24 09:13:19 +0000
committerGravatar Tom van der Lee <tom@vanderlee.com>2026-09-24 09:13:19 +0000
commit8ac87f0b609b8f30b83382d1e4913ddc89e0893e (patch)
treeeff3a1eaedb59adabc7500fee95b2fe1d97f09af /openspec/changes/add-ghostty-gnome-tweaks-dark-mode/tasks.md
parent2ec5dfa25cef3c4fea72336e4142e5c3b5981cc3 (diff)
downloaddesktop-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.md15
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.