Skip to content

Latest commit

 

History

History
216 lines (152 loc) · 5.4 KB

File metadata and controls

216 lines (152 loc) · 5.4 KB

Environment Variables

Overview

This document covers:

  • A) Variables that persist AFTER installation in your shell environment

  • B) Variables for non-interactive installation (CI/automation)

For interactive installation, the installer prompts for required values (Git, theme, editor).

Defaults are defined in config/defaults.env and referenced throughout the installer.

A) Post-Installation Variables (Persistent)

These are exported in your Fish shell after installation:

Variable Default Description

BAT_THEME

(theme-based)

Syntax highlighter theme for bat

DEVBASE_THEME

everforest-dark

Current theme

DEVBASE_ZELLIJ_AUTOSTART

false

Auto-start Zellij terminal multiplexer

EDITOR

nvim

Default text editor

FZF_DEFAULT_OPTS

(theme-based)

Fuzzy finder colors for fzf

VISUAL

nvim

Visual editor (same as EDITOR)

Modifying After Installation

Edit ~/.config/fish/conf.d/10-personal.fish:

# Switch to light theme (use devbase-theme command instead)
devbase-theme everforest-light

# Enable Zellij autostart
set -gx DEVBASE_ZELLIJ_AUTOSTART "true"

# Change editor
set -gx EDITOR "nvim"
set -gx VISUAL "nvim"

B) Non-Interactive Installation Variables

For CI/automation, set these with ./setup.sh --non-interactive:

Variable Default Description

DEVBASE_THEME

everforest-dark

Theme: everforest-dark, everforest-light, catppuccin-mocha, catppuccin-latte, tokyonight-night, tokyonight-day, gruvbox-dark, gruvbox-light, nord, dracula, solarized-dark, or solarized-light (authoritative list in libs/theme-registry.sh)

EDITOR

nvim

Default editor: nano or nvim

GIT_EMAIL

$USER@$(hostname)

Git user.email (e.g., "jane@example.com")

GIT_NAME

DevBase User

Git user.name (e.g., "Jane Doe")

SSH_KEY_PASSPHRASE

(auto-generated)

SSH key passphrase (displayed at end of installation if auto-generated)

DEBUG

(unset)

Show verbose debug output during installation: DEBUG=1 ./setup.sh

DEVBASE_STRICT_CHECKSUMS

warn

Checksum strictness: off, warn, or fail

DEVBASE_STRICT_CHECKSUMS_ALLOWLIST

(unset)

Comma-separated URL patterns allowed without checksums

DEVBASE_MISE_INSTALLER_SHA256

41955e91c5b9d9f0b27dff80632c9752dfb3866979bfc50cbc22963ec0ba82d3

SHA256 checksum required to verify the mise installer script

MISE_HTTP_TIMEOUT

150s

Timeout for HTTP requests made by mise

MISE_FETCH_REMOTE_VERSIONS_TIMEOUT

75s

Timeout for remote version lookups in mise

Note
In non-interactive mode, if SSH_KEY_PASSPHRASE is not set, a secure random passphrase will be auto-generated. The passphrase will be displayed at the end of installation with instructions on how to change it. Make sure to save this passphrase before the installation summary disappears.

Example: CI/Automation

export GIT_NAME="CI Bot"
export GIT_EMAIL="ci@example.com"
export DEVBASE_THEME="everforest-dark"
export EDITOR="nano"
./setup.sh --non-interactive

Custom Config Variables (org.env)

Set in devbase-custom-config/config/org.env - affects installation behavior:

Variable Default Description

DEVBASE_EMAIL_DOMAIN

@

Pre-fill email domain (e.g., @company.com)

DEVBASE_NO_PROXY_DOMAINS

localhost,127.0.0.1

Domains to bypass proxy

DEVBASE_PROXY_HOST

(none)

Organization proxy hostname

DEVBASE_PROXY_PORT

(none)

Organization proxy port

DEVBASE_REGISTRY_HOST

(none)

Internal package registry hostname

DEVBASE_REGISTRY_PORT

(none)

Internal package registry port

DEVBASE_EXTRA_FORGES

(none)

Comma-separated list of extra code-forge hostnames to create under ~/development/ (e.g. gitlab.mycompany.com,gitea.example.org). The built-in forges (gitlab.com, github.com, bitbucket.org, codeberg.org, code.europa.eu) are always created.

These variables affect installation but are NOT exported to your shell.

Proxy Configuration

Runtime Proxy Handling

When DevBase detects proxy environment variables (HTTP_PROXY, HTTPS_PROXY, http_proxy, https_proxy), it automatically configures tools for better compatibility with corporate proxies:

Automatic Configuration

DevBase sets the following when a proxy is detected:

Configuration Purpose

DEVBASE_CURL_PROXY_ARGS

Adds --no-keepalive --no-sessionid -H "Connection: close" for the internal curl wrapper

DEVBASE_WGET_PROXY_ARGS

Adds --no-http-keep-alive for the internal wget wrapper

devbase_curl wrapper

Uses configured proxy-safe curl options

This configuration happens automatically:

  • During installation: In libs/handle-network.sh

  • At runtime: Via ~/.config/fish/functions/configure-proxy-curl.fish (loaded by Fish config)

Manual Testing

If experiencing proxy issues, test connectivity with:

# Test all DevBase dependencies
./verify/verify-proxy-access.sh

# Test with forced no-keepalive mode
./verify/verify-proxy-access.sh --no-keepalive

# Test with actual downloads
./verify/verify-proxy-access.sh --download-test --no-keepalive