{ inputs, pkgs, ... }:
{
    services.udev.packages = [ pkgs.yubikey-personalization ];

    hardware.graphics = {
        enable = true;
        extraPackages = with pkgs; [
            vulkan-loader
            vulkan-validation-layers
            vulkan-extension-layer
        ];
    };
    programs.hyprland = {
        enable = true;
    };
    services.greetd = {
        enable = pkgs.lib.mkDefault true;
        settings = rec {
            initial_session = {
                command = "Hyprland";
                user = "user";
            };
            default_session = initial_session;
        };
    };

    i18n.extraLocaleSettings = {
        LC_TIME = "en_GB.UTF-8";
    };
    environment.variables = {
        LC_TIME = "en_GB.UTF-8";
    };

    # Calendar
    # Add the server using gnome-online-accounts:
    # nix-shell -p gnome-control-center --run "gnome-control-center"
    # Just add the main webdav server and gnome-calendar will automatically pick up all available calendars.
    programs.dconf.enable = true;
    services.gnome.evolution-data-server.enable = true;
    services.gnome.gnome-online-accounts.enable = true;
    services.gnome.gnome-keyring.enable = true;
    services.gnome.sushi.enable = true;

    services.pipewire = {
        enable = true;
        alsa.enable = true;
        alsa.support32Bit = true;
        pulse.enable = true;
        jack.enable = true;
    };

    hardware.bluetooth = {
        enable = true;
        powerOnBoot = true;
        settings = {
            General = {
                Experimental = true;
            };
        };
    };
    services.blueman.enable = true;
}
