summaryrefslogtreecommitdiffstats
path: root/inversepath/usbarmory/default.nix
blob: 5c329f8286d311d9bdcaab4e914052e9ef508b7d (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
40
41
42
43
44
45
46
{ config, lib, pkgs, ... }:

{
  boot = {
    extraModprobeConfig = lib.mkDefault ''
      options g_ether use_eem=0 dev_addr=1a:55:89:a2:69:41 host_addr=1a:55:89:a2:69:42
    '';

    kernelModules = [ "ledtrig_heartbeat" "ci_hdrc_imx" "g_ether" ];
    kernelPackages = lib.mkDefault pkgs.linuxPackages_usbarmory;
    kernelParams =  [ "console=ttymxc0,115200" ];

    loader.generic-extlinux-compatible.enable = lib.mkDefault true;
  };

  networking = {
    defaultGateway = "172.16.0.1";
    firewall.enable = lib.mkDefault false;
    hostName = "usbarmory";

    interfaces.usb0.ip4 = [
      { address = "172.16.0.2"; prefixLength = 24; }
    ];

    nameservers = [ "8.8.8.8" ];
  };

  nix = {
    binaryCaches = [ "http://nixos-arm.dezgeg.me/channel" ];
    binaryCachePublicKeys = [ "nixos-arm.dezgeg.me-1:xBaUKS3n17BZPKeyxL4JfbTqECsT+ysbDJz29kLFRW0=%" ];
  };

  nixpkgs.overlays = [(final: previous: {
    linuxPackages_usbarmory = final.recurseIntoAttrs
      (final.linuxPackagesFor (import ./kernel.nix {
        inherit (final) stdenv buildLinux fetchurl;
      }));
  })];

  sound.enable = lib.mkDefault false;

  services = {
    openssh.enable = lib.mkDefault true;
    openssh.permitRootLogin = lib.mkDefault "without-password";
  };
}