summaryrefslogtreecommitdiff
path: root/default.nix
blob: c12ca85f7db2d5c5b9251dea578f228bfcf104ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{ pkgs, settings }:

let
  lib = pkgs.lib;
  defaultSettings = lib.optional (lib.pathExists ./config/default.nix) ./config;
  module = lib.evalModules {
    modules = [ settings ./modules ] ++ defaultSettings;
    specialArgs.pkgs = pkgs;
  };
  clean-hooks = hookList:
    lib.mapAttrs (name: value:
      if lib.elem name hookList then ''
        ${value}
        export "${name}"=
      '' else
        value);
in pkgs.mkShell ({
  inherit (clean-hooks [ "shellHook" ] module.config)
    inputsFrom buildInputs nativeBuildInputs shellHook exitHook;
})