diff --git a/flake.lock b/flake.lock index 3bb03a569..eaa0c8616 100644 --- a/flake.lock +++ b/flake.lock @@ -717,7 +717,7 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_7" + "systems": "systems_8" }, "locked": { "lastModified": 1701680307, @@ -735,7 +735,7 @@ }, "flake-utils_6": { "inputs": { - "systems": "systems_8" + "systems": "systems_9" }, "locked": { "lastModified": 1710146030, @@ -753,7 +753,7 @@ }, "flake-utils_7": { "inputs": { - "systems": "systems_9" + "systems": "systems_10" }, "locked": { "lastModified": 1701680307, @@ -771,7 +771,7 @@ }, "flake-utils_8": { "inputs": { - "systems": "systems_10" + "systems": "systems_11" }, "locked": { "lastModified": 1701680307, @@ -1126,6 +1126,47 @@ "type": "github" } }, + "hyprlang_3": { + "inputs": { + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1708212860, + "narHash": "sha256-nW3Zrhh9RJcMTvOcXAaKADnJM/g6tDf3121lJtTHnYo=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "11d5ccda071c153dfdc18ef65338956a51cef96a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlock": { + "inputs": { + "hyprlang": "hyprlang_3", + "nixpkgs": "nixpkgs_8", + "systems": "systems_7" + }, + "locked": { + "lastModified": 1710863423, + "narHash": "sha256-JdSC7TCqPOp85B9jpAAlkVrIVejJFY+f9rSlDc9vKsk=", + "owner": "hyprwm", + "repo": "hyprlock", + "rev": "54da0cae0f197f07c17c672ebdc22de244859494", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlock", + "type": "github" + } + }, "impurity": { "locked": { "lastModified": 1689836741, @@ -1246,7 +1287,7 @@ "flake-parts": "flake-parts_2", "hercules-ci-effects": "hercules-ci-effects", "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1710288189, @@ -1307,7 +1348,7 @@ "inputs": { "flake-parts": "flake-parts_6", "nix-github-actions": "nix-github-actions", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_11", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -1522,7 +1563,7 @@ "flake-compat": "flake-compat_5", "lib-aggregate": "lib-aggregate_2", "nix-eval-jobs": "nix-eval-jobs", - "nixpkgs": "nixpkgs_11" + "nixpkgs": "nixpkgs_12" }, "locked": { "lastModified": 1710357202, @@ -1539,6 +1580,22 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1710272261, + "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1703134684, "narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=", @@ -1554,7 +1611,7 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_12": { "locked": { "lastModified": 1710272261, "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", @@ -1570,7 +1627,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_13": { "locked": { "lastModified": 1682809678, "narHash": "sha256-jqR8t82mWotOSgnWZvr6xXCO/tc3fCPTLMPvI7Jo5rA=", @@ -1586,7 +1643,7 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_14": { "locked": { "lastModified": 1704538339, "narHash": "sha256-1734d3mQuux9ySvwf6axRWZRBhtcZA9Q8eftD6EZg6U=", @@ -1699,6 +1756,22 @@ } }, "nixpkgs_8": { + "locked": { + "lastModified": 1708475490, + "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0e74ca98a74bc7270d28838369593635a5db3260", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { "locked": { "lastModified": 1710252211, "narHash": "sha256-hQChQpB4LDBaSrNlD6DPLhU9T+R6oyxMCg2V+S7Y1jg=", @@ -1714,22 +1787,6 @@ "type": "github" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1710272261, - "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixvim": { "inputs": { "devshell": "devshell", @@ -1812,12 +1869,13 @@ "hyprcontrib": "hyprcontrib", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", + "hyprlock": "hyprlock", "impurity": "impurity", "neovim-nightly-overlay": "neovim-nightly-overlay", "nh": "nh", "nix-gaming": "nix-gaming", "nixpak": "nixpak", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_10", "nixpkgs-wayland": "nixpkgs-wayland", "nixvim": "nixvim", "nur": "nur", @@ -1939,7 +1997,7 @@ "shadower": { "inputs": { "naersk": "naersk", - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1707695303, @@ -2007,6 +2065,21 @@ "type": "github" } }, + "systems_11": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_2": { "locked": { "lastModified": 1681028828, @@ -2084,16 +2157,16 @@ }, "systems_7": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -2152,7 +2225,7 @@ "waybar": { "inputs": { "flake-compat": "flake-compat_9", - "nixpkgs": "nixpkgs_13" + "nixpkgs": "nixpkgs_14" }, "locked": { "lastModified": 1710355616, diff --git a/flake.nix b/flake.nix index c1e611d37..7a1f0be52 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,8 @@ hyprland.url = "github:hyprwm/Hyprland"; + hyprlock.url = "github:hyprwm/hyprlock"; + hyprcontrib.url = "github:hyprwm/contrib"; hyprland-plugins = { diff --git a/hosts/del/configuration.nix b/hosts/del/configuration.nix index a8cbdbfcd..fd395f722 100644 --- a/hosts/del/configuration.nix +++ b/hosts/del/configuration.nix @@ -216,8 +216,9 @@ neovim.enable = true; swaylock.enable = true; zathura.enable = true; - hyprland = { - enable = true; + hypr = { + land.enable = true; + lock.enable = true; }; helix.enable = false; newsboat.enable = true; diff --git a/hosts/niks/configuration.nix b/hosts/niks/configuration.nix index d5c0ad587..e961235af 100644 --- a/hosts/niks/configuration.nix +++ b/hosts/niks/configuration.nix @@ -179,9 +179,12 @@ neovim.enable = true; swaylock.enable = true; zathura.enable = true; - hyprland = { - enable = true; - startupSound = ./mathis.m4a; + hypr = { + land = { + enable = true; + startupSound = ./mathis.m4a; + }; + lock.enable = true; }; helix.enable = true; newsboat.enable = true; diff --git a/modules/gui/default.nix b/modules/gui/default.nix index b4b254626..6826b4b63 100644 --- a/modules/gui/default.nix +++ b/modules/gui/default.nix @@ -1,6 +1,7 @@ _: { imports = [ #./eww + ./hypr ./vesktop ./anyrun.nix ./armcord.nix @@ -9,7 +10,6 @@ _: { ./foot.nix ./gtk.nix ./gtklock.nix - ./hyprland.nix ./mpv.nix ./osu.nix ./qt.nix diff --git a/modules/gui/hypr/default.nix b/modules/gui/hypr/default.nix new file mode 100644 index 000000000..2cf865e69 --- /dev/null +++ b/modules/gui/hypr/default.nix @@ -0,0 +1,7 @@ +_: { + imports = [ + ./idle.nix + ./land.nix + ./lock.nix + ]; +} diff --git a/modules/gui/hypr/idle.nix b/modules/gui/hypr/idle.nix new file mode 100644 index 000000000..e69de29bb diff --git a/modules/gui/hyprland.nix b/modules/gui/hypr/land.nix similarity index 99% rename from modules/gui/hyprland.nix rename to modules/gui/hypr/land.nix index ea3c94d01..3a75d7c98 100644 --- a/modules/gui/hyprland.nix +++ b/modules/gui/hypr/land.nix @@ -5,7 +5,7 @@ pkgs, ... }: with lib; let - cfg = config.myOptions.programs.hyprland; + cfg = config.myOptions.programs.hypr.land; username = config.myOptions.other.system.username; hmCfg = config.home-manager.users.${username}; osuCfg = config.myOptions.programs.osu; @@ -18,7 +18,7 @@ inherit (inputs.shadower.packages.${pkgs.system}) shadower; inherit (inputs.hyprland.packages.${pkgs.system}) hyprland; in { - options.myOptions.programs.hyprland = { + options.myOptions.programs.hypr.land = { enable = mkEnableOption "enable hiper ląd"; startupSound = mkOption { type = types.path; diff --git a/modules/gui/hypr/lock.nix b/modules/gui/hypr/lock.nix new file mode 100644 index 000000000..dfb634e33 --- /dev/null +++ b/modules/gui/hypr/lock.nix @@ -0,0 +1,92 @@ +{ + config, + inputs, + lib, + pkgs, + ... +}: with lib; let + cfg = config.myOptions.programs.hypr.lock; + username = config.myOptions.other.system.username; + + text_color = "rgba(eae0e4FF)"; +in { + options.myOptions.programs.hypr.lock = { + enable = mkEnableOption "enable hiper zamek"; + extraSettings = mkOption { + type = types.attrs; + description = "extra per host hyprlock settings"; + default = {}; + }; + }; + + config = mkIf cfg.enable { + home-manager.users.${username} = { + imports = [ inputs.hyprlock.homeManagerModules.default ]; + + programs.hyprlock = { + enable = true; + package = inputs.hyprlock.packages.${pkgs.system}.hyprlock; + general = { + grace = 2; + }; + backgrounds = [ + { + color = "rgba(120f1177)"; + path = "screenshot"; + blur_size = 5; + blur_passes = 4; + } + ]; + + input-fields = [ + { + size = { + width = 600; + height = 50; + }; + outline_thickness = 3; + dots_size = 0.1; + dots_spacing = 0.3; + outer_color = "rgba(9a8d9555)"; + inner_color = "rgba(120f1111)"; + font_color = "rgba(d1c2cbff)"; + fade_on_empty = true; + position = { + x = 0; + y = 20; + }; + halign = "center"; + valign = "center"; + } + ]; + + labels = [ + { + # clock + text = "$TIME"; + color = text_color; + font_size = 65; + position = { + x = 0; + y = 300; + }; + halign = "center"; + valign = "center"; + } + { + # welcome + text = "hello $USER :3"; + color = text_color; + font_size = 20; + position = { + x = 0; + y = 240; + }; + halign = "center"; + valign = "center"; + } + ]; + }; + }; + }; +}