diff --git a/homes/x86_64-linux/rafiq/default.nix b/homes/x86_64-linux/rafiq/default.nix index 23d39fb..527c93d 100644 --- a/homes/x86_64-linux/rafiq/default.nix +++ b/homes/x86_64-linux/rafiq/default.nix @@ -13,6 +13,7 @@ home.packages = with pkgs; [ neovim ripgrep + kitty ]; home.sessionVariables = { EDITOR = "nvim"; diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix new file mode 100644 index 0000000..a903e7d --- /dev/null +++ b/modules/nixos/desktop/default.nix @@ -0,0 +1,10 @@ +{ config, lib, ... }: +{ + imports = [ + ./windowManager.nix + ]; + + options.desktop = { + windowManager = lib.pantheon.mkStrOption; + }; +} diff --git a/modules/nixos/desktop/windowManager.nix b/modules/nixos/desktop/windowManager.nix new file mode 100644 index 0000000..20498c0 --- /dev/null +++ b/modules/nixos/desktop/windowManager.nix @@ -0,0 +1,15 @@ +{ config, lib, ... }: +{ + config = lib.mkMerge [ + (lib.mkIf (config.desktop.windowManager == "hyprland") { + environment.variables = { + ELECTRON_OZONE_PLATFORM_HINT = "auto"; + NIXOS_OZONE_WL = "1"; + }; + programs.hyprland = { + enable = true; + withUWSM = true; + }; + }) + ]; +} diff --git a/modules/nixos/hardware/nvidia.nix b/modules/nixos/hardware/nvidia.nix index 030e6cc..4708e40 100644 --- a/modules/nixos/hardware/nvidia.nix +++ b/modules/nixos/hardware/nvidia.nix @@ -11,6 +11,11 @@ hardware.nvidia.open = true; hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.latest; nixpkgs.config.allowUnfree = true; + environment.variables = { + LIBVA_DRIVER_NAME = "nvidia"; + __GLX_VENDOR_LIBRARY_NAME = "nvidia"; + NVD_BACKEND = "direct"; + }; } ]); } diff --git a/systems/x86_64-linux/nemesis/default.nix b/systems/x86_64-linux/nemesis/default.nix index e08223d..22d3ebd 100644 --- a/systems/x86_64-linux/nemesis/default.nix +++ b/systems/x86_64-linux/nemesis/default.nix @@ -11,6 +11,8 @@ hardware.platform = "amd"; hardware.gpu = "nvidia"; + desktop.windowManager = "hyprland"; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; }