{ pkgs, lib, ... }:
let
  emailAddress = "felix.albrigtsen@ntnu.no";
in {
  imports = [
    ./../../home/base.nix
    ./../../home/alacritty.nix
  ];

  home.packages = with pkgs; [
    bc
    catimg
    chromium
    dante
    dig
    element-desktop
    hunspellDicts.en_US
    hunspellDicts.nb_NO
    jq
    keymapp
    libreoffice
    maim
    mpv
    nixpkgs-2211.remmina
    oauth2ms
    openssl
    pwgen
    rofi-rbw-x11
    unstable.tlclient
    traceroute
    virt-manager
    w3m

    (unstable.python311.withPackages (ps: with ps; [
      numpy
      pycryptodome
      requests

      python-designateclient
      python-heatclient
      python-magnumclient
      python-novaclient
      python-openstackclient
    ]))
  ];

  programs = {
    aerc = {
      enable = true;
      package = pkgs.unstable.aerc;
    };
    alacritty.enable = true;
    firefox.enable = true;
    git.extraConfig.user.email = emailAddress;
    rbw = {
      enable = true;
      settings = {
        base_url = "https://bitwarden.it.ntnu.no";
        email = emailAddress;
        pinentry = pkgs.pinentry-gnome3;
      };
    };
    rofi = {
      enable = true;
      theme = "iggy";
    };
    zsh = {
      shellAliases."rebuild" = "sudo nixos-rebuild switch --flake /config";
      prezto.pmodules = [ "ssh" ];
    };

    neovim.plugins = with pkgs.vimPlugins; [ copilot-vim ];
  };

  xdg.mimeApps = {
    enable = true;

    defaultApplications = {
      "text/html" = "firefox.desktop";
      "x-scheme-handler/http" = "firefox.desktop";
      "x-scheme-handler/https" = "firefox.desktop";
      "x-scheme-handler/about" = "firefox.desktop";
      "x-scheme-handler/unknown" = "firefox.desktop";
    };
  };

  home.stateVersion = "24.05";
}