summaryrefslogtreecommitdiff
path: root/home/apps/caelestia/settings.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/apps/caelestia/settings.nix')
-rw-r--r--home/apps/caelestia/settings.nix232
1 files changed, 232 insertions, 0 deletions
diff --git a/home/apps/caelestia/settings.nix b/home/apps/caelestia/settings.nix
new file mode 100644
index 0000000..de81df7
--- /dev/null
+++ b/home/apps/caelestia/settings.nix
@@ -0,0 +1,232 @@
+{
+ 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;
+ };
+
+ # 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"];
+ };
+ };
+
+ # Launcher settings
+ launcher = {
+ enabled = true;
+ useFuzzy = true;
+ };
+
+ # Background
+ background.enabled = true;
+ 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 = false;
+ 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;
+ 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;
+ };
+ };
+ };
+ };
+ };
+}