outfoxxed/hy3

Dispatchers don't work with NixOS + Home Manager

Closed this issue · 2 comments

I'm very new to the Nix ecosystem so I guess it's most likely I'm doing something wrong.
But since I can load the plugin successfully I figured the appropriate place to ask is here.

So the issue is, as I mentioned, the plugin is loaded, the dispatchers are recognized by Hyprland, but they simply have no effect, i.e. hyprctl dispatch hy3:killactive and others do nothing. This is also the case when I'm invoking them via keybindings.

This happens on master builds as well as 0.34.0 builds.

Here is my setup:

flake.nix
{ description = "my nix flake";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/master";
    home-manager.url = "github:nix-community/home-manager";
    home-manager.inputs.nixpkgs.follows = "nixpkgs";
    hyprland.url = "github:hyprwm/Hyprland";
    hy3 = {
      url = "github:outfoxxed/hy3";
      inputs.hyprland.follows = "hyprland";
    };
  };

  outputs =
    inputs @ { self, nixpkgs, home-manager, hyprland, hy3, ... }:
      let inherit (self) outputs; in
      { nixosConfigurations = {
          primary = nixpkgs.lib.nixosSystem {
            specialArgs = { inherit inputs outputs; };
            modules =
              [ ./nixos/configuration.nix

                home-manager.nixosModules.home-manager
                {
                  home-manager.useGlobalPkgs = true;
                  home-manager.useUserPackages = true;
                  home-manager.extraSpecialArgs = { inherit inputs outputs; };
                  home-manager.users.me = import ./home-manager/home.nix;
                }
              ];
          };
        };
      };
}
home-manager/home.nix
{ inputs, config, pkgs, lib, hy3, ... }:

{
  programs.home-manager.enable = true;

  home = {
    username = "me";
    homeDirectory = "/home/me";
    stateVersion = "23.11";
  };
  home.packages = with pkgs; [];

  wayland.windowManager.hyprland = {
    enable = true;
    systemd.enable = false;
    package = inputs.hyprland.packages.${pkgs.system}.hyprland;
    plugins = [ inputs.hy3.packages.x86_64-linux.hy3 ];    
  };

}

It produces this flake.lock:

