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

  hardware.opengl = {
    enable = true;
    driSupport = true;
    driSupport32Bit = true;
  };

  fonts.packages = with pkgs; [
    noto-fonts
    noto-fonts-cjk
    noto-fonts-emoji
    iosevka
    nerdfonts
    roboto
    font-awesome
  ];

  services.greetd = {
    enable = true;
    settings = rec {
      initial_session = {
        command = "Hyprland";
        user = "user";
      };
      default_session = initial_session;
    };
  };

  # Calendar
  # Add the server using gnome-online-accounts:
  # nix-shell -p gnome.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.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    jack.enable = true;
  };

  hardware.bluetooth.enable = true;
  hardware.bluetooth.powerOnBoot = true;
  services.blueman.enable = true;
  systemd.user.services.mpris-proxy = {
    description = "Mpris proxy";
    after = [ "network.target" "sound.target" ];
    wantedBy = [ "default.target" ];
    serviceConfig.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
  };
  hardware.bluetooth.settings = {
    General = {
      Experimental = true;
    };
  };

}