holo
Holo is a suite of routing protocols designed to address the needs of modern networks
Declared in: projects/holo/default.nix
Try the service in a VM
- 
    Install Nix
    
- Bash
 - 
  
$ apt install --yes curl git jq nix 
- Bash
 - 
  
$ apt install --yes curl git jq nix 
- Bash
 - 
  
$ pacman --sync --refresh --noconfirm curl git jq nix 
 - 
    Download a configuration file
    
# default.nix { ngipkgs ? import (fetchTarball "https://github.com/ngi-nix/ngipkgs/tarball/main") { }, }: ngipkgs.demo-vm ( { ... }: { programs.holo.enable = true; services.holo-daemon.enable = true; } )
 - 
    Enable binary substituters
    
- Bash
 - 
  
$ export NIX_CONFIG='substituters = https://cache.nixos.org/ https://ngi.cachix.org/ trusted-public-keys = cache.nixos.org-1:6nchdd59x431o0gwypbmraurkbj16zpmqfgspcdshjy= ngi.cachix.org-1:n+cal72roc3qqulxihpv+tw5t42whxmmhpragkrsrow=' 
 - 
    Build and run a virtual machine
    
- Bash
 - 
  
$ nix-build ./default.nix && ./result 
- Bash
 - 
  
$ nix-build ./default.nix && ./result 
- Bash
 - 
  
$ rev=$(nix-instantiate --eval --attr sources.nixpkgs.rev https://github.com/ngi-nix/ngipkgs/archive/master.tar.gz | jq --raw-output)$ nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/$rev.tar.gz --packages nix --run "nix-build ./default.nix && ./result" 
- Bash
 - 
  
$ nix-build ./default.nix && ./result 
 - Missing Contribute usage instructions.
 
Options
programs.holo
- 
  
  
Whether to enable holo.
- Type:
 boolean- Default:
 false- Declared in:
 - projects/holo/programs/holo/module.nix
 
 - 
  
  
The holo-cli package to use.
- Type:
 package- Default:
 pkgs.holo-cli- Declared in:
 - projects/holo/programs/holo/module.nix
 
 
programs.holo.enable
programs.holo.package
services.holo-daemon
- 
  
  
Whether to enable Holo daemon.
- Type:
 boolean- Default:
 false- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
The holo-daemon package to use.
- Type:
 package- Default:
 pkgs.holo-daemon- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Configuration for the holo daemon
- Type:
 open submodule of (TOML value)- Default:
 { }- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Path to the holo database
- Type:
 string- Default:
 "/var/run/holod/holod.db"- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Group for the holo daemon
- Type:
 string- Default:
 "holo"- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Logging configuration for the holo daemon
- Type:
 open submodule of (TOML value)- Default:
 { }- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
File logging configuration
- Type:
 submodule- Default:
 { }- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Directory for log files
- Type:
 string- Default:
 "/var/log/"- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Enable or disable file logging
- Type:
 boolean- Default:
 true- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Name of the log file
- Type:
 string- Default:
 "holod.log"- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Journald logging configuration
- Type:
 submodule- Default:
 { }- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Enable or disable journald logging
- Type:
 boolean- Default:
 true- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Plugin configuration for the holo daemon
- Type:
 open submodule of (TOML value)- Default:
 { }- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
gRPC plugin configuration
- Type:
 submodule- Default:
 { }- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
gRPC server listening address
- Type:
 string- Default:
 "[::]:50051"- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
Enable or disable gRPC plugin
- Type:
 boolean- Default:
 true- Declared in:
 - projects/holo/services/holo/module.nix
 
 - 
  
  
User for the holo daemon
- Type:
 string- Default:
 "holo"- Declared in:
 - projects/holo/services/holo/module.nix
 
 
services.holo-daemon.enable
services.holo-daemon.package
services.holo-daemon.settings
services.holo-daemon.settings.database_path
services.holo-daemon.settings.group
services.holo-daemon.settings.logging
services.holo-daemon.settings.logging.file
services.holo-daemon.settings.logging.file.dir
services.holo-daemon.settings.logging.file.enabled
services.holo-daemon.settings.logging.file.name
services.holo-daemon.settings.logging.journald
services.holo-daemon.settings.logging.journald.enabled
services.holo-daemon.settings.plugins
services.holo-daemon.settings.plugins.grpc
services.holo-daemon.settings.plugins.grpc.address
services.holo-daemon.settings.plugins.grpc.enabled
services.holo-daemon.settings.user
Examples
Enable the holo daemon service
{ ... }: { programs.holo.enable = true; services.holo-daemon.enable = true; }
Declared in: projects/holo/services/holo/examples/holo.nix
Enable the holo program
{ ... }: { programs.holo.enable = true; }
Declared in: projects/holo/programs/holo/examples/basic.nix
This project is funded by NLnet through these subgrants:
- Core
 - HoloRouting