Added: Hyprland
This commit is contained in:
		@@ -1,47 +1,22 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  anyrun,
 | 
			
		||||
  ...
 | 
			
		||||
} @ args:
 | 
			
		||||
with lib; let
 | 
			
		||||
  cfg = config.modules.desktop.hyprland;
 | 
			
		||||
in {
 | 
			
		||||
  imports = [
 | 
			
		||||
    anyrun.homeManagerModules.default
 | 
			
		||||
    ./options
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  options.modules.desktop.hyprland = {
 | 
			
		||||
    enable = mkEnableOption "hyprland compositor";
 | 
			
		||||
    settings = lib.mkOption {
 | 
			
		||||
      type = with lib.types; let
 | 
			
		||||
        valueType =
 | 
			
		||||
          nullOr (oneOf [
 | 
			
		||||
            bool
 | 
			
		||||
            int
 | 
			
		||||
            float
 | 
			
		||||
            str
 | 
			
		||||
            path
 | 
			
		||||
            (attrsOf valueType)
 | 
			
		||||
            (listOf valueType)
 | 
			
		||||
          ])
 | 
			
		||||
          // {
 | 
			
		||||
            description = "Hyprland configuration value";
 | 
			
		||||
          };
 | 
			
		||||
      in
 | 
			
		||||
        valueType;
 | 
			
		||||
      default = {};
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = mkIf cfg.enable (
 | 
			
		||||
    mkMerge ([
 | 
			
		||||
        {
 | 
			
		||||
          wayland.windowManager.hyprland.settings = cfg.settings;
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
      ++ (import ./values args))
 | 
			
		||||
  );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    programs.hyprland.enable = true;
 | 
			
		||||
    environment.sessionVariables = {
 | 
			
		||||
        NIXOS_OZONE_WL = "1";
 | 
			
		||||
        WLR_NO_HARDWARE_CURSORS = "1";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    environment.systemPackages = with pkgs; [
 | 
			
		||||
        kitty # Terminal
 | 
			
		||||
 | 
			
		||||
        hyprpicker
 | 
			
		||||
        hyprcursor
 | 
			
		||||
        hyprlock
 | 
			
		||||
        hypridle
 | 
			
		||||
        hyprpaper
 | 
			
		||||
    ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -24,10 +24,12 @@
 | 
			
		||||
 | 
			
		||||
    substituters = [
 | 
			
		||||
      "https://cache.nixos.org"
 | 
			
		||||
      "https://hyprland.cachix.org"
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    trusted-public-keys = [
 | 
			
		||||
      "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
 | 
			
		||||
      "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
 | 
			
		||||
    ];
 | 
			
		||||
    builders-use-substitutes = true;
 | 
			
		||||
  };
 | 
			
		||||
 
 | 
			
		||||
@@ -8,6 +8,7 @@
 | 
			
		||||
  imports = [
 | 
			
		||||
    ../../home/core.nix
 | 
			
		||||
 | 
			
		||||
    ../../home/hyprland
 | 
			
		||||
    ../../home/programs
 | 
			
		||||
    ../../home/rofi
 | 
			
		||||
  ];
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user