{pkgs, ...}: {
  home.packages = with pkgs; [
    # Work-specific programs
    (pkgs.symlinkJoin
      {
        name = pkgs.teams-for-linux.name;
        paths = [pkgs.teams-for-linux];
        buildInputs = [pkgs.teams-for-linux pkgs.makeWrapper];
        postBuild = ''
          wrapProgram $out/bin/teams-for-linux \
            --add-flags "--enable-features=UseOzonePlatform" \
            --add-flags "--enable-features=WaylandWindowDecorations" \
            --add-flags "--ozone-platform=wayland" \
            --add-flags "--disable-features=WaylandFractionalScaleV1"
        '';

        pname = pkgs.teams-for-linux.pname;
        version = pkgs.teams-for-linux.version;
        meta = pkgs.teams-for-linux.meta;
      })

    # Coding tools
    (pkgs.symlinkJoin
      {
        name = pkgs.hoppscotch.name;
        paths = [pkgs.hoppscotch];
        buildInputs = [pkgs.hoppscotch pkgs.makeWrapper];
        postBuild = ''
          wrapProgram $out/bin/hoppscotch \
            --add-flags "--enable-features=UseOzonePlatform" \
            --add-flags "--enable-features=WaylandWindowDecorations" \
            --add-flags "--ozone-platform=wayland" \
            --add-flags "--disable-features=WaylandFractionalScaleV1"
        '';

        pname = pkgs.hoppscotch.pname;
        version = pkgs.hoppscotch.version;
        meta = pkgs.hoppscotch.meta;
      })
    zed-editor

    # Creative tools
    blender
    inkscape
    davinci-resolve

    # Productivity tools
    (pkgs.symlinkJoin
      {
        name = pkgs.bitwarden-desktop.name;
        paths = [pkgs.bitwarden-desktop];
        buildInputs = [pkgs.bitwarden-desktop pkgs.makeWrapper];
        postBuild = ''
          wrapProgram $out/bin/bitwarden \
            --add-flags "--enable-features=UseOzonePlatform" \
            --add-flags "--enable-features=WaylandWindowDecorations" \
            --add-flags "--ozone-platform=wayland" \
            --add-flags "--disable-features=WaylandFractionalScaleV1"
        '';

        pname = pkgs.bitwarden-desktop.pname;
        version = pkgs.bitwarden-desktop.version;
        meta = pkgs.bitwarden-desktop.meta;
      })
    libreoffice-qt
    hunspell
    hunspellDicts.en_CA

    onlyoffice-bin

    # System toolsj
    gparted

    # Communication tools
    (pkgs.symlinkJoin
      {
        name = pkgs.discord.name;
        paths = [pkgs.discord];
        buildInputs = [pkgs.discord pkgs.makeWrapper];
        postBuild = ''
          wrapProgram $out/bin/discord \
            --add-flags "--enable-features=UseOzonePlatform" \
            --add-flags "--enable-features=WaylandWindowDecorations" \
            --add-flags "--ozone-platform=wayland" \
            --add-flags "--disable-features=WaylandFractionalScaleV1"
        '';

        pname = pkgs.discord.pname;
        version = pkgs.discord.version;
        meta = pkgs.discord.meta;
      })

    # Games
    atlauncher
    steam

    # Note-taking
    (pkgs.symlinkJoin
      {
        name = pkgs.obsidian.name;
        paths = [pkgs.obsidian];
        buildInputs = [pkgs.obsidian pkgs.makeWrapper];
        postBuild = ''
          wrapProgram $out/bin/obsidian \
            --add-flags "--enable-features=UseOzonePlatform" \
            --add-flags "--enable-features=WaylandWindowDecorations" \
            --add-flags "--ozone-platform=wayland" \
            --add-flags "--disable-features=WaylandFractionalScaleV1"
        '';

        pname = pkgs.obsidian.pname;
        version = pkgs.obsidian.version;
        meta = pkgs.obsidian.meta;
      })
  ];
}
