Common¶
Source directory: modules/common/
ai-defaults.nix¶
modules/common/ai-defaults.nix
AI Provider Default Configuration Module Provides sensible defaults for AI provider configuration to eliminate duplication
- Enable option: Default AI provider configuration
Options: enable, profile
Options declaration (Nix)
base-user.nix¶
No option declarations; see source for implementation.
default.nix¶
No option declarations; see source for implementation.
features-impl.nix¶
modules/common/features-impl.nix
No option declarations; see source for implementation.
features.nix¶
- Enable option: Enable development tools
- Enable option: Python development
- Enable option: Go development
- Enable option: Node.js development
- Enable option: Java development
- Enable option: Lua development
- Enable option: Nix development
- Enable option: Shell development
- Enable option: Cargo/Rust development
- Enable option: GitHub Copilot CLI
- Enable option: GitHub development
- Enable option: DevShell development
- Enable option: Pre-commit hooks and linting
- Enable option: Enable virtualization
- Enable option: Enable Docker
- Enable option: Enable Podman
- Enable option: Enable Incus containers
- Enable option: Enable SPICE
- Enable option: Enable libvirt
- Enable option: Enable cloud tools
- Enable option: Enable AWS tools
- Enable option: Enable Azure tools
- Enable option: Enable Google Cloud tools
- Enable option: Enable Kubernetes tools
- Enable option: Enable Terraform tools
- Enable option: Enable security tools
- Enable option: Enable 1Password
- Enable option: Enable GnuPG
- Enable option: Enable networking
- Enable option: Enable AI tools
- Enable option: Enable Google Antigravity CLI (agy) — replaces gemini-cli (EOL 2026-06-18)
- Enable option: Enable unified AI provider support
- Enable option: OpenAI provider
- Enable option: Anthropic/Claude provider
- Enable option: Google Gemini provider
- Enable option: Enable LazyGit
- Enable option: Enable Thunderbird
- Enable option: Enable Obsidian
- Enable option: Enable Office tools
- Enable option: Enable Webcam tools
- Enable option: Enable Printing
- Enable option: Enable DroidCam
- Enable option: Enable QuickShell desktop shell (runs alongside Waybar for testing)
Options: enable, python, go, nodejs, java, lua, nix, shell, cargo, copilot-cli, github, devshell, precommit, docker, podman, incus, spice, libvirt, aws, azure, google, k8s, terraform, onepassword, gnupg, antigravity-cli, lazygit, thunderbird, obsidian, office, webcam, print, droidcam, claude-desktop, defaultProvider, enableFallback, costOptimization, priority
Options declaration (Nix)
options.features = {
development = {
enable = mkEnableOption "Enable development tools";
# Granular enablement options
python = mkEnableOption "Python development";
go = mkEnableOption "Go development";
nodejs = mkEnableOption "Node.js development";
java = mkEnableOption "Java development";
lua = mkEnableOption "Lua development";
nix = mkEnableOption "Nix development";
shell = mkEnableOption "Shell development";
cargo = mkEnableOption "Cargo/Rust development";
copilot-cli = mkEnableOption "GitHub Copilot CLI";
github = mkEnableOption "GitHub development";
devshell = mkEnableOption "DevShell development";
precommit = mkEnableOption "Pre-commit hooks and linting";
};
virtualization = {
enable = mkEnableOption "Enable virtualization";
docker = mkEnableOption "Enable Docker";
podman = mkEnableOption "Enable Podman";
incus = mkEnableOption "Enable Incus containers";
spice = mkEnableOption "Enable SPICE";
libvirt = mkEnableOption "Enable libvirt";
};
cloud = {
enable = mkEnableOption "Enable cloud tools";
aws = mkEnableOption "Enable AWS tools";
azure = mkEnableOption "Enable Azure tools";
google = mkEnableOption "Enable Google Cloud tools";
k8s = mkEnableOption "Enable Kubernetes tools";
terraform = mkEnableOption "Enable Terraform tools";
};
security = {
enable = mkEnableOption "Enable security tools";
onepassword = mkEnableOption "Enable 1Password";
gnupg = mkEnableOption "Enable GnuPG";
};
networking = {
enable = mkEnableOption "Enable networking";
};
ai = {
enable = mkEnableOption "Enable AI tools";
antigravity-cli = mkEnableOption "Enable Google Antigravity CLI (agy) — replaces gemini-cli (EOL 2026-06-18)";
claude-desktop = mkOption {
type = types.bool;
default = true;
description = "Enable Claude Desktop GUI application";
};
# Enhanced AI provider support
providers = {
enable = mkEnableOption "Enable unified AI provider support";
defaultProvider = mkOption {
type = types.enum [ "openai" "anthropic" "gemini" ];
default = "openai";
description = "Default AI provider to use";
};
enableFallback = mkOption {
type = types.bool;
default = true;
description = "Enable automatic fallback between providers";
};
costOptimization = mkOption {
type = types.bool;
default = false;
description = "Enable cost-based provider selection";
};
openai = {
enable = mkEnableOption "OpenAI provider";
priority = mkOption {
type = types.int;
default = 1;
description = "Provider priority (1 = highest)";
};
};
anthropic = {
enable = mkEnableOption "Anthropic/Claude provider";
priority = mkOption {
# … truncated — see source link above
networking.nix¶
Network Configuration Module Provides network profile management and stability enhancements
- Enable option: Network stability enhancements to prevent connection changes
Options declaration (Nix)
plasma-packages.nix¶
modules/common/plasma-packages.nix
No option declarations; see source for implementation.