big module system implementation

This commit is contained in:
cnst
2024-08-17 18:28:42 +02:00
parent 505afa84d0
commit 7525ab34c1
155 changed files with 2402 additions and 2029 deletions

View File

@@ -0,0 +1,36 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.modules.wm.utils.hypridle;
in {
options = {
modules.wm.utils.hypridle.enable = mkEnableOption "Enables hypridle";
};
config = mkIf cfg.enable {
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "hyprlock";
before_sleep_cmd = "$lock_cmd";
after_sleep_cmd = "hyprctl dispatch dpms on";
};
listener = [
{
timeout = 900; # 15mins
on-timeout = "hyprlock";
}
{
timeout = 1200; # 20mins
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
};
}

View File

@@ -0,0 +1,90 @@
{
inputs,
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.modules.wm.utils.hyprlock;
in {
options = {
modules.wm.utils.hyprlock.enable = mkEnableOption "Enables hyprlock";
};
config = mkIf cfg.enable {
programs.hyprlock = {
enable = true;
package = inputs.hyprlock.packages.${pkgs.system}.hyprlock;
settings = {
general = {
disable_loading_bar = true;
hide_cursor = true;
no_fade_in = true;
no_fade_out = true;
ignore_empty_input = true;
immediate_render = true;
};
background = [
{
monitor = "";
path = "~/media/images/dunes.png";
}
];
input-field = [
{
monitor = "";
size = "200, 50";
outline_thickness = 0;
dots_size = 0.1;
dots_spacing = 0.3;
dots_center = true;
dots_rounding = -1;
outer_color = "rgba(0,0,0,0)";
inner_color = "rgba(0,0,0,0)";
font_color = "rgba(FFFFFFFF)";
fade_on_empty = false;
fade_timeout = 0;
fail_text = "";
fail_transition = 0;
placeholder_text = "";
hide_input = false;
rounding = 0;
check_color = "rgba(0,0,0,0)";
fail_color = "rgba(0,0,0,0)";
position = "0, 20";
halign = "center";
valign = "center";
}
];
label = [
# date
{
monitor = "";
text = "cmd[update:3600000] date +'%A, %B %d'";
shadow_passes = 1;
shadow_boost = 0.5;
color = "rgba(FFFFFFFF)";
font_size = 25;
font_family = "Input Mono Compressed";
position = "0, 230";
halign = "center";
valign = "center";
}
# clock
{
monitor = "";
text = "cmd[update:1000] echo '$TIME'";
shadow_passes = 1;
shadow_boost = 0.5;
color = "rgba(FFFFFFFF)";
font_size = 85;
font_family = "Input Mono Compressed";
position = "0, 300";
halign = "center";
valign = "center";
}
];
};
};
};
}

View File

@@ -0,0 +1,45 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.modules.wm.utils.hyprpaper;
in {
options = {
modules.wm.utils.hyprpaper.enable = mkEnableOption "Enables hyprpaper";
};
config = mkIf cfg.enable {
services.hyprpaper = {
enable = true;
settings = {
ipc = "on";
splash = false;
splash_offset = 2.0;
preload = [
"~/media/images/nix.png"
"~/media/images/stacks.png"
"~/media/images/ship.png"
"~/media/images/cabin.png"
"~/media/images/dunes.png"
"~/media/images/globe.png"
"~/media/images/space.jpg"
"~/media/images/galaxy.png"
"~/media/images/deathstar.png"
"~/media/images/trollskog.png"
];
wallpaper = [
# cnix
"DP-3,~/media/images/dunes.png"
# adampad
"eDP-1,~/media/images/dunes.png"
# toothpc
"DVI-D-1,~/media/images/dunes.png"
# "DP-1,/share/wallpapers/cat_pacman.png"
];
};
};
};
}