error: attribute 'fcitx5-with-addons' missing
at /nix/store/6p26pcb63k9y859ph3gc9pnxvgxpc5qj-home-manager/home-manager/modules/i18n/input-method/fcitx5.nix:19:19:
18| type = lib.types.package;
19| default = pkgs.libsForQt5.fcitx5-with-addons;
| ^
20| example = lib.literalExpression "pkgs.kdePackages.fcitx5-with-addons";
Which comes completely out of left field since I don’t use fcitx5 knowingly. I have not been able to assess where in my configuration it went wrong. I can only see that the version of home-manager used for the build is behind the master branch of home-manager.
Why is home-manager not using the latest commit on master?
Any ideas on how I can find the issue and fix it (outside of using --trace) ?
I purposefully recreated the lock file in my build step, so it shouldn’t be relevant. However I was seeing that my home-manager is not up to date with the master branch. Could it be because it is following nixpkgs, or is it supposed to wait for a release on home-manager?
Okay, the lockfile shows hm pointing to the newest commit, so the error doesn’t make sense. Remove the --impure and --recreate-lock-file and try again. (And allowing unfree should be in your config.)
Thank you for the guidance. I can see I have to convert everything to support flakes. I have skipped quite a few steps when i started to use flakes. It seems a hybrid system with flakes and channels is a treacherous path.
I will add a post after I’ve converted everything, and hopefully everything will be in order
You probably already know this, but just want to explicitly state that this isn’t about pointless pedantry, rather it will help us narrow down the issue a bit. If you use --impure, or run an essentially stateful command that blows out the lockfile, it’s relying on something on your system (channel states, environment variables, etc.) that we can’t help reproduce on our own system; however if you rely entirely on the existing lockfile for inputs, then we should be able to reproduce the error on our systems when trying to eval your config (or better, the error goes away on its own ).
That’s not to say we can’t try to help if you use channels, but involving channels and envvars and potentially even files outside of your repo definitely makes that harder.
They’re not the default because they’re still experimental, design is unergonomic and even underperformant in many cases etc. Flakes are still seeing active development, but existing threads on discourse go into more details about why it’s been in limbo for 5 years.