{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; }; # 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; }; # 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; }; }; # 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"]; }; # I need this, am bad at plugging in le juicer battery = { warnLevels = [ { level = 20; title = "Low battery"; message = "You might want to plug in a charget"; icon = "battery_android_frame_2"; } { level = 10; title = "Did you see the previous message?"; message = "You should probably plug in a charger now"; icon = "battery_android_frame_1"; critical = true; } { level = 5; title = "Critical battery level"; message = "PLUG THE CHARGER RIGHT NOW!!"; icon = "battery_android_alert"; critical = true; } ]; criticalLevel = 5; }; }; # Background background = { enabled = true; desktopClock.enabled = false; }; paths = { wallpaper = config.theme.wallpaper; }; # 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; dragThreshold = 50; mediaUpdateInterval = 500; showOnHover = true; }; }; # 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; weatherLocation = "43.15,-77.60"; 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"]; }; }; # 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; }; }; }; }; }