From c557367aafbd8ad30f6e40403e71dd883f839357 Mon Sep 17 00:00:00 2001 From: matt1432 Date: Sat, 25 Nov 2023 03:24:12 -0500 Subject: [PATCH] feat(hyprland): use final package --- devices/binto/modules/desktop.nix | 15 ++++++++------- devices/binto/modules/nvidia.nix | 6 +++++- devices/wim/modules/desktop.nix | 13 +++++++------ flake.lock | 12 ++++++------ home/hyprland/default.nix | 11 ++++++++++- modules/greetd/default.nix | 5 +++-- 6 files changed, 39 insertions(+), 23 deletions(-) diff --git a/devices/binto/modules/desktop.nix b/devices/binto/modules/desktop.nix index 5984a6b..a6db0bf 100644 --- a/devices/binto/modules/desktop.nix +++ b/devices/binto/modules/desktop.nix @@ -1,16 +1,17 @@ { pkgs, - hyprland, + config, ... -}: { +}: let + user = config.services.device-vars.username; + hyprland = config.home-manager.users.${user}.wayland.windowManager.hyprland.finalPackage; +in { programs.dconf.enable = true; services = { xserver = { displayManager = { - sessionPackages = [ - hyprland.packages.x86_64-linux.default - ]; + sessionPackages = [hyprland]; }; libinput.enable = true; @@ -19,8 +20,8 @@ greetd = { settings = { initial_session = { - command = "${hyprland.packages.x86_64-linux.default}/bin/Hyprland"; - user = "matt"; + command = "${hyprland}/bin/Hyprland"; + user = user; }; }; }; diff --git a/devices/binto/modules/nvidia.nix b/devices/binto/modules/nvidia.nix index 5681d63..f893f0c 100644 --- a/devices/binto/modules/nvidia.nix +++ b/devices/binto/modules/nvidia.nix @@ -1,9 +1,13 @@ -{config, ...}: { +{config, pkgs, ...}: { # Enable OpenGL hardware.opengl = { enable = true; driSupport = true; driSupport32Bit = true; + + extraPackages = with pkgs; [ + vaapiVdpau + ]; }; # Load nvidia driver for Xorg and Wayland diff --git a/devices/wim/modules/desktop.nix b/devices/wim/modules/desktop.nix index b7b9809..b8a96f8 100644 --- a/devices/wim/modules/desktop.nix +++ b/devices/wim/modules/desktop.nix @@ -1,16 +1,17 @@ { - hyprland, pkgs, + config, ... -}: { +}: let + user = config.services.device-vars.username; + hyprland = config.home-manager.users.${user}.wayland.windowManager.hyprland.finalPackage; +in { programs.dconf.enable = true; services = { xserver = { displayManager = { - sessionPackages = [ - hyprland.packages.x86_64-linux.default - ]; + sessionPackages = [hyprland]; }; libinput.enable = true; @@ -20,7 +21,7 @@ greetd = { settings = { initial_session = { - command = "${hyprland.packages.x86_64-linux.default}/bin/Hyprland"; + command = "${hyprland}/bin/Hyprland"; user = "matt"; }; }; diff --git a/flake.lock b/flake.lock index 9a94a25..ef82603 100644 --- a/flake.lock +++ b/flake.lock @@ -595,11 +595,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1700860372, - "narHash": "sha256-jWNIMHxuvOC3if17goWqeqeBjAmTqUriqUtU9ZO1l7o=", + "lastModified": 1700896414, + "narHash": "sha256-npOz1k4us5XBg7qPEQLVjSSSLrCZpB5RMDYJvYQDT1w=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "03721ba8f5cc8182508bc6f72b25daa34374294c", + "rev": "421ce6c43d560c3930a19968712c3dd343e90b05", "type": "github" }, "original": { @@ -706,11 +706,11 @@ }, "nur": { "locked": { - "lastModified": 1700880146, - "narHash": "sha256-lgsD/vGn0f9XkamUlWAPagqsJwGxb31MqN9OyhPCaV8=", + "lastModified": 1700896827, + "narHash": "sha256-34Ya3sbVR7lJoghlygj8fPImzIj4Y1nN/B+zm/gVjoE=", "owner": "nix-community", "repo": "NUR", - "rev": "d754bccc0094ac3267aaa41f96b243ab9d0cf8e8", + "rev": "92780bd20e4fa0526f63e0136fb6f3bbeac6bf9a", "type": "github" }, "original": { diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix index a4bc1ca..feb4467 100644 --- a/home/hyprland/default.nix +++ b/home/hyprland/default.nix @@ -12,6 +12,15 @@ gset = pkgs.gsettings-desktop-schemas; polkit = pkgs.plasma5Packages.polkit-kde-agent; + + mainPkg = + if osConfig.hardware.nvidia.modesetting.enable + then { + hyprland = pkgs.hyprland; + } + else { + hyprland = hyprland.packages.x86_64-linux.default; + }; in { imports = [ ./theme.nix @@ -25,7 +34,7 @@ in { wayland.windowManager.hyprland = { enable = true; - package = hyprland.packages.x86_64-linux.default; + package = mainPkg.hyprland; enableNvidiaPatches = osConfig.hardware.nvidia.modesetting.enable; plugins = diff --git a/modules/greetd/default.nix b/modules/greetd/default.nix index 4a01d6e..7fbce67 100644 --- a/modules/greetd/default.nix +++ b/modules/greetd/default.nix @@ -2,9 +2,11 @@ lib, pkgs, config, - hyprland, ... }: let + user = config.services.device-vars.username; + hyprBin = "${config.home-manager.users.${user}.wayland.windowManager.hyprland.finalPackage}/bin"; + nvidia = if config.hardware.nvidia.modesetting.enable then { @@ -20,7 +22,6 @@ env = ""; }; regreetBin = "${lib.getExe config.programs.regreet.package}"; - hyprBin = "${hyprland.packages.x86_64-linux.default}/bin"; gset = pkgs.gsettings-desktop-schemas; css = pkgs.writeText "style.css" ''${builtins.readFile ./style.css}'';