From f213c33012ee455e9bfe14ffa0b06aff2deefc60 Mon Sep 17 00:00:00 2001 From: uku Date: Thu, 2 Jan 2025 00:59:06 +0100 Subject: [PATCH] fix(client): simply ssh-agent config and fix for wsl --- configs/client.nix | 25 ++++++++++++++++--------- programs/ssh-agent.nix | 13 ------------- systems/fuji-wsl/default.nix | 6 ++++++ 3 files changed, 22 insertions(+), 22 deletions(-) delete mode 100644 programs/ssh-agent.nix diff --git a/configs/client.nix b/configs/client.nix index c009df0..6a7a098 100644 --- a/configs/client.nix +++ b/configs/client.nix @@ -1,19 +1,23 @@ -{ pkgs, ... }: +{ pkgs, config, ... }: { imports = [ ./common.nix ../programs/neovim ../programs/rust.nix - ../programs/ssh-agent.nix ]; - environment.systemPackages = with pkgs; [ - ffmpeg-full - fastfetch - lazygit - nixd - ]; + environment = { + systemPackages = with pkgs; [ + ffmpeg-full + fastfetch + lazygit + nixd + ]; + + # fix for wsl, `prefer` does not work if your SSH_ASKPASS is empty/unset + variables.SSH_ASKPASS_REQUIRE = if config.programs.ssh.enableAskPassword then "prefer" else "never"; + }; networking = { useNetworkd = false; @@ -24,7 +28,10 @@ }; }; - programs.nix-ld.enable = true; + programs = { + nix-ld.enable = true; + ssh.startAgent = true; + }; virtualisation.docker.enable = true; } diff --git a/programs/ssh-agent.nix b/programs/ssh-agent.nix deleted file mode 100644 index cb92226..0000000 --- a/programs/ssh-agent.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ lib, pkgs, ... }: -{ - environment.sessionVariables = { - SSH_AUTH_SOCK = "\${XDG_RUNTIME_DIR}/ssh-agent"; - SSH_ASKPASS_REQUIRE = "prefer"; - }; - - systemd.user.services.ssh-agent = { - wantedBy = [ "default.target" ]; - environment.SSH_AUTH_SOCK = "%t/ssh-agent"; - script = "${lib.getExe' pkgs.openssh "ssh-agent"} -d -a $SSH_AUTH_SOCK"; - }; -} diff --git a/systems/fuji-wsl/default.nix b/systems/fuji-wsl/default.nix index f2caa0c..cadef2d 100644 --- a/systems/fuji-wsl/default.nix +++ b/systems/fuji-wsl/default.nix @@ -12,6 +12,12 @@ 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 = { enable = true; defaultUser = "leo";