Compare commits

..

No commits in common. "ec679c6dfefd722555da43cc9292ee4c82061775" and "0bb7ad9e381722312086ca6764a5b95de4fbb37a" have entirely different histories.

5 changed files with 29 additions and 10 deletions

View file

@ -1,9 +1,4 @@
{ { lib, pkgs, ... }:
lib,
pkgs,
config,
...
}:
{ {
imports = [ imports = [
./common.nix ./common.nix
@ -22,8 +17,7 @@
nixd nixd
]; ];
# disable ssh-askpass on wsl namely, to simply have a normal prompt that reads from stdin variables.SSH_ASKPASS_REQUIRE = "prefer";
variables.SSH_ASKPASS_REQUIRE = if config.programs.ssh.enableAskPassword then "prefer" else "never";
}; };
networking = { networking = {
@ -37,7 +31,11 @@
programs = { programs = {
nix-ld.enable = true; nix-ld.enable = true;
ssh.startAgent = true; ssh = {
startAgent = true;
enableAskPassword = true;
askPassword = lib.mkOverride 1200 "${pkgs.curses-ssh-askpass}"; # see exprs/curses-ssh-askpass.nix
};
}; };
virtualisation.docker.enable = true; virtualisation.docker.enable = true;

View file

@ -112,7 +112,6 @@
programs = { programs = {
firefox.enable = true; firefox.enable = true;
virt-manager.enable = true; virt-manager.enable = true;
ssh.enableAskPassword = true;
}; };
security.pam.services.login.enableGnomeKeyring = true; security.pam.services.login.enableGnomeKeyring = true;

View file

@ -0,0 +1,15 @@
{
lib,
pinentry-curses,
writeShellScript,
}:
writeShellScript "curses-ssh-askpass" ''
if [ -z ''${1+x} ]; then
prompt="GETPIN"
else
prompt="SETDESC $1\nGETPIN"
fi
pin=$(echo -e "$prompt" | ${lib.getExe pinentry-curses} -T /dev/pts/0 | grep D | tr -d '\n')
echo "''${pin:2}"
''

View file

@ -1,5 +1,6 @@
inputs: final: prev: { inputs: final: prev: {
idea-ultimate-fixed = prev.callPackage ./idea-fixed.nix { }; idea-ultimate-fixed = prev.callPackage ./idea-fixed.nix { };
curses-ssh-askpass = prev.callPackage ./curses-ssh-askpass.nix { };
vencord = prev.vencord.overrideAttrs (old: rec { vencord = prev.vencord.overrideAttrs (old: rec {
version = "${old.version}+git.${inputs.vencord.shortRev}"; version = "${old.version}+git.${inputs.vencord.shortRev}";

View file

@ -12,6 +12,12 @@
environment.sessionVariables.LD_LIBRARY_PATH = [ "/run/opengl-driver/lib" ]; environment.sessionVariables.LD_LIBRARY_PATH = [ "/run/opengl-driver/lib" ];
hm.programs.fish.interactiveShellInit = lib.mkAfter ''
if test -f ~/.ssh/id_ed25519
ssh-add -l | grep -q (ssh-keygen -lf ~/.ssh/id_ed25519) || ssh-add ~/.ssh/id_ed25519
end
'';
wsl = { wsl = {
enable = true; enable = true;
defaultUser = "leo"; defaultUser = "leo";