From 24d77739b971f86635e32801e35223126fc872c2 Mon Sep 17 00:00:00 2001 From: Hadi <112569860+anotherhadi@users.noreply.github.com> Date: Fri, 18 Apr 2025 14:09:24 +0200 Subject: [PATCH] UWSM Hyprland Former-commit-id: 5bfd891d39e7ed01695b303ffda12bff7698fa58 --- home/system/hypridle/default.nix | 4 +++- home/system/hyprland/bindings.nix | 12 ++++++------ home/system/hyprland/default.nix | 11 ++++++----- home/system/hyprpaper/default.nix | 4 +++- hosts/laptop/configuration.nix | 4 ++-- nixos/hyprland.nix | 6 ++++++ nixos/utils.nix | 5 +---- 7 files changed, 27 insertions(+), 19 deletions(-) create mode 100644 nixos/hyprland.nix diff --git a/home/system/hypridle/default.nix b/home/system/hypridle/default.nix index b354e15..917649e 100644 --- a/home/system/hypridle/default.nix +++ b/home/system/hypridle/default.nix @@ -1,5 +1,5 @@ # Hypridle is a daemon that listens for user activity and runs commands when the user is idle. -{ pkgs, ... }: { +{ pkgs, lib, ... }: { services.hypridle = { enable = true; settings = { @@ -24,4 +24,6 @@ ]; }; }; + systemd.user.services.hypridle.Unit.After = + lib.mkForce "graphical-session.target"; } diff --git a/home/system/hyprland/bindings.nix b/home/system/hyprland/bindings.nix index d89a340..17a6988 100644 --- a/home/system/hyprland/bindings.nix +++ b/home/system/hyprland/bindings.nix @@ -1,16 +1,16 @@ { pkgs, ... }: { wayland.windowManager.hyprland.settings = { bind = [ - "$mod,RETURN, exec, ${pkgs.kitty}/bin/kitty" # Kitty - "$mod,E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Thunar - "$mod,B, exec, zen" # Zen Browser - "$mod,K, exec, ${pkgs.bitwarden}/bin/bitwarden" # Bitwarden - "$mod,L, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock + "$mod,RETURN, exec, uwsm app -- ${pkgs.kitty}/bin/kitty" # Kitty + "$mod,E, exec, uwsm app -- ${pkgs.xfce.thunar}/bin/thunar" # Thunar + "$mod,B, exec, uwsm app -- zen-beta" # Zen Browser + "$mod,K, exec, uwsm app -- ${pkgs.bitwarden}/bin/bitwarden" # Bitwarden + "$mod,L, exec, uwsm app -- ${pkgs.hyprlock}/bin/hyprlock" # Lock "$mod,X, exec, powermenu" # Powermenu "$mod,SPACE, exec, menu" # Launcher "$mod,C, exec, quickmenu" # Quickmenu "$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus - "$mod,P, exec, ${pkgs.planify}/bin/io.github.alainm23.planify" # Planify + "$mod,P, exec, uwsm app -- ${pkgs.planify}/bin/io.github.alainm23.planify" # Planify "$mod,Q, killactive," # Close window "$mod,T, togglefloating," # Toggle Floating diff --git a/home/system/hyprland/default.nix b/home/system/hyprland/default.nix index 07bc2ca..8f46354 100644 --- a/home/system/hyprland/default.nix +++ b/home/system/hyprland/default.nix @@ -47,11 +47,12 @@ in { wayland.windowManager.hyprland = { enable = true; xwayland.enable = true; - systemd.enable = true; - # withUWSM = true; # One day, but not today - systemd.variables = [ - "--all" - ]; # https://wiki.hyprland.org/Nix/Hyprland-on-Home-Manager/#programs-dont-work-in-systemd-services-but-do-on-the-terminal + systemd = { + enable = false; + variables = [ + "--all" + ]; # https://wiki.hyprland.org/Nix/Hyprland-on-Home-Manager/#programs-dont-work-in-systemd-services-but-do-on-the-terminal + }; package = inputs.hyprland.packages."${pkgs.system}".hyprland; portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; diff --git a/home/system/hyprpaper/default.nix b/home/system/hyprpaper/default.nix index 0edeb96..5a2b355 100644 --- a/home/system/hyprpaper/default.nix +++ b/home/system/hyprpaper/default.nix @@ -1,5 +1,5 @@ # Hyprpaper is used to set the wallpaper on the system -{ +{ lib, ... }: { # The wallpaper is set by stylix services.hyprpaper = { enable = true; @@ -9,4 +9,6 @@ splash_offset = 2.0; }; }; + systemd.user.services.hyprpaper.Unit.After = + lib.mkForce "graphical-session.target"; } diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix index 89170dc..d7e9789 100644 --- a/hosts/laptop/configuration.nix +++ b/hosts/laptop/configuration.nix @@ -8,12 +8,12 @@ ../../nixos/home-manager.nix ../../nixos/nix.nix ../../nixos/systemd-boot.nix - # ../../nixos/grub.nix ../../nixos/sddm.nix ../../nixos/users.nix ../../nixos/utils.nix - # ../../nixos/docker.nix ../../nixos/tailscale.nix + ../../nixos/hyprland.nix + ../../nixos/omen.nix # For my laptop only # You should let those lines as is diff --git a/nixos/hyprland.nix b/nixos/hyprland.nix new file mode 100644 index 0000000..4104f72 --- /dev/null +++ b/nixos/hyprland.nix @@ -0,0 +1,6 @@ +{ + programs.hyprland = { + enable = true; + withUWSM = true; + }; +} diff --git a/nixos/utils.nix b/nixos/utils.nix index c724771..ff71699 100644 --- a/nixos/utils.nix +++ b/nixos/utils.nix @@ -105,10 +105,7 @@ in { hyprland.default = [ "gtk" "hyprland" ]; }; - extraPortals = [ - pkgs.xdg-desktop-portal-gtk - inputs.hyprland.packages."${pkgs.system}".xdg-desktop-portal-hyprland - ]; + extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; security = {