flake.lock
{
  "nodes": {
    "home-manager": {
      "inputs": {
        "nixpkgs": [
          "nixpkgs"
        ]
      },
      "locked": {
        "lastModified": 1704309533,
        "narHash": "sha256-n/krnzgnmYWdVoMv0MJfEMTOYCkoY13rCwKhQ4RVd2U=",
        "owner": "nix-community",
        "repo": "home-manager",
        "rev": "992b38f29cd7e50d88a2ae069133750beda010a4",
        "type": "github"
      },
      "original": {
        "owner": "nix-community",
        "repo": "home-manager",
        "type": "github"
      }
    },
    "hy3": {
      "inputs": {
        "hyprland": [
          "hyprland"
        ]
      },
      "locked": {
        "lastModified": 1704173467,
        "narHash": "sha256-VXR/Kfda8P2PSOGSQ20czrXDn4ELRwyIYtJ9MFaMRBA=",
        "owner": "outfoxxed",
        "repo": "hy3",
        "rev": "9a1111efbab842a26477b651ae02deaa39fe1ef4",
        "type": "github"
      },
      "original": {
        "owner": "outfoxxed",
        "repo": "hy3",
        "type": "github"
      }
    },
    "hyprland": {
      "inputs": {
        "hyprland-protocols": "hyprland-protocols",
        "nixpkgs": "nixpkgs",
        "systems": "systems",
        "wlroots": "wlroots",
        "xdph": "xdph"
      },
      "locked": {
        "lastModified": 1704360017,
        "narHash": "sha256-g0fqfWYlFYdyYcAusGguWObS0ylOJPiQQwaZo4KXQUM=",
        "owner": "hyprwm",
        "repo": "Hyprland",
        "rev": "4d6d662c67786c86647cf41b5b20d9c0b418dbb3",
        "type": "github"
      },
      "original": {
        "owner": "hyprwm",
        "repo": "Hyprland",
        "type": "github"
      }
    },
    "hyprland-protocols": {
      "inputs": {
        "nixpkgs": [
          "hyprland",
          "nixpkgs"
        ],
        "systems": [
          "hyprland",
          "systems"
        ]
      },
      "locked": {
        "lastModified": 1691753796,
        "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
        "owner": "hyprwm",
        "repo": "hyprland-protocols",
        "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
        "type": "github"
      },
      "original": {
        "owner": "hyprwm",
        "repo": "hyprland-protocols",
        "type": "github"
      }
    },
    "nixpkgs": {
      "locked": {
        "lastModified": 1703438236,
        "narHash": "sha256-aqVBq1u09yFhL7bj1/xyUeJjzr92fXVvQSSEx6AdB1M=",
        "owner": "NixOS",
        "repo": "nixpkgs",
        "rev": "5f64a12a728902226210bf01d25ec6cbb9d9265b",
        "type": "github"
      },
      "original": {
        "owner": "NixOS",
        "ref": "nixos-unstable",
        "repo": "nixpkgs",
        "type": "github"
      }
    },
    "nixpkgs_2": {
      "locked": {
        "lastModified": 1704326729,
        "narHash": "sha256-I8CrqJRtPslVQBTpVTsAY3Als/HwRdoOTyupsK7YI2E=",
        "owner": "nixos",
        "repo": "nixpkgs",
        "rev": "6ce10ae92e8b3453055c521a17349ee35606b714",
        "type": "github"
      },
      "original": {
        "owner": "nixos",
        "ref": "master",
        "repo": "nixpkgs",
        "type": "github"
      }
    },
    "root": {
      "inputs": {
        "home-manager": "home-manager",
        "hy3": "hy3",
        "hyprland": "hyprland",
        "nixpkgs": "nixpkgs_2"
      }
    },
    "systems": {
      "locked": {
        "lastModified": 1689347949,
        "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
        "owner": "nix-systems",
        "repo": "default-linux",
        "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
        "type": "github"
      },
      "original": {
        "owner": "nix-systems",
        "repo": "default-linux",
        "type": "github"
      }
    },
    "wlroots": {
      "flake": false,
      "locked": {
        "host": "gitlab.freedesktop.org",
        "lastModified": 1703963193,
        "narHash": "sha256-ke8drv6PTrdQDruWbajrRJffP9A9PU6FRyjJGNZRTs4=",
        "owner": "wlroots",
        "repo": "wlroots",
        "rev": "f81c3d93cd6f61b20ae784297679283438def8df",
        "type": "gitlab"
      },
      "original": {
        "host": "gitlab.freedesktop.org",
        "owner": "wlroots",
        "repo": "wlroots",
        "rev": "f81c3d93cd6f61b20ae784297679283438def8df",
        "type": "gitlab"
      }
    },
    "xdph": {
      "inputs": {
        "hyprland-protocols": [
          "hyprland",
          "hyprland-protocols"
        ],
        "nixpkgs": [
          "hyprland",
          "nixpkgs"
        ],
        "systems": [
          "hyprland",
          "systems"
        ]
      },
      "locked": {
        "lastModified": 1703514399,
        "narHash": "sha256-VRr5Xc4S/VPr/gU3fiOD3vSIL2+GJ+LUrmFTWTwnTz4=",
        "owner": "hyprwm",
        "repo": "xdg-desktop-portal-hyprland",
        "rev": "0a318a7a217a6402b0b705837cd5b50b0e94b31b",
        "type": "github"
      },
      "original": {
        "owner": "hyprwm",
        "repo": "xdg-desktop-portal-hyprland",
        "type": "github"
      }
    }
  },
  "root": "root",
  "version": 7
}

And the version currently reported by Hyprland is:

$ hyprctl version -j
{
    "branch": "",
    "commit": "4d6d662c67786c86647cf41b5b20d9c0b418dbb3",
    "dirty": false,
    "commit_message": "",
    "commit_date": "2024-01-04",
    "tag": "",
    "flags": []
}

did you set layout to hy3?

did you set layout to hy3?

JFC, I've been using your plugin for several months now and it's the thing I forgot about! I guess I was distracted by figuring out the Nix things. Thank you, it all works now.