feat(hyprland): use final package

This commit is contained in:
matt1432 2023-11-25 03:24:12 -05:00
parent 8ea4c31a1c
commit c557367aaf
6 changed files with 33 additions and 17 deletions

View file

@ -1,16 +1,17 @@
{ {
pkgs, 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; programs.dconf.enable = true;
services = { services = {
xserver = { xserver = {
displayManager = { displayManager = {
sessionPackages = [ sessionPackages = [hyprland];
hyprland.packages.x86_64-linux.default
];
}; };
libinput.enable = true; libinput.enable = true;
@ -19,8 +20,8 @@
greetd = { greetd = {
settings = { settings = {
initial_session = { initial_session = {
command = "${hyprland.packages.x86_64-linux.default}/bin/Hyprland"; command = "${hyprland}/bin/Hyprland";
user = "matt"; user = user;
}; };
}; };
}; };

View file

@ -1,9 +1,13 @@
{config, ...}: { {config, pkgs, ...}: {
# Enable OpenGL # Enable OpenGL
hardware.opengl = { hardware.opengl = {
enable = true; enable = true;
driSupport = true; driSupport = true;
driSupport32Bit = true; driSupport32Bit = true;
extraPackages = with pkgs; [
vaapiVdpau
];
}; };
# Load nvidia driver for Xorg and Wayland # Load nvidia driver for Xorg and Wayland

View file

@ -1,16 +1,17 @@
{ {
hyprland,
pkgs, pkgs,
config,
... ...
}: { }: let
user = config.services.device-vars.username;
hyprland = config.home-manager.users.${user}.wayland.windowManager.hyprland.finalPackage;
in {
programs.dconf.enable = true; programs.dconf.enable = true;
services = { services = {
xserver = { xserver = {
displayManager = { displayManager = {
sessionPackages = [ sessionPackages = [hyprland];
hyprland.packages.x86_64-linux.default
];
}; };
libinput.enable = true; libinput.enable = true;
@ -20,7 +21,7 @@
greetd = { greetd = {
settings = { settings = {
initial_session = { initial_session = {
command = "${hyprland.packages.x86_64-linux.default}/bin/Hyprland"; command = "${hyprland}/bin/Hyprland";
user = "matt"; user = "matt";
}; };
}; };

Binary file not shown.

View file

@ -12,6 +12,15 @@
gset = pkgs.gsettings-desktop-schemas; gset = pkgs.gsettings-desktop-schemas;
polkit = pkgs.plasma5Packages.polkit-kde-agent; 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 { in {
imports = [ imports = [
./theme.nix ./theme.nix
@ -25,7 +34,7 @@ in {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
package = hyprland.packages.x86_64-linux.default; package = mainPkg.hyprland;
enableNvidiaPatches = osConfig.hardware.nvidia.modesetting.enable; enableNvidiaPatches = osConfig.hardware.nvidia.modesetting.enable;
plugins = plugins =

View file

@ -2,9 +2,11 @@
lib, lib,
pkgs, pkgs,
config, config,
hyprland,
... ...
}: let }: let
user = config.services.device-vars.username;
hyprBin = "${config.home-manager.users.${user}.wayland.windowManager.hyprland.finalPackage}/bin";
nvidia = nvidia =
if config.hardware.nvidia.modesetting.enable if config.hardware.nvidia.modesetting.enable
then { then {
@ -20,7 +22,6 @@
env = ""; env = "";
}; };
regreetBin = "${lib.getExe config.programs.regreet.package}"; regreetBin = "${lib.getExe config.programs.regreet.package}";
hyprBin = "${hyprland.packages.x86_64-linux.default}/bin";
gset = pkgs.gsettings-desktop-schemas; gset = pkgs.gsettings-desktop-schemas;
css = pkgs.writeText "style.css" ''${builtins.readFile ./style.css}''; css = pkgs.writeText "style.css" ''${builtins.readFile ./style.css}'';