diff --git a/nix/frama-ci.nix b/nix/frama-ci.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f91f77e3795dff01085099b6f9744ded8d473354
--- /dev/null
+++ b/nix/frama-ci.nix
@@ -0,0 +1,15 @@
+#To copy in other repository
+{ pkgs ? import <nixpkgs> {}, password}:
+
+let
+    src = builtins.fetchGit {
+            "url" = "https://bobot:${password}@git.frama-c.com/frama-c/Frama-CI.git";
+            "name" = "Frama-CI";
+            "rev" = "8bb9694075309fb38c7d7cb28e831132de34ba04";
+            "ref" = "feature/frama-clang-ci";
+    };
+ in
+ {
+  src = src;
+  compiled = pkgs.callPackage "${src}/compile.nix" { inherit pkgs; };
+ }
diff --git a/nix/frama-ci.sh b/nix/frama-ci.sh
new file mode 100644
index 0000000000000000000000000000000000000000..b331b057a8e8ec372a541e94d2af935a95b94f2a
--- /dev/null
+++ b/nix/frama-ci.sh
@@ -0,0 +1,12 @@
+#!/bin/sh -eu
+
+DIR=$(dirname $0)
+
+export FRAMA_CI_NIX=$DIR/frama-ci.nix
+
+export FRAMA_CI=$(nix-instantiate --eval -E "((import <nixos-19.03> {}).callPackage $FRAMA_CI_NIX  { password = \"$TOKEN_FOR_API\";}).src.outPath")
+
+FRAMA_CI=${FRAMA_CI#\"}
+FRAMA_CI=${FRAMA_CI%\"}
+
+$FRAMA_CI/compile.sh $@