nip/examples/nip-use-flags.json

278 lines
8.0 KiB
JSON

{
"nip": {
"programs-dir": "/Programs",
"links-dir": "/System/Links",
"cache-dir": "/var/nip/cache",
"db-file": "/var/nip/db/packages.json",
"auto-symlink": true,
"check-conflicts": true,
"verbose": false,
"use-flags": {
"global": [
"-systemd",
"+dinit",
"-X",
"+wayland",
"+gtk",
"+pipewire",
"+lto",
"+hardened",
"+ipv6",
"+ssl",
"+zstd",
"+python"
],
"categories": {
"init": {
"description": "Init system (mutually exclusive)",
"exclusive": true,
"options": ["systemd", "dinit", "openrc", "runit"]
},
"gui": {
"description": "GUI toolkit support",
"options": ["X", "wayland", "gtk", "qt"]
},
"audio": {
"description": "Audio system",
"exclusive": true,
"options": ["pulseaudio", "pipewire", "alsa"]
},
"optimization": {
"description": "Compiler optimizations",
"options": ["lto", "pgo", "debug", "strip"]
},
"security": {
"description": "Security hardening",
"options": ["hardened", "pie", "relro", "stack-protector"]
},
"features": {
"description": "Common features",
"options": ["ipv6", "ssl", "zstd", "lz4", "doc", "examples", "dbus"]
},
"bindings": {
"description": "Language bindings",
"options": ["python", "ruby", "perl", "lua"]
},
"nexus-fleet": {
"description": "Nexus fleet command and orchestration",
"options": ["fleet-agent", "fleet-controller", "fleet-discovery", "fleet-mesh", "fleet-sync"]
},
"nexus-bootstrap": {
"description": "System bootstrapping and building",
"options": ["bootstrap", "cross-compile", "stage1", "stage2", "stage3", "toolchain"]
},
"container": {
"description": "Container and isolation technologies",
"options": ["docker", "podman", "containerd", "runc", "crun", "nipcells", "systemd-nspawn"]
},
"virtualization": {
"description": "Hypervisor and virtualization support",
"options": ["kvm", "qemu", "xen", "bhyve", "virtualbox", "vmware", "libvirt"]
},
"mesh": {
"description": "Distributed mesh networking",
"options": ["mesh-network", "p2p", "ipfs", "libp2p", "wireguard", "zerotier", "tailscale"]
},
"gaming": {
"description": "Gaming and graphics acceleration",
"options": ["vulkan", "opengl", "mesa", "nvidia", "amd", "intel-gpu", "steam", "wine", "proton"]
},
"ai-ml": {
"description": "AI/ML and NPU acceleration",
"options": ["cuda", "rocm", "opencl", "npu", "tpu", "tensorrt", "onnx", "openvino"]
},
"developer": {
"description": "Development tools and features",
"options": ["debugger", "profiler", "sanitizer", "coverage", "lsp", "ide", "repl", "hot-reload"]
},
"nexus-integration": {
"description": "NexusOS system integration",
"options": ["nexus-api", "nexus-db", "nexus-sync", "nexus-monitor", "nexus-security"]
}
}
},
"compiler": {
"CFLAGS": "-O3 -march=native -pipe -fomit-frame-pointer",
"CXXFLAGS": "-O3 -march=native -pipe -fomit-frame-pointer",
"LDFLAGS": "-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu",
"MAKEFLAGS": "-j8",
"RUSTFLAGS": "-C opt-level=3 -C target-cpu=native",
"GOFLAGS": "-buildmode=pie"
},
"profiles": {
"active": "performance",
"definitions": {
"minimal": {
"description": "Minimal features for embedded or containers",
"base": "default",
"use-flags": ["-*", "+ssl", "+ipv6"],
"compiler": {
"CFLAGS": "-Os -pipe",
"CXXFLAGS": "-Os -pipe",
"LDFLAGS": "-Wl,-O1 -Wl,--as-needed -Wl,--strip-all",
"MAKEFLAGS": "-j4"
}
},
"desktop": {
"description": "Full desktop environment with GUI",
"base": "default",
"use-flags": [
"+dinit",
"+wayland", "+gtk", "+qt",
"+pipewire", "+alsa",
"+dbus", "+ipv6", "+ssl",
"+python", "+lua"
],
"compiler": {
"CFLAGS": "-O2 -pipe",
"CXXFLAGS": "-O2 -pipe",
"LDFLAGS": "-Wl,-O1",
"MAKEFLAGS": "-j8"
}
},
"performance": {
"description": "Maximum performance with aggressive optimizations",
"base": "default",
"use-flags": [
"+lto", "+pgo",
"-debug", "+strip",
"+hardened", "+pie"
],
"compiler": {
"CFLAGS": "-O3 -march=native -flto -fomit-frame-pointer -pipe",
"CXXFLAGS": "-O3 -march=native -flto -fomit-frame-pointer -pipe",
"LDFLAGS": "-Wl,-O1 -Wl,--as-needed -flto",
"MAKEFLAGS": "-j16",
"RUSTFLAGS": "-C opt-level=3 -C target-cpu=native -C lto=fat"
}
},
"server": {
"description": "Server configuration without GUI",
"base": "default",
"use-flags": [
"+systemd",
"-X", "-wayland", "-gtk", "-qt",
"-pulseaudio", "-pipewire",
"+ssl", "+ipv6", "+zstd",
"+hardened", "+pie", "+relro"
],
"compiler": {
"CFLAGS": "-O2 -pipe -fstack-protector-strong",
"CXXFLAGS": "-O2 -pipe -fstack-protector-strong",
"LDFLAGS": "-Wl,-O1 -Wl,-z,relro -Wl,-z,now",
"MAKEFLAGS": "-j8"
}
},
"development": {
"description": "Development with debug symbols",
"base": "default",
"use-flags": [
"+debug",
"-strip", "-lto",
"+doc", "+examples"
],
"compiler": {
"CFLAGS": "-O0 -g -pipe",
"CXXFLAGS": "-O0 -g -pipe",
"LDFLAGS": "-Wl,-O1",
"MAKEFLAGS": "-j8"
}
}
}
},
"packages": {
"firefox": {
"description": "Firefox web browser",
"use-flags": [
"+wayland", "-X",
"+alsa", "-pulseaudio",
"+lto",
"-debug", "+strip"
],
"compiler": {
"CFLAGS": "-O3 -march=native -flto",
"CXXFLAGS": "-O3 -march=native -flto",
"LDFLAGS": "-Wl,-O1 -flto",
"MAKEFLAGS": "-j8"
}
},
"vim": {
"description": "Vim text editor",
"use-flags": [
"+python", "+lua",
"-ruby", "-perl",
"+gtk", "-X"
]
},
"nginx": {
"description": "Nginx web server",
"use-flags": [
"+ssl", "+http2", "+http3",
"+zstd", "+lz4",
"-debug",
"+hardened"
],
"compiler": {
"CFLAGS": "-O3 -flto -fstack-protector-strong",
"LDFLAGS": "-Wl,-O1 -Wl,-z,relro -Wl,-z,now -flto"
}
},
"ffmpeg": {
"description": "FFmpeg multimedia framework",
"use-flags": [
"+lto", "+pgo",
"+vaapi", "+vdpau",
"+x264", "+x265", "+av1",
"+opus", "+aac"
],
"compiler": {
"CFLAGS": "-O3 -march=native -flto -fomit-frame-pointer",
"MAKEFLAGS": "-j16"
}
},
"python": {
"description": "Python interpreter",
"use-flags": [
"+lto", "+pgo",
"+ssl", "+ipv6",
"-debug"
],
"compiler": {
"CFLAGS": "-O3 -march=native -flto",
"LDFLAGS": "-Wl,-O1 -flto"
}
}
},
"adapters": {
"nix": {
"enabled": true,
"priority": 10
},
"pkgsrc": {
"enabled": true,
"priority": 20,
"build-from-source": true
},
"pacman": {
"enabled": true,
"priority": 30
}
}
}
}