diff --git a/flake.lock b/flake.lock index 9e8f6d3..74e9720 100644 --- a/flake.lock +++ b/flake.lock @@ -366,11 +366,11 @@ "wshowkeys": "wshowkeys" }, "locked": { - "lastModified": 1786876041, - "narHash": "sha256-VshRLF8nJ1CB3D09OzoNgXPGVCJo0SOFG740TRJoumE=", + "lastModified": 1787049459, + "narHash": "sha256-erOg/oPA/0Ov7tfFffKp8A9lnf5teXD7U13LIRB3QOg=", "ref": "refs/heads/main", - "rev": "c853222bde4a2ba8e74d4a4a6fe2d1e26f92ddd6", - "revCount": 54, + "rev": "1f00fe9e145cbb48cebd58d64f216672e676a23d", + "revCount": 55, "type": "git", "url": "https://git.voidarc.co.uk/voidarc/hypr" }, diff --git a/modules/features/hyprland/default.nix b/modules/features/hyprland/default.nix index 981f328..474e318 100644 --- a/modules/features/hyprland/default.nix +++ b/modules/features/hyprland/default.nix @@ -34,7 +34,6 @@ security.polkit.enable = true; environment.systemPackages = with pkgs; [ - hyprlock gsettings-desktop-schemas ]; @@ -68,6 +67,7 @@ kitty = self'.packages.kitty; gotify-desktop = self'.packages.gotify-desktop; otter-launcher = self'.packages.otter-launcher; + hyprlock = self'.packages.hyprlock; quickshell = self'.packages.quickshell; wshowkeys = self'.packages.wshowkeys; waybar = self'.packages.waybar; diff --git a/modules/features/hyprlock/cat.png b/modules/features/hyprlock/cat.png new file mode 100644 index 0000000..deb6a04 Binary files /dev/null and b/modules/features/hyprlock/cat.png differ diff --git a/modules/features/hyprlock/default.nix b/modules/features/hyprlock/default.nix new file mode 100644 index 0000000..a7ff428 --- /dev/null +++ b/modules/features/hyprlock/default.nix @@ -0,0 +1,17 @@ +{ + inputs, + moduleWithSystem, + ... +}: { + flake.nixosModules.hyprlock = moduleWithSystem ({self', ...}: { + environment.systemPackages = with self'.packages; [ + hyprock + ]; + }); + perSystem = {pkgs, ...}: { + packages.hyprlock = inputs.wrappers.wrappers.hyprlock.wrap { + inherit pkgs; + "hyprlock.conf".path = ./hyprlock.conf; + }; + }; +} diff --git a/modules/features/hyprlock/hyprlock.conf b/modules/features/hyprlock/hyprlock.conf new file mode 100644 index 0000000..cfb0912 --- /dev/null +++ b/modules/features/hyprlock/hyprlock.conf @@ -0,0 +1,110 @@ +source = ./mocha.conf + +$accent = $mauve +$accentAlpha = $mauveAlpha +$font = FiraMono Nerd Font + +# GENERAL +general { + hide_cursor = true +} + +# BACKGROUND +background { + monitor = + path = screenshot + blur_passes = 3 + color = rgba(0, 0, 0, 0) +} + + +# LAYOUT +label { + monitor = + text = Layout: $LAYOUT + color = $text + font_size = 25 + font_family = $font + position = 30, -30 + halign = left + valign = top +} + +# TIME +label { + monitor = + text = $TIME + color = $text + font_size = 90 + font_family = $font + position = -30, 0 + halign = right + valign = top +} + +# DATE +label { + monitor = + text = cmd[update:43200000] date +"%A, %d %B %Y" + color = $text + font_size = 25 + font_family = $font + position = -30, -150 + halign = right + valign = top +} + +# FINGERPRINT +{ + monitor = ""; + text = "$FPRINTPROMPT"; + color = "$text"; + font_size = 14; + font_family = $font; + position = "0, -107"; + halign = "center"; + valign = "center"; +} + +image { + path = ./cat.png + size = 240 + border_color = transparent + rounding = 0 + position = 0, 7px +} + +# USER AVATAR +image { + monitor = + path = $HOME/.face + size = 100 + border_color = $accent + position = 0, 75 + halign = center + valign = center +} + +# INPUT FIELD +input-field { + monitor = + size = 300, 60 + outline_thickness = 4 + dots_size = 0.2 + dots_spacing = 0.2 + dots_center = true + outer_color = $accent + inner_color = $surface0 + font_color = $text + fade_on_empty = false + placeholder_text = 󰌾 Logged in as $USER + hide_input = false + check_color = $accent + fail_color = $red + fail_text = $FAIL ($ATTEMPTS) + capslock_color = $yellow + position = 0, -47 + halign = center + valign = center +} + diff --git a/modules/features/hyprlock/mocha.conf b/modules/features/hyprlock/mocha.conf new file mode 100644 index 0000000..a7b5dc7 --- /dev/null +++ b/modules/features/hyprlock/mocha.conf @@ -0,0 +1,79 @@ + +$rosewater = rgb(f5e0dc) +$rosewaterAlpha = f5e0dc + +$flamingo = rgb(f2cdcd) +$flamingoAlpha = f2cdcd + +$pink = rgb(f5c2e7) +$pinkAlpha = f5c2e7 + +$mauve = rgb(cba6f7) +$mauveAlpha = cba6f7 + +$red = rgb(f38ba8) +$redAlpha = f38ba8 + +$maroon = rgb(eba0ac) +$maroonAlpha = eba0ac + +$peach = rgb(fab387) +$peachAlpha = fab387 + +$yellow = rgb(f9e2af) +$yellowAlpha = f9e2af + +$green = rgb(a6e3a1) +$greenAlpha = a6e3a1 + +$teal = rgb(94e2d5) +$tealAlpha = 94e2d5 + +$sky = rgb(89dceb) +$skyAlpha = 89dceb + +$sapphire = rgb(74c7ec) +$sapphireAlpha = 74c7ec + +$blue = rgb(89b4fa) +$blueAlpha = 89b4fa + +$lavender = rgb(b4befe) +$lavenderAlpha = b4befe + +$text = rgb(cdd6f4) +$textAlpha = cdd6f4 + +$subtext1 = rgb(bac2de) +$subtext1Alpha = bac2de + +$subtext0 = rgb(a6adc8) +$subtext0Alpha = a6adc8 + +$overlay2 = rgb(9399b2) +$overlay2Alpha = 9399b2 + +$overlay1 = rgb(7f849c) +$overlay1Alpha = 7f849c + +$overlay0 = rgb(6c7086) +$overlay0Alpha = 6c7086 + +$surface2 = rgb(585b70) +$surface2Alpha = 585b70 + +$surface1 = rgb(45475a) +$surface1Alpha = 45475a + +$surface0 = rgb(313244) +$surface0Alpha = 313244 + +$base = rgb(1e1e2e) +$baseAlpha = 1e1e2eee + +$mantle = rgb(181825) +$mantleAlpha = 181825 + +$crust = rgb(11111b) +$crustAlpha = 11111b +