2 nixpkgs = import .lib/nix/nixpkgs.nix;
3 pkgs = import nixpkgs {
4 config = {}; # Make the config pure, ignoring user's config.
5 overlays = import .lib/nixpkgs-sourcephile/build/overlays.nix;
7 sourcephile-nix-build-modules =
8 (import .lib/nixpkgs-sourcephile/build/modules.nix {
11 modules = [ ( import build/modules.nix ) ];
14 sourcephile-nix-build =
15 pkgs.stdenv.mkDerivation {
16 name = "sourcephile-nix-build";
17 preferLocalBuild = true;
18 allowSubstitutes = false;
19 inherit (pkgs) coreutils;
20 builder = pkgs.writeText "builder.sh" sourcephile-nix-build-modules.init.builder;
23 sourcephile-nix-build =
25 name = "sourcephile-nix-build";
26 pathsToLink = [ "/bin" ];
27 paths = with sourcephile-nix-build-modules; [
29 #gnupg.gpg-fingerprint
30 #nix-plugins.nix-with-extra-builtins
33 nixos-generate-config =
34 (pkgs.nixos {}).nixos-generate-config;
36 (pkgs.nixos {}).nixos-install;
38 pkgs.stdenv.mkDerivation {
39 name = "sourcephile-nix";
41 #preferLocalBuild = true;
42 #allowSubstitutes = false;
73 #pkgs.rxvt_unicode.terminfo
90 #enableParallelBuilding = true;
93 export NIX_PATH="nixpkgs=${nixpkgs}:nixpkgs-sourcephile=$PWD/.lib/nixpkgs-sourcephile"
94 #NIX_PATH+=":nixpkgs-overlays="$PWD"/install/overlays.nix"
98 PATH_NIX=$(dirname $(readlink -e ~/.nix-profile/bin/nix))
99 PATH_NIXOS=/run/wrappers/bin
100 PATH_FHS="$PWD"/.lib/nix/fhs-bin
101 PATH_FHS_VBOX="$PWD"/.lib/fhs-vbox-bin
102 export PATH="$PATH_NIXOS:$PATH_FHS_VBOX:$PATH_FHS:$PATH:$PATH_NIX"
103 ln -sfn ${sourcephile-nix-build}/bin "$PWD"/.bin
105 # NOTE: sudo needs to be own by root with the setuid bit,
106 # but this won't be the case for the sudo provided by Nix outside NixOS,
107 # hence the addition of $PATH_FHS in shellHook
108 # to provide the host system's sudo.
109 # WARNING: beware that sudo may reset the environment,
110 # and especially PATH, to some system's default.
113 export LANG=fr_FR.UTF-8
114 export LC_CTYPE=fr_FR.UTF-8
117 export GNUPGHOME="$PWD"/../sec/gnupg
118 install -dm700 "$GNUPGHOME"
119 export GPG_TTY=$(tty)
120 gpgconf --launch gpg-agent
121 export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
124 export PASSWORD_STORE_DIR="$PWD"/../sec/pass
127 export SSL_CERT_FILE="${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
131 test ! -f "$gitdir" || while IFS=" :" read -r hdr gitdir; do [ "$hdr" != gitdir ] || break; done <"$gitdir"
133 "$PWD"/.lib/git/hooks/prepare-commit-msg--longuest-common-prefix \
134 "$gitdir"/hooks/prepare-commit-msg
137 export NIXOPS_DEPLOYMENT="virtualbox"
138 export NIXOPS_STATE="$PWD"/.sec/nixops/state.nixops
139 # Extend the Nix interpreter
140 # to enable builtins.extraBuiltins,
141 # which provides an unsafe exec useful to get secrets
142 # from the local password-store.
143 NIXOPS_OPTS+=" --show-trace"
144 NIXOPS_OPTS+=" --option plugin-files ${pkgs.nix-plugins}/lib/nix/plugins/libnix-extra-builtins.so"
145 NIXOPS_OPTS+=" --option extra-builtins-file ${sourcephile-nix-build-modules.nix-plugins.extra-builtins}"
149 #export DISNIXOS_USE_NIXOPS=1
150 #export DISNIX_CLIENT_INTERFACE=disnix-nixops-client
151 #export DISNIX_PROFILE=default
152 #export DISNIX_TARGET_PROPERTY=hostname
153 #export DYSNOMIA_STATEDIR="$PWD"/.sec/dysnomia