refactor: made pkgs dendrites
This commit is contained in:
parent
88041e86bd
commit
df8dd110ad
54 changed files with 1184 additions and 1058 deletions
42
modules/nixos/overlays/default.nix
Normal file
42
modules/nixos/overlays/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# External overlays from flake inputs
|
||||
{inputs, ...}: {
|
||||
flake.commonModules.overlays = {
|
||||
nixpkgs.overlays = [
|
||||
inputs.nix-vscode-extensions.overlays.default
|
||||
# Add noita_entangled_worlds from upstream flake to pkgs
|
||||
(final: prev: {
|
||||
noita_entangled_worlds = inputs.noita-entangled-worlds.packages.${prev.stdenv.hostPlatform.system}.noita-proxy;
|
||||
})
|
||||
# Workaround: some extensions in nix-vscode-extensions have invalid semver
|
||||
# engine versions (e.g. 1.112.01907 with leading zeros) that cause
|
||||
# forVSCodeVersion to throw. This tries the version-filtered set per site
|
||||
# and falls back to unfiltered only for sites with bad semver data.
|
||||
(final: prev: {
|
||||
nix-vscode-extensions =
|
||||
prev.nix-vscode-extensions
|
||||
// {
|
||||
forVSCodeVersion = vscodeVersion: let
|
||||
filtered = prev.nix-vscode-extensions.forVSCodeVersion vscodeVersion;
|
||||
unfiltered = prev.nix-vscode-extensions;
|
||||
safeSite = site: let
|
||||
# builtins.attrNames forces the filter to run on all extensions,
|
||||
# which triggers semver parsing. If any extension has an invalid
|
||||
# version, this catches the error and falls back to the unfiltered set.
|
||||
tried = builtins.tryEval (
|
||||
builtins.seq (builtins.length (builtins.attrNames filtered.${site})) filtered.${site}
|
||||
);
|
||||
in
|
||||
if tried.success
|
||||
then tried.value
|
||||
else unfiltered.${site};
|
||||
in
|
||||
filtered
|
||||
// {
|
||||
open-vsx = safeSite "open-vsx";
|
||||
vscode-marketplace = safeSite "vscode-marketplace";
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue