Files
amazing-dotfiles/modules/bars/ashell.nix
2026-04-26 20:47:03 +02:00

118 lines
2.3 KiB
Nix

{
lib,
userConfig,
pkgs,
...
}:
{
programs.ashell = {
enable = true;
package = lib.mkIf (!userConfig.isNixOS) null;
settings = {
outputs = {
Targets = [ userConfig.mainMonitor ];
};
position = "Bottom";
modules = {
left = [
"Tempo"
"Workspaces"
];
center = [ "WindowTitle" ];
right = [
"Privacy"
"MediaPlayer"
"SystemInfo"
[
"CustomNotifications"
"Tray"
"Settings"
]
];
};
CustomModule = [
{
name = "CustomNotifications";
icon = "";
command = "${pkgs.writeShellScript "dnd-toggle" ''
if makoctl mode | grep -q do-not-disturb; then
makoctl mode -r do-not-disturb > /dev/null
else
makoctl mode -a do-not-disturb > /dev/null
fi
pkill -USR1 -f dnd-check
''}";
listen_cmd = "${pkgs.writeShellScript "dnd-check" ''
print_state() {
if makoctl mode | grep -q do-not-disturb; then
echo '{"alt":"dnd"}'
else
echo '{"alt":"none"}'
fi
}
trap print_state USR1
print_state
while true; do
sleep infinity & wait $!
done
''}";
icons.dnd = "";
}
];
tempo = {
clock_format = "%H:%M | %e.%m ";
};
media_player = {
max_title_length = 50;
indicator_format = "Icon";
};
settings = {
remove_airplane_btn = true;
};
appearance = {
scale_factor = 1.2;
style = "Islands";
success_color = "#a6e3a1";
text_color = "#cdd6f4";
workspace_colors = [
"#fab387"
"#b4befe"
"#cba6f7"
];
primary_color = {
base = "#fab387";
text = "#1e1e2e";
};
danger_color = {
base = "#f38ba8";
weak = "#f9e2af";
};
background_color = {
base = "#1e1e2e";
weak = "#313244";
strong = "#45475a";
};
secondary_color = {
base = "#11111b";
strong = "#1b1b25";
};
};
};
};
}