aboutsummaryrefslogtreecommitdiff
path: root/.config/nixpkgs/shells/kernel-falcon.nix
blob: 782dbab395e6e420c6d48ac3f100fbd8a024b151 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
with import (builtins.fetchTarball {
  url = "https://github.com/NixOS/nixpkgs/archive/360e2af4f87.tar.gz";
  sha256 = "1i3i9cpn6m3r07pgw4w3xinbqmxkm7pmnqjlz96x424ngbc21sg2"; }) {};

let
  project = "${builtins.getEnv "HOME"}/Desktop/moto-falcon/lineageos-kernel/lineageos-motorala-msm8226";

  toolchain = stdenv.mkDerivation rec {
    name = "gcc-linaro-4.9.4";
    src = builtins.fetchTarball {
      url = "https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz";
      sha256 = "11zznrx0hkq34bn7x7kxn5q9icrf22vqgmd1ifxmdskm2g14x3l8";
    };
    dontBuild = true;
    buildInputs = [ python2 zlib ncurses5 expat lzma ];
    nativeBuildInputs = [ autoPatchelfHook ];
    installPhase = ''
      runHook preInstall
      mkdir $out
      cp -rT ${src} $out
      runHook postInstall
    '';
  };

in

mkShell {

  name = "falcon-kernel";

  buildInputs = [ gnumake ncurses ];

  shellHook = ''
    export CROSS_COMPILE=${toolchain}/bin/arm-linux-gnueabihf-
    export ARCH=arm
    export PS1='\h (falcon kernel) \W \$ '
    cd "${project}"
  '';
}