How to install all package in a package set?

Hello everyone, How can I install all package in a package set?
I tried add it to home.packages ,but i got error: A definition for option home-manager.users.zhou2008.home.packages."[definition 9-entry 1]" is not of type 'package'.

home.packages = with pkgs; [
    kdePackages
    microsoft-edge
    vscode
    vlc
    qq
    tdesktop
    tree htop wget curl git
];

You could try with pkgs; [ ... ] ++ builtins.attrValues kdePackages but I expect that to not work.

error: qt6Packages now uses makeScopeWithSplicing which does not have "overrideScope'", use "overrideScope".

yes, it is not working
btw,is nixos has a package like kde-applications-meta(it exists in archlinux)?

builtins.filter lib.isDerivation (builtins.attrValues kdePackages)

This should filter out all the non-derivation attributes.

sorry for late reply, but it still not works

➜  ~ update            
building the system configuration...
error:
       … while calling the 'head' builtin

         at /nix/store/s8pb2vy9zdjxlc5gr2iwkkm9y5gqr4ph-source/lib/attrsets.nix:1575:11:

         1574|         || pred here (elemAt values 1) (head values) then
         1575|           head values
             |           ^
         1576|         else

       … while evaluating the attribute 'value'

         at /nix/store/s8pb2vy9zdjxlc5gr2iwkkm9y5gqr4ph-source/lib/modules.nix:809:9:

          808|     in warnDeprecation opt //
          809|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          810|         inherit (res.defsFinal') highestPrio;

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: qt6Packages now uses makeScopeWithSplicing which does not have "overrideScope'", use "overrideScope".
➜  ~ 

Try this:

lib.pipe kdePackages.sources [
  builtins.attrNames
  (builtins.map (n: kdePackages.${n}))
  (builtins.filter (pkg: !pkg.meta.broken))
]
1 Like

ok,it works,thank you very much!