Theme System: - Move all theme app configs to apps/ subdirectory (20 themes) - Add theme-loader.nix for dynamic theme config deployment - Simplify stylix.nix to focus on base theming only Override System: - Add overrides.nix for file-based config overrides - Add behavior-configs.nix for non-visual configuration - Split hypr/nomarchy.conf into behavior vs visual sections Module Improvements: - Add lib.mkDefault to all customizable settings - Add modules/lib/ with shared utilities and state schema - Update all home and system modules for downstream overridability Installer: - New minimal TTY installer (installer/install.sh) - Golden path: BTRFS + LUKS2 (disko-golden.nix) - New installer-iso.nix for TTY-only installation - Keep graphical installer as installerIsoGraphical option Cleanup: - Remove obsolete install.sh, disko-ext4.nix, install-nomarchy.sh - Update live-iso.nix references - Add .claude/ to .gitignore for local IDE settings Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
31 lines
854 B
Nix
31 lines
854 B
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
let
|
|
nomarchyLib = import ../lib { inherit lib; };
|
|
activeThemeName = config.nomarchy.system.theme;
|
|
currentPalette = nomarchyLib.getPalette activeThemeName;
|
|
|
|
# Hex color for browser theme (base00 is background)
|
|
themeColor = "#${currentPalette.base00}";
|
|
|
|
# Detect light mode from theme name or palette
|
|
isLightTheme = nomarchyLib.isThemeLightMode {
|
|
themeName = activeThemeName;
|
|
assetsPath = ../../assets/themes;
|
|
};
|
|
|
|
browserPolicy = {
|
|
BrowserThemeColor = themeColor;
|
|
BrowserColorScheme = if isLightTheme then "light" else "dark";
|
|
};
|
|
in
|
|
{
|
|
# Chromium policies
|
|
programs.chromium.extraOpts = lib.mkDefault browserPolicy;
|
|
|
|
# Brave browser policies via managed policy file
|
|
environment.etc."brave/policies/managed/nomarchy.json".text = lib.mkDefault (
|
|
builtins.toJSON browserPolicy
|
|
);
|
|
}
|