Add nix-ld and fix for vscode remote wsl extension

This commit is contained in:
Dave Gallant
2022-07-31 01:34:31 +00:00
parent 328b2a2d95
commit eee20cba84
6 changed files with 92 additions and 2 deletions

View File

@@ -10,10 +10,13 @@ with lib; let
in {
imports = [
"${modulesPath}/profiles/minimal.nix"
./nix-ld-config.nix
nixos-wsl.nixosModules.wsl
];
nix-ld-config.enable = true;
nixpkgs.config.allowUnfree = true;
system.stateVersion = "unstable";

View File

@@ -0,0 +1,31 @@
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.nix-ld-config;
ldEnv = {
NIX_LD_LIBRARY_PATH = with pkgs;
makeLibraryPath [
stdenv.cc.cc
];
NIX_LD = removeSuffix "\n" (builtins.readFile "${pkgs.stdenv.cc}/nix-support/dynamic-linker");
};
ldExports = mapAttrsToList (name: value: "export ${name}=${value}") ldEnv;
joinedLdExports = concatStringsSep "\n" ldExports;
in {
options.nix-ld-config = {
enable = mkEnableOption "nix-ld config module";
user = mkOption {
type = types.str;
description = "The name of user you want to configure for using VSCode's Remote WSL extension.";
default = "dave";
};
};
config = mkIf cfg.enable {
environment.variables = ldEnv;
home-manager.users.${cfg.user}.home.file.".vscode-server/server-env-setup".text = joinedLdExports;
};
}