initial commit
commit
77ab74f97d
@ -0,0 +1,27 @@
|
|||||||
|
{ lib, stdenv, fetchurl, pkg-config, libnl }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "batctl";
|
||||||
|
version = "2013.4.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://downloads.open-mesh.org/batman/releases/batman-adv-${version}/${pname}-${version}.tar.gz";
|
||||||
|
sha256 = "TerjtmZNDROs96js50F1oxpy/lj7FcuREqmiAUsyy0w=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
buildInputs = [ libnl ];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
makeFlags="PREFIX=$out PKG_CONFIG=${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://www.open-mesh.org/projects/batman-adv/wiki/Wiki";
|
||||||
|
description = "B.A.T.M.A.N. routing protocol in a linux kernel module for layer 2, control tool";
|
||||||
|
license = lib.licenses.gpl2;
|
||||||
|
maintainers = with lib.maintainers; [ fpletz ];
|
||||||
|
platforms = with lib.platforms; linux;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, kernel }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "batman-adv-legacy";
|
||||||
|
version = "2013.4.0-65";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "freifunk-gluon";
|
||||||
|
repo = "batman-adv-legacy";
|
||||||
|
rev = "d8bfd8e4b5bd45023b3d0201ee035f7af3dac44a";
|
||||||
|
sha256 = "sha256-9nivJU+GndvlgD2bh3Y2213Qv79gDRagmsCzuN9zt/Y=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||||
|
|
||||||
|
hardeningDisable = [ "pic" ];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
makeFlags="KERNELPATH=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||||
|
sed -i -e "s,INSTALL_MOD_DIR=,INSTALL_MOD_PATH=$out INSTALL_MOD_DIR=," \
|
||||||
|
-e /depmod/d Makefile
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://www.open-mesh.org/projects/batman-adv/wiki/Wiki";
|
||||||
|
description = "B.A.T.M.A.N. routing protocol in a linux kernel module for layer 2";
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.ffnix;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.ffnix = {
|
||||||
|
enable = mkEnableOption "ffnix";
|
||||||
|
batman-legacy = mkEnableOption "batman-adv-legacy";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.vnstat.enable = true;
|
||||||
|
|
||||||
|
programs.mtr.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./modules/batman.nix
|
||||||
|
];
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
description = "A very basic flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, flake-utils }:
|
||||||
|
let
|
||||||
|
ffnixModule = import ./.;
|
||||||
|
in {
|
||||||
|
overlay = final: prev: {
|
||||||
|
batman-adv-legacy = kernelPackages: kernelPackages.callPackage ./batman-adv-legacy.nix {};
|
||||||
|
batctl-legacy = final.callPackage ./batctl-legacy.nix {};
|
||||||
|
};
|
||||||
|
overlays = [ self.overlay ];
|
||||||
|
nixosModules.ffnix = ffnixModule;
|
||||||
|
nixosModule = ffnixModule;
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.ffnix;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
boot.kernelModules = [ "batman_adv" ];
|
||||||
|
|
||||||
|
boot.extraModulePackages = []
|
||||||
|
++ lib.optional (!cfg.batman-legacy) config.boot.kernelPackages.batman_adv
|
||||||
|
++ lib.optional cfg.batman-legacy (pkgs.batman-adv-legacy config.boot.kernelPackages);
|
||||||
|
|
||||||
|
environment.systemPackages = []
|
||||||
|
++ lib.optional (!cfg.batman-legacy) pkgs.batctl
|
||||||
|
++ lib.optional cfg.batman-legacy pkgs.batctl-legacy;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue