{
  config,
  pkgs,
  lib,
  ...
}:
with lib;
let
  ferdium = pkgs.writeShellScriptBin "ferdium" ''
    /var/run/wrappers/bin/sudo -u ferdium -i ${pkgs.ferdium}/bin/ferdium $@
  '';
in

{

  environment.systemPackages = [

    ferdium
    (pkgs.makeDesktopItem {
      terminal = false;
      exec = "${ferdium}/bin/ferdium";
      name = "ferdium";
      desktopName = "Ferdium";
      icon = "${pkgs.ferdium}/share/icons/hicolor/512x512/apps/ferdium.png";
    })

    pkgs.xorg.xhost
  ];

  users.users.ferdium = {
    isNormalUser = false;
    isSystemUser = true;
    home = "/home/ferdium";
    createHome = true;
    extraGroups = [
      "audio"
      "input"
      "video"
      "pipewire"
    ];
    group = "ferdium";
    shell = pkgs.bashInteractive;
  };
  users.groups.ferdium = { };

  security.sudo.extraConfig = ''
    ${config.users.extraUsers.mainUser.name} ALL=(ferdium) NOPASSWD: ALL
  '';
}