{ pkgs, lib, inputs, ... }: { systemd.user.startServices = false; programs.zsh.profileExtra = '' if [ -f "$HOME/.guix-home/setup-environment" ]; then HOME_ENVIRONMENT="$HOME/.guix-home" . "$HOME_ENVIRONMENT/setup-environment" "$HOME_ENVIRONMENT/on-first-login" unset HOME_ENVIRONMENT fi ''; dconf.enable = false; wayland.windowManager.hyprland.extraConfig = '' exec-once = sh -c 'gpgconf --launch gpg-agent; hyprctl setenv SSH_AUTH_SOCK "$(gpgconf --list-dirs agent-ssh-socket)"' ''; programs.gpg.scdaemonSettings.disable-ccid = true; home.packages = [ (pkgs.writeScriptBin "hyprlock" '' #! ${pkgs.bash}/bin/bash export LD_PRELOAD="/run/current-system/profile/lib/libpam.so.0:$LD_PRELOAD" exec ${pkgs.hyprlock}/bin/hyprlock "$@" '') # Guix's mesa doesn't match nixpkgs', so GL apps built by nix need nixGL. inputs.nixgl.packages.${pkgs.stdenv.hostPlatform.system}.nixGLIntel ]; # We need to correct the ssh config file's permissions on guix # Remove the symlink and just install the store file directly home.activation = { fixSshPermissions = lib.hm.dag.entryAfter [ "linkGeneration" ] '' run install -d -m 0700 "$HOME/.ssh" if [ -L "$HOME/.ssh/config" ]; then src="$(readlink -f "$HOME/.ssh/config")" run rm -f "$HOME/.ssh/config" run install -m 0600 "$src" "$HOME/.ssh/config" fi ''; }; }