Getting Started
Installation
Add this flake to your Nix configuration:
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
smf-config.url = "git+https://gitlab.flux.utah.edu/mugahed/nixcore_doc";
};
outputs = { self, nixpkgs, smf-config }: {
# Your configuration here
};
}
Basic Usage
Using Default Configuration
The simplest way to generate the default smf.yaml:
let
pkgs = import <nixpkgs> {};
# Evaluate with defaults
smfConfig = (pkgs.lib.evalModules {
modules = [ smf-config.lib.mkSMFConfig ];
}).config.smf.generated;
in
smfConfig
Customizing Options
Override specific options:
{
smf = {
global.max.ue = 2048;
logger.level = "debug";
mtu = 1500;
metrics.server = {
address = "0.0.0.0";
port = 9091;
};
};
}
Enabling Optional Features
{
smf = {
# Enable NRF connection
sbi.client.nrf.uri = "http://127.0.0.10:7777";
# Configure P-CSCF for IMS
pCscf = [ "127.0.0.1" "::1" ];
# Enable CTF
ctf.enabled = "yes";
};
}
Building Documentation Locally
# Build the documentation
nix build .#docs
# Serve locally
nix run .#serve
# Open http://localhost:8000