{
  pkgs,
  config,
  lib,
  ...
}: let
  cfg = config.nixfiles.profile.workstation;
  inherit (lib) mkDefault;
in {
  options.nixfiles.profile.workstation.enable =
    lib.mkEnableOption "workstation (featureful PC) profile"
    // {
      description = ''
        Whether to enable the workstation (featureful PC) profile. This profile
        enables the base PC profile, as well as installs and configures various
        other programs for a more complete computing experience.
      '';
    };
  config = lib.mkIf cfg.enable {
    nixfiles.profile.pc.enable = lib.mkDefault true;
    nixfiles.packageSets.multimedia.enable = lib.mkDefault true;
    nixfiles.programs.syncthing.enable = lib.mkDefault true;

    # probably unnecessary, this will be enabled by whatever session i use
    # Enable the X11 windowing system.
    # services.xserver.enable = true;

    environment.systemPackages = with pkgs; [
      arc-theme
      wl-clipboard
      xclip
    ];

    # this solves some inconsistent behavior with xdg-open
    xdg.portal.xdgOpenUsePortal = true;

    # Enable flatpak
    services.flatpak.enable = mkDefault true;

    fonts.packages = with pkgs; [
      nerd-fonts.fira-code
      font-awesome
      noto-fonts-cjk-sans
      (google-fonts.override {fonts = ["NovaSquare"];})
    ];

    # TODO this should be defined in home-manager or not at all probably
    # FIXME also my name is hardcoded
    users.users.nullbite = {
      packages = with pkgs; [
        firefox
      ];
    };
  };
}