home-manager to install gui applications on non nix-os distros

tr1x@kbin.social to Linux@lemmy.ml – 19 points –

I'm trying to use home-manager to install software on tumbleweed so that if I ever move to a new machine, I'd be able to install all of my software again by just running home-manager switch. For my terminal applications like zellij, zoxide, eza etc they installed and work fine.

My problem is gui applications that I've tried to install. I tried to install alacritty and awesome as I already have configs for them and wanted to move them over to being managed by nix. For alacritty, I ran into a "failed to find suitable GL configuration" error where I found this link to a github issue but beyond this, not sure how to really fix this: https://github.com/NixOS/nixpkgs/issues/230660

For both packages, I saw that alacritty was installed in nix-profile/share/application and awesome was installed in nix-profile/bin. To make awesome appear in sddm, im assuming I would need to make a custom entry in /usr/share/xsessions with exec pointing to its nix-profile location but I'm not entirely sure how to get alacritty running correctly.

I'd appreciate any help on this. Thanks in advance

Edit:
Tried out making a custom entry in usr/share/xsession and pointed it at awesome in the nix-profile/share directory but no luck getting that to be picked up by sddm

5

Cheers. I think I can get that working for pulling up alacritty or wezterm with awesome or leftwm with keybinds ( just changing what's being executed when using keybinds).

Is there a way to get this running through the applications symlink? I know I could symlink the location from nix-profile to applications using
ln -s /home/$USER/.nix-profile/share/applications/* /home/$USER/.local/share/applications/
But, is there a way to run nixGL from the symlink without running the command through the terminal first?

Credit: Chris Titus Tech for his intro to the nix package manager. That's where I found the symlink command https://christitus.com/nix-package-manager/

Edit:
I use rofi as my app launcher where I could use drun to execute alacritty or wezterm using nixGL but would really appreciate if I could just select the app from the rofi menu to execute directly without specifying the extra config param each time

Maybe Guix can help? Try to check Guix home.

Thanks for the recommendation. I was looking through the packages that are available and it looks like some of the packages I use just aren't available yet (leftwm, wezterm etc). Still looks like a very good alternative to nix if the packages you want are supported