forked from Shinonome/dots-hyprland
Install scripts using Nix to achieve cross-distros
- This directory is currently WIP.
- See also Install scripts | illogical-impulse
- See also #1061
NOTE: The sdata/dist-nix is not for NixOS but every distro, using Nix and home-manager.
plan
Note that this script must be idempotent.
TODO:
- Write a proper
flake.nixandhome.nixand other files underdist-nix/home-manager/to install all dependencies thatdist-arch/does. (excluding the screenlock)
Attentions
PAM
On non-NixOS distros, programs using PAM (typically screen locker) will not work if installed via Nix, so user has to use their own distro's package for the screen lock.
- One problem is that Debian(-based) distros use modified version of PAM which supports
@includedirective in/etc/pam.dconfig files but the PAM from Nix does not support it, see this comment. - Another problem is the location of a suid helper binary that is necessary, see this comment.
The problem could be solved by using the system-provided libpam instead.
See also https://github.com/caelestia-dots/shell/issues/668
NixGL
On non-NixOS distros, packages installed via home-manager have problem accessing GPU, especially Hyprland because it requires GPU acceleration to launch. nixGL should be used to address the problem.