diff --git a/lib/builders/build-fds-env.nix b/lib/builders/build-fds-env.nix new file mode 100644 index 00000000..1eadb314 --- /dev/null +++ b/lib/builders/build-fds-env.nix @@ -0,0 +1,8 @@ +{ buildEnv, extendedStdenv }: + +{ paths ? [ ], pathsToLink ? [ ], }@args: + +buildEnv (args // { + paths = paths ++ [ extendedStdenv ]; + pathsToLink = pathsToLink ++ [ "/bin" "/etc" "/share" "/lib" ]; +}) diff --git a/lib/builders/default.nix b/lib/builders/default.nix index 0ece6780..4b62510a 100644 --- a/lib/builders/default.nix +++ b/lib/builders/default.nix @@ -5,4 +5,6 @@ makeXDGPortalConfiguration = pkgs.callPackage ./xdg/make-portal-config.nix { }; makeXDGDesktopEntry = pkgs.callPackage ./xdg/make-desktop-entry.nix { }; buildHugoSite = pkgs.callPackage ./hugo-build-site { }; + buildFDSEnv = + pkgs.callPackage ./build-fds-env.nix { extendedStdenv = self.stdenv; }; } diff --git a/lib/default.nix b/lib/default.nix index ff2b993c..4b480f30 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -20,6 +20,21 @@ pkgs.lib.makeExtensible math = callLib ./math.nix; fetchers = callLib ./fetchers; + # foodogsquared's version of a standard environment. Basically just an + # extended version of nixpkgs' version that went overboard with + # developer-oriented dependencies. + stdenv = with pkgs; + [ stdenv direnv cookiecutter oils-for-unix nushell ipcalc ] + ++ lib.optional pkgs.isLinux [ + gdb + moreutils + meson + ninja + pkg-config + man-pages + man-pages-posix + ]; + inherit (self.builders) makeXDGMimeAssociationList makeXDGPortalConfiguration makeXDGDesktopEntry; inherit (self.trivial) countAttrs filterAttrs';