1 { inputs, pkgs, shellHook ? "", ... }:
3 # Configuration of shell/modules/
4 # to expand shellHook and buildInputs of this shell.nix
5 shellConfig = {config, ...}: {
11 gnupgHome = "../sec/gnupg";
14 trusted-key 0xB2450D97085B7B8C
15 default-key 0x4FE467034C11017B429BAC53A58CD81C3863926F
17 gpgAgentExtraConf = ''
18 #pretend-request-origin remote
19 #extra-socket ${toString ./.}/S.gpg-agent.extra
20 #log-file ${toString ./.}/gpg-agent.log
23 #allow-loopback-pinentry
29 opensslHome = "../sec/openssl";
30 certificates = import shell/x509.nix;
36 Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr
40 ControlPath .ssh-%h-%p-%r.socket
42 #SSAPIAuthentication no
44 StrictHostKeyChecking yes
45 #UserKnownHostsFile ''${inputs.secrets + "/ssh/known_hosts"}
53 # Using modules enables to separate specific configurations
54 # from reusable code in shell/modules.nix and shell/modules/
55 # which may find its way in another git repository one day.
56 shell = (pkgs.lib.evalModules {
59 { config._module.args = { inherit inputs pkgs; }; }
60 ] ++ map import (pkgs.lib.findFiles ".*\\.nix" shell/modules);
64 name = "sourcephile-nix";
66 #preferLocalBuild = true;
67 #allowSubstitutes = false;
68 buildInputs = shell.nix-shell.buildInputs ++ [
69 (pkgs.nixos []).nixos-generate-config
70 (pkgs.nixos []).nixos-install
71 (pkgs.nixos []).nixos-enter
103 #pkgs.rxvt_unicode.terminfo
120 pkgs.linuxPackages.perf
128 #enableParallelBuilding = true;
130 GNUPGHOME = shell.gnupg.gnupgHome;
131 NIX_PATH = pkgs.lib.concatStringsSep ":" [
132 "nixpkgs=${pkgs.path}"
133 ("nixpkgs-overlays=" + pkgs.writeText "overlays.nix" ''
134 import ${inputs.self + "/nixpkgs/overlays.nix"} ++
135 import ${inputs.julm-nix + "/nixpkgs/overlays.nix"}
140 echo >&2 "nix: running shellHook"
142 ${shell.nix-shell.shellHook}
145 export GPG_TTY=$(tty)
146 gpg-connect-agent updatestartuptty /bye >/dev/null
149 export PASSWORD_STORE_DIR="$PWD"