Both the system option (`core/system/options.nix:theme`) and the home-side state evaluator (`core/home/state.nix`) defaulted to "summer-night". The installer-written state.json now seeds "nord" (see preceding installer commit), and `lib/state-schema.nix` already defaults to "nord". Align the hardcoded fallbacks here so a missing or blank state file lands on the same theme everywhere instead of a now-inconsistent split. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
44 lines
1.4 KiB
Nix
44 lines
1.4 KiB
Nix
{ config, lib, ... }:
|
|
|
|
let
|
|
nomarchyLib = import ../../lib { inherit lib; };
|
|
assetsPath = ../../themes/palettes;
|
|
|
|
# Read unified state from ~/.config/nomarchy/state.json
|
|
togglesState = nomarchyLib.readHomeState config.home.homeDirectory;
|
|
in
|
|
{
|
|
config = {
|
|
nomarchy = {
|
|
toggles = {
|
|
suspend = togglesState.suspend or true;
|
|
screensaver = togglesState.screensaver or true;
|
|
idle = togglesState.idle or true;
|
|
nightlight = togglesState.nightlight or false;
|
|
waybar = togglesState.waybar or true;
|
|
skipVsCodeTheme = togglesState.skipVsCodeTheme or false;
|
|
};
|
|
nightlightTemperature = togglesState.nightlightTemperature or 4000;
|
|
theme = togglesState.theme or "nord";
|
|
wallpaper = togglesState.wallpaper or "";
|
|
panelPosition = togglesState.panelPosition or "top";
|
|
hyprland = {
|
|
gaps_in = togglesState.hyprland.gaps_in or 5;
|
|
gaps_out = togglesState.hyprland.gaps_out or 10;
|
|
border_size = togglesState.hyprland.border_size or 2;
|
|
};
|
|
fonts.monospace = togglesState.font or "JetBrainsMono Nerd Font";
|
|
|
|
# Derived properties from the theme directory
|
|
isLightMode = nomarchyLib.isThemeLightMode {
|
|
themeName = togglesState.theme or "nord";
|
|
inherit assetsPath;
|
|
};
|
|
iconsTheme = nomarchyLib.getIconsTheme {
|
|
themeName = togglesState.theme or "nord";
|
|
inherit assetsPath;
|
|
};
|
|
};
|
|
};
|
|
}
|