- swap gtk portal/apps for cosmic (xdg-desktop-portal-cosmic, cosmic-files, cosmic-settings) and drop dolphin/protonplus/bambu-studio (bambu-studio moved to flatpak alongside the other comms/gaming flatpaks) - mount jupiter's samba share at /mnt/jupiter (automount, credentials from the same samba_password secret jupiter itself uses) - add tea (gitea's remote API CLI) for talking to git.mgaction.town from terra without SSHing into jupiter - new dark icon themes (Amy, Azure Glassy, Slot Beauty) vendored from gnome-look.org tarballs, packaged since pling download links expire - rishot: fix Qt5Compat.GraphicalEffects QML import (was missing qt6.qt5compat on QML_IMPORT_PATH, so quickshell failed at config-load) - launcher widgets: stop LauncherConsole/LauncherDock from reserving compositor space (ExclusionMode.Ignore, they're overlays not real docks); bump LauncherCorner app icon size 28->34 - comms script: launch telegram/discord via flatpak, not native binaries - nix-ld + boot.binfmt aarch64 emulation (for building/flashing mercury from terra)
71 lines
2.2 KiB
Nix
71 lines
2.2 KiB
Nix
{ pkgs, ... }:
|
|
|
|
# Global Dracula theming (GTK + Qt)
|
|
let
|
|
azureGlassyDarkIcons = pkgs.callPackage ../../../pkgs/azure-glassy-dark-icons.nix { };
|
|
amyDarkIcons = pkgs.callPackage ../../../pkgs/amy-dark-icons.nix { };
|
|
slotBeautyDarkIcons = pkgs.callPackage ../../../pkgs/slot-beauty-dark-icons.nix { };
|
|
|
|
iconTheme = "Amy-Dark-Icons";
|
|
iconThemePackage = amyDarkIcons;
|
|
iconThemeFolder = "${iconThemePackage}/share/icons/${iconTheme}";
|
|
in
|
|
{
|
|
gtk = {
|
|
enable = true;
|
|
theme = {
|
|
name = "Dracula";
|
|
package = pkgs.dracula-theme;
|
|
};
|
|
iconTheme = {
|
|
name = iconTheme;
|
|
package = iconThemePackage;
|
|
};
|
|
};
|
|
|
|
# Flatpak apps are sandboxed and can't see XDG_DATA_DIRS/nix-store theme
|
|
# paths, so the portal-reported GTK theme / icon theme names resolve to
|
|
# nothing inside the sandbox and they fall back to Adwaita. Flatpak
|
|
# auto-exposes ~/.themes and ~/.icons read-only to every sandboxed app
|
|
# specifically for this case.
|
|
home.file.".themes/Dracula".source =
|
|
"${pkgs.dracula-theme}/share/themes/Dracula";
|
|
home.file.".icons/${iconTheme}".source = iconThemeFolder;
|
|
|
|
dconf.settings."org/gnome/desktop/interface" = {
|
|
color-scheme = "prefer-dark";
|
|
gtk-theme = "Dracula";
|
|
icon-theme = iconTheme;
|
|
};
|
|
|
|
# "qtct" (qt5ct/qt6ct) instead of "kde" avoids pulling in
|
|
# kdePackages.systemsettings just for the platform-theme plugin — kvantum
|
|
# itself carries the Dracula colors, qt5ct/qt6ct just need to be told to
|
|
# use it as the style.
|
|
qt = {
|
|
enable = true;
|
|
platformTheme.name = "qtct";
|
|
style.name = "kvantum";
|
|
};
|
|
xdg.configFile."Kvantum/kvantum.kvconfig".text = ''
|
|
[General]
|
|
theme=Dracula
|
|
'';
|
|
xdg.configFile."Kvantum/Dracula".source =
|
|
"${pkgs.dracula-theme}/share/Kvantum/Dracula";
|
|
|
|
# Quickshell's IconImage/Quickshell.iconPath() resolves icons through the
|
|
# Qt platform theme, not GTK — so the app-launcher grid needs the icon
|
|
# theme set HERE (qt5ct/qt6ct), separately from the GTK dconf key above.
|
|
xdg.configFile."qt5ct/qt5ct.conf".text = ''
|
|
[Appearance]
|
|
style=kvantum
|
|
icon_theme=${iconTheme}
|
|
'';
|
|
xdg.configFile."qt6ct/qt6ct.conf".text = ''
|
|
[Appearance]
|
|
style=kvantum
|
|
icon_theme=${iconTheme}
|
|
'';
|
|
}
|