Open Uncorrupt3318 opened 4 months ago
Make sure you're starting the correct Hyprland version from your display manager. With the flake you'll want to make sure that you don't use pkgs.hyprland
anywhere in the config.
You can also try packaging the plugin for nixpkgs and using that instead of the Hyprland flake, which simplifies the config a bit.
Make sure you're starting the correct Hyprland version from your display manager
Still doesn't work. I added services.displayManager.sddm.settings.Wayland.SessionDir = "${inputs.hyprland.packages.x86_64-linux.hyprland}/share/wayland-sessions";
still no dice.
don't use
pkgs.hyprland
anywhere in the config
I don't use it in any of the configuration, flake or home files. Only the inputs.hyprland.packages...
You can also try packaging the plugin
Might be the easiest to do honestly, but I'll see if anyone has any other suggestions first.
I suspect the issue comes from hyprsplit not using the same stdenv as hyprland (https://github.com/shezdy/hyprsplit/blob/main/flake.nix#L18). A simple inputs.hyprland.packages.${system}.default.stdenv.mkDerivation
in place of pkgs.stdenv.mkDerivation
should do the trick.
So I cloned the hyprsplit repo, changed what you said. Updated the flake in the repo. Changed the input of the main flake to the local repo. Aaaaand it still doesn't work. I feel like I'm doing something wrong, but I have no clue how to find that error
Fun fact, I tried installing the hyprexpo plugin just now, and it has exactly the same error.
Please keep in mind I only switched to nixos recently, and I can be making just some basic mistake
Hyprexpo from nixpkgs or from hyprland-plugins?
Hyprland-plugins
Trying to repro, but I'm hitting other issues while at it. Will post when I'm done.
Awesome, thanks! Let me know if you need any more info or anything
Sorry I didn't get back to you on this, but I haven't had time to test. Does it still happen now, after the aquamarine merge?
No problem, everyone's busy :) Yeah it still happens for both hyprsplit and hyprexpo, and probably the rest of the plugins as well. It's probably my config, or something that I did that messed something up :/
In my case it seems to load just fine using hyprctl plugin load /path/to/libhyprexpo.so
. I'll test adding it to the config shortly.
I tried the same thing just now
error in loading plugin, last error: Plugin /nix/store/hmhhaspiaw38xnn5b4nnr1c8dqxzb29j-hyprexpo-0.1/lib/libhyprexpo.so could not be loaded: plugin crashed/threw in main: [he] Version mismatch
I think it actually builds with a different version, but I have no idea how. Even tho hyprland-plugins
follows hyprland
in the flake.
├───Hyprspace: github:KZDKM/Hyprspace/e8662093ae5b6e13a3cf1145d21d4804a3e84aeb
│ └───hyprland follows input 'hyprland'
├───home-manager: github:nix-community/home-manager/e1391fb22e18a36f57e6999c7a9f966dc80ac073
│ └───nixpkgs follows input 'nixpkgs'
├───hyprland: git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=33a5c8ce325e1657ec5571b57e05c6378706f4cd
│ ├───aquamarine: github:hyprwm/aquamarine/353dc1b7299d43f08de44276b93ae32726ff9d70
│ │ ├───hyprutils follows input 'hyprland/hyprutils'
│ │ ├───hyprwayland-scanner follows input 'hyprland/hyprwayland-scanner'
│ │ ├───nixpkgs follows input 'hyprland/nixpkgs'
│ │ └───systems follows input 'hyprland/systems'
│ ├───hyprcursor: github:hyprwm/hyprcursor/4493a972b48f9c3014befbbf381ed5fff91a65dc
│ │ ├───hyprlang follows input 'hyprland/hyprlang'
│ │ ├───nixpkgs follows input 'hyprland/nixpkgs'
│ │ └───systems follows input 'hyprland/systems'
│ ├───hyprlang: github:hyprwm/hyprlang/adbefbf49664a6c2c8bf36b6487fd31e3eb68086
│ │ ├───hyprutils follows input 'hyprland/hyprutils'
│ │ ├───nixpkgs follows input 'hyprland/nixpkgs'
│ │ └───systems follows input 'hyprland/systems'
│ ├───hyprutils: github:hyprwm/hyprutils/962582a090bc233c4de9d9897f46794280288989
│ │ ├───nixpkgs follows input 'hyprland/nixpkgs'
│ │ └───systems follows input 'hyprland/systems'
│ ├───hyprwayland-scanner: github:hyprwm/hyprwayland-scanner/a048a6cb015340bd82f97c1f40a4b595ca85cc30
│ │ ├───nixpkgs follows input 'hyprland/nixpkgs'
│ │ └───systems follows input 'hyprland/systems'
│ ├───nixpkgs: github:NixOS/nixpkgs/1d9c2c9b3e71b9ee663d11c5d298727dace8d374
│ ├───systems: github:nix-systems/default-linux/31732fcf5e8fea42e59c2488ad31a0e651500f68
│ └───xdph: github:hyprwm/xdg-desktop-portal-hyprland/663be9cad424b170b28b9fa8a61042d721007f3b
│ ├───hyprland-protocols: github:hyprwm/hyprland-protocols/1b61f0093afff20ab44d88ad707aed8bf2215290
│ │ ├───nixpkgs follows input 'hyprland/xdph/nixpkgs'
│ │ └───systems follows input 'hyprland/xdph/systems'
│ ├───hyprlang follows input 'hyprland/hyprlang'
│ ├───nixpkgs follows input 'hyprland/nixpkgs'
│ └───systems follows input 'hyprland/systems'
├───hyprland-plugins: github:hyprwm/hyprland-plugins/4c2cef8326711fbd91b7a313f095545eb50d2a57
│ ├───hyprland follows input 'hyprland'
│ ├───nixpkgs follows input 'hyprland-plugins/hyprland/nixpkgs'
│ └───systems follows input 'hyprland-plugins/hyprland/systems'
├───hyprsplit: github:shezdy/hyprsplit/fcf00b770e3b89fd93de2de1bb5e68721090f5fe
│ └───hyprland follows input 'hyprland'
├───nixpkgs: github:nixos/nixpkgs/d0907b75146a0ccc1ec0d6c3db287ec287588ef6
└───nixpkgs-unstable: github:nixos/nixpkgs/4f02464258baaf54992debfd010a7a3662a25536
Can you remove the lockfile and then nix flake lock
to regenerate it? In some weird cases the lockfile isn't updated properly.
Should I try adding the plugin now, or should I nix flake update
before? (better ask lol)
Never mind, I tried both, still the same thing. Can it be that home-manager
has to be on the same nixpkgs
as hyprland
and by extension, the plugins?
No, all it does is it sets up your config nix -> hyprlang. The problem lies between hyprland and the plugins.
I had the exact same issue, spent about 9 hours debugging and searching online. Turns out, for me at least, that switch
-ing nix profiles doesn't play nicely with hyprland. Once I enabled the plugins, and received the mismatch errors, I simply rebooted and they loaded fine afterwards. Hope this can help someone!
Okay, I'm curious, but could you explain step by step what you did please?
I tried:
And neither work. I guess they're both switching the profile. So what do you mean by
Once I enabled the plugins, and received the mismatch errors, I simply rebooted and they loaded fine afterwards.
@jeikashu sorry, I meant nixos-rebuild switch
alone didn't work. I rebooted afterwards and it did. You're welcome to look at my config to see if there's maybe something different from your one https://github.com/PolarizedIons/nixos-config/tree/7a2e79e0d1a0180eb2323b01c650c335ed594e6a .
Yeah that didn't work :/. I saw your config, but it really seems the same as mine. I installed NixOS to not have to deal with this, and here I am lmao
@jeikashu only other thing I can think of, is that I ran sudo nix-collect-garbage -d
not too long before I made that comment.
Tried just now, and nothing (: How is this even possible lmao
I am facing the same thing with hyprbars
Maybe make sure you're using inputs.hyprland.homeManagerModules.default
home manager module, and inputs.hyprland.nixosModules.default
nixos module, since they setup some stuff iirc as well
Might have worked, but after adding inputs.hyprland.homeManagerModules.default
to hyprland flake and inputs.hyprland.nixosModules.default
to configuration.nix, Hyprland-wrapp
dumps core lol
Maybe make sure you're using
inputs.hyprland.homeManagerModules.default
home manager module, andinputs.hyprland.nixosModules.default
nixos module, since they setup some stuff iirc as well
I did but hyprland completely failed to open from terminal. So i just kept nixos module. It opened but still getting the same error.
Just tried installing plugins and faced this mismatch error.
i have cachix enabled
and my flake.nix is
hyprland.url = "github:hyprwm/Hyprland";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
and everywhere i have made sure to use this input hyprland only.
@niksingh710 I've just compiled the whole hyprland-plugins repo with the latest hyprland with no errors. Can you provide more info? Are you sure your inputs are up to date?
@fufexan Just updated my whole flake and below is the details.
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
hyprland.url = "github:hyprwm/Hyprland";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
Overlay
nixpkgs.overlays = [ (next: prev: { wmhypr = inputs.hyprland.inputs.nixpkgs.legacyPackages.${prev.system}; }) ];
Hyprland Config
programs.hyprland = { enable = true; package = pkgs.wmhypr.hyprland; portalPackage = pkgs.wmhypr.xdg-desktop-portal-hyprland; };
plugins.nix
{ inputs, pkgs, ... }: { wayland.windowManager.hyprland.plugins = [ inputs.hyprland-plugins.packages.${pkgs.system}.hyprtrails ]; }
Weird. Maybe needs a bump or something.
i have the same issue here on NixOS unstable;
flake.nix input
hyprland.url = "github:hyprwm/Hyprland";
hyprland-plugins.url = "github:hyprwm/hyprland-plugins";
hyprland-plugins.inputs.hyprland.follows = "hyprland";
system config
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
xwayland.enable = true;
};
home-manager config
programs.hyprland.enable = true;
programs.hyprland.package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;1
flake.lock
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang_2",
"hyprutils": "hyprutils_2",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_2",
"xdph": "xdph"
},
"locked": {
"lastModified": 1729905757,
"narHash": "sha256-4KlQKI/SqiF25pMr7tLZbqHXFdEeoT1KZF+b/6Af7yw=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "0b29caf9ab86518ff474eed5e7d19c12f96ebbd0",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-plugins": {
"inputs": {
"hyprland": [
"hyprland"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1729596320,
"narHash": "sha256-sBPr6O2Ad916f+L7biAjmJVx4TLDITC4joKgeOT47V8=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "4d7f0b5d8b952f31f7d2e29af22ab0a55ca5c219",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-plugins",
"type": "github"
}
},
Regression?
No
System Info and Version
System/Version info
```sh Hyprland, built from branch main at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update). Date: 2024-06-25 Tag: v0.41.2, commits: 918d8340afd652b011b937d29d5eea0be08467f5 flags: (if any) System Information: System name: Linux Node name: xxxxxx Release: 6.6.39 Version: #1-NixOS SMP PREEMPT_DYNAMIC Thu Jul 11 10:49:22 UTC 2024 GPU information: 28:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev cc) (prog-if 00 [VGA controller]) os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.05.20240714.53e81e7" DOCUMENTATION_URL="https://nixos.org/learn.html" HOME_URL="https://nixos.org/" ID=nixos IMAGE_ID="" IMAGE_VERSION="" LOGO="nix-snowflake" NAME=NixOS PRETTY_NAME="NixOS 24.05 (Uakari)" SUPPORT_END="2024-12-31" SUPPORT_URL="https://nixos.org/community.html" VERSION="24.05 (Uakari)" VERSION_CODENAME=uakari VERSION_ID="24.05" plugins: ======Config-Start====== Config File: /home/xxxxxx/.config/hypr/hyprland.conf: Read Succeeded exec-once = /nix/store/nn54yahdasinv9hyk1hjwpakw8sqqyq0-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target plugin=/nix/store/611ni8dn971ab7wa5r25vlqnsm9zx27f-hyprsplit-0.1/lib/libhyprsplit.so #exec-once = /nix/store/nn54yahdasinv9hyk1hjwpakw8sqqyq0-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=DP-1,1920x1080@60,0x0,1 monitor=DP-3,1920x1080@60,-1920x75,1 ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = kitty $fileManager = thunar $menu = wofi --show drun ################# ### AUTOSTART ### ################# exec-once = easyeffects --gapplication-service ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 exec-once = hyprctl setcursor capitaine-cursors-light 24 ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 5 gaps_out = 20 border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(b4d6f2aa) col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false layout = dwindle } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 10 drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 5 passes = 3 new_optimizations=true } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( disable_splash_rendering = true focus_on_activate = true } binds { workspace_back_and_forth = true workspace_center_on = 1 } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us,pl kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { natural_scroll = false } } # https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { workspace_swipe = false } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { name = epic-mouse-v1 sensitivity = -0.5 } #################### ### KEYBINDINGSS ### #################### # See https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = SUPER # Sets "Windows" key as main modifier # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, $terminal bind = $mainMod SHIFT, C, killactive, bind = $mainMod, M, fullscreen, 1 bind = $mainMod, E, exec, $fileManager bind = $mainMod, F, togglefloating, bind = $mainMod, B, exec, floorp bind = $mainMod, D, exec, vesktop --enable-features=VaapiIgnoreDriverChecks,VaapiVideoEncoder,VaapiVideoDecoder,CanvasOopRasterization,UseMultiPlaneFormatForHardwareVideo bind = $mainMod, K, exec, hyprctl switchxkblayout royuan-akko-multi-modes-keyboard-b next bind = $mainMod, R, fullscreen # Move focus with mainMod + arrow keys bind = $mainMod, left, movewindow, l bind = $mainMod, right, movewindow, r bind = $mainMod CTRL_L, left, swapactiveworkspaces, DP-1 DP-3 bind = $mainMod CTRL_L, right, swapactiveworkspaces, DP-1 DP-3 # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Asking for password in various situations exec-once=/usr/lib/polkit-kde-authentication-agent-1 # Waybar exec-once=waybar # rofi bind = CTRL, SPACE, exec, rofi -show combi -combi-modes "window,drun" -modes combi # grimblast (screenshots) bind = SHIFT, PRINT, exec, grimblast save area bind = , PRINT, exec, grimblast copy area bind = CTRL_SHIFT, PRINT, exec, grimblast save output bind = CTRL, PRINT, exec, grimblast copy output # copyq exec-once = copyq --start-server bind = $mainMod, V, exec, copyq show windowrule = float,(com.github.hluk.copyq) windowrule = size 400 250,(com.github.hluk.copyq) # waybar reload bind = SUPER, M, exec, killall waybar && waybar # Wallpaper exec-once = swaybg -i .config/wallpapers/stars.jpg -m fit layerrule = noanim, swaybg # League of Legends windowrule = fullscreen,(league of legends.exe) windowrule = monitor DP-1,(league of legends.exe) # GTA 5 windowrulev2 = fullscreen,class:(steam_app_271590),title:(Grand Theft Auto V) windowrule = monitor DP-1,title:(Grand Theft Auto V) bind = SUPER_ALT, G, exec, pkill -STOP GTA5.exe && sleep 10 && pkill -CONT GTA5.exe # play pause next previous bind = $mainMod, Z, exec, playerctl previous bind = $mainMod, X, exec, playerctl next bind = $mainMod, C, exec, playerctl play-pause # nwg-bar bind = $mainMod, L, exec, nwg-bar # steam friends list windowrulev2 = float,title:(Friends List) # File Operation Progress windowrulev2 = float,title:(File Operation Progress) windowrule = move 1450 75,title:(File Operation Progress) windowrule = noinitialfocus,title:(File Operation Progress) # File Operation Dialog windowrulev2 = float,title:(Confirm to replace files) # File upload window windowrule = size 960 700,title:(File Upload) windowrule = move 500 200,title:(File Upload) # Hyprshade exec-once = dbus-update-activation-environment --systemd HYPRLAND_INSTANCE_SIGNATURE exec = hyprshade auto bind = $mainMod, H, exec, hyprshade toggle ======Config-End======== ```Description
Hi, I'm trying to install hyprsplit, but I'm getting
hyprsplit: Failure in initialization: Version mismatch (headers ver is not equal to running hyprland ver
. Configs seem correct, but there must be something wrong if it doesn't work.I've asked the hyprsplit author, but he doesn't use nix, so I thought I would have more luck here.
How to reproduce
flake.nix
home.nix
configuration.nix
Crash reports, logs, images, videos
No response