{ inputs, ... }: {
  flake.modules.nixos.hyprland = {
    programs.hyprland.enable = true;
    # Force electron apps to use wayland
    environment.sessionVariables.NIXOS_OZONE_WL = "1";

    home-manager.sharedModules = [
      inputs.self.modules.homeManager.hyprland
    ];
  };

  flake.modules.homeManager.hyprland = { pkgs, ... }: {
    wayland.windowManager.hyprland.enable = true;
    services.hyprpolkitagent.enable = true;

    home.packages = with pkgs; [
      hyprpicker
    ];
  };
}
