Fixed bugs with caelestia shell

This commit is contained in:
Tomas Rivera
2026-04-09 15:37:14 +02:00
parent 6625c1bdda
commit 4b9145253c
6 changed files with 150 additions and 42 deletions
+6 -6
View File
@@ -5,7 +5,7 @@
⚠️ **Important Notes** ⚠️ **Important Notes**
Before applying this configuration on another system, make sure to: Before applying this configuration on another system, make sure to:
- Update the `hostName`. - Update the `hostName` (in `configuration.nix` and `home.nix`).
- If your computer **is not a laptop**, set `isLaptop = false` in `~/nixos/other/quickshell/bar/Power.qml`. - If your computer **is not a laptop**, set `isLaptop = false` in `~/nixos/other/quickshell/bar/Power.qml`.
*(This is hardcoded because `UPowerDevice.isLaptopBattery` didnt work.)* *(This is hardcoded because `UPowerDevice.isLaptopBattery` didnt work.)*
@@ -45,7 +45,7 @@ nixos/
└── README.md └── README.md
``` ```
> The `quickshell` configuration is written in **QML** (`other/quickshell`) and is automatically copied to `~/.config/quickshell` on deployment. > other/quickshell is the older quickshell configuration.
--- ---
@@ -92,10 +92,8 @@ nixos/
**Daemons:** `upower`, `pipewire`, `pulseaudio`, `brightnessctl`, `playerctl`, `blueman`, `udiskie`, `networkmanager-applet`, `swww` wallpaper daemon **Daemons:** `upower`, `pipewire`, `pulseaudio`, `brightnessctl`, `playerctl`, `blueman`, `udiskie`, `networkmanager-applet`, `swww` wallpaper daemon
### Screenshots & Notifications ### Screenshots, Notifications, Bar and much more!
- [`grim`](https://github.com/emersion/grim) (with `quickshell`) screenshots - [caelestia-shell](https://github.com/caelestia-dots/shell)
- [`quickshell`](https://github.com/Totorile1/quickshell) notifications, top bar, and widgets
- [`wlogout`](https://github.com/ArtsyMacaw/wlogout) logout/shutdown widget
--- ---
@@ -161,6 +159,8 @@ If you **dont have the physical macropad**, the table below shows which keybi
| ------------ | -------------------------------------------- | | ------------ | -------------------------------------------- |
| Row 1, Col 1 | Kill all apps except focused (`Ctrl+$mod+6`) | | Row 1, Col 1 | Kill all apps except focused (`Ctrl+$mod+6`) |
| Row 2, Col 1 | Performance mode (`Ctrl+Alt+7`) | | Row 2, Col 1 | Performance mode (`Ctrl+Alt+7`) |
| Row 3, Col 1 | Do not disturb (`Ctrl+$mod+4` |
| Row 4, Col 1 | Notification center (`Ctrl+Alt+1`) |
| Row 3, Col 2 | Special characters (`Ctrl+$mod+3`) | | Row 3, Col 2 | Special characters (`Ctrl+$mod+3`) |
| Row 3, Col 3 | Color picker (`Ctrl+Alt+8`) | | Row 3, Col 3 | Color picker (`Ctrl+Alt+8`) |
| Row 4, Col 1 | Notification center toggle (`Ctrl+Alt+1`) | | Row 4, Col 1 | Notification center toggle (`Ctrl+Alt+1`) |
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 MiB

+14 -1
View File
@@ -83,6 +83,13 @@
# zsh dont want to work if it is not initialzed here. # zsh dont want to work if it is not initialzed here.
programs.zsh.enable = true; programs.zsh.enable = true;
security.wrappers.gsr-kms-server = { # to remove the password prompt when using gpu-screen-recorder
owner = "root";
group = "root";
capabilities = "cap_sys_admin+ep";
source = "${pkgs.gpu-screen-recorder}/bin/gsr-kms-server";
};
# Enable the GNOME Desktop Environment. # Enable the GNOME Desktop Environment.
# services.displayManager.gdm.enable = true; # services.displayManager.gdm.enable = true;
# services.desktopManager.gnome.enable = true; # services.desktopManager.gnome.enable = true;
@@ -167,7 +174,7 @@
gnome-characters gnome-characters
gnome-disk-utility gnome-disk-utility
kdePackages.okular kdePackages.okular
nautilus kdePackages.dolphin
gnome-font-viewer gnome-font-viewer
wget wget
tree # shows dir in tree tree # shows dir in tree
@@ -244,6 +251,12 @@
pylint pylint
black black
nixd nixd
# for caelestia
gpu-screen-recorder
fuzzel
papirus-icon-theme
papirus-folders
power-profiles-daemon
]; ];
# fonts # fonts
+2 -2
View File
@@ -27,8 +27,8 @@
../../modules/home-manager/caelestia.nix # caelestia shell is based on quickshell ../../modules/home-manager/caelestia.nix # caelestia shell is based on quickshell
#../../modules/home-manager/oh-my-posh.nix # zsh customizer #../../modules/home-manager/oh-my-posh.nix # zsh customizer
../../modules/home-manager/oh-my-zsh.nix # another zsh customizer ../../modules/home-manager/oh-my-zsh.nix # another zsh customizer
../../modules/home-manager/hypridle.nix #../../modules/home-manager/hypridle.nix
../../modules/home-manager/swaylock.nix #../../modules/home-manager/swaylock.nix
../../modules/home-manager/anki.nix # we use only for some settings. see ../../modules/nixos/anki.nix for activating ../../modules/home-manager/anki.nix # we use only for some settings. see ../../modules/nixos/anki.nix for activating
../../modules/home-manager/librewolf.nix # privacy browser ../../modules/home-manager/librewolf.nix # privacy browser
../../modules/home-manager/cursor.nix # cursor (the icon not the app) ../../modules/home-manager/cursor.nix # cursor (the icon not the app)
+120 -28
View File
@@ -5,6 +5,10 @@
caelestia-shell, caelestia-shell,
... ...
}: { }: {
home.file.".face" = { # this is were caelestia will search for profiles pictures
source = ../../assets/sisyphePFP.png;
};
# set profile picture in ~/.face # set profile picture in ~/.face
programs.caelestia = { programs.caelestia = {
enable = true; enable = true;
@@ -22,7 +26,7 @@
scale = 1; scale = 1;
}; };
}; };
font = { /*font = {
family = { family = {
clock = "Rubik"; # (TODO figure out those fonts) clock = "Rubik"; # (TODO figure out those fonts)
material = "Material Symboles Rounded"; material = "Material Symboles Rounded";
@@ -32,7 +36,7 @@
size = { size = {
scale = 1; scale = 1;
}; };
}; };*/
padding = { padding = {
scale = 1; scale = 1;
}; };
@@ -117,7 +121,7 @@
}; };
invertColors = false; invertColors = false;
}; };
enabled = true; #ptet changer ca pour wallpaper enabled = false; #default true
visualiser = { visualiser = {
blur = false; blur = false;
enabled = false; enabled = false;
@@ -133,8 +137,8 @@
showOnHover = true; showOnHover = true;
}; };
clock = { clock = {
background = false; background = true;
showDate = false; showDate = true;
showIcon = true; showIcon = true;
}; };
dragThreshold = 20; dragThreshold = 20;
@@ -189,7 +193,7 @@
}; };
showOnHover = true; showOnHover = true;
status = { status = {
showAudio = false; showAudio = true;
showBattery = true; showBattery = true;
showBluetooth = true; showBluetooth = true;
showKbLayout = false; showKbLayout = false;
@@ -199,10 +203,10 @@
showLockStatus = true; showLockStatus = true;
}; };
tray = { tray = {
background = false; background = true; # default true
compact = false; compact = false;
iconSubs = []; iconSubs = [];
recolour = false; recolour = true;
}; };
workspaces = { workspaces = {
activeIndicator = true; activeIndicator = true;
@@ -247,23 +251,23 @@
icon = "calculate"; icon = "calculate";
description = "Do simple math equations (powered by Qalc)"; description = "Do simple math equations (powered by Qalc)";
command = [ "autocomplete" "calc" ]; command = [ "autocomplete" "calc" ];
enabled = true; enabled = false; # default true
dangerous = false; dangerous = false;
} }
{ {
name = "Scheme"; # to remove name = "Scheme";
icon = "palette"; icon = "palette";
description = "Change the current colour scheme"; description = "Change the current colour scheme";
command = [ "autocomplete" "scheme" ]; command = [ "autocomplete" "scheme" ];
enabled = true; enabled = false; # default true
dangerous = false; dangerous = false;
} }
{ {
name = "Wallpaper"; # to remove name = "Wallpaper";
icon = "image"; icon = "image";
description = "Change the current wallpaper"; description = "Change the current wallpaper";
command = [ "autocomplete" "wallpaper" ]; command = [ "autocomplete" "wallpaper" ];
enabled = true; enabled = false; # default true
dangerous = false; dangerous = false;
} }
{ {
@@ -279,31 +283,31 @@
icon = "opacity"; icon = "opacity";
description = "Change shell transparency"; description = "Change shell transparency";
command = [ "autocomplete" "transparency" ]; command = [ "autocomplete" "transparency" ];
enbaled = false; enabled = false;
dangerous = false; dangerous = false;
} }
{ {
name = "Random"; # to remove name = "Random";
icon = "casino"; icon = "casino";
description = "Switch to a random wallpaper"; description = "Switch to a random wallpaper";
command = [ "caelestia" "wallpaper" "-r" ]; command = [ "caelestia" "wallpaper" "-r" ];
enabled = true; enabled = false; # default true
dangerous = false; dangerous = false;
} }
{ {
name = "Light"; # to remove name = "Light";
icon = "light_mode"; icon = "light_mode";
description = "Change the scheme to light mode"; description = "Change the scheme to light mode";
command = [ "setMode" "light" ]; command = [ "setMode" "light" ];
enabled = true; enabled = false; # default true
dangerous = false; dangerous = false;
} }
{ {
name = "Dark"; # to remove name = "Dark";
icon = "dark_mode"; icon = "dark_mode";
description = "Change the scheme to dark mode"; description = "Change the scheme to dark mode";
command = [ "setMode" "dark" ]; command = [ "setMode" "dark" ];
enabled = true; enabled = false; # default true
dangerous = false; dangerous = false;
} }
{ {
@@ -339,11 +343,11 @@
dangerous = false; dangerous = false;
} }
{ {
name = "Settings"; # to remove -- > we want to do every config with nix name = "Settings";
icon = "settings"; icon = "settings";
description = "Configure the shell"; description = "Configure the shell";
command = [ "caelestia" "shell" "controlCenter" "open" ]; command = [ "caelestia" "shell" "controlCenter" "open" ];
enabled = true; enabled = false; # default true
dangerous = false; dangerous = false;
} }
]; ];
@@ -374,9 +378,9 @@
defaultExpireTimeout = 5000; defaultExpireTimeout = 5000;
expantThreshold = 20; expantThreshold = 20;
openeExpanded = false; openeExpanded = false;
expire = false; expire = true;
}; };
osd = { # whats that osd = { # thats the slider for brightness and sound
enabled = true; enabled = true;
enableBrightness = true; enableBrightness = true;
enableMicrophone = false; enableMicrophone = false;
@@ -428,7 +432,7 @@
# is there a way to get some system info? # is there a way to get some system info?
utilities = { utilities = {
enabled = true; enabled = true;
maxToasts = 4; # what's that? maxToasts = 4; # toats are like notification but on the botto left
toasts = { toasts = {
audioInputChanged = true; audioInputChanged = true;
audioOutputChanged = true; audioOutputChanged = true;
@@ -478,7 +482,7 @@
enabled = true; # should remap my performance mode enabled = true; # should remap my performance mode
} }
{ {
id = "dnd"; # what's that? id = "dnd"; #do not disturb
enabled = true; enabled = true;
} }
{ {
@@ -487,10 +491,98 @@
} }
]; ];
}; };
cli = { cli = { # default config https://github.com/caelestia-dots/cli?tab=readme-ov-file#configuring
enable = true; # Also add caelestia-cli to path enable = true; # Also add caelestia-cli to path
settings = { settings = {
theme.enableGtk = true; record = {
extraArgs = [];
};
wallpaper = {
postHook = ""; # default "echo $WALLPAPER_PATH"
};
theme = {
enableTerm = true;
enableHypr = true;
enableDiscord = true;
enableSpicetify = true;
enableFuzzel = true; #what's that?
enablleBtop = false; # default true
enableQt = true;
};
toggles = {
communication = {
discord = {
enable = false; # default true
match = [
{
class = "discord";
}
];
whatsapp = {
enable = true;
match = [
{
class = "whatsapp";
}
];
};
};
};
music = {
spotify = {
enable = false; # default true
match = [
{
class = "Spotify";
}
{
initialTitle = "Spotify";
}
{
initialTitle = "Spotify Free";
}
];
command = [ "spicetify" "watch" "-s" ];
move = true;
};
feishin = {
enable = true;
match = [
{
class = "feishin";
}
];
move = true;
};
};
sysmon = {
btop = {
enable = true;
match = [
{
class = "btop";
title = "btop";
workspace = {
name = "special:sysmon";
};
}
];
command = [ "foot" "-a" "btop" "-T" "btop" "fish" "-C" "exec btop" ]; # maybe switch to btm and kitty?
};
};
todo = {
todoist = {
enable = false; # default true
match = [
{
class = "Todoist";
}
];
command = [ "todoist" ];
move = true;
};
};
};
}; };
}; };
}; };
+7 -4
View File
@@ -20,7 +20,7 @@ in {
"$term" = "kitty"; "$term" = "kitty";
"$editor" = "nvim"; "$editor" = "nvim";
"$notes" = "kitty --class \"custom-obsidianvaults\" --name \"Select Obsidian vault\" --hold custom-obsidianvaults"; "$notes" = "kitty --class \"custom-obsidianvaults\" --name \"Select Obsidian vault\" --hold custom-obsidianvaults";
"$file" = "nautilus"; "$file" = "dolphin";
"$browser" = "kitty --class \"custom-librewolfprofiles\" --name \"Select LibreWolf profile\" --hold custom-librewolfprofiles"; "$browser" = "kitty --class \"custom-librewolfprofiles\" --name \"Select LibreWolf profile\" --hold custom-librewolfprofiles";
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ # ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ # █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
@@ -145,7 +145,8 @@ in {
"$mod_SHIFT, S, exec, caelestia shell picker open" "$mod_SHIFT, S, exec, caelestia shell picker open"
# framework 16 rgb macropad # framework 16 rgb macropad
"Ctrl+$mod, 6, exec, custom-killall" # pos 1 1 killall apps except focused one "Ctrl+$mod, 6, exec, custom-killall" # pos 1 1 killall apps except focused one
"Ctrl+Alt, 7, exec, custom-performance" # pos 2 1 start performance mode #"Ctrl+Alt, 7, exec, custom-performance" # pos 2 1 start performance mode
"Ctrl+Alt, 7, exec, caelestia shell gameMode toggle"
# reloads the autostart programs # pos 3 1 # reloads the autostart programs # pos 3 1
# we passed to caelestia-shell and stoped using that # we passed to caelestia-shell and stoped using that
/*"Ctrl+$mod, 4, exec, sleep 1 && kitty -o font_size=16 -e sh -c 'custom-weather'" /*"Ctrl+$mod, 4, exec, sleep 1 && kitty -o font_size=16 -e sh -c 'custom-weather'"
@@ -155,6 +156,8 @@ in {
"Ctrl+$mod, 4, exec, sleep 1 && kitty -o font_size=1 -e sh -c 'cmatrix -br'" "Ctrl+$mod, 4, exec, sleep 1 && kitty -o font_size=1 -e sh -c 'cmatrix -br'"
#"Ctrl+Alt, 1, exec, swaync-client -t" # pos 4 1 notification center #"Ctrl+Alt, 1, exec, swaync-client -t" # pos 4 1 notification center
"Ctrl+Alt, 1, exec, qs ipc call notifications toggle" */ "Ctrl+Alt, 1, exec, qs ipc call notifications toggle" */
"Ctrl+Alt, 1, exec, caelestia shell drawers toggle sidebar"
"Ctrl+$mod, 4, exec, caelestia shell notifs toggleDnd"
"Ctrl+$mod, 3, exec, pavucontrol" # pos 1 2 audiocontrol "Ctrl+$mod, 3, exec, pavucontrol" # pos 1 2 audiocontrol
"Ctrl+$mod, 5, exec, gnome-characters" # pos 2 2 special chars "Ctrl+$mod, 5, exec, gnome-characters" # pos 2 2 special chars
"Ctrl+Alt, 8, exec, hyprpicker | tee >(wl-copy) | cliphist store" # pos 3 2 colorpicker "Ctrl+Alt, 8, exec, hyprpicker | tee >(wl-copy) | cliphist store" # pos 3 2 colorpicker
@@ -215,7 +218,7 @@ in {
"custom-obsidianbackup" # backups the obsidian notes to kdrive and to a timed hidden dir (~/.Notes.backup/) "custom-obsidianbackup" # backups the obsidian notes to kdrive and to a timed hidden dir (~/.Notes.backup/)
"QS-notifycache" # builds the cache that will be used for the notification history "QS-notifycache" # builds the cache that will be used for the notification history
######################### /* We stopped using that ######################### maybe we should desactivate those scripts
# login autostart # login autostart
####################### #######################
"[workspace 1 silent] sleep 1 && kitty -o font_size=16 -e sh -c 'custom-weather'" "[workspace 1 silent] sleep 1 && kitty -o font_size=16 -e sh -c 'custom-weather'"
@@ -224,7 +227,7 @@ in {
"[workspace 1 silent] sleep 1 && kitty -o font_size=5 -e btm --theme gruvbox --disable-click --disable_advanced_kill --enable_cache_memory -g -R -T " "[workspace 1 silent] sleep 1 && kitty -o font_size=5 -e btm --theme gruvbox --disable-click --disable_advanced_kill --enable_cache_memory -g -R -T "
"[workspace 1 silent] sleep 1 && kitty -o font_size=1 -e sh -c 'cmatrix -br'" "[workspace 1 silent] sleep 1 && kitty -o font_size=1 -e sh -c 'cmatrix -br'"
###################### ######################
###################### ######################*/
]; ];
# gestures (also keybindings) # gestures (also keybindings)