aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/home-manager/default.nix2
-rw-r--r--modules/home-manager/hyprlock.nix113
-rw-r--r--modules/home-manager/swayidle.nix29
3 files changed, 144 insertions, 0 deletions
diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix
index 9293d1a..95f326a 100644
--- a/modules/home-manager/default.nix
+++ b/modules/home-manager/default.nix
@@ -17,5 +17,7 @@
./waybar.nix
./firefox.nix
./spicetify.nix
+ ./hyprlock.nix
+ ./swayidle.nix
];
}
diff --git a/modules/home-manager/hyprlock.nix b/modules/home-manager/hyprlock.nix
new file mode 100644
index 0000000..99810d2
--- /dev/null
+++ b/modules/home-manager/hyprlock.nix
@@ -0,0 +1,113 @@
+{
+ config,
+ lib,
+ username,
+ ...
+}:
+
+{
+ options.hyprlock.enable = lib.mkEnableOption "Hyprlock is a screen locker for Hyprland.";
+ config = lib.mkIf config.hyprlock.enable {
+ programs.hyprlock = {
+ enable = true;
+ settings = {
+ general = {
+ immediate_render = true;
+ };
+
+ background = [
+ {
+ monitor = "";
+ path = "/etc/nixos/images/pond.jpg";
+ }
+ ];
+
+ input-field = [
+ {
+ monitor = "";
+ size = "300, 30";
+ outline_thickness = 0;
+ dots_size = 0.25;
+ dots_spacing = 0.55;
+ dots_center = true;
+ dots_rounding = -1;
+ outer_color = "rgba(242, 243, 244, 0)";
+ inner_color = "rgba(242, 243, 244, 0)";
+ font_color = "rgba(242, 243, 244, 0.75)";
+ fade_on_empty = false;
+ placeholder_text = "";
+ hide_input = false;
+ check_color = "rgba(204, 136, 34, 0)";
+ fail_color = "rgba(204, 34, 34, 0)";
+ fail_text = "$FAIL <b>($ATTEMPTS)</b>";
+ fail_transition = 300;
+ capslock_color = -1;
+ numlock_color = -1;
+ bothlock_color = -1;
+ invert_numlock = false;
+ swap_font_color = false;
+ position = "0, -468";
+ halign = "center";
+ valign = "center";
+ }
+ ];
+
+ label = [
+ {
+ monitor = "";
+ text = ''cmd[update:1000] echo "$(date +"%A, %B %d")"'';
+ color = "rgba(242, 243, 244, 0.75)";
+ font_size = 20;
+ position = "0, 405";
+ halign = "center";
+ valign = "center";
+ }
+ {
+ monitor = "";
+ text = ''cmd[update:1000] echo "$(date +"%k:%M")"'';
+ color = "rgba(242, 243, 244, 0.75)";
+ font_size = 93;
+ position = "0, 310";
+ halign = "center";
+ valign = "center";
+ }
+ {
+ monitor = "";
+ text = "${username}";
+ color = "rgba(242, 243, 244, 0.75)";
+ font_size = 12;
+ position = "0, -407";
+ halign = "center";
+ valign = "center";
+ }
+ {
+ monitor = "";
+ text = "Enter Password";
+ color = "rgba(242, 243, 244, 0.75)";
+ font_size = 10;
+ position = "0, -438";
+ halign = "center";
+ valign = "center";
+ }
+ ];
+
+ image = [
+ {
+ monitor = "";
+ path = "/etc/nixos/images/pf.jpg";
+ border_color = "0xffdddddd";
+ border_size = 0;
+ size = 73;
+ rounding = -1;
+ rotate = 0;
+ reload_time = -1;
+ reload_cmd = "";
+ position = "0, -353";
+ halign = "center";
+ valign = "center";
+ }
+ ];
+ };
+ };
+ };
+}
diff --git a/modules/home-manager/swayidle.nix b/modules/home-manager/swayidle.nix
new file mode 100644
index 0000000..33cd495
--- /dev/null
+++ b/modules/home-manager/swayidle.nix
@@ -0,0 +1,29 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+
+{
+ options.swayidle.enable = lib.mkEnableOption "Enable swayidle configuration";
+ config = lib.mkIf config.swayidle.enable {
+ services.swayidle = {
+ enable = true;
+ timeouts = [
+ {
+ timout = "600";
+ command = "${pkgs.sway}/bin/swaymsg output * dpms off";
+ }
+ {
+ timout = "900";
+ command = "${pkgs.systemd}/bin/systemctl suspend";
+ }
+ ];
+ events = [
+ { event = "resume"; command = "${pkgs.sway}/bin/swaymsg output * dpms on"; }
+ { event = "before-sleep"; command = "${pkgs.hyprlock}/bin/hyprlock"; }
+ ];
+ };
+ };
+}