MatthiasBenaets/nix-config

rofi.nix not working for me

TonyBostonTB opened this issue · 5 comments

In modules/programs/rofi.nix

first issue is, when I do SUPER,Space - rofi comes up but you can't interact with it. It doesn't take input nor can you scroll or whatnot.

Second issue I see

with

...
home = {
  packages = with pkgs; [
    rofi-power-menu
  ];
};
...

I get the following error

error: The option `home' does not exist. Definition values:
       - In `/nix/store/x8ib4dglnq1dm1dyxkklg5ww8m4gnkc1-source/modules/programs/rofi.nix':
           {
             packages = [
               <derivation rofi-power-menu-3.0.2>
             ];
           } 

Anyway, I found that you might get this package as well via 'program.rofi.plugins', though when I comment out

...
home = {
  packages = with pkgs; [
    rofi-power-menu
  ];
};
...

and use

programs.rofi.plugins [ pkgs.rofi-power-menu ]

I get

error: attribute 'formats' missing

       at /nix/store/7qfr64wn8yjz1la47gx5j9qbf6rsl8n2-source/modules/programs/rofi.nix:8:12:

            7| let
            8|   inherit (config.lib.formats.rasi) mkLiteral;        # Theme.rasi alternative. Add Theme here
             |            ^
            9|   colors = import ../themes/colors.nix;
(use '--show-trace' to show detailed location information)

I hope this explains my issue well enough :)

Which DE/WM are you using? I've only encountered the issue myself on Hyprland.
To prevent this exact situation, I've specifically not updated the hash and rev for inputs Hyprland and wlroots in flake.lock.
Since this solves the issue, I presume it's a problem with how pop ups are now handled in the latest version hyprland. Possibly related.

Depending on which DE/WM you use, either revert back to my lock file for these inputs, or create an overlay. Alternatively, you can also configure wofi. I'm fairly certain this launcher does work.

Regarding the rofi-power-menu errors, I have no clue. It's strange that home does not exist. Check that you are importing the file from the home-manager module and not just as the nixosConfiguration module. Both options you mentioned should work with rofi-power-menu. Both errors don't make any sense if you haven't move or edited these in your own config.

Thats also Hyprland and I guess I'll checkout wofi for now. I'm fairly new tho flakes and nixos in general so maybe I just overlooked something in my edits.
Also, I didn't clone your repo until just yet and did some copy and paste before where I maybe broke stuff.

Repo is now cloned and I copied my changes over as a first commit. Maybe you wanna check that out.
This commit

The the hash and rev from the hyprland and wlroots inputs are still updated to a newer version in your committed lock file. So the problems will probably persist until it's fixed. If you really want to use rofi, consider one of the options i mentioned before.

Also, from looking at your commit, I'm pretty certain that the 2 errors you mentioned before are just because you imported rofi.nix inside the ./modules/desktop/hyprland/default.nix. This file is not used inside the home-manage module, and is causing the issue. Consider importing rofi in ./modules/desktop/hyprland/home.nix.
This is maybe something I should have mentioned in my previous comment, but rofi is purely configured using home-manager. It already gets imported from ./hosts/home.nix.

I will close the issue for now since it evals and builds without issues with your commit, but feel free create another issue or comment here if you have any further questions.

Oh well, I think I made a mistake in that I removed too much stuff from your .hosts/home.nix

For what it's worth, I've updated the flake with Wofi and a "hacky" power menu alternative. Feel free to use it. Was not really happy with running Gnome on my home desktop and I wanted to use the latest Hyprland version. Note that these menus are still a bit janky since it doesn't really get the focus, but you can interact with it. Not sure if this is a wofi thing (never tried it before) or the same hyprland issue. 6f1eb5d