dotfiles/home/apps/rice.nix

140 lines
3.4 KiB
Nix

{
config,
lib,
osConfig,
pkgs,
...
}:
let
inherit (pkgs.stdenv.hostPlatform) isLinux;
ctp = {
base = "#1e1e2e";
crust = "#11111b";
text = "#cdd6f4";
pink = "#f5c2e7";
red = "#f38ba8";
mauve = "#cba6f7";
};
isSwayFx = osConfig.dotfiles.desktop == "swayfx";
in
{
config = lib.mkIf config.isGraphical {
programs.i3status-rust = lib.mkIf isLinux {
enable = true;
bars.top = {
blocks = [
{
block = "vpn";
driver = "mullvad";
format_connected = "";
format_disconnected = "";
state_connected = "good";
state_disconnected = "critical";
}
{
block = "tea_timer";
done_cmd = "notify-send 'Timer Finished'";
}
{
block = "time";
interval = 60;
format = " $timestamp.datetime(f:'%d/%m %R') ";
}
{
block = "notify";
format = " $icon {($notification_count.eng(w:1)) |}";
driver = "swaync";
click = [
{
button = "left";
action = "show";
}
{
button = "right";
action = "toggle_paused";
}
];
}
];
settings = {
icons.icons = "material-nf";
theme.overrides = {
idle_fg = ctp.text;
idle_bg = "#00000000";
info_fg = "#89b4fa";
info_bg = "#00000000";
good_fg = "#a6e3a1";
good_bg = "#00000000";
warning_fg = "#fab387";
warning_bg = "#00000000";
critical_fg = "#f38ba8";
critical_bg = "#00000000";
separator = " ";
separator_bg = "auto";
separator_fg = "auto";
};
};
};
};
programs.rofi = lib.mkIf isLinux {
enable = true;
package = pkgs.rofi-wayland;
font = "IBM Plex Sans 14";
extraConfig.icon-theme = "Papirus-Dark";
terminal = "wezterm";
theme = ./rofi/theme.rasi;
};
programs.swaylock = lib.mkIf isLinux {
enable = true;
package = lib.mkIf isSwayFx pkgs.swaylock-effects;
settings =
{
ignore-empty-password = false;
font = "IBM Plex Sans";
indicator-radius = "100";
indicator-thickness = "10";
color = lib.mkIf (!isSwayFx) "000000";
text-color = "cdd6f4";
text-clear-color = "11111b";
text-ver-color = "11111b";
text-wrong-color = "11111b";
ring-color = "1e1e2e";
key-hl-color = "f5c2e7";
line-color = "f5c2e7";
inside-color = "00000088";
separator-color = "00000000";
inside-clear-color = "f2cdcd88";
line-clear-color = "f2cdcd";
ring-clear-color = "f2cdcd";
inside-ver-color = "89dceb88";
line-ver-color = "89dceb";
ring-ver-color = "89dceb";
inside-wrong-color = "f38ba888";
line-wrong-color = "f38ba8";
ring-wrong-color = "f38ba8";
}
// (lib.optionalAttrs isSwayFx) {
indicator = true;
screenshots = true;
clock = true;
timestr = "%H:%M";
datestr = "%A, %d %B";
effect-blur = "30x2";
effect-vignette = "0.5:0.5";
fade-in = "0.2";
};
};
};
}