{
  lib,
  inputs',
  pkgs,
  config,
  ...
}:
let
  inherit (config.modules.meta) username;
in
{
  hjem = {
    users.${username} = {
      enable = true;
      imports = [ ./programs ];
    };
    specialArgs = {
      libmy = lib.my;
    };
    clobberByDefault = true;
  };

  users.users.${username}.packages =
    [
      inputs'.nur.packages.grayjay-desktop
    ]
    ++ (with pkgs; [
      keepassxc
      digikam
      fragments
      element-desktop
      libreoffice
      loupe
      pwvucontrol
      thunderbird
      keepassxc
      protonmail-bridge-gui
      signal-desktop
      tagger
      kid3
      hoppscotch

      # proprietary
      obsidian

      # CLI tools
      jhead
      fdupes
      exiftool
      sshfs
      wl-clipboard

      # custom
      nysh
      scripts.nixedit
      scripts.set-background
      scripts.fishl
      scripts.nrun
      scripts.nruni
      scripts.rpaste
      scripts.genswitch
      scripts.gentest
      scripts.editsym
      scripts.deployswitch
      scripts.deploytest
    ]);
}