{ config, pkgs, lib, inputs, ... }: # Host glue for the Guix System laptop. Everything generic about running # standalone home-manager on Guix lives in ../modules/targets/guix; this file # only holds what's specific to this machine. { imports = [ ../modules/targets/guix ]; targets.guix.enable = true; # Guix's mesa doesn't match nixpkgs', so GL apps built by nix go through # nixGL. Setting packages also makes config.lib.nixGL.wrap real (it's a # no-op otherwise) and supersedes HM's systemd-tmpfiles-based GPU setup. targets.genericLinux.nixGL = { packages = inputs.nixgl.packages; defaultWrapper = "mesa"; # nixGLIntel under the hood }; home.packages = [ # Kept under its old name for anything that calls it directly. inputs.nixgl.packages.${pkgs.stdenv.hostPlatform.system}.nixGLIntel ]; targets.guix.pamWrapped = [ pkgs.hyprlock ]; # gpg-agent is socket-activated through Shepherd now (translated from HM's # gpg-agent.socket units), so no launch here; Hyprland's own environment # still needs the socket path for apps it spawns. wayland.windowManager.hyprland.extraConfig = '' exec-once = sh -c 'hyprctl setenv SSH_AUTH_SOCK "$(gpgconf --list-dirs agent-ssh-socket)"' ''; programs.gpg.scdaemonSettings.disable-ccid = true; }