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 effectEvery 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
| Variable | Effect |
|---|---|
XDG_CONFIG_HOME | Where the user configuration and the user's knowledge packs are (~/.config when unset) |
FOBIS_LLM_DIR | The model store and the llama.cpp runtime (default ~/.fobis/llm) |
HF_TOKEN | A Hugging Face token, for gated models; sent to the Hub only, never to the download CDN |
HF_ENDPOINT | A Hugging Face mirror |
FOBIS_CACHE_DIR | The build cache (default ~/.fobis/cache) |
XDG_CACHE_HOME | Where fobis ecosystem dashboard --format html writes its page (~/.cache when unset) |
EDITOR | The editor of fobis merge-assist --apply (e) |
LOADEDMODULES | Read, not set: recorded in the provenance of results (environment modules) |
OMP_NUM_THREADS | Read, not set: recorded in the provenance; set by a case's threads |