diff --git a/modules/home-manager/application/gnupg/default.nix b/modules/home-manager/application/gnupg/default.nix index 2990e94..156e1bb 100644 --- a/modules/home-manager/application/gnupg/default.nix +++ b/modules/home-manager/application/gnupg/default.nix @@ -12,14 +12,19 @@ in default = true; description = "install password-store"; }; + + enableSshSupport = mkOption { + type = types.bool; + default = false; + description = "enable GnuPG agent SSH support"; + }; }; config = mkIf cfg.enable { - home.packages = with pkgs; [ - # pinentry-gnome - gcr - ]; - + home.packages = with pkgs; [ + # pinentry-gnome + gcr + ]; programs.gpg = { enable = true; scdaemonSettings = { @@ -31,9 +36,17 @@ in enable = true; enableScDaemon = true; enableZshIntegration = true; - pinentry.package = pkgs.pinentry-gnome3; + pinentryPackage = pkgs.pinentry-gnome3; + enableSshSupport = cfg.enableSshSupport; }; + home.sessionVariablesExtra = lib.mkIf cfg.enableSshSupport '' + if [[ -z "''${SSH_AUTH_SOCK}" ]]; then + export SSH_AUTH_SOCK="$(${config.programs.gpg.package}/bin/gpgconf --list-dirs agent-ssh-socket)" + fi + ''; + + services.ssh-agent.enable = if cfg.enableSshSupport then false else true; programs.password-store = { enable = cfg.pass; }; diff --git a/nixos/includes/system/sshclient.nix b/nixos/includes/system/sshclient.nix deleted file mode 100644 index 06098ba..0000000 --- a/nixos/includes/system/sshclient.nix +++ /dev/null @@ -1,11 +0,0 @@ -{pkgs, ...}: -{ - environment.systemPackages = with pkgs; [ - lxqt.lxqt-openssh-askpass - ]; - programs.ssh = { - startAgent = false; - enableAskPassword = true; - askPassword = "${pkgs.lxqt.lxqt-openssh-askpass}/bin/lxqt-openssh-askpass"; - }; -} diff --git a/nixos/includes/system/user.nix b/nixos/includes/system/user.nix index b3f2970..a4ef445 100644 --- a/nixos/includes/system/user.nix +++ b/nixos/includes/system/user.nix @@ -1,17 +1,17 @@ -{ config, pkgs, username, ... }: +{ pkgs, username, ... }: { # Services services.pcscd.enable = true; # Programs - programs.ssh.startAgent = true; + programs.ssh.startAgent = false; programs.zsh.enable = true; - # Needed for home-manager systemd service + # Needed for home-manager systemd service programs.dconf.enable = true; - - # Configs + + # Configs fonts.fontconfig.enable = true; - + users.users.${username} = { shell = pkgs.zsh; isNormalUser = true;