diff options
| author | 2026-09-24 09:13:19 +0000 | |
|---|---|---|
| committer | 2026-09-24 09:13:19 +0000 | |
| commit | 8ac87f0b609b8f30b83382d1e4913ddc89e0893e (patch) | |
| tree | eff3a1eaedb59adabc7500fee95b2fe1d97f09af /modules/home/desktop-apps.nix | |
| 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 'modules/home/desktop-apps.nix')
| -rw-r--r-- | modules/home/desktop-apps.nix | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/modules/home/desktop-apps.nix b/modules/home/desktop-apps.nix index 882ce34..a565c18 100644 --- a/modules/home/desktop-apps.nix +++ b/modules/home/desktop-apps.nix | |||
| @@ -1,10 +1,28 @@ | |||
| 1 | { pkgs, lib, ... }: | 1 | { |
| 2 | pkgs, | ||
| 3 | lib, | ||
| 4 | osConfig ? null, | ||
| 5 | ... | ||
| 6 | }: | ||
| 2 | let | 7 | let |
| 3 | crossPlatformApps = [ pkgs.slack pkgs.discord pkgs.spotify pkgs.firefox pkgs.bitwarden-desktop ]; | 8 | crossPlatformApps = [ |
| 9 | pkgs.slack | ||
| 10 | pkgs.discord | ||
| 11 | pkgs.spotify | ||
| 12 | pkgs.firefox | ||
| 13 | pkgs.bitwarden-desktop | ||
| 14 | pkgs.ghostty | ||
| 15 | ]; | ||
| 4 | linuxOnlyApps = lib.optional pkgs.stdenv.hostPlatform.isLinux pkgs.teams-for-linux; | 16 | linuxOnlyApps = lib.optional pkgs.stdenv.hostPlatform.isLinux pkgs.teams-for-linux; |
| 5 | candidateApps = crossPlatformApps ++ linuxOnlyApps; | 17 | # GNOME Tweaks only makes sense where GNOME is actually enabled, which this |
| 18 | # flake only does at the NixOS level (modules/nixos/common.nix) - not on | ||
| 19 | # standalone, non-NixOS activations of this shared profile. osConfig is the | ||
| 20 | # full NixOS config and is only present when home-manager is integrated | ||
| 21 | # into a NixOS system; it's absent for standalone `home-manager switch`. | ||
| 22 | gnomeOnlyApps = lib.optional (osConfig.services.desktopManager.gnome.enable or false | ||
| 23 | ) pkgs.gnome-tweaks; | ||
| 24 | candidateApps = crossPlatformApps ++ linuxOnlyApps ++ gnomeOnlyApps; | ||
| 6 | in | 25 | in |
| 7 | { | 26 | { |
| 8 | home.packages = | 27 | home.packages = builtins.filter (lib.meta.availableOn pkgs.stdenv.hostPlatform) candidateApps; |
| 9 | builtins.filter (lib.meta.availableOn pkgs.stdenv.hostPlatform) candidateApps; | ||
| 10 | } | 28 | } |
