Skip to content

User configuration ​

The settings of the machine, not of a project: the language model, the ecosystem of projects, the Slurm scheduler. FoBiS reads $XDG_CONFIG_HOME/fobis/config.ini (~/.config/fobis/config.ini when the variable is unset). A project's fobos holds the project's settings; for [scheduler], a fobos section adds to the user's, key by key.

bash
fobis commit --init-config     # write the commented file below, where it is missing
fobis commit --show-config     # the LLM settings in effect

Every value shown is the default; uncomment a line to change it. Recipes: local models, ecosystem, running on a cluster.

A comment after a value stays in the value (model = coder-7b ; fast names a model coder-7b ; fast): put comments on lines of their own. FoBiS warns about such values on stderr, as it does for a fobos (comments); the shell lines of [scheduler] setup are left alone.

ini
# FoBiS user configuration
# Location: ~/.config/fobis/config.ini
#
# All values shown are the defaults.  Uncomment and edit to override.

[llm]
# LLM provider: "managed" (fobis runs llama.cpp locally: fobis llm runtime install, fobis llm pull),
# "ollama" (native API) or "openai" (any OpenAI-compatible endpoint)
# (the former key name `backend` is still read)
# provider = managed

# Base URL of the LLM server (no trailing slash)
# url = http://localhost:11434

# Name of the environment variable holding the API key, sent as "Authorization: Bearer <key>".
# Needed by hosted endpoints (OpenAI, Mistral, ...); unset = no credentials are sent.
# api_key_env = OPENAI_API_KEY

# Model: for "managed" an alias (fobis llm recommended), hf:<org>/<repo>[@<rev>]/<file>.gguf or a GGUF path;
# for ollama/openai the server's model name. Default: coder-7b (managed), qwen3-coder:30b-a3b-q4_K_M (others)
# model = coder-7b

# managed only: which llama-server to run: "pinned" (fobis llm runtime install), "PATH", or a path
# runtime = pinned
# managed only: build variant when several are installed: auto, cpu, metal, cuda12, cuda13, vulkan, rocm, sycl
# runtime_variant = auto
# managed only: context size, layers offloaded to the GPU (a number, auto or all), CPU threads (0 = llama.cpp
# default), seconds to wait for the model to load
# n_ctx = 16384
# n_gpu_layers = auto
# threads = 0
# startup_timeout = 120

# Maximum staged-diff characters sent to the model (long diffs are truncated)
# max_diff_chars = 12000

# Critique-and-rewrite passes after the initial draft (0 = single pass)
# Increase to 1-3 for small/fast models that produce shallow first drafts
# refine_passes = 0

[ecosystem]
# Directory the projects live in (relative entries of 'projects' are resolved against it)
# root = ~/fortran

# The managed projects: directory names under root, or paths; whitespace or newline separated
# projects = PENF FACE BeFoR64 StringiFor FLAP

# HTML dashboard palette: github solarized dracula nord tokyo-night catppuccin gruvbox one rose-pine
# theme = github

# HTML dashboard mode: auto (follow the system), light or dark
# mode = auto

[scheduler]
# Where --runner slurm submits the runs of this machine (a fobos [scheduler] section adds to it, key by key)
# kind = slurm
# partition =
# account =
# qos =
# More #SBATCH lines, one per line (e.g. --mem=32G)
# options =
# How a case with ranks is launched inside the job; {ranks} is replaced
# launcher = srun
# Shell lines run in the job before the program (e.g. module load ...)
# setup =
# Seconds between squeue polls
# poll = 10
# Host-name patterns of the login nodes, where MPI and GPU cases are not run locally
# login_nodes =

Environment variables ​

VariableEffect
XDG_CONFIG_HOMEWhere the user configuration and the user's knowledge packs are (~/.config when unset)
FOBIS_LLM_DIRThe model store and the llama.cpp runtime (default ~/.fobis/llm)
HF_TOKENA Hugging Face token, for gated models; sent to the Hub only, never to the download CDN
HF_ENDPOINTA Hugging Face mirror
FOBIS_CACHE_DIRThe build cache (default ~/.fobis/cache)
XDG_CACHE_HOMEWhere fobis ecosystem dashboard --format html writes its page (~/.cache when unset)
EDITORThe editor of fobis merge-assist --apply (e)
LOADEDMODULESRead, not set: recorded in the provenance of results (environment modules)
OMP_NUM_THREADSRead, not set: recorded in the provenance; set by a case's threads