{
  lib,
  pkgs,
  config,
  osConfig,
  ...
}: let
  userConfig = osConfig.host.users.eve;
in {
  config = {
    # Packages that can be installed without any extra configuration
    # See https://search.nixos.org/packages for all options
    home.packages = lib.lists.optionals userConfig.isDesktopUser (
      with pkgs; [
        firefox
        bitwarden
        discord
        makemkv
        signal-desktop-bin
        ungoogled-chromium
      ]
    );

    # Packages that need to be installed with some extra configuration
    # See https://home-manager-options.extranix.com/ for all options
    programs = {
      # Let Home Manager install and manage itself.
      home-manager.enable = true;

      git = {
        enable = true;
        userName = "Eve";
        userEmail = "evesnrobins@gmail.com";
        extraConfig.init.defaultBranch = "main";
      };

      vscode = {
        enable = true;
        package = pkgs.vscodium;
      };

      openssh = {
        hostKeys = [
          {
            type = "ed25519";
            path = "${config.home.username}_${osConfig.networking.hostName}_ed25519";
          }
        ];
      };
    };
  };
}