diff options
| author | Freya Murphy <freya@freyacat.org> | 2026-01-13 09:52:40 -0500 |
|---|---|---|
| committer | Freya Murphy <freya@freyacat.org> | 2026-01-13 09:52:40 -0500 |
| commit | 28df42fb03d8c2ee67bc860d2c2ebfecc60c1112 (patch) | |
| tree | 965648e79f57f3d0f21017b83187d22c19874af8 /home/apps | |
| parent | fix desktop portals (diff) | |
| download | dotfiles-nix-28df42fb03d8c2ee67bc860d2c2ebfecc60c1112.tar.gz dotfiles-nix-28df42fb03d8c2ee67bc860d2c2ebfecc60c1112.tar.bz2 dotfiles-nix-28df42fb03d8c2ee67bc860d2c2ebfecc60c1112.zip | |
fix caelestia module
Diffstat (limited to 'home/apps')
| -rw-r--r-- | home/apps/caelestia/default.nix | 17 | ||||
| -rw-r--r-- | home/apps/caelestia/scheme.nix | 156 | ||||
| -rw-r--r-- | home/apps/caelestia/settings.nix | 391 |
3 files changed, 291 insertions, 273 deletions
diff --git a/home/apps/caelestia/default.nix b/home/apps/caelestia/default.nix index 4693f67..e2e5e96 100644 --- a/home/apps/caelestia/default.nix +++ b/home/apps/caelestia/default.nix @@ -1,8 +1,11 @@ { lib, inputs, + config, ... }: let + inherit (lib) mkIf; + cfg = config.apps.caelestia; in { imports = [ inputs.caelestia-shell.homeManagerModules.default @@ -10,12 +13,14 @@ in { ./scheme.nix ]; - default.appLauncher = lib.mkOverride 600 "caelestia-shell ipc call drawers toggle launcher"; - default.lockScreen = lib.mkOverride 600 "caelestia-shell ipc call lock lock"; + config = mkIf cfg.enable { + default.appLauncher = lib.mkOverride 600 "caelestia-shell ipc call drawers toggle launcher"; + default.lockScreen = lib.mkOverride 600 "caelestia-shell ipc call lock lock"; - programs.caelestia = { - enable = true; - systemd.enable = true; - cli.enable = true; + programs.caelestia = { + enable = true; + systemd.enable = true; + cli.enable = true; + }; }; } diff --git a/home/apps/caelestia/scheme.nix b/home/apps/caelestia/scheme.nix index ffb46c6..b454b78 100644 --- a/home/apps/caelestia/scheme.nix +++ b/home/apps/caelestia/scheme.nix @@ -3,84 +3,88 @@ config, ... }: let + inherit (lib) mkIf; + cfg = config.apps.caelestia; theme = config.theme.colors; in { - xdg.configFile."caelestia/scheme.json".text = lib.generators.toJSON {} { - name = theme.name; - flavour = ""; - mode = "dark"; - variant = ""; - colours = { - primary_paletteKeyColor = theme.primary; - secondary_paletteKeyColor = theme.secondary; - tertiary_paletteKeyColor = theme.tertiary; - neutral_paletteKeyColor = theme.overlay; - neutral_variant_paletteKeyColor = "777680"; - background = theme.base; - onBackground = theme.text; - surface = theme.surface; - surfaceDim = theme.base; - surfaceBright = theme.overlay; - surfaceContainerLowest = theme.base; - surfaceContainerLow = theme.base; - surfaceContainer = theme.base; - surfaceContainerHigh = theme.surface; - surfaceContainerHighest = theme.overlay; - onSurface = theme.text; - surfaceVariant = theme.text; - onSurfaceVariant = theme.subtext; - inverseSurface = theme.text; - inverseOnSurface = theme.surface; - outline = theme.primary; - outlineVariant = theme.primary; - shadow = "000000"; - scrim = "000000"; - surfaceTint = theme.primary; - primary = theme.primary; - onPrimary = theme.surface; - primaryContainer = theme.primary; - onPrimaryContainer = theme.surface; - inversePrimary = theme.surface; - secondary = theme.secondary; - onSecondary = theme.surface; - secondaryContainer = theme.secondary; - onSecondaryContainer = theme.surface; - tertiary = theme.tertiary; - onTertiary = theme.surface; - tertiaryContainer = theme.tertiary; - onTertiaryContainer = theme.surface; - error = theme.error; - onError = theme.text; - errorContainer = theme.error; - onErrorContainer = theme.text; - primaryFixed = theme.primary; - primaryFixedDim = theme.primary; - onPrimaryFixed = theme.primary; - onPrimaryFixedVariant = theme.primary; - secondaryFixed = theme.secondary; - secondaryFixedDim = theme.primary; - onSecondaryFixed = theme.secondary; - onSecondaryFixedVariant = theme.secondary; - tertiaryFixed = theme.tertiary; - tertiaryFixedDim = theme.tertiary; - onTertiaryFixed = theme.tertiary; - onTertiaryFixedVariant = theme.tertiary; - term0 = theme.normal.black; - term1 = theme.normal.red; - term2 = theme.normal.green; - term3 = theme.normal.yellow; - term4 = theme.normal.blue; - term5 = theme.normal.magenta; - term6 = theme.normal.cyan; - term7 = theme.normal.white; - term8 = theme.bright.black; - term9 = theme.bright.red; - term10 = theme.bright.green; - term11 = theme.bright.yellow; - term12 = theme.bright.blue; - term13 = theme.bright.magenta; - term14 = theme.bright.cyan; - term15 = theme.bright.white; + config = mkIf cfg.enable { + xdg.configFile."caelestia/scheme.json".text = lib.generators.toJSON {} { + name = theme.name; + flavour = ""; + mode = "dark"; + variant = ""; + colours = { + primary_paletteKeyColor = theme.primary; + secondary_paletteKeyColor = theme.secondary; + tertiary_paletteKeyColor = theme.tertiary; + neutral_paletteKeyColor = theme.overlay; + neutral_variant_paletteKeyColor = "777680"; + background = theme.base; + onBackground = theme.text; + surface = theme.surface; + surfaceDim = theme.base; + surfaceBright = theme.overlay; + surfaceContainerLowest = theme.base; + surfaceContainerLow = theme.base; + surfaceContainer = theme.base; + surfaceContainerHigh = theme.surface; + surfaceContainerHighest = theme.overlay; + onSurface = theme.text; + surfaceVariant = theme.text; + onSurfaceVariant = theme.subtext; + inverseSurface = theme.text; + inverseOnSurface = theme.surface; + outline = theme.primary; + outlineVariant = theme.primary; + shadow = "000000"; + scrim = "000000"; + surfaceTint = theme.primary; + primary = theme.primary; + onPrimary = theme.surface; + primaryContainer = theme.primary; + onPrimaryContainer = theme.surface; + inversePrimary = theme.surface; + secondary = theme.secondary; + onSecondary = theme.surface; + secondaryContainer = theme.secondary; + onSecondaryContainer = theme.surface; + tertiary = theme.tertiary; + onTertiary = theme.surface; + tertiaryContainer = theme.tertiary; + onTertiaryContainer = theme.surface; + error = theme.error; + onError = theme.text; + errorContainer = theme.error; + onErrorContainer = theme.text; + primaryFixed = theme.primary; + primaryFixedDim = theme.primary; + onPrimaryFixed = theme.primary; + onPrimaryFixedVariant = theme.primary; + secondaryFixed = theme.secondary; + secondaryFixedDim = theme.primary; + onSecondaryFixed = theme.secondary; + onSecondaryFixedVariant = theme.secondary; + tertiaryFixed = theme.tertiary; + tertiaryFixedDim = theme.tertiary; + onTertiaryFixed = theme.tertiary; + onTertiaryFixedVariant = theme.tertiary; + term0 = theme.normal.black; + term1 = theme.normal.red; + term2 = theme.normal.green; + term3 = theme.normal.yellow; + term4 = theme.normal.blue; + term5 = theme.normal.magenta; + term6 = theme.normal.cyan; + term7 = theme.normal.white; + term8 = theme.bright.black; + term9 = theme.bright.red; + term10 = theme.bright.green; + term11 = theme.bright.yellow; + term12 = theme.bright.blue; + term13 = theme.bright.magenta; + term14 = theme.bright.cyan; + term15 = theme.bright.white; + }; }; }; } diff --git a/home/apps/caelestia/settings.nix b/home/apps/caelestia/settings.nix index d2b55a1..fbde95d 100644 --- a/home/apps/caelestia/settings.nix +++ b/home/apps/caelestia/settings.nix @@ -1,215 +1,224 @@ -{config, ...}: { - programs.caelestia = { - settings = { - # Look - appearance = rec { - # Rounding - rounding = let - inner = config.theme.innerRadius; - outer = config.theme.outerRadius; - in { - small = inner; - normal = outer; - large = outer + outer; - full = 1000; - }; +{ + config, + lib, + ... +}: let + inherit (lib) mkIf; + cfg = config.apps.caelestia; +in { + config = mkIf cfg.enable { + programs.caelestia = { + settings = { + # Look + appearance = rec { + # Rounding + rounding = let + inner = config.theme.innerRadius; + outer = config.theme.outerRadius; + in { + small = inner; + normal = outer; + large = outer + outer; + full = 1000; + }; - # Spacing - spacing = let - diff = 5; - in { - small = padding.small + diff; - smaller = padding.smaller + diff; - normal = padding.normal + diff; - larger = padding.larger + diff; - large = padding.large + diff; - }; + # Spacing + spacing = let + diff = 5; + in { + small = padding.small + diff; + smaller = padding.smaller + diff; + normal = padding.normal + diff; + larger = padding.larger + diff; + large = padding.large + diff; + }; - # Padding - padding = let - inner = config.theme.innerGap; - outer = config.theme.outerGap; - avg = builtins.div (outer + inner) 2; - in { - small = inner; - smaller = avg; - normal = outer; - larger = outer + inner; - large = outer + avg; - }; + # Padding + padding = let + inner = config.theme.innerGap; + outer = config.theme.outerGap; + avg = builtins.div (outer + inner) 2; + in { + small = inner; + smaller = avg; + normal = outer; + larger = outer + inner; + large = outer + avg; + }; - # Fontsize - font.size = let - base = config.theme.font.size; - in { - small = base - 2; - smaller = base - 1; - normal = base; - larger = base + 2; - large = base + 5; - extraLarge = base + 15; - }; + # Fontsize + font.size = let + base = config.theme.font.size; + in { + small = base - 2; + smaller = base - 1; + normal = base; + larger = base + 2; + large = base + 5; + extraLarge = base + 15; + }; - # Animations - anim = { - durations = { - scale = 1; + # Animations + anim = { + durations = { + scale = 1; + }; }; - }; - # Transparency - transparency = { - enabled = true; - base = config.theme.opacity; - layers = 1; + # Transparency + transparency = { + enabled = true; + base = config.theme.opacity; + layers = 1; + }; }; - }; - # Settings - general = { - # What apps to launch - apps = { - terminal = config.default.terminal; - audio = ["pavucontrol"]; - playback = ["mpv"]; + # Settings + general = { + # What apps to launch + apps = { + terminal = config.default.terminal; + audio = ["pavucontrol"]; + playback = ["mpv"]; + }; }; - }; - # Background - background.enabled = true; - paths = { - wallpaper = config.theme.wallpaper; - }; + # Background + background.enabled = true; + paths = { + wallpaper = config.theme.wallpaper; + }; - # Bar - bar = { - clock.showIcon = true; - dragThreshold = 20; - entries = - map (id: { - inherit id; + # Bar + bar = { + clock.showIcon = true; + dragThreshold = 20; + entries = + map (id: { + inherit id; + enabled = true; + }) [ + "workspaces" + "spacer" + "activeWindow" + "spacer" + "tray" + "clock" + "statusIcons" + "power" + ]; + persistent = true; + popouts = { + activeWindow = true; + statusIcons = true; + tray = true; + }; + scrollActions = { + brightness = true; + workspaces = true; + volume = true; + }; + showOnHover = true; + status = { + showAudio = false; + showBattery = true; + showBluetooth = true; + showKbLayout = false; + showMicrophone = false; + showNetwork = true; + showLockStatus = false; + }; + tray = { + background = false; + compact = false; + iconSubs = []; + recolour = false; + }; + workspaces = { + activeIndicator = true; + activeTrail = false; + perMonitorWorkspaces = true; + showWindows = false; + shown = 9; + label = ""; + occupiedLabel = ""; + activeLabel = ""; + }; + border = { + rounding = config.theme.outerRadius; + thickness = config.theme.outerGap; + }; + dashboard = { enabled = true; - }) [ - "workspaces" - "spacer" - "activeWindow" - "spacer" - "tray" - "clock" - "statusIcons" - "power" - ]; - persistent = true; - popouts = { - activeWindow = true; - statusIcons = true; - tray = true; - }; - scrollActions = { - brightness = true; - workspaces = true; - volume = true; - }; - showOnHover = true; - status = { - showAudio = false; - showBattery = true; - showBluetooth = true; - showKbLayout = false; - showMicrophone = false; - showNetwork = true; - showLockStatus = false; - }; - tray = { - background = false; - compact = false; - iconSubs = []; - recolour = false; - }; - workspaces = { - activeIndicator = true; - activeTrail = false; - perMonitorWorkspaces = true; - showWindows = false; - shown = 9; - label = ""; - occupiedLabel = ""; - activeLabel = ""; + dragThreshold = 50; + mediaUpdateInterval = 500; + showOnHover = true; + }; }; - border = { - rounding = config.theme.outerRadius; - thickness = config.theme.outerGap; + + # Notifications + notifs = { + actionOnClick = true; + clearThreshold = 0.3; + defaultExpireTimeout = 5000; + expandThreshold = 20; + openExpanded = false; + expire = true; }; - dashboard = { + + # On screen display + osd = { enabled = true; - dragThreshold = 50; - mediaUpdateInterval = 500; - showOnHover = true; + enableBrightness = true; + enableMicrophone = false; + hideDelay = 2000; }; - }; - # Notifications - notifs = { - actionOnClick = true; - clearThreshold = 0.3; - defaultExpireTimeout = 5000; - expandThreshold = 20; - openExpanded = false; - expire = true; - }; - - # On screen display - osd = { - enabled = true; - enableBrightness = true; - enableMicrophone = false; - hideDelay = 2000; - }; - - # Services - services = { - audioIncrement = 0.1; - brightnessIncrement = 0.1; - maxVolume = 1.0; - useFahrenheit = false; - useTwelveHourClock = false; - }; + # Services + services = { + audioIncrement = 0.1; + brightnessIncrement = 0.1; + maxVolume = 1.0; + useFahrenheit = false; + useTwelveHourClock = false; + }; - # Logout / shutdown - session = { - dragThreshold = 30; - enabled = true; - vimKeybinds = false; - commands = { - logout = ["loginctl" "terminate-user" ""]; - shutdown = ["systemctl" "poweroff"]; - hibernate = ["systemctl" "hibernate"]; - reboot = ["systemctl" "reboot"]; + # Logout / shutdown + session = { + dragThreshold = 30; + enabled = true; + vimKeybinds = false; + commands = { + logout = ["loginctl" "terminate-user" ""]; + shutdown = ["systemctl" "poweroff"]; + hibernate = ["systemctl" "hibernate"]; + reboot = ["systemctl" "reboot"]; + }; }; - }; - # Sidebar - sidebar = { - dragThreshold = 80; - enabled = true; - }; + # Sidebar + sidebar = { + dragThreshold = 80; + enabled = true; + }; - # idk - utilities = { - enabled = true; - maxToasts = 4; - toasts = { - audioInputChanged = true; - audioOutputChanged = true; - capsLockChanged = true; - chargingChanged = true; - configLoaded = true; - dndChanged = true; - gameModeChanged = true; - kbLayoutChanged = true; - numLockChanged = true; - vpnChanged = true; - nowPlaying = false; + # idk + utilities = { + enabled = true; + maxToasts = 4; + toasts = { + audioInputChanged = true; + audioOutputChanged = true; + capsLockChanged = true; + chargingChanged = true; + configLoaded = true; + dndChanged = true; + gameModeChanged = true; + kbLayoutChanged = true; + numLockChanged = true; + vpnChanged = true; + nowPlaying = false; + }; }; }; }; |