error: attribute 'plasma5' missing at /etc/nixos/configuration.nix:125:5
Which is exactly the pr117102.plasma5 line.
Judging by the PR, I see that it changes module, not a package but not sure how config nixos to use the module source from the PR.
Running this now and indeed it pulls bunch of older stuff which is not what I’m after.
In the one-before-last comment in the PR, they say ‘Plasma with Wayland works wonderfully here with latest unstable and this PR applied’.
I’m already on the latest unstable as of yesterday. How can I try the same setup? - the latest unstable + PR.
Thanks everyone for the answers. Eventually @Artturin’s way worked.
What I did is forked current nixpkgs, cherry-picked the PR commit, and then used the tarball URL as per Artturin guide.
Simply passing my tarball URL as -I http... to nixos-rebuild... kept complaining that it can’t recognize new module options introduced by the PR.
So changing the configuration.nix file, besides actually working, has an additional benefit of freeing me from remembering to drag command line switches around.
The relevant snipped from my configuration.nix is below.
# BEGIN plasma test
# https://github.com/NixOS/nixpkgs/pull/117102
# https://discourse.nixos.org/t/how-to-try-a-pr/15410/5
disabledModules = [ "services/x11/desktop-managers/plasma5.nix" ];
imports = let
pkgsReview = builtins.fetchTarball {
url = "https://github.com/haizaar/nixpkgs/archive/plasma_systemd_21_11.tar.gz";
#pkgsReview = ../nixpkgs;
};
in [
(import "${pkgsReview}/nixos/modules/services/x11/desktop-managers/plasma5.nix")
./hardware-configuration.nix
];
services.xserver.desktopManager.plasma5.runUsingSystemd = true;
services.xserver.displayManager.sessionPackages = [
(pkgs.plasma-workspace.overrideAttrs
(old: { passthru.providedSessions = [ "plasmawayland" ]; }))
];
# END plasma test
@Artturin With your method (and this example) I’m only overriding a single plasma5 module, right? The rest of definition will be taken from the current nix channel, right?
Maybe an RFC has to be written to promote the proper solution (patching nix flake inputs) until somebody with the appropriate skills in C++ is willing to pick this up?
The possibilites of working around the root problem unfortunately are endless.