feat(vscode): inline nix4vscode call

This commit is contained in:
steveej 2024-11-16 20:55:43 +01:00
parent 27c6c4f9fa
commit 7c08a002cf
4 changed files with 41 additions and 93 deletions

View file

@ -1,4 +1,10 @@
{ pkgs, repoFlake, ... }:
{
config,
pkgs,
repoFlake,
lib,
...
}:
let
pkgsVscodium = import repoFlake.inputs.nixpkgs-vscodium { inherit (pkgs) system config; };
in
@ -48,19 +54,43 @@ in
golang.go
jeff-hykin.better-go-syntax
ibecker.treefmt-vscode
]
)
)
++ [
(pkgsVscodium.vscode-utils.extensionFromVscodeMarketplace {
name = "markdown-oxide";
publisher = "felixzeller";
version = "1.1.0";
sha256 = "07l37hkg106m3nl9530l7i39iw1kibckv1zi4n23gbp7srdrwbs3";
})
];
++ (
let
nix4vscodeConfig = pkgs.writeText "nix4vscode.toml" ''
vscode_version = "${config.programs.vscode.package.version}"
[[extensions]]
publisher_name = "FelixZeller"
extension_name = "markdown-oxide"
[[extensions]]
publisher_name = "ibecker"
extension_name = "treefmt-vscode"
'';
nix4vscode =
pkgs.runCommand "nix4vscode.nix"
{
__noChroot = true;
nativeBuildInputs = [ repoFlake.inputs.nix4vscode.packages.${pkgs.stdenv.system}.default ];
}
''
export RUST_BACKTRACE=full
export HOME=$(mktemp -d)
nix4vscode ${nix4vscodeConfig} > $out
'';
nix4vscodeExtensions = builtins.removeAttrs (pkgs.callPackage nix4vscode { }) [
"override"
"overrideDerivation"
];
nix4vscodeExtensions' = lib.attrsets.mapAttrsToList (
_: v: builtins.head (builtins.attrValues v)
) nix4vscodeExtensions;
in
nix4vscodeExtensions'
);
mutableExtensionsDir = true;
};