diff --git a/dots/caelestia.nix b/dots/caelestia.nix
new file mode 100644
index 0000000..7877ee8
--- /dev/null
+++ b/dots/caelestia.nix
@@ -0,0 +1,392 @@
+{ config,
+ lib,
+ pkgs,
+ inputs,
+ ...
+}:
+
+{
+ programs = {
+ caelestia = {
+ enable = true;
+ systemd = {
+ enable = true; # if you prefer starting from your compositor
+ target = "graphical-session.target";
+ environment = [];
+ };
+ settings = {
+ appearance = {
+ anim = {
+ durations = {
+ scale = 1;
+ };
+ };
+ font = {
+ family = {
+ material = "Material Symbols Rounded";
+ mono = "CaskaydiaCove NF";
+ sans = "Rubik";
+ };
+ size = {
+ scale = 1;
+ };
+ };
+ padding = {
+ scale = 1;
+ };
+ rounding = {
+ scale = 1;
+ };
+ spacing = {
+ scale = 1;
+ };
+ transparency = {
+ enabled = false;
+ base = 0.85;
+ layers = 0.4;
+ };
+ };
+ general = {
+ apps = {
+ terminal = [ "foot" ];
+ audio = [ "pavucontrol" ];
+ };
+ battery = {
+ warnLevels = [
+ {
+ level = 20;
+ title = "Low battery";
+ message = "You might want to plug in a charger";
+ 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";
+ }
+ {
+ level = 5;
+ title = "Critical battery level";
+ message = "PLUG THE CHARGER RIGHT NOW!!";
+ icon = "battery_android_alert";
+ critical = true;
+ }
+ ];
+ criticalLevel = 3;
+ };
+ idle = {
+ inhibitWhenAudio = true;
+ timeouts = [
+ {
+ timeout = 600;
+ idleAction = "lock";
+ }
+ {
+ timeout = 700;
+ idleAction = "dpms off";
+ returnAction = "dpms on";
+ }
+ {
+ timeout = 800;
+ idleAction = [ "systemctl" "suspend-then-hibernate" ];
+ }
+ ];
+ };
+ };
+ background = {
+ desktopClock = {
+ enabled = false;
+ };
+ enabled = true;
+ visualiser = {
+ enabled = false;
+ autoHide = true;
+ rounding = 1;
+ spacing = 1;
+ };
+ };
+ bar = {
+ clock = {
+ showIcon = true;
+ };
+ dragThreshold = 20;
+ entries = [
+ {
+ id = "logo";
+ enabled = true;
+ }
+ {
+ id = "workspaces";
+ enabled = true;
+ }
+ {
+ id = "spacer";
+ enabled = true;
+ }
+ {
+ id = "activeWindow";
+ enabled = true;
+ }
+ {
+ id = "spacer";
+ enabled = true;
+ }
+ {
+ id = "tray";
+ enabled = true;
+ }
+ {
+ id = "clock";
+ enabled = true;
+ }
+ {
+ id = "statusIcons";
+ enabled = true;
+ }
+ {
+ id = "power";
+ enabled = true;
+ }
+ ];
+ persistent = true;
+ scrollActions = {
+ brightness = true;
+ workspaces = true;
+ volume = true;
+ };
+ showOnHover = true;
+ status = {
+ showAudio = false;
+ showBattery = true;
+ showBluetooth = true;
+ showKbLayout = false;
+ showMicrophone = false;
+ showNetwork = true;
+ showLockStatus = true;
+ };
+ tray = {
+ background = false;
+ iconSubs = [];
+ recolour = false;
+ };
+ workspaces = {
+ activeIndicator = true;
+ activeLabel = "";
+ activeTrail = false;
+ label = " ";
+ occupiedBg = false;
+ occupiedLabel = "";
+ perMonitorWorkspaces = true;
+ showWindows = true;
+ shown = 5;
+ };
+ };
+ border = {
+ rounding = 25;
+ thickness = 10;
+ };
+ dashboard = {
+ enabled = true;
+ dragThreshold = 50;
+ mediaUpdateInterval = 500;
+ showOnHover = true;
+ };
+ launcher = {
+ actionPrefix = ">";
+ actions = [
+ {
+ name = "Calculator";
+ icon = "calculate";
+ description = "Do simple math equations (powered by Qalc)";
+ command = [ "autocomplete" "calc" ];
+ enabled = true;
+ dangerous = false;
+ }
+ {
+ name = "Scheme";
+ icon = "palette";
+ description = "Change the current colour scheme";
+ command = [ "autocomplete" "scheme" ];
+ enabled = true;
+ dangerous = false;
+ }
+ {
+ name = "Wallpaper";
+ icon = "image";
+ description = "Change the current wallpaper";
+ command = [ "autocomplete" "wallpaper" ];
+ enabled = true;
+ dangerous = false;
+ }
+ {
+ name = "Variant";
+ icon = "colors";
+ description = "Change the current scheme variant";
+ command = [ "autocomplete" "variant" ];
+ enabled = true;
+ dangerous = false;
+ }
+ {
+ name = "Transparency";
+ icon = "opacity";
+ description = "Change shell transparency";
+ command = [ "autocomplete" "transparency" ];
+ enabled = false;
+ dangerous = false;
+ }
+ {
+ name = "Random";
+ icon = "casino";
+ description = "Switch to a random wallpaper";
+ command = [ "caelestia" "wallpaper" "-r" ];
+ enabled = true;
+ dangerous = false;
+ }
+ {
+ name = "Light";
+ icon = "light_mode";
+ description = "Change the scheme to light mode";
+ command = [ "setMode" "light" ];
+ enabled = true;
+ dangerous = false;
+ }
+ {
+ name = "Dark";
+ icon = "dark_mode";
+ description = "Change the scheme to dark mode";
+ command = [ "setMode" "dark" ];
+ enabled = true;
+ dangerous = false;
+ }
+ {
+ name = "Shutdown";
+ icon = "power_settings_new";
+ description = "Shutdown the system";
+ command = [ "systemctl" "poweroff" ];
+ enabled = true;
+ dangerous = true;
+ }
+ {
+ name = "Reboot";
+ icon = "cached";
+ description = "Reboot the system";
+ command = [ "systemctl" "reboot" ];
+ enabled = true;
+ dangerous = true;
+ }
+ {
+ name = "Logout";
+ icon = "exit_to_app";
+ description = "Log out of the current session";
+ command = [ "loginctl" "terminate-user" "" ];
+ enabled = true;
+ dangerous = true;
+ }
+ {
+ name = "Lock";
+ icon = "lock";
+ description = "Lock the current session";
+ command = [ "caelestia" "shell" "lock" "lock" ];
+ enabled = true;
+ dangerous = false;
+ }
+ {
+ name = "Sleep";
+ icon = "bedtime";
+ description = "Suspend then hibernate";
+ command = [ "systemctl" "suspend-then-hibernate" ];
+ enabled = true;
+ dangerous = false;
+ }
+ ];
+ dragThreshold = 50;
+ vimKeybinds = false;
+ enableDangerousActions = false;
+ maxShown = 7;
+ maxWallpapers = 9;
+ specialPrefix = "@";
+ useFuzzy = {
+ apps = false;
+ actions = false;
+ schemes = false;
+ variants = false;
+ wallpapers = false;
+ };
+ showOnHover = false;
+ hiddenApps = [];
+ };
+ lock = {
+ recolourLogo = false;
+ };
+ notifs = {
+ actionOnClick = false;
+ clearThreshold = 0.3;
+ defaultExpireTimeout = 5000;
+ expandThreshold = 20;
+ expire = true;
+ };
+ osd = {
+ enabled = true;
+ enableBrightness = true;
+ enableMicrophone = false;
+ hideDelay = 2000;
+ };
+ paths = {
+ mediaGif = "root:/assets/bongocat.gif";
+ sessionGif = "root:/assets/kurukuru.gif";
+ wallpaperDir = "~/Pictures/Wallpapers";
+ };
+ services = {
+ audioIncrement = 0.1;
+ defaultPlayer = "Spotify";
+ playerAliases = [
+ { from = "com.github.th_ch.youtube_music"; to = "YT Music"; }
+ ];
+ gpuType = "";
+ weatherLocation = "";
+ useFahrenheit = false;
+ useTwelveHourClock = true;
+ smartScheme = true;
+ visualiserBars = 45;
+ };
+ session = {
+ dragThreshold = 30;
+ enabled = true;
+ vimKeybinds = false;
+ commands = {
+ logout = [ "loginctl" "terminate-user" "" ];
+ shutdown = [ "systemctl" "poweroff" ];
+ hibernate = [ "systemctl" "hibernate" ];
+ reboot = [ "systemctl" "reboot" ];
+ };
+ };
+ sidebar = {
+ dragThreshold = 80;
+ enabled = true;
+ };
+ utilities = {
+ enabled = true;
+ maxToasts = 4;
+ toasts = {
+ audioInputChanged = true;
+ audioOutputChanged = true;
+ capsLockChanged = true;
+ chargingChanged = true;
+ configLoaded = true;
+ dndChanged = true;
+ gameModeChanged = true;
+ numLockChanged = true;
+ };
+ };
+
+ };
+ cli = {
+ enable = true; # Also add caelestia-cli to path
+ settings = {
+ theme.enableGtk = false;
+ };
+ };
+ };
+ };
+}
diff --git a/home/homePkgs.nix b/home/homePkgs.nix
index d0162b9..bba7e66 100755
--- a/home/homePkgs.nix
+++ b/home/homePkgs.nix
@@ -40,387 +40,6 @@ in
enable = true;
profiles.default = defaultProfile;
};
- caelestia = {
- enable = true;
- systemd = {
- enable = true; # if you prefer starting from your compositor
- target = "graphical-session.target";
- environment = [];
- };
- settings = {
- appearance = {
- anim = {
- durations = {
- scale = 1;
- };
- };
- font = {
- family = {
- material = "Material Symbols Rounded";
- mono = "CaskaydiaCove NF";
- sans = "Rubik";
- };
- size = {
- scale = 1;
- };
- };
- padding = {
- scale = 1;
- };
- rounding = {
- scale = 1;
- };
- spacing = {
- scale = 1;
- };
- transparency = {
- enabled = false;
- base = 0.85;
- layers = 0.4;
- };
- };
- general = {
- apps = {
- terminal = [ "foot" ];
- audio = [ "pavucontrol" ];
- };
- battery = {
- warnLevels = [
- {
- level = 20;
- title = "Low battery";
- message = "You might want to plug in a charger";
- 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";
- }
- {
- level = 5;
- title = "Critical battery level";
- message = "PLUG THE CHARGER RIGHT NOW!!";
- icon = "battery_android_alert";
- critical = true;
- }
- ];
- criticalLevel = 3;
- };
- idle = {
- inhibitWhenAudio = true;
- timeouts = [
- {
- timeout = 180;
- idleAction = "lock";
- }
- {
- timeout = 300;
- idleAction = "dpms off";
- returnAction = "dpms on";
- }
- {
- timeout = 600;
- idleAction = [ "systemctl" "suspend-then-hibernate" ];
- }
- ];
- };
- };
- background = {
- desktopClock = {
- enabled = false;
- };
- enabled = true;
- visualiser = {
- enabled = false;
- autoHide = true;
- rounding = 1;
- spacing = 1;
- };
- };
- bar = {
- clock = {
- showIcon = true;
- };
- dragThreshold = 20;
- entries = [
- {
- id = "logo";
- enabled = true;
- }
- {
- id = "workspaces";
- enabled = true;
- }
- {
- id = "spacer";
- enabled = true;
- }
- {
- id = "activeWindow";
- enabled = true;
- }
- {
- id = "spacer";
- enabled = true;
- }
- {
- id = "tray";
- enabled = true;
- }
- {
- id = "clock";
- enabled = true;
- }
- {
- id = "statusIcons";
- enabled = true;
- }
- {
- id = "power";
- enabled = true;
- }
- ];
- persistent = true;
- scrollActions = {
- brightness = true;
- workspaces = true;
- volume = true;
- };
- showOnHover = true;
- status = {
- showAudio = false;
- showBattery = true;
- showBluetooth = true;
- showKbLayout = false;
- showMicrophone = false;
- showNetwork = true;
- showLockStatus = true;
- };
- tray = {
- background = false;
- iconSubs = [];
- recolour = false;
- };
- workspaces = {
- activeIndicator = true;
- activeLabel = "";
- activeTrail = false;
- label = " ";
- occupiedBg = false;
- occupiedLabel = "";
- perMonitorWorkspaces = true;
- showWindows = true;
- shown = 5;
- };
- };
- border = {
- rounding = 25;
- thickness = 10;
- };
- dashboard = {
- enabled = true;
- dragThreshold = 50;
- mediaUpdateInterval = 500;
- showOnHover = true;
- };
- launcher = {
- actionPrefix = ">";
- actions = [
- {
- name = "Calculator";
- icon = "calculate";
- description = "Do simple math equations (powered by Qalc)";
- command = [ "autocomplete" "calc" ];
- enabled = true;
- dangerous = false;
- }
- {
- name = "Scheme";
- icon = "palette";
- description = "Change the current colour scheme";
- command = [ "autocomplete" "scheme" ];
- enabled = true;
- dangerous = false;
- }
- {
- name = "Wallpaper";
- icon = "image";
- description = "Change the current wallpaper";
- command = [ "autocomplete" "wallpaper" ];
- enabled = true;
- dangerous = false;
- }
- {
- name = "Variant";
- icon = "colors";
- description = "Change the current scheme variant";
- command = [ "autocomplete" "variant" ];
- enabled = true;
- dangerous = false;
- }
- {
- name = "Transparency";
- icon = "opacity";
- description = "Change shell transparency";
- command = [ "autocomplete" "transparency" ];
- enabled = false;
- dangerous = false;
- }
- {
- name = "Random";
- icon = "casino";
- description = "Switch to a random wallpaper";
- command = [ "caelestia" "wallpaper" "-r" ];
- enabled = true;
- dangerous = false;
- }
- {
- name = "Light";
- icon = "light_mode";
- description = "Change the scheme to light mode";
- command = [ "setMode" "light" ];
- enabled = true;
- dangerous = false;
- }
- {
- name = "Dark";
- icon = "dark_mode";
- description = "Change the scheme to dark mode";
- command = [ "setMode" "dark" ];
- enabled = true;
- dangerous = false;
- }
- {
- name = "Shutdown";
- icon = "power_settings_new";
- description = "Shutdown the system";
- command = [ "systemctl" "poweroff" ];
- enabled = true;
- dangerous = true;
- }
- {
- name = "Reboot";
- icon = "cached";
- description = "Reboot the system";
- command = [ "systemctl" "reboot" ];
- enabled = true;
- dangerous = true;
- }
- {
- name = "Logout";
- icon = "exit_to_app";
- description = "Log out of the current session";
- command = [ "loginctl" "terminate-user" "" ];
- enabled = true;
- dangerous = true;
- }
- {
- name = "Lock";
- icon = "lock";
- description = "Lock the current session";
- command = [ "caelestia" "shell" "lock" "lock" ];
- enabled = true;
- dangerous = false;
- }
- {
- name = "Sleep";
- icon = "bedtime";
- description = "Suspend then hibernate";
- command = [ "systemctl" "suspend-then-hibernate" ];
- enabled = true;
- dangerous = false;
- }
- ];
- dragThreshold = 50;
- vimKeybinds = false;
- enableDangerousActions = false;
- maxShown = 7;
- maxWallpapers = 9;
- specialPrefix = "@";
- useFuzzy = {
- apps = false;
- actions = false;
- schemes = false;
- variants = false;
- wallpapers = false;
- };
- showOnHover = false;
- hiddenApps = [];
- };
- lock = {
- recolourLogo = false;
- };
- notifs = {
- actionOnClick = false;
- clearThreshold = 0.3;
- defaultExpireTimeout = 5000;
- expandThreshold = 20;
- expire = false;
- };
- osd = {
- enabled = true;
- enableBrightness = true;
- enableMicrophone = false;
- hideDelay = 2000;
- };
- paths = {
- mediaGif = "root:/assets/bongocat.gif";
- sessionGif = "root:/assets/kurukuru.gif";
- wallpaperDir = "~/Pictures/Wallpapers";
- };
- services = {
- audioIncrement = 0.1;
- defaultPlayer = "Spotify";
- playerAliases = [
- { from = "com.github.th_ch.youtube_music"; to = "YT Music"; }
- ];
- gpuType = "";
- weatherLocation = "";
- useFahrenheit = false;
- useTwelveHourClock = false;
- smartScheme = true;
- visualiserBars = 45;
- };
- session = {
- dragThreshold = 30;
- enabled = true;
- vimKeybinds = false;
- commands = {
- logout = [ "loginctl" "terminate-user" "" ];
- shutdown = [ "systemctl" "poweroff" ];
- hibernate = [ "systemctl" "hibernate" ];
- reboot = [ "systemctl" "reboot" ];
- };
- };
- sidebar = {
- dragThreshold = 80;
- enabled = true;
- };
- utilities = {
- enabled = true;
- maxToasts = 4;
- toasts = {
- audioInputChanged = true;
- audioOutputChanged = true;
- capsLockChanged = true;
- chargingChanged = true;
- configLoaded = true;
- dndChanged = true;
- gameModeChanged = true;
- numLockChanged = true;
- };
- };
-
- };
- cli = {
- enable = true; # Also add caelestia-cli to path
- settings = {
- theme.enableGtk = false;
- };
- };
- };
nix-index = {
enable = true;
@@ -569,14 +188,13 @@ in
############################
brave
firefox
- zoom-us
+ ladybird
############################
# Communication & Sharing
############################
element-desktop
localsend
- slack
thunderbird
############################
@@ -659,6 +277,11 @@ in
# kdePackages.kde-cli-tools
# resvg # new
+ ############################
+ # Experimental (inputs)
+ ############################
+ #inputs.ladybird.packages."${pkgs.system}".ladybird
+
############################
# Blockchain (inputs)
############################
diff --git a/home/mrfluffy.nix b/home/mrfluffy.nix
index 4168ebc..725ddd0 100755
--- a/home/mrfluffy.nix
+++ b/home/mrfluffy.nix
@@ -33,6 +33,7 @@ in
../dots/niri.nix
../dots/hyprland.nix
../dots/hyprpaper.nix
+ ../dots/caelestia.nix
];
# You can find color schemes at: https://github.com/tinted-theming/schemes
diff --git a/home/work.nix b/home/work.nix
index 0ead51d..4af8ae4 100755
--- a/home/work.nix
+++ b/home/work.nix
@@ -33,6 +33,7 @@ in
../dots/niri.nix
../dots/hyprland.nix
../dots/hyprpaper.nix
+ ../dots/caelestia.nix
];
# You can find color schemes at: https://github.com/tinted-theming/schemes