{ config, pkgs, lib, mods, ... }:
{
  imports = with mods.global; [ sway ];
  users.users.catvayor = {
    shell = pkgs.zsh;
    isNormalUser = true;
    extraGroups = [ "wheel" "usb" "networkmanager" "video" "audio" "libvirtd" ];
    packages = with pkgs; [
      tree
    ];
  };

  nixpkgs.config.pulseaudio = true;
  services.gvfs.enable = true;
  programs.thunar.enable = true;
  programs.thunar.plugins = with pkgs.xfce; [
    thunar-volman
    thunar-archive-plugin
    thunar-media-tags-plugin
  ];

  home-manager.users.catvayor = {
    home.stateVersion = "23.11";

    imports = with mods.home; [ neovim zsh sway ssh ];

    home.packages = with pkgs; [
      wl-clipboard
      firefox
      pavucontrol
      libnotify
      zathura

      discord
      signal-desktop
      mattermost-desktop
      keepassxc
    ];

    programs.alacritty = { enable = true; settings = lib.importTOML ./cat-alacritty.toml; };
    programs.thunderbird.enable = true;
    programs.thunderbird.profiles = {};
    services.mako = {
      enable = true;
      width = 400;
      height = 200;
      maxVisible = 5;
      backgroundColor = "#8C3586";
      textColor = "#F4F40E";
      borderColor = "#F4F40E";
      defaultTimeout = 5000;
    };

    gtk = {
      enable = true;
      theme = { package = pkgs.arc-theme; name = "Arc-Dark"; };
      iconTheme = { package = pkgs.arc-icon-theme; name = "Arc"; };
      cursorTheme = { package = pkgs.breeze-hacked-cursor-theme; name = "Breeze_Hacked"; };
    };
    home.pointerCursor = { package = pkgs.breeze-hacked-cursor-theme; name = "Breeze_Hacked"; };
    xdg.enable = true;
  };
}
