diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index f2c5312..ce70101 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -1,6 +1,10 @@ { pkgs, inputs, ... }: { + imports = [ + ./hypr.nix + ]; + services.greetd = { enable = true; settings = rec { @@ -23,23 +27,6 @@ }; console.useXkbConfig = true; - programs.hyprland = { - enable = true; - withUWSM = true; - }; - programs.hyprlock.enable = true; - programs.uwsm = { - enable = true; - waylandCompositors = { - hyprland = { - prettyName = "Hyprland"; - comment = "Hyprland compositor managed by UWSM"; - binPath = "/run/current-system/sw/bin/Hyprland"; - }; - }; - }; - - hardware.graphics = { enable = true; enable32Bit = true; @@ -54,20 +41,20 @@ nerd-fonts.iosevka nerd-fonts.shure-tech-mono nerd-fonts.symbols-only + yudit ]; - # services.gvfs.enable = true; + services.gvfs.enable = true; # CHECK: that this gives us gio back services.udisks2.enable = true; services.printing.enable = true; users.users.djai.packages = with pkgs; [ hyprpicker - hyprsunset + hyprprop + hyprlandPlugins.hypr-darkwindow wf-recorder grimblast wmctrl - hyprprop - hyprlandPlugins.hypr-darkwindow kanshi rofi waybar @@ -115,20 +102,4 @@ xdg-desktop-portal-termfilechooser ]; }; - - # TODO: switch to using home manager - # home-manager.users.djai = { - # imports = [ ./hyprland.nix ]; # loogat husseins dots for inspo - # - # home.packages = with pkgs; [ ]; - # - # # TODO: cursor + icon theming - # gtk = { - # enable = true; - # iconTheme = { - # name = "Papirus-Dark"; - # package = pkgs.papirus-icon-theme; - # }; - # }; - # }; } diff --git a/modules/desktop/hypr.nix b/modules/desktop/hypr.nix new file mode 100644 index 0000000..eb27349 --- /dev/null +++ b/modules/desktop/hypr.nix @@ -0,0 +1,108 @@ +{ ... }: + +{ + programs.hyprland = { + enable = true; + withUWSM = true; + }; + + programs.uwsm = { + enable = true; + waylandCompositors = { + hyprland = { + prettyName = "Hyprland"; + comment = "Hyprland compositor managed by UWSM"; + binPath = "/run/current-system/sw/bin/Hyprland"; + }; + }; + }; + + + home-manager.users."djai".programs.hyprlock = { + enable = true; + settings = { + general = { + hide_cursor = true; + ignore_empty_input = true; + }; + + animations = { + enabled = true; + fade_in = { + duration = 300; + bezier = "easeOutQuint"; + }; + fade_out = { + duration = 300; + bezier = "easeOutQuint"; + }; + + input_field_dots = { + duration = 100; + bezier = "linear"; + }; + }; + + background = { + path = "screenshot"; + blur_passes = 3; + }; + + input-field = { + size = "20%, 5%"; + outline_thickness = 3; + inner_color = "rgba(0, 0, 0, 0.0)"; # no fill + outer_color = "rgba($blueAlphaee) rgba($mauveAlphaee) 340deg"; + check_color = "rgba($greenAlphaee) rgba($tealAlphaee) 120deg"; + fail_color = "rgba($redAlphaee) rgba($peachAlphaee) 20deg"; + + font_color = "$text"; + fade_on_empty = false; + rounding = 15; + + font_family = "Monospace"; + placeholder_text = "Input password.."; + fail_text = "$PAMFAIL"; + + dots_spacing = 0.3; + + position = "0, -20"; + halign = "center"; + valign = "center"; + }; + + label = { + text = "$ATTEMPTS"; + font_size = 24; + + position = "0, 40"; + halign = "center"; + valign = "center"; + }; + }; + }; + + home-manager.users."djai".services.hyprsunset = { + enable = true; + settings = { + max-gamma = 150; + + profile = [ + { + time = "7:30"; + identity = true; + } + { + time = "20:00"; + temperature = 3500; + gamma = 0.9; + } + { + time = "21:00"; + temperature = 2500; + gamma = 0.9; + } + ]; + }; + }; +}