forked from auxolotl/docs
3805 lines
116 KiB
HTML
3805 lines
116 KiB
HTML
|
|
|||
|
<!doctype html>
|
|||
|
<html lang="en" class="no-js">
|
|||
|
<head>
|
|||
|
|
|||
|
<meta charset="utf-8">
|
|||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|||
|
|
|||
|
<meta name="description" content="Aux Documentation">
|
|||
|
|
|||
|
|
|||
|
<meta name="author" content="Nixpkgs Aux, and Lix Contributors">
|
|||
|
|
|||
|
|
|||
|
<link rel="canonical" href="https://docs.auxolotl.org/Lix/Command-Reference/conf-file/">
|
|||
|
|
|||
|
|
|||
|
<link rel="prev" href="../">
|
|||
|
|
|||
|
|
|||
|
<link rel="next" href="../env-common/">
|
|||
|
|
|||
|
|
|||
|
<link rel="icon" href="../../../assets/aux-logo.svg">
|
|||
|
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.29">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<title>nix.conf - Aux Docs</title>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../../../assets/stylesheets/main.76a95c52.min.css">
|
|||
|
|
|||
|
|
|||
|
<link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|||
|
<link rel="stylesheet" href="https://fonts.bunny.net/css?family=IBM+Plex+Sans:300,300i,400,400i,700,700i%7CIBM+Plex+Mono:400,400i,700,700i&display=fallback">
|
|||
|
<style>:root{--md-text-font:"IBM Plex Sans";--md-code-font:"IBM Plex Mono"}</style>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<meta property="og:type" content="website" >
|
|||
|
|
|||
|
<meta property="og:title" content="`nix.conf` - Aux Docs" >
|
|||
|
|
|||
|
<meta property="og:description" content="Aux Documentation" >
|
|||
|
|
|||
|
<meta property="og:image" content="https://docs.auxolotl.org/assets/images/social/Lix/Command-Reference/conf-file.png" >
|
|||
|
|
|||
|
<meta property="og:image:type" content="image/png" >
|
|||
|
|
|||
|
<meta property="og:image:width" content="1200" >
|
|||
|
|
|||
|
<meta property="og:image:height" content="630" >
|
|||
|
|
|||
|
<meta property="og:url" content="https://docs.auxolotl.org/Lix/Command-Reference/conf-file/" >
|
|||
|
|
|||
|
<meta name="twitter:card" content="summary_large_image" >
|
|||
|
|
|||
|
<meta name="twitter:title" content="`nix.conf` - Aux Docs" >
|
|||
|
|
|||
|
<meta name="twitter:description" content="Aux Documentation" >
|
|||
|
|
|||
|
<meta name="twitter:image" content="https://docs.auxolotl.org/assets/images/social/Lix/Command-Reference/conf-file.png" >
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</head>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="blue">
|
|||
|
|
|||
|
|
|||
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|||
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|||
|
<label class="md-overlay" for="__drawer"></label>
|
|||
|
<div data-md-component="skip">
|
|||
|
|
|||
|
|
|||
|
<a href="#nixconf" class="md-skip">
|
|||
|
Skip to content
|
|||
|
</a>
|
|||
|
|
|||
|
</div>
|
|||
|
<div data-md-component="announce">
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<header class="md-header" data-md-component="header">
|
|||
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|||
|
<a href="../../.." title="Aux Docs" class="md-header__button md-logo" aria-label="Aux Docs" data-md-component="logo">
|
|||
|
|
|||
|
<img src="../../../assets/aux-logo.svg" alt="logo">
|
|||
|
|
|||
|
</a>
|
|||
|
<label class="md-header__button md-icon" for="__drawer">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
|
|||
|
</label>
|
|||
|
<div class="md-header__title" data-md-component="header-title">
|
|||
|
<div class="md-header__ellipsis">
|
|||
|
<div class="md-header__topic">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Aux Docs
|
|||
|
</span>
|
|||
|
</div>
|
|||
|
<div class="md-header__topic" data-md-component="header-topic">
|
|||
|
<span class="md-ellipsis">
|
|||
|
|
|||
|
nix.conf
|
|||
|
|
|||
|
</span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<form class="md-header__option" data-md-component="palette">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="blue" aria-label="Dark Mode" type="radio" name="__palette" id="__palette_0">
|
|||
|
|
|||
|
<label class="md-header__button md-icon" title="Dark Mode" for="__palette_1" hidden>
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg>
|
|||
|
</label>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="blue" aria-label="Light Mode" type="radio" name="__palette" id="__palette_1">
|
|||
|
|
|||
|
<label class="md-header__button md-icon" title="Light Mode" for="__palette_0" hidden>
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg>
|
|||
|
</label>
|
|||
|
|
|||
|
|
|||
|
</form>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<label class="md-header__button md-icon" for="__search">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
|||
|
</label>
|
|||
|
<div class="md-search" data-md-component="search" role="dialog">
|
|||
|
<label class="md-search__overlay" for="__search"></label>
|
|||
|
<div class="md-search__inner" role="search">
|
|||
|
<form class="md-search__form" name="search">
|
|||
|
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
|||
|
<label class="md-search__icon md-icon" for="__search">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
|||
|
</label>
|
|||
|
<nav class="md-search__options" aria-label="Search">
|
|||
|
|
|||
|
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
|||
|
</button>
|
|||
|
</nav>
|
|||
|
|
|||
|
</form>
|
|||
|
<div class="md-search__output">
|
|||
|
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|||
|
<div class="md-search-result" data-md-component="search-result">
|
|||
|
<div class="md-search-result__meta">
|
|||
|
Initializing search
|
|||
|
</div>
|
|||
|
<ol class="md-search-result__list" role="presentation"></ol>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<div class="md-header__source">
|
|||
|
<a href="https://git.auxolotl.org/auxolotl/docs" title="Go to repository" class="md-source" data-md-component="source">
|
|||
|
<div class="md-source__icon md-icon">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.777 0a2.9 2.9 0 1 1-2.529 4.322H12.91a4.266 4.266 0 0 0-4.265 4.195v2.118a7.076 7.076 0 0 1 4.147-1.42l.118-.002h1.338a2.9 2.9 0 0 1 5.43 1.422 2.9 2.9 0 0 1-5.43 1.422H12.91a4.266 4.266 0 0 0-4.265 4.195v2.319A2.9 2.9 0 0 1 7.222 24 2.9 2.9 0 0 1 5.8 18.57V8.589a7.109 7.109 0 0 1 6.991-7.108l.118-.001h1.338A2.9 2.9 0 0 1 16.778 0ZM7.223 19.905a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Zm9.554-10.464a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.39Zm0-7.735a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Z"/></svg>
|
|||
|
</div>
|
|||
|
<div class="md-source__repository">
|
|||
|
auxolotl/docs
|
|||
|
</div>
|
|||
|
</a>
|
|||
|
</div>
|
|||
|
|
|||
|
</nav>
|
|||
|
|
|||
|
</header>
|
|||
|
|
|||
|
<div class="md-container" data-md-component="container">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
|
|||
|
<div class="md-grid">
|
|||
|
<ul class="md-tabs__list">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-tabs__item">
|
|||
|
<a href="../../.." class="md-tabs__link">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Aux Documentation Hub
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-tabs__item">
|
|||
|
<a href="../../../TODO/" class="md-tabs__link">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
TODO
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-tabs__item">
|
|||
|
<a href="../../../Aux/" class="md-tabs__link">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Aux
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-tabs__item md-tabs__item--active">
|
|||
|
<a href="../../" class="md-tabs__link">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Lix
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-tabs__item">
|
|||
|
<a href="../../../NixOS/appstream/" class="md-tabs__link">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
NixOS
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-tabs__item">
|
|||
|
<a href="../../../Nixpkgs/" class="md-tabs__link">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Nixpkgs
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
</nav>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<main class="md-main" data-md-component="main">
|
|||
|
<div class="md-main__inner md-grid">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|||
|
<div class="md-sidebar__scrollwrap">
|
|||
|
<div class="md-sidebar__inner">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
|||
|
<label class="md-nav__title" for="__drawer">
|
|||
|
<a href="../../.." title="Aux Docs" class="md-nav__button md-logo" aria-label="Aux Docs" data-md-component="logo">
|
|||
|
|
|||
|
<img src="../../../assets/aux-logo.svg" alt="logo">
|
|||
|
|
|||
|
</a>
|
|||
|
Aux Docs
|
|||
|
</label>
|
|||
|
|
|||
|
<div class="md-nav__source">
|
|||
|
<a href="https://git.auxolotl.org/auxolotl/docs" title="Go to repository" class="md-source" data-md-component="source">
|
|||
|
<div class="md-source__icon md-icon">
|
|||
|
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.777 0a2.9 2.9 0 1 1-2.529 4.322H12.91a4.266 4.266 0 0 0-4.265 4.195v2.118a7.076 7.076 0 0 1 4.147-1.42l.118-.002h1.338a2.9 2.9 0 0 1 5.43 1.422 2.9 2.9 0 0 1-5.43 1.422H12.91a4.266 4.266 0 0 0-4.265 4.195v2.319A2.9 2.9 0 0 1 7.222 24 2.9 2.9 0 0 1 5.8 18.57V8.589a7.109 7.109 0 0 1 6.991-7.108l.118-.001h1.338A2.9 2.9 0 0 1 16.778 0ZM7.223 19.905a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Zm9.554-10.464a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.39Zm0-7.735a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Z"/></svg>
|
|||
|
</div>
|
|||
|
<div class="md-source__repository">
|
|||
|
auxolotl/docs
|
|||
|
</div>
|
|||
|
</a>
|
|||
|
</div>
|
|||
|
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../../.." class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Aux Documentation Hub
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../../../TODO/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
TODO
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../../Aux/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Aux
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="md-nav__link md-nav__container">
|
|||
|
<a href="../../" class="md-nav__link ">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Lix
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
|
|||
|
<label class="md-nav__title" for="__nav_4">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Lix
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../../glossary/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Glossary
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../../quick-start/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Quick Start
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../Advanced-Topics/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Advanced Topics
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5" checked>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="md-nav__link md-nav__container">
|
|||
|
<a href="../" class="md-nav__link ">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Command Reference
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link " for="__nav_4_5" id="__nav_4_5_label" tabindex="0">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_5_label" aria-expanded="true">
|
|||
|
<label class="md-nav__title" for="__nav_4_5">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Command Reference
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-scrollfix>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--active">
|
|||
|
|
|||
|
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix.conf
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
</label>
|
|||
|
|
|||
|
<a href="./" class="md-nav__link md-nav__link--active">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix.conf
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__title" for="__toc">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Table of contents
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#description" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Description
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="Description">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#configuration-file" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Configuration file
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="Configuration file">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#file-format" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
File format
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#command-line-flags" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Command line flags
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#available-settings" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Available settings
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../env-common/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Common Environment Variables
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../experimental-commands/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Experimental Commands
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../main-commands/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Main Commands
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../nix-build/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix-build
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../nix-channel/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix-channel
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../nix-collect-garbage/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix-collect-garbage
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../nix-copy-closure/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix-copy-closure
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../nix-daemon/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix-daemon
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../nix-hash/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix-hash
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../nix-instantiate/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix-instantiate
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../nix-prefetch-url/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix-prefetch-url
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../nix-shell/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
nix-shell
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../opt-common/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Common Options
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="../utilities/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Utilities
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../New-CLI/nix/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
New CLI
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../files/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Files
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../nix-env/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Nix env
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../nix-store/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Nix store
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../Package-Management/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Package Management
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../architecture/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Architecture
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../contributing/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Contributing
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../installation/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Installation
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../language/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Language
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../protocols/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Protocols
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../release-notes/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Release notes
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../../NixOS/appstream/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
NixOS
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="../../../Nixpkgs/" class="md-nav__link">
|
|||
|
|
|||
|
|
|||
|
<span class="md-ellipsis">
|
|||
|
Nixpkgs
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|||
|
<div class="md-sidebar__scrollwrap">
|
|||
|
<div class="md-sidebar__inner">
|
|||
|
|
|||
|
|
|||
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<label class="md-nav__title" for="__toc">
|
|||
|
<span class="md-nav__icon md-icon"></span>
|
|||
|
Table of contents
|
|||
|
</label>
|
|||
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#description" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Description
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="Description">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#configuration-file" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Configuration file
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
<nav class="md-nav" aria-label="Configuration file">
|
|||
|
<ul class="md-nav__list">
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#file-format" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
File format
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#command-line-flags" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Command line flags
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
<li class="md-nav__item">
|
|||
|
<a href="#available-settings" class="md-nav__link">
|
|||
|
<span class="md-ellipsis">
|
|||
|
Available settings
|
|||
|
</span>
|
|||
|
</a>
|
|||
|
|
|||
|
</li>
|
|||
|
|
|||
|
</ul>
|
|||
|
|
|||
|
</nav>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="md-content" data-md-component="content">
|
|||
|
<article class="md-content__inner md-typeset">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<h1 id="nixconf"><code>nix.conf</code></h1>
|
|||
|
<p>Lix configuration file.</p>
|
|||
|
<h2 id="description">Description</h2>
|
|||
|
<p>Lix supports a variety of configuration settings, which are read from configuration files or taken as command line flags.</p>
|
|||
|
<h3 id="configuration-file">Configuration file</h3>
|
|||
|
<p>By default Lix reads settings from the following places, in that order:</p>
|
|||
|
<ol>
|
|||
|
<li>The system-wide configuration file <code>sysconfdir/nix/nix.conf</code> (i.e. <code>/etc/nix/nix.conf</code> on most systems), or <code>$NIX_CONF_DIR/nix.conf</code> if <a href="../env-common/#env-NIX_CONF_DIR"><code>NIX_CONF_DIR</code></a> is set.</li>
|
|||
|
</ol>
|
|||
|
<p>Values loaded in this file are not forwarded to the Nix daemon.
|
|||
|
The client assumes that the daemon has already loaded them.</p>
|
|||
|
<ol>
|
|||
|
<li>If <a href="../env-common/#env-NIX_USER_CONF_FILES"><code>NIX_USER_CONF_FILES</code></a> is set, then each path separated by <code>:</code> will be loaded in reverse order.</li>
|
|||
|
</ol>
|
|||
|
<p>Otherwise it will look for <code>nix/nix.conf</code> files in <code>XDG_CONFIG_DIRS</code> and <code>XDG_CONFIG_HOME</code>.
|
|||
|
If unset, <code>XDG_CONFIG_DIRS</code> defaults to <code>/etc/xdg</code>, and <code>XDG_CONFIG_HOME</code> defaults to <code>$HOME/.config</code> as per <a href="https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG Base Directory Specification</a>.</p>
|
|||
|
<ol>
|
|||
|
<li>If <a href="../env-common/#env-NIX_CONFIG"><code>NIX_CONFIG</code></a> is set, its contents are treated as the contents of a configuration file.</li>
|
|||
|
</ol>
|
|||
|
<h4 id="file-format">File format</h4>
|
|||
|
<p>Configuration files consist of <code>name = value</code> pairs, one per line.
|
|||
|
Comments start with a <code>#</code> character.</p>
|
|||
|
<p>Example:</p>
|
|||
|
<div class="highlight"><pre><span></span><code>keep-outputs = true ## Nice for developers
|
|||
|
keep-derivations = true ## Idem
|
|||
|
</code></pre></div>
|
|||
|
<p>Other files can be included with a line like <code>include <path></code>, where <code><path></code> is interpreted relative to the current configuration file.
|
|||
|
A missing file is an error unless <code>!include</code> is used instead.</p>
|
|||
|
<p>A configuration setting usually overrides any previous value.
|
|||
|
However, for settings that take a list of items, you can prefix the name of the setting by <code>extra-</code> to <em>append</em> to the previous value.</p>
|
|||
|
<p>For instance,</p>
|
|||
|
<div class="highlight"><pre><span></span><code>substituters = a b
|
|||
|
extra-substituters = c d
|
|||
|
</code></pre></div>
|
|||
|
<p>defines the <code>substituters</code> setting to be <code>a b c d</code>.</p>
|
|||
|
<p>Unknown option names are not an error, and are simply ignored with a warning.</p>
|
|||
|
<h3 id="command-line-flags">Command line flags</h3>
|
|||
|
<p>Configuration options can be set on the command line, overriding the values set in the <a href="#configuration-file">configuration file</a>:</p>
|
|||
|
<ul>
|
|||
|
<li>Every configuration setting has corresponding command line flag (e.g. <code>--max-jobs 16</code>).
|
|||
|
Boolean settings do not need an argument, and can be explicitly disabled with the <code>no-</code> prefix (e.g. <code>--keep-failed</code> and <code>--no-keep-failed</code>).</li>
|
|||
|
</ul>
|
|||
|
<p>Unknown option names are invalid flags (unless there is already a flag with that name), and are rejected with an error.</p>
|
|||
|
<ul>
|
|||
|
<li>The flag <code>--option <name> <value></code> is interpreted exactly like a <code><name> = <value></code> in a setting file.</li>
|
|||
|
</ul>
|
|||
|
<p>Unknown option names are ignored with a warning.</p>
|
|||
|
<p>The <code>extra-</code> prefix is supported for settings that take a list of items (e.g. <code>--extra-trusted users alice</code> or <code>--option extra-trusted-users alice</code>).</p>
|
|||
|
<h2 id="available-settings">Available settings</h2>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-accept-flake-config"><a href="#conf-accept-flake-config"><code>accept-flake-config</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to accept Lix configuration from the <code>nixConfig</code> attribute of
|
|||
|
a flake without prompting. This is almost always a very bad idea.</p>
|
|||
|
<p>Setting this setting as a trusted user allows Nix flakes to gain root
|
|||
|
access on your machine if they set one of the several
|
|||
|
trusted-user-only settings that execute commands as root.</p>
|
|||
|
<p>See <a href="../../installation/multi-user/">multi-user installations</a>
|
|||
|
for more details on the Lix security model.</p>
|
|||
|
<div class="admonition warning">
|
|||
|
<p class="admonition-title">Warning</p>
|
|||
|
<p>This setting is part of an
|
|||
|
<a href="../../contributing/experimental-features/">experimental feature</a>.</p>
|
|||
|
</div>
|
|||
|
<p>To change this setting, you need to make sure the corresponding experimental feature,
|
|||
|
<a href="../../contributing/experimental-features/#xp-feature-flakes"><code>flakes</code></a>,
|
|||
|
is enabled.
|
|||
|
For example, include the following in <a href="#"><code>nix.conf</code></a>:</p>
|
|||
|
<div class="highlight"><pre><span></span><code>extra-experimental-features = flakes
|
|||
|
accept-flake-config = ...
|
|||
|
</code></pre></div>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-access-tokens"><a href="#conf-access-tokens"><code>access-tokens</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Access tokens used to access protected GitHub, GitLab, or
|
|||
|
other locations requiring token-based authentication.</p>
|
|||
|
<p>Access tokens are specified as a string made up of
|
|||
|
space-separated <code>host=token</code> values. The specific token
|
|||
|
used is selected by matching the <code>host</code> portion against the
|
|||
|
"host" specification of the input. The actual use of the
|
|||
|
<code>token</code> value is determined by the type of resource being
|
|||
|
accessed:</p>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<p>Github: the token value is the OAUTH-TOKEN string obtained
|
|||
|
as the Personal Access Token from the Github server (see
|
|||
|
https://docs.github.com/en/developers/apps/building-oauth-apps/authorizing-oauth-apps).</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>Gitlab: the token value is either the OAuth2 token or the
|
|||
|
Personal Access Token (these are different types tokens
|
|||
|
for gitlab, see
|
|||
|
https://docs.gitlab.com/12.10/ee/api/README.html#authentication).
|
|||
|
The <code>token</code> value should be <code>type:tokenstring</code> where
|
|||
|
<code>type</code> is either <code>OAuth2</code> or <code>PAT</code> to indicate which type
|
|||
|
of token is being specified.</p>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<p>Example <code>~/.config/nix/nix.conf</code>:</p>
|
|||
|
<div class="highlight"><pre><span></span><code>access-tokens = github.com=23ac...b289 gitlab.mycompany.com=PAT:A123Bp_Cd..EfG gitlab.com=OAuth2:1jklw3jk
|
|||
|
</code></pre></div>
|
|||
|
<p>Example <code>~/code/flake.nix</code>:</p>
|
|||
|
<div class="highlight"><pre><span></span><code>input<span class="o">.</span><span class="ss">foo</span> <span class="o">=</span> <span class="p">{</span>
|
|||
|
<span class="ss">type</span> <span class="o">=</span> <span class="s2">"gitlab"</span><span class="p">;</span>
|
|||
|
<span class="ss">host</span> <span class="o">=</span> <span class="s2">"gitlab.mycompany.com"</span><span class="p">;</span>
|
|||
|
<span class="ss">owner</span> <span class="o">=</span> <span class="s2">"mycompany"</span><span class="p">;</span>
|
|||
|
<span class="ss">repo</span> <span class="o">=</span> <span class="s2">"pro"</span><span class="p">;</span>
|
|||
|
<span class="p">};</span>
|
|||
|
</code></pre></div>
|
|||
|
<p>This example specifies three tokens, one each for accessing
|
|||
|
github.com, gitlab.mycompany.com, and gitlab.com.</p>
|
|||
|
<p>The <code>input.foo</code> uses the "gitlab" fetcher, which might
|
|||
|
requires specifying the token type along with the token
|
|||
|
value.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-allow-dirty"><a href="#conf-allow-dirty"><code>allow-dirty</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to allow dirty Git/Mercurial trees.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-allow-import-from-derivation"><a href="#conf-allow-import-from-derivation"><code>allow-import-from-derivation</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>By default, Lix allows you to <code>import</code> from a derivation, allowing
|
|||
|
building at evaluation time. With this option set to false, Lix will
|
|||
|
throw an error when evaluating an expression that uses this feature,
|
|||
|
allowing users to ensure their evaluation will not require any
|
|||
|
builds to take place.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-allow-symlinked-store"><a href="#conf-allow-symlinked-store"><code>allow-symlinked-store</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code>, Lix will stop complaining if the store directory
|
|||
|
(typically /nix/store) contains symlink components.</p>
|
|||
|
<p>This risks making some builds "impure" because builders sometimes
|
|||
|
"canonicalise" paths by resolving all symlink components. Problems
|
|||
|
occur if those builds are then deployed to machines where /nix/store
|
|||
|
resolves to a different location from that of the build machine. You
|
|||
|
can enable this setting if you are sure you're not going to do that.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-allow-unsafe-native-code-during-evaluation"><a href="#conf-allow-unsafe-native-code-during-evaluation"><code>allow-unsafe-native-code-during-evaluation</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether builtin functions that allow executing native code should be enabled.</p>
|
|||
|
<p>In particular, this adds the <code>importNative</code> and <code>exec</code> builtins.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-allowed-impure-host-deps"><a href="#conf-allowed-impure-host-deps"><code>allowed-impure-host-deps</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Which prefixes to allow derivations to ask for access to (primarily for Darwin).</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-allowed-uris"><a href="#conf-allowed-uris"><code>allowed-uris</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A list of URI prefixes to which access is allowed in restricted
|
|||
|
evaluation mode. For example, when set to
|
|||
|
<code>https://github.com/NixOS</code>, builtin functions such as <code>fetchGit</code> are
|
|||
|
allowed to access <code>https://github.com/NixOS/patchelf.git</code>.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-allowed-users"><a href="#conf-allowed-users"><code>allowed-users</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A list user names, separated by whitespace.
|
|||
|
These users are allowed to connect to the Nix daemon.</p>
|
|||
|
<p>You can specify groups by prefixing names with <code>@</code>.
|
|||
|
For instance, <code>@wheel</code> means all users in the <code>wheel</code> group.
|
|||
|
Also, you can allow all users by specifying <code>*</code>.</p>
|
|||
|
<div class="admonition note">
|
|||
|
<p class="admonition-title">Note</p>
|
|||
|
</div>
|
|||
|
<blockquote>
|
|||
|
<p>Trusted users (set in <a href="#conf-trusted-users"><code>trusted-users</code></a>) can always connect to the Nix daemon.</p>
|
|||
|
</blockquote>
|
|||
|
<p><strong>Default:</strong> <code>*</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-always-allow-substitutes"><a href="#conf-always-allow-substitutes"><code>always-allow-substitutes</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code>, Lix will ignore the <code>allowSubstitutes</code> attribute in
|
|||
|
derivations and always attempt to use available substituters.
|
|||
|
For more information on <code>allowSubstitutes</code>, see <a href="../../language/advanced-attributes/">the manual chapter on advanced attributes</a>.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-auto-allocate-uids"><a href="#conf-auto-allocate-uids"><code>auto-allocate-uids</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to select UIDs for builds automatically, instead of using the
|
|||
|
users in <code>build-users-group</code>.</p>
|
|||
|
<p>UIDs are allocated starting at 872415232 (0x34000000) on Linux and 56930 on macOS.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-auto-optimise-store"><a href="#conf-auto-optimise-store"><code>auto-optimise-store</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code>, Lix automatically detects files in the store
|
|||
|
that have identical contents, and replaces them with hard links to
|
|||
|
a single copy. This saves disk space. If set to <code>false</code> (the
|
|||
|
default), you can still run <code>nix-store --optimise</code> to get rid of
|
|||
|
duplicate files.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-bash-prompt"><a href="#conf-bash-prompt"><code>bash-prompt</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The bash prompt (<code>PS1</code>) in <code>nix develop</code> shells.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-bash-prompt-prefix"><a href="#conf-bash-prompt-prefix"><code>bash-prompt-prefix</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Prefix prepended to the <code>PS1</code> environment variable in <code>nix develop</code> shells.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-bash-prompt-suffix"><a href="#conf-bash-prompt-suffix"><code>bash-prompt-suffix</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Suffix appended to the <code>PS1</code> environment variable in <code>nix develop</code> shells.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-build-hook"><a href="#conf-build-hook"><code>build-hook</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The path to the helper program that executes remote builds.</p>
|
|||
|
<p>Lix communicates with the build hook over <code>stdio</code> using a custom protocol to request builds that cannot be performed directly by the Nix daemon.
|
|||
|
The default value is the internal Lix binary that implements remote building.</p>
|
|||
|
<blockquote>
|
|||
|
<p><strong>Important</strong></p>
|
|||
|
<p>Change this setting only if you really know what you’re doing.</p>
|
|||
|
</blockquote>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-build-poll-interval"><a href="#conf-build-poll-interval"><code>build-poll-interval</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>How often (in seconds) to poll for locks.</p>
|
|||
|
<p><strong>Default:</strong> <code>5</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-build-users-group"><a href="#conf-build-users-group"><code>build-users-group</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>This options specifies the Unix group containing the Lix build user
|
|||
|
accounts. In multi-user Lix installations, builds should not be
|
|||
|
performed by the Lix account since that would allow users to
|
|||
|
arbitrarily modify the Nix store and database by supplying specially
|
|||
|
crafted builders; and they cannot be performed by the calling user
|
|||
|
since that would allow them to influence the build result.</p>
|
|||
|
<p>Therefore, if this option is non-empty and specifies a valid group,
|
|||
|
builds will be performed under the user accounts that are a member
|
|||
|
of the group specified here (as listed in <code>/etc/group</code>). Those user
|
|||
|
accounts should not be used for any other purpose!</p>
|
|||
|
<p>Lix will never run two builds under the same user account at the
|
|||
|
same time. This is to prevent an obvious security hole: a malicious
|
|||
|
user writing a Nix expression that modifies the build result of a
|
|||
|
legitimate Nix expression being built by another user. Therefore it
|
|||
|
is good to have as many Lix build user accounts as you can spare.
|
|||
|
(Remember: uids are cheap.)</p>
|
|||
|
<p>The build users should have permission to create files in the Nix
|
|||
|
store, but not delete them. Therefore, <code>/nix/store</code> should be owned
|
|||
|
by the Nix account, its group should be the group specified here,
|
|||
|
and its mode should be <code>1775</code>.</p>
|
|||
|
<p>If the build users group is empty, builds will be performed under
|
|||
|
the uid of the Lix process (that is, the uid of the caller if
|
|||
|
both <code>NIX_REMOTE</code> is either empty or <code>auto</code> and the Nix store is
|
|||
|
owned by that user, or, alternatively, the uid under which the Nix
|
|||
|
daemon runs if <code>NIX_REMOTE</code> is <code>daemon</code> or if it is <code>auto</code> and the
|
|||
|
store is not owned by the caller). Obviously, this should not be used
|
|||
|
with a nix daemon accessible to untrusted clients.</p>
|
|||
|
<p>For the avoidance of doubt, explicitly setting this to <em>empty</em> with a
|
|||
|
Lix daemon running as root means that builds will be executed as root
|
|||
|
with respect to the rest of the system.
|
|||
|
We intend to fix this: https://git.lix.systems/lix-project/lix/issues/242</p>
|
|||
|
<p>Defaults to <code>nixbld</code> when running as root, <em>empty</em> otherwise.</p>
|
|||
|
<p><strong>Default:</strong> <em>machine-specific</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-builders"><a href="#conf-builders"><code>builders</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A semicolon-separated list of build machines.
|
|||
|
For the exact format and examples, see <a href="../../Advanced-Topics/distributed-builds/">the manual chapter on remote builds</a></p>
|
|||
|
<p><strong>Default:</strong> <code>@/dummy/machines</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-builders-use-substitutes"><a href="#conf-builders-use-substitutes"><code>builders-use-substitutes</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code>, Lix will instruct remote build machines to use
|
|||
|
their own binary substitutes if available. In practical terms, this
|
|||
|
means that remote hosts will fetch as many build dependencies as
|
|||
|
possible from their own substitutes (e.g, from <code>cache.nixos.org</code>),
|
|||
|
instead of waiting for this host to upload them all. This can
|
|||
|
drastically reduce build times if the network connection between
|
|||
|
this computer and the remote build host is slow.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-commit-lockfile-summary"><a href="#conf-commit-lockfile-summary"><code>commit-lockfile-summary</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The commit summary to use when committing changed flake lock files. If
|
|||
|
empty, the summary is generated based on the action performed.</p>
|
|||
|
<div class="admonition warning">
|
|||
|
<p class="admonition-title">Warning</p>
|
|||
|
<p>This setting is part of an
|
|||
|
<a href="../../contributing/experimental-features/">experimental feature</a>.</p>
|
|||
|
</div>
|
|||
|
<p>To change this setting, you need to make sure the corresponding experimental feature,
|
|||
|
<a href="../../contributing/experimental-features/#xp-feature-flakes"><code>flakes</code></a>,
|
|||
|
is enabled.
|
|||
|
For example, include the following in <a href="#"><code>nix.conf</code></a>:</p>
|
|||
|
<div class="highlight"><pre><span></span><code>extra-experimental-features = flakes
|
|||
|
commit-lockfile-summary = ...
|
|||
|
</code></pre></div>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-compress-build-log"><a href="#conf-compress-build-log"><code>compress-build-log</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code> (the default), build logs written to
|
|||
|
<code>/nix/var/log/nix/drvs</code> will be compressed on the fly using bzip2.
|
|||
|
Otherwise, they will not be compressed.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-compress-log</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-connect-timeout"><a href="#conf-connect-timeout"><code>connect-timeout</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The timeout (in seconds) for establishing connections in the
|
|||
|
binary cache substituter. It corresponds to <code>curl</code>’s
|
|||
|
<code>--connect-timeout</code> option. A value of 0 means no limit.</p>
|
|||
|
<p><strong>Default:</strong> <code>0</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-cores"><a href="#conf-cores"><code>cores</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Sets the value of the <code>NIX_BUILD_CORES</code> environment variable in the
|
|||
|
invocation of builders. Builders can use this variable at their
|
|||
|
discretion to control the maximum amount of parallelism. For
|
|||
|
instance, in Nixpkgs, if the derivation attribute
|
|||
|
<code>enableParallelBuilding</code> is set to <code>true</code>, the builder passes the
|
|||
|
<code>-jN</code> flag to GNU Make. It can be overridden using the <code>--cores</code>
|
|||
|
command line switch and defaults to <code>1</code>. The value <code>0</code> means that
|
|||
|
the builder should use all available CPU cores in the system.</p>
|
|||
|
<p><strong>Default:</strong> <em>machine-specific</em></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-cores</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-debugger-on-trace"><a href="#conf-debugger-on-trace"><code>debugger-on-trace</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to true and the <code>--debugger</code> flag is given,
|
|||
|
<a href="../../language/builtins/#builtins-trace"><code>builtins.trace</code></a> will
|
|||
|
enter the debugger like
|
|||
|
<a href="../../language/builtins/#builtins-break"><code>builtins.break</code></a>.</p>
|
|||
|
<p>This is useful for debugging warnings in third-party Nix code.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-diff-hook"><a href="#conf-diff-hook"><code>diff-hook</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Absolute path to an executable capable of diffing build
|
|||
|
results. The hook is executed if <code>run-diff-hook</code> is true, and the
|
|||
|
output of a build is known to not be the same. This program is not
|
|||
|
executed to determine if two results are the same.</p>
|
|||
|
<p>The diff hook is executed by the same user and group who ran the
|
|||
|
build. However, the diff hook does not have write access to the
|
|||
|
store path just built.</p>
|
|||
|
<p>The diff hook program receives three parameters:</p>
|
|||
|
<ol>
|
|||
|
<li>
|
|||
|
<p>A path to the previous build's results</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>A path to the current build's results</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>The path to the build's derivation</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>The path to the build's scratch directory. This directory will
|
|||
|
exist only if the build was run with <code>--keep-failed</code>.</p>
|
|||
|
</li>
|
|||
|
</ol>
|
|||
|
<p>The stderr and stdout output from the diff hook will not be
|
|||
|
displayed to the user. Instead, it will print to the nix-daemon's
|
|||
|
log.</p>
|
|||
|
<p>When using the Nix daemon, <code>diff-hook</code> must be set in the <code>nix.conf</code>
|
|||
|
configuration file, and cannot be passed at the command line.</p>
|
|||
|
<p><strong>Default:</strong> ``</p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-download-attempts"><a href="#conf-download-attempts"><code>download-attempts</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>How often Lix will attempt to download a file before giving up.</p>
|
|||
|
<p><strong>Default:</strong> <code>5</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-download-speed"><a href="#conf-download-speed"><code>download-speed</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Specify the maximum transfer rate in kilobytes per second you want
|
|||
|
Lix to use for downloads.</p>
|
|||
|
<p><strong>Default:</strong> <code>0</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-enable-core-dumps"><a href="#conf-enable-core-dumps"><code>enable-core-dumps</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>false</code> (the default), <code>RLIMIT_CORE</code> has a soft limit of zero.
|
|||
|
If set to <code>true</code>, the soft limit is infinite.</p>
|
|||
|
<p>The hard limit is always infinite.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-eval-cache"><a href="#conf-eval-cache"><code>eval-cache</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to use the flake evaluation cache.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-eval-system"><a href="#conf-eval-system"><code>eval-system</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>This option defines
|
|||
|
<a href="../../language/builtin-constants/#builtins-currentSystem"><code>builtins.currentSystem</code></a>
|
|||
|
in the Nix language if it is set as a non-empty string.
|
|||
|
Otherwise, if it is defined as the empty string (the default), the value of the
|
|||
|
<a href="#conf-system"><code>system</code> </a>
|
|||
|
configuration setting is used instead.</p>
|
|||
|
<p>Unlike <code>system</code>, this setting does not change what kind of derivations can be built locally.
|
|||
|
This is useful for evaluating Nix code on one system to produce derivations to be built on another type of system.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-experimental-features"><a href="#conf-experimental-features"><code>experimental-features</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Experimental features that are enabled.</p>
|
|||
|
<p>Example:</p>
|
|||
|
<div class="highlight"><pre><span></span><code>experimental-features = nix-command flakes
|
|||
|
</code></pre></div>
|
|||
|
<p>The following experimental features are available:</p>
|
|||
|
<ul>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-auto-allocate-uids"><code>auto-allocate-uids</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-ca-derivations"><code>ca-derivations</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-cgroups"><code>cgroups</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-daemon-trust-override"><code>daemon-trust-override</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-dynamic-derivations"><code>dynamic-derivations</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-fetch-closure"><code>fetch-closure</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-flakes"><code>flakes</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-impure-derivations"><code>impure-derivations</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-nix-command"><code>nix-command</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-no-url-literals"><code>no-url-literals</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-parse-toml-timestamps"><code>parse-toml-timestamps</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-read-only-local-store"><code>read-only-local-store</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-recursive-nix"><code>recursive-nix</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-repl-automation"><code>repl-automation</code></a></li>
|
|||
|
<li><a href="../../contributing/experimental-features/#xp-feature-repl-flake"><code>repl-flake</code></a></li>
|
|||
|
</ul>
|
|||
|
<p>Experimental features are <a href="../../contributing/experimental-features/">further documented in the manual</a>.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-extra-platforms"><a href="#conf-extra-platforms"><code>extra-platforms</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>System types of executables that can be run on this machine.</p>
|
|||
|
<p>Lix will only build a given <a href="../../language/derivations/">derivation</a> locally when its <code>system</code> attribute equals any of the values specified here or in the <a href="#conf-system"><code>system</code> option</a>.</p>
|
|||
|
<p>Setting this can be useful to build derivations locally on compatible machines:
|
|||
|
- <code>i686-linux</code> executables can be run on <code>x86_64-linux</code> machines (set by default)
|
|||
|
- <code>x86_64-darwin</code> executables can be run on macOS <code>aarch64-darwin</code> with Rosetta 2 (set by default where applicable)
|
|||
|
- <code>armv6</code> and <code>armv5tel</code> executables can be run on <code>armv7</code>
|
|||
|
- some <code>aarch64</code> machines can also natively run 32-bit ARM code
|
|||
|
- <code>qemu-user</code> may be used to support non-native platforms (though this
|
|||
|
may be slow and buggy)</p>
|
|||
|
<p>Build systems will usually detect the target platform to be the current physical system and therefore produce machine code incompatible with what may be intended in the derivation.
|
|||
|
You should design your derivation's <code>builder</code> accordingly and cross-check the results when using this option against natively-built versions of your derivation.</p>
|
|||
|
<p><strong>Default:</strong> <em>machine-specific</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-fallback"><a href="#conf-fallback"><code>fallback</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code>, Lix will fall back to building from source if a
|
|||
|
binary substitute fails. This is equivalent to the <code>--fallback</code>
|
|||
|
flag. The default is <code>false</code>.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-fallback</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-flake-registry"><a href="#conf-flake-registry"><code>flake-registry</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Path or URI of the global flake registry.</p>
|
|||
|
<p>URIs are deprecated. When set to 'vendored', defaults to a vendored
|
|||
|
copy of https://channels.nixos.org/flake-registry.json.</p>
|
|||
|
<p>When empty, disables the global flake registry.</p>
|
|||
|
<div class="admonition warning">
|
|||
|
<p class="admonition-title">Warning</p>
|
|||
|
<p>This setting is part of an
|
|||
|
<a href="../../contributing/experimental-features/">experimental feature</a>.</p>
|
|||
|
</div>
|
|||
|
<p>To change this setting, you need to make sure the corresponding experimental feature,
|
|||
|
<a href="../../contributing/experimental-features/#xp-feature-flakes"><code>flakes</code></a>,
|
|||
|
is enabled.
|
|||
|
For example, include the following in <a href="#"><code>nix.conf</code></a>:</p>
|
|||
|
<div class="highlight"><pre><span></span><code>extra-experimental-features = flakes
|
|||
|
flake-registry = ...
|
|||
|
</code></pre></div>
|
|||
|
<p><strong>Default:</strong> <code>vendored</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-fsync-metadata"><a href="#conf-fsync-metadata"><code>fsync-metadata</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code>, changes to the Nix store metadata (in
|
|||
|
<code>/nix/var/nix/db</code>) are synchronously flushed to disk. This improves
|
|||
|
robustness in case of system crashes, but reduces performance. The
|
|||
|
default is <code>true</code>.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-gc-reserved-space"><a href="#conf-gc-reserved-space"><code>gc-reserved-space</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Amount of reserved disk space for the garbage collector.</p>
|
|||
|
<p><strong>Default:</strong> <code>8388608</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-hashed-mirrors"><a href="#conf-hashed-mirrors"><code>hashed-mirrors</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A list of web servers used by <code>builtins.fetchurl</code> to obtain files by
|
|||
|
hash. Given a hash type <em>ht</em> and a base-16 hash <em>h</em>, Lix will try to
|
|||
|
download the file from <em>hashed-mirror</em>/<em>ht</em>/<em>h</em>. This allows files to
|
|||
|
be downloaded even if they have disappeared from their original URI.
|
|||
|
For example, given an example mirror <code>http://tarballs.nixos.org/</code>,
|
|||
|
when building the derivation</p>
|
|||
|
<div class="highlight"><pre><span></span><code><span class="nb">builtins</span><span class="o">.</span>fetchurl <span class="p">{</span>
|
|||
|
<span class="ss">url</span> <span class="o">=</span> <span class="s2">"https://example.org/foo-1.2.3.tar.xz"</span><span class="p">;</span>
|
|||
|
<span class="ss">sha256</span> <span class="o">=</span> <span class="s2">"2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"</span><span class="p">;</span>
|
|||
|
<span class="p">}</span>
|
|||
|
</code></pre></div>
|
|||
|
<p>Lix will attempt to download this file from
|
|||
|
<code>http://tarballs.nixos.org/sha256/2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae</code>
|
|||
|
first. If it is not available there, if will try the original URI.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-http-connections"><a href="#conf-http-connections"><code>http-connections</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The maximum number of parallel TCP connections used to fetch
|
|||
|
files from binary caches and by other downloads. It defaults
|
|||
|
to 25. 0 means no limit.</p>
|
|||
|
<p><strong>Default:</strong> <code>25</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>binary-caches-parallel-connections</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-http2"><a href="#conf-http2"><code>http2</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to enable HTTP/2 support.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-id-count"><a href="#conf-id-count"><code>id-count</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The number of UIDs/GIDs to use for dynamic ID allocation.</p>
|
|||
|
<p><strong>Default:</strong> <code>8388608</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-ignore-try"><a href="#conf-ignore-try"><code>ignore-try</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to true, ignore exceptions inside 'tryEval' calls when evaluating nix expressions in
|
|||
|
debug mode (using the --debugger flag). By default the debugger will pause on all exceptions.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-ignored-acls"><a href="#conf-ignored-acls"><code>ignored-acls</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A list of ACLs that should be ignored, normally Lix attempts to
|
|||
|
remove all ACLs from files and directories in the Nix store, but
|
|||
|
some ACLs like <code>security.selinux</code> or <code>system.nfs4_acl</code> can't be
|
|||
|
removed even by root. Therefore it's best to just ignore them.</p>
|
|||
|
<p><strong>Default:</strong> <code>security.csm security.selinux system.nfs4_acl</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-impersonate-linux-26"><a href="#conf-impersonate-linux-26"><code>impersonate-linux-26</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to impersonate a Linux 2.6 machine on newer kernels.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-impersonate-linux-26</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-keep-build-log"><a href="#conf-keep-build-log"><code>keep-build-log</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code> (the default), Lix will write the build log of a
|
|||
|
derivation (i.e. the standard output and error of its builder) to
|
|||
|
the directory <code>/nix/var/log/nix/drvs</code>. The build log can be
|
|||
|
retrieved using the command <code>nix-store -l path</code>.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-keep-log</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-keep-derivations"><a href="#conf-keep-derivations"><code>keep-derivations</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If <code>true</code> (default), the garbage collector will keep the derivations
|
|||
|
from which non-garbage store paths were built. If <code>false</code>, they will
|
|||
|
be deleted unless explicitly registered as a root (or reachable from
|
|||
|
other roots).</p>
|
|||
|
<p>Keeping derivation around is useful for querying and traceability
|
|||
|
(e.g., it allows you to ask with what dependencies or options a
|
|||
|
store path was built), so by default this option is on. Turn it off
|
|||
|
to save a bit of disk space (or a lot if <code>keep-outputs</code> is also
|
|||
|
turned on).</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>gc-keep-derivations</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-keep-env-derivations"><a href="#conf-keep-env-derivations"><code>keep-env-derivations</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If <code>false</code> (default), derivations are not stored in Nix user
|
|||
|
environments. That is, the derivations of any build-time-only
|
|||
|
dependencies may be garbage-collected.</p>
|
|||
|
<p>If <code>true</code>, when you add a Nix derivation to a user environment, the
|
|||
|
path of the derivation is stored in the user environment. Thus, the
|
|||
|
derivation will not be garbage-collected until the user environment
|
|||
|
generation is deleted (<code>nix-env --delete-generations</code>). To prevent
|
|||
|
build-time-only dependencies from being collected, you should also
|
|||
|
turn on <code>keep-outputs</code>.</p>
|
|||
|
<p>The difference between this option and <code>keep-derivations</code> is that
|
|||
|
this one is “sticky”: it applies to any user environment created
|
|||
|
while this option was enabled, while <code>keep-derivations</code> only applies
|
|||
|
at the moment the garbage collector is run.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>env-keep-derivations</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-keep-failed"><a href="#conf-keep-failed"><code>keep-failed</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to keep temporary directories of failed builds.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-keep-going"><a href="#conf-keep-going"><code>keep-going</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to keep building derivations when another build fails.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-keep-outputs"><a href="#conf-keep-outputs"><code>keep-outputs</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If <code>true</code>, the garbage collector will keep the outputs of
|
|||
|
non-garbage derivations. If <code>false</code> (default), outputs will be
|
|||
|
deleted unless they are GC roots themselves (or reachable from other
|
|||
|
roots).</p>
|
|||
|
<p>In general, outputs must be registered as roots separately. However,
|
|||
|
even if the output of a derivation is registered as a root, the
|
|||
|
collector will still delete store paths that are used only at build
|
|||
|
time (e.g., the C compiler, or source tarballs downloaded from the
|
|||
|
network). To prevent it from doing so, set this option to <code>true</code>.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>gc-keep-outputs</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-log-lines"><a href="#conf-log-lines"><code>log-lines</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The number of lines of the tail of the log to show if a build fails.</p>
|
|||
|
<p><strong>Default:</strong> <code>25</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-max-build-log-size"><a href="#conf-max-build-log-size"><code>max-build-log-size</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>This option defines the maximum number of bytes that a builder can
|
|||
|
write to its stdout/stderr. If the builder exceeds this limit, it’s
|
|||
|
killed. A value of <code>0</code> (the default) means that there is no limit.</p>
|
|||
|
<p><strong>Default:</strong> <code>0</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-max-log-size</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-max-call-depth"><a href="#conf-max-call-depth"><code>max-call-depth</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The maximum function call depth to allow before erroring.</p>
|
|||
|
<p><strong>Default:</strong> <code>10000</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-max-free"><a href="#conf-max-free"><code>max-free</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>When a garbage collection is triggered by the <code>min-free</code> option, it
|
|||
|
stops as soon as <code>max-free</code> bytes are available. The default is
|
|||
|
infinity (i.e. delete all garbage).</p>
|
|||
|
<p><strong>Default:</strong> <code>-1</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-max-jobs"><a href="#conf-max-jobs"><code>max-jobs</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>This option defines the maximum number of jobs that Lix will try to
|
|||
|
build in parallel. The default is <code>1</code>. The special value <code>auto</code>
|
|||
|
causes Lix to use the number of CPUs in your system. <code>0</code> is useful
|
|||
|
when using remote builders to prevent any local builds (except for
|
|||
|
<code>preferLocalBuild</code> derivation attribute which executes locally
|
|||
|
regardless). It can be overridden using the <code>--max-jobs</code> (<code>-j</code>)
|
|||
|
command line switch.</p>
|
|||
|
<p><strong>Default:</strong> <code>1</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-max-jobs</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-max-silent-time"><a href="#conf-max-silent-time"><code>max-silent-time</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>This option defines the maximum number of seconds that a builder can
|
|||
|
go without producing any data on standard output or standard error.
|
|||
|
This is useful (for instance in an automated build system) to catch
|
|||
|
builds that are stuck in an infinite loop, or to catch remote builds
|
|||
|
that are hanging due to network problems. It can be overridden using
|
|||
|
the <code>--max-silent-time</code> command line switch.</p>
|
|||
|
<p>The value <code>0</code> means that there is no timeout. This is also the
|
|||
|
default.</p>
|
|||
|
<p><strong>Default:</strong> <code>0</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-max-silent-time</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-max-substitution-jobs"><a href="#conf-max-substitution-jobs"><code>max-substitution-jobs</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>This option defines the maximum number of substitution jobs that Nix
|
|||
|
will try to run in parallel. The default is <code>16</code>. The minimum value
|
|||
|
one can choose is <code>1</code> and lower values will be interpreted as <code>1</code>.</p>
|
|||
|
<p><strong>Default:</strong> <code>16</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>substitution-max-jobs</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-min-free"><a href="#conf-min-free"><code>min-free</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>When free disk space in <code>/nix/store</code> drops below <code>min-free</code> during a
|
|||
|
build, Lix performs a garbage-collection until <code>max-free</code> bytes are
|
|||
|
available or there is no more garbage. A value of <code>0</code> (the default)
|
|||
|
disables this feature.</p>
|
|||
|
<p><strong>Default:</strong> <code>0</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-min-free-check-interval"><a href="#conf-min-free-check-interval"><code>min-free-check-interval</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Number of seconds between checking free disk space.</p>
|
|||
|
<p><strong>Default:</strong> <code>5</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-nar-buffer-size"><a href="#conf-nar-buffer-size"><code>nar-buffer-size</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Maximum size of NARs before spilling them to disk.</p>
|
|||
|
<p><strong>Default:</strong> <code>33554432</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-narinfo-cache-negative-ttl"><a href="#conf-narinfo-cache-negative-ttl"><code>narinfo-cache-negative-ttl</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The TTL in seconds for negative lookups. If a store path is queried
|
|||
|
from a substituter but was not found, there will be a negative
|
|||
|
lookup cached in the local disk cache database for the specified
|
|||
|
duration.</p>
|
|||
|
<p><strong>Default:</strong> <code>3600</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-narinfo-cache-positive-ttl"><a href="#conf-narinfo-cache-positive-ttl"><code>narinfo-cache-positive-ttl</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The TTL in seconds for positive lookups. If a store path is queried
|
|||
|
from a substituter, the result of the query will be cached in the
|
|||
|
local disk cache database including some of the NAR metadata. The
|
|||
|
default TTL is a month, setting a shorter TTL for positive lookups
|
|||
|
can be useful for binary caches that have frequent garbage
|
|||
|
collection, in which case having a more frequent cache invalidation
|
|||
|
would prevent trying to pull the path again and failing with a hash
|
|||
|
mismatch if the build isn't reproducible.</p>
|
|||
|
<p><strong>Default:</strong> <code>2592000</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-netrc-file"><a href="#conf-netrc-file"><code>netrc-file</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to an absolute path to a <code>netrc</code> file, Lix will use the HTTP
|
|||
|
authentication credentials in this file when trying to download from
|
|||
|
a remote host through HTTP or HTTPS. Defaults to
|
|||
|
<code>$NIX_CONF_DIR/netrc</code>.</p>
|
|||
|
<p>The <code>netrc</code> file consists of a list of accounts in the following
|
|||
|
format:</p>
|
|||
|
<div class="highlight"><pre><span></span><code> machine my-machine
|
|||
|
login my-username
|
|||
|
password my-password
|
|||
|
</code></pre></div>
|
|||
|
<p>For the exact syntax, see <a href="https://ec.haxx.se/usingcurl-netrc.html">the <code>curl</code>
|
|||
|
documentation</a>.</p>
|
|||
|
<div class="admonition note">
|
|||
|
<p class="admonition-title">Note</p>
|
|||
|
</div>
|
|||
|
<blockquote>
|
|||
|
<p>This must be an absolute path, and <code>~</code> is not resolved. For
|
|||
|
example, <code>~/.netrc</code> won't resolve to your home directory's
|
|||
|
<code>.netrc</code>.</p>
|
|||
|
</blockquote>
|
|||
|
<p><strong>Default:</strong> <code>/dummy/netrc</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-nix-path"><a href="#conf-nix-path"><code>nix-path</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>List of directories to be searched for <code><...></code> file references</p>
|
|||
|
<p>In particular, outside of <a href="#conf-pure-eval">pure evaluation mode</a>, this determines the value of
|
|||
|
<a href="../../language/builtin-constants/#builtins-nixPath"><code>builtins.nixPath</code></a>.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-plugin-files"><a href="#conf-plugin-files"><code>plugin-files</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A list of plugin files to be loaded by Nix. Each of these files will
|
|||
|
be dlopened by Nix, allowing them to affect execution through static
|
|||
|
initialization. In particular, these plugins may construct static
|
|||
|
instances of RegisterPrimOp to add new primops or constants to the
|
|||
|
expression language, RegisterStoreImplementation to add new store
|
|||
|
implementations, RegisterCommand to add new subcommands to the <code>nix</code>
|
|||
|
command, and RegisterSetting to add new nix config settings. See the
|
|||
|
constructors for those types for more details.</p>
|
|||
|
<p>Warning! These APIs are inherently unstable and may change from
|
|||
|
release to release.</p>
|
|||
|
<p>Since these files are loaded into the same address space as Nix
|
|||
|
itself, they must be DSOs compatible with the instance of Nix
|
|||
|
running at the time (i.e. compiled against the same headers, not
|
|||
|
linked to any incompatible libraries). They should not be linked to
|
|||
|
any Lix libs directly, as those will be available already at load
|
|||
|
time.</p>
|
|||
|
<p>If an entry in the list is a directory, all files in the directory
|
|||
|
are loaded as plugins (non-recursively).</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-post-build-hook"><a href="#conf-post-build-hook"><code>post-build-hook</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Optional. The path to a program to execute after each build.</p>
|
|||
|
<p>This option is only settable in the global <code>nix.conf</code>, or on the
|
|||
|
command line by trusted users.</p>
|
|||
|
<p>When using the nix-daemon, the daemon executes the hook as <code>root</code>.
|
|||
|
If the nix-daemon is not involved, the hook runs as the user
|
|||
|
executing the nix-build.</p>
|
|||
|
<div class="highlight"><pre><span></span><code>- The hook executes after an evaluation-time build.
|
|||
|
|
|||
|
- The hook does not execute on substituted paths.
|
|||
|
|
|||
|
- The hook's output always goes to the user's terminal.
|
|||
|
|
|||
|
- If the hook fails, the build succeeds but no further builds
|
|||
|
execute.
|
|||
|
|
|||
|
- The hook executes synchronously, and blocks other builds from
|
|||
|
progressing while it runs.
|
|||
|
</code></pre></div>
|
|||
|
<p>The program executes with no arguments. The program's environment
|
|||
|
contains the following environment variables:</p>
|
|||
|
<div class="highlight"><pre><span></span><code>- `DRV_PATH`
|
|||
|
The derivation for the built paths.
|
|||
|
|
|||
|
Example:
|
|||
|
`/nix/store/5nihn1a7pa8b25l9zafqaqibznlvvp3f-bash-4.4-p23.drv`
|
|||
|
|
|||
|
- `OUT_PATHS`
|
|||
|
Output paths of the built derivation, separated by a space
|
|||
|
character.
|
|||
|
|
|||
|
Example:
|
|||
|
`/nix/store/zf5lbh336mnzf1nlswdn11g4n2m8zh3g-bash-4.4-p23-dev
|
|||
|
/nix/store/rjxwxwv1fpn9wa2x5ssk5phzwlcv4mna-bash-4.4-p23-doc
|
|||
|
/nix/store/6bqvbzjkcp9695dq0dpl5y43nvy37pq1-bash-4.4-p23-info
|
|||
|
/nix/store/r7fng3kk3vlpdlh2idnrbn37vh4imlj2-bash-4.4-p23-man
|
|||
|
/nix/store/xfghy8ixrhz3kyy6p724iv3cxji088dx-bash-4.4-p23`.
|
|||
|
</code></pre></div>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-pre-build-hook"><a href="#conf-pre-build-hook"><code>pre-build-hook</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set, the path to a program that can set extra derivation-specific
|
|||
|
settings for this system. This is used for settings that can't be
|
|||
|
captured by the derivation model itself and are too variable between
|
|||
|
different versions of the same system to be hard-coded into nix.</p>
|
|||
|
<p>The hook is passed the derivation path and, if sandboxes are
|
|||
|
enabled, the sandbox directory. It can then modify the sandbox and
|
|||
|
send a series of commands to modify various settings to stdout. The
|
|||
|
currently recognized commands are:</p>
|
|||
|
<div class="highlight"><pre><span></span><code>- `extra-sandbox-paths`
|
|||
|
Pass a list of files and directories to be included in the
|
|||
|
sandbox for this build. One entry per line, terminated by an
|
|||
|
empty line. Entries have the same format as `sandbox-paths`.
|
|||
|
</code></pre></div>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-preallocate-contents"><a href="#conf-preallocate-contents"><code>preallocate-contents</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to preallocate files when writing objects with known size.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-print-missing"><a href="#conf-print-missing"><code>print-missing</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to print what paths need to be built or downloaded.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-pure-eval"><a href="#conf-pure-eval"><code>pure-eval</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Pure evaluation mode ensures that the result of Nix expressions is fully determined by explicitly declared inputs, and not influenced by external state:</p>
|
|||
|
<ul>
|
|||
|
<li>Restrict file system and network access to files specified by cryptographic hash</li>
|
|||
|
<li>Disable <a href="../../language/builtin-constants/#builtins-currentSystem"><code>builtins.currentSystem</code></a> and <a href="../../language/builtin-constants/#builtins-currentTime"><code>builtins.currentTime</code></a></li>
|
|||
|
</ul>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-repl-overlays"><a href="#conf-repl-overlays"><code>repl-overlays</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A list of files containing Nix expressions that can be used to add
|
|||
|
default bindings to <a href="../New-CLI/nix3-repl/"><code>nix
|
|||
|
repl</code></a> sessions.</p>
|
|||
|
<p>Each file is called with three arguments:
|
|||
|
1. An <a href="../../language/values/#attribute-set">attribute set</a>
|
|||
|
containing at least a
|
|||
|
<a href="../../language/builtin-constants/#builtins-currentSystem"><code>currentSystem</code></a>
|
|||
|
attribute (this is identical to
|
|||
|
<a href="../../language/builtin-constants/#builtins-currentSystem"><code>builtins.currentSystem</code></a>,
|
|||
|
except that it's available in
|
|||
|
<a href="./#conf-pure-eval"><code>pure-eval</code></a>
|
|||
|
mode).
|
|||
|
2. The top-level bindings produced by the previous <code>repl-overlays</code>
|
|||
|
value (or the default top-level bindings).
|
|||
|
3. The final top-level bindings produced by calling all
|
|||
|
<code>repl-overlays</code>.</p>
|
|||
|
<p>For example, the following file would alias <code>pkgs</code> to
|
|||
|
<code>legacyPackages.${info.currentSystem}</code> (if that attribute is defined):</p>
|
|||
|
<div class="highlight"><pre><span></span><code>info<span class="p">:</span> final<span class="p">:</span> prev<span class="p">:</span>
|
|||
|
<span class="k">if</span> prev <span class="o">?</span> legacyPackages
|
|||
|
<span class="o">&&</span> prev<span class="o">.</span>legacyPackages <span class="o">?</span> <span class="si">${</span>info<span class="o">.</span>currentSystem<span class="si">}</span>
|
|||
|
<span class="k">then</span>
|
|||
|
<span class="p">{</span>
|
|||
|
<span class="ss">pkgs</span> <span class="o">=</span> prev<span class="o">.</span>legacyPackages<span class="o">.</span><span class="si">${</span>info<span class="o">.</span>currentSystem<span class="si">}</span><span class="p">;</span>
|
|||
|
<span class="p">}</span>
|
|||
|
<span class="k">else</span>
|
|||
|
<span class="p">{</span> <span class="p">}</span>
|
|||
|
</code></pre></div>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-require-drop-supplementary-groups"><a href="#conf-require-drop-supplementary-groups"><code>require-drop-supplementary-groups</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Following the principle of least privilege,
|
|||
|
Lix will attempt to drop supplementary groups when building with sandboxing.</p>
|
|||
|
<p>However this can fail under some circumstances.
|
|||
|
For example, if the user lacks the <code>CAP_SETGID</code> capability.
|
|||
|
Search <code>setgroups(2)</code> for <code>EPERM</code> to find more detailed information on this.</p>
|
|||
|
<p>If you encounter such a failure, setting this option to <code>false</code> will let you ignore it and continue.
|
|||
|
But before doing so, you should consider the security implications carefully.
|
|||
|
Not dropping supplementary groups means the build sandbox will be less restricted than intended.</p>
|
|||
|
<p>This option defaults to <code>true</code> when the user is root
|
|||
|
(since <code>root</code> usually has permissions to call setgroups)
|
|||
|
and <code>false</code> otherwise.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-require-sigs"><a href="#conf-require-sigs"><code>require-sigs</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code> (the default), any non-content-addressed path added
|
|||
|
or copied to the Nix store (e.g. when substituting from a binary
|
|||
|
cache) must have a signature by a trusted key. A trusted key is one
|
|||
|
listed in <code>trusted-public-keys</code>, or a public key counterpart to a
|
|||
|
private key stored in a file listed in <code>secret-key-files</code>.</p>
|
|||
|
<p>Set to <code>false</code> to disable signature checking and trust all
|
|||
|
non-content-addressed paths unconditionally.</p>
|
|||
|
<p>(Content-addressed paths are inherently trustworthy and thus
|
|||
|
unaffected by this configuration option.)</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-restrict-eval"><a href="#conf-restrict-eval"><code>restrict-eval</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code>, the Nix evaluator will not allow access to any
|
|||
|
files outside of the Nix search path (as set via the <code>NIX_PATH</code>
|
|||
|
environment variable or the <code>-I</code> option), or to URIs outside of
|
|||
|
<a href="./#conf-allowed-uris"><code>allowed-uris</code></a>.
|
|||
|
The default is <code>false</code>.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-run-diff-hook"><a href="#conf-run-diff-hook"><code>run-diff-hook</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If true, enable the execution of the <code>diff-hook</code> program.</p>
|
|||
|
<p>When using the Nix daemon, <code>run-diff-hook</code> must be set in the
|
|||
|
<code>nix.conf</code> configuration file, and cannot be passed at the command
|
|||
|
line.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-sandbox"><a href="#conf-sandbox"><code>sandbox</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code>, builds will be performed in a <em>sandboxed
|
|||
|
environment</em>, i.e., they’re isolated from the normal file system
|
|||
|
hierarchy and will only see their dependencies in the Nix store,
|
|||
|
the temporary build directory, private versions of <code>/proc</code>,
|
|||
|
<code>/dev</code>, <code>/dev/shm</code> and <code>/dev/pts</code> (on Linux), and the paths
|
|||
|
configured with the <code>sandbox-paths</code> option. This is useful to
|
|||
|
prevent undeclared dependencies on files in directories such as
|
|||
|
<code>/usr/bin</code>. In addition, on Linux, builds run in private PID,
|
|||
|
mount, network, IPC and UTS namespaces to isolate them from other
|
|||
|
processes in the system (except that fixed-output derivations do
|
|||
|
not run in private network namespace to ensure they can access the
|
|||
|
network).</p>
|
|||
|
<p>Currently, sandboxing only work on Linux and macOS. The use of a
|
|||
|
sandbox requires that Lix is run as root (so you should use the
|
|||
|
“build users” feature to perform the actual builds under different
|
|||
|
users than root).</p>
|
|||
|
<p>If this option is set to <code>relaxed</code>, then fixed-output derivations
|
|||
|
and derivations that have the <code>__noChroot</code> attribute set to <code>true</code>
|
|||
|
do not run in sandboxes.</p>
|
|||
|
<p>The default is <code>true</code> on Linux and <code>false</code> on all other platforms.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-use-chroot</code>, <code>build-use-sandbox</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-sandbox-build-dir"><a href="#conf-sandbox-build-dir"><code>sandbox-build-dir</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The build directory inside the sandbox.</p>
|
|||
|
<p><strong>Default:</strong> <code>/build</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-sandbox-dev-shm-size"><a href="#conf-sandbox-dev-shm-size"><code>sandbox-dev-shm-size</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>This option determines the maximum size of the <code>tmpfs</code> filesystem
|
|||
|
mounted on <code>/dev/shm</code> in Linux sandboxes. For the format, see the
|
|||
|
description of the <code>size</code> option of <code>tmpfs</code> in mount(8). The default
|
|||
|
is <code>50%</code>.</p>
|
|||
|
<p><strong>Default:</strong> <code>50%</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-sandbox-fallback"><a href="#conf-sandbox-fallback"><code>sandbox-fallback</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to disable sandboxing when the kernel doesn't allow it.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-sandbox-paths"><a href="#conf-sandbox-paths"><code>sandbox-paths</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A list of paths bind-mounted into Nix sandbox environments. You can
|
|||
|
use the syntax <code>target=source</code> to mount a path in a different
|
|||
|
location in the sandbox; for instance, <code>/bin=/nix-bin</code> will mount
|
|||
|
the path <code>/nix-bin</code> as <code>/bin</code> inside the sandbox. If <em>source</em> is
|
|||
|
followed by <code>?</code>, then it is not an error if <em>source</em> does not exist;
|
|||
|
for example, <code>/dev/nvidiactl?</code> specifies that <code>/dev/nvidiactl</code> will
|
|||
|
only be mounted in the sandbox if it exists in the host filesystem.</p>
|
|||
|
<p>If the source is in the Nix store, then its closure will be added to
|
|||
|
the sandbox as well.</p>
|
|||
|
<p>Depending on how Lix was built, the default value for this option
|
|||
|
may be empty or provide <code>/bin/sh</code> as a bind-mount of <code>bash</code>.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-chroot-dirs</code>, <code>build-sandbox-paths</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-secret-key-files"><a href="#conf-secret-key-files"><code>secret-key-files</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A whitespace-separated list of files containing secret (private)
|
|||
|
keys. These are used to sign locally-built paths. They can be
|
|||
|
generated using <code>nix-store --generate-binary-cache-key</code>. The
|
|||
|
corresponding public key can be distributed to other users, who
|
|||
|
can add it to <code>trusted-public-keys</code> in their <code>nix.conf</code>.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-show-trace"><a href="#conf-show-trace"><code>show-trace</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether Lix should print out a stack trace in case of Nix
|
|||
|
expression evaluation errors.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-ssl-cert-file"><a href="#conf-ssl-cert-file"><code>ssl-cert-file</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The path of a file containing CA certificates used to
|
|||
|
authenticate <code>https://</code> downloads. Lix by default will use
|
|||
|
the first of the following files that exists:</p>
|
|||
|
<ol>
|
|||
|
<li><code>/etc/ssl/certs/ca-certificates.crt</code></li>
|
|||
|
<li><code>/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt</code></li>
|
|||
|
</ol>
|
|||
|
<p>The path can be overridden by the following environment
|
|||
|
variables, in order of precedence:</p>
|
|||
|
<ol>
|
|||
|
<li><code>NIX_SSL_CERT_FILE</code></li>
|
|||
|
<li><code>SSL_CERT_FILE</code></li>
|
|||
|
</ol>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-stalled-download-timeout"><a href="#conf-stalled-download-timeout"><code>stalled-download-timeout</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The timeout (in seconds) for receiving data from servers
|
|||
|
during download. Lix cancels idle downloads after this
|
|||
|
timeout's duration.</p>
|
|||
|
<p><strong>Default:</strong> <code>300</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-start-id"><a href="#conf-start-id"><code>start-id</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The first UID and GID to use for dynamic ID allocation.</p>
|
|||
|
<p><strong>Default:</strong> <code>872415232</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-store"><a href="#conf-store"><code>store</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The <a href="../New-CLI/nix3-help-stores/#store-url-format">URL of the Nix store</a>
|
|||
|
to use for most operations.
|
|||
|
See <a href="../New-CLI/nix3-help-stores/"><code>nix help-stores</code></a>
|
|||
|
for supported store types and settings.</p>
|
|||
|
<p><strong>Default:</strong> <code>auto</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-substitute"><a href="#conf-substitute"><code>substitute</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code> (default), Lix will use binary substitutes if
|
|||
|
available. This option can be disabled to force building from
|
|||
|
source.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-use-substitutes</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-substituters"><a href="#conf-substituters"><code>substituters</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A list of <a href="../New-CLI/nix3-help-stores/#store-url-format">URLs of Nix stores</a> to be used as substituters, separated by whitespace.
|
|||
|
A substituter is an additional <a href="../../glossary/#gloss-store">store</a> from which Lix can obtain <a href="../../glossary/#gloss-store-object">store objects</a> instead of building them.</p>
|
|||
|
<p>Substituters are tried based on their priority value, which each substituter can set independently.
|
|||
|
Lower value means higher priority.
|
|||
|
The default is <code>https://cache.nixos.org</code>, which has a priority of 40.</p>
|
|||
|
<p>At least one of the following conditions must be met for Lix to use a substituter:</p>
|
|||
|
<ul>
|
|||
|
<li>The substituter is in the <a href="#conf-trusted-substituters"><code>trusted-substituters</code></a> list</li>
|
|||
|
<li>The user calling Lix is in the <a href="#conf-trusted-users"><code>trusted-users</code></a> list</li>
|
|||
|
</ul>
|
|||
|
<p>In addition, each store path should be trusted as described in <a href="#conf-trusted-public-keys"><code>trusted-public-keys</code></a></p>
|
|||
|
<p><strong>Default:</strong> <code>https://cache.nixos.org/</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>binary-caches</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-sync-before-registering"><a href="#conf-sync-before-registering"><code>sync-before-registering</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to call <code>sync()</code> before registering a path as valid.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-system"><a href="#conf-system"><code>system</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The system type of the current Lix installation.
|
|||
|
Lix will only build a given <a href="../../language/derivations/">derivation</a> locally when its <code>system</code> attribute equals any of the values specified here or in <a href="#conf-extra-platforms"><code>extra-platforms</code></a>.</p>
|
|||
|
<p>The default value is set when Lix itself is compiled for the system it will run on.
|
|||
|
The following system types are widely used, as <a href="../../contributing/hacking/#platforms">Lix is actively supported on these platforms</a>:</p>
|
|||
|
<ul>
|
|||
|
<li><code>x86_64-linux</code></li>
|
|||
|
<li><code>x86_64-darwin</code></li>
|
|||
|
<li><code>i686-linux</code></li>
|
|||
|
<li><code>aarch64-linux</code></li>
|
|||
|
<li><code>aarch64-darwin</code></li>
|
|||
|
<li><code>armv6l-linux</code></li>
|
|||
|
<li><code>armv7l-linux</code></li>
|
|||
|
</ul>
|
|||
|
<p>In general, you do not have to modify this setting.
|
|||
|
While you can force Lix to run a Darwin-specific <code>builder</code> executable on a Linux machine, the result would obviously be wrong.</p>
|
|||
|
<p>This value is available in the Nix language as
|
|||
|
<a href="../../language/builtin-constants/#builtins-currentSystem"><code>builtins.currentSystem</code></a>
|
|||
|
if the
|
|||
|
<a href="#conf-eval-system"><code>eval-system</code></a>
|
|||
|
configuration option is set as the empty string.</p>
|
|||
|
<p><strong>Default:</strong> <code>x86_64-linux</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-system-features"><a href="#conf-system-features"><code>system-features</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A set of system “features” supported by this machine, e.g. <code>kvm</code>.
|
|||
|
Derivations can express a dependency on such features through the
|
|||
|
derivation attribute <code>requiredSystemFeatures</code>. For example, the
|
|||
|
attribute</p>
|
|||
|
<div class="highlight"><pre><span></span><code> requiredSystemFeatures = [ "kvm" ];
|
|||
|
</code></pre></div>
|
|||
|
<p>ensures that the derivation can only be built on a machine with the
|
|||
|
<code>kvm</code> feature.</p>
|
|||
|
<p>This setting by default includes <code>kvm</code> if <code>/dev/kvm</code> is accessible,
|
|||
|
<code>apple-virt</code> if hardware virtualization is available on macOS,
|
|||
|
and the pseudo-features <code>nixos-test</code>, <code>benchmark</code> and <code>big-parallel</code>
|
|||
|
that are used in Nixpkgs to route builds to specific machines.</p>
|
|||
|
<p><strong>Default:</strong> <em>machine-specific</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-tarball-ttl"><a href="#conf-tarball-ttl"><code>tarball-ttl</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>The number of seconds a downloaded tarball is considered fresh. If
|
|||
|
the cached tarball is stale, Lix will check whether it is still up
|
|||
|
to date using the ETag header. Lix will download a new version if
|
|||
|
the ETag header is unsupported, or the cached ETag doesn't match.</p>
|
|||
|
<p>Setting the TTL to <code>0</code> forces Lix to always check if the tarball is
|
|||
|
up to date.</p>
|
|||
|
<p>Lix caches tarballs in <code>$XDG_CACHE_HOME/nix/tarballs</code>.</p>
|
|||
|
<p>Files fetched via <code>NIX_PATH</code>, <code>fetchGit</code>, <code>fetchMercurial</code>,
|
|||
|
<code>fetchTarball</code>, and <code>fetchurl</code> respect this TTL.</p>
|
|||
|
<p><strong>Default:</strong> <code>3600</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-timeout"><a href="#conf-timeout"><code>timeout</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>This option defines the maximum number of seconds that a builder can
|
|||
|
run. This is useful (for instance in an automated build system) to
|
|||
|
catch builds that are stuck in an infinite loop but keep writing to
|
|||
|
their standard output or standard error. It can be overridden using
|
|||
|
the <code>--timeout</code> command line switch.</p>
|
|||
|
<p>The value <code>0</code> means that there is no timeout. This is also the
|
|||
|
default.</p>
|
|||
|
<p><strong>Default:</strong> <code>0</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>build-timeout</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-trace-function-calls"><a href="#conf-trace-function-calls"><code>trace-function-calls</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code>, the Nix evaluator will trace every function call.
|
|||
|
Nix will print a log message at the "vomit" level for every function
|
|||
|
entrance and function exit.</p>
|
|||
|
<div class="highlight"><pre><span></span><code> function-trace entered undefined position at 1565795816999559622
|
|||
|
function-trace exited undefined position at 1565795816999581277
|
|||
|
function-trace entered /nix/store/.../example.nix:226:41 at 1565795253249935150
|
|||
|
function-trace exited /nix/store/.../example.nix:226:41 at 1565795253249941684
|
|||
|
</code></pre></div>
|
|||
|
<p>The <code>undefined position</code> means the function call is a builtin.</p>
|
|||
|
<p>Use the <code>contrib/stack-collapse.py</code> script distributed with the Nix
|
|||
|
source code to convert the trace logs in to a format suitable for
|
|||
|
<code>flamegraph.pl</code>.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-trace-verbose"><a href="#conf-trace-verbose"><code>trace-verbose</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether <code>builtins.traceVerbose</code> should trace its first argument when evaluated.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-trusted-public-keys"><a href="#conf-trusted-public-keys"><code>trusted-public-keys</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A whitespace-separated list of public keys.</p>
|
|||
|
<p>At least one of the following condition must be met
|
|||
|
for Lix to accept copying a store object from another
|
|||
|
Nix store (such as a substituter):</p>
|
|||
|
<ul>
|
|||
|
<li>the store object has been signed using a key in the trusted keys list</li>
|
|||
|
<li>the <a href="#conf-require-sigs"><code>require-sigs</code></a> option has been set to <code>false</code></li>
|
|||
|
<li>the store object is <a href="../../glossary/#gloss-output-addressed-store-object">output-addressed</a></li>
|
|||
|
</ul>
|
|||
|
<p><strong>Default:</strong> <code>cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=</code></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>binary-cache-public-keys</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-trusted-substituters"><a href="#conf-trusted-substituters"><code>trusted-substituters</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A list of <a href="../New-CLI/nix3-help-stores/#store-url-format">Nix store URLs</a>, separated by whitespace.
|
|||
|
These are not used by default, but users of the Nix daemon can enable them by specifying <a href="#conf-substituters"><code>substituters</code></a>.</p>
|
|||
|
<p>Unprivileged users (those set in only <a href="#conf-allowed-users"><code>allowed-users</code></a> but not <a href="#conf-trusted-users"><code>trusted-users</code></a>) can pass as <code>substituters</code> only those URLs listed in <code>trusted-substituters</code>.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<p><strong>Deprecated alias:</strong> <code>trusted-binary-caches</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-trusted-users"><a href="#conf-trusted-users"><code>trusted-users</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>A list of user names, separated by whitespace.
|
|||
|
These users will have additional rights when connecting to the Nix daemon, such as the ability to specify additional <a href="#conf-substituters">substituters</a>, or to import unsigned <a href="../../glossary/#gloss-nar">NARs</a>.</p>
|
|||
|
<p>You can also specify groups by prefixing names with <code>@</code>.
|
|||
|
For instance, <code>@wheel</code> means all users in the <code>wheel</code> group.</p>
|
|||
|
<div class="admonition warning">
|
|||
|
<p class="admonition-title">Warning</p>
|
|||
|
<p>Adding a user to <code>trusted-users</code> is essentially equivalent to giving that user root access to the system.
|
|||
|
For example, the user can access or replace store path contents that are critical for system security.</p>
|
|||
|
</div>
|
|||
|
<p><strong>Default:</strong> <code>root</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-use-case-hack"><a href="#conf-use-case-hack"><code>use-case-hack</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to enable a Darwin-specific hack for dealing with file name collisions.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-use-cgroups"><a href="#conf-use-cgroups"><code>use-cgroups</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to execute builds inside cgroups.
|
|||
|
This is only supported on Linux.</p>
|
|||
|
<p>Cgroups are required and enabled automatically for derivations
|
|||
|
that require the <code>uid-range</code> system feature.</p>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-use-registries"><a href="#conf-use-registries"><code>use-registries</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to use flake registries to resolve flake references.</p>
|
|||
|
<div class="admonition warning">
|
|||
|
<p class="admonition-title">Warning</p>
|
|||
|
<p>This setting is part of an
|
|||
|
<a href="../../contributing/experimental-features/">experimental feature</a>.</p>
|
|||
|
</div>
|
|||
|
<p>To change this setting, you need to make sure the corresponding experimental feature,
|
|||
|
<a href="../../contributing/experimental-features/#xp-feature-flakes"><code>flakes</code></a>,
|
|||
|
is enabled.
|
|||
|
For example, include the following in <a href="#"><code>nix.conf</code></a>:</p>
|
|||
|
<div class="highlight"><pre><span></span><code>extra-experimental-features = flakes
|
|||
|
use-registries = ...
|
|||
|
</code></pre></div>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-use-sqlite-wal"><a href="#conf-use-sqlite-wal"><code>use-sqlite-wal</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether SQLite should use WAL mode.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-use-xdg-base-directories"><a href="#conf-use-xdg-base-directories"><code>use-xdg-base-directories</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>If set to <code>true</code>, Lix will conform to the <a href="https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG Base Directory Specification</a> for files in <code>$HOME</code>.
|
|||
|
The environment variables used to implement this are documented in the <a href="../env-common/">Environment Variables section</a>.</p>
|
|||
|
<div class="admonition warning">
|
|||
|
<p class="admonition-title">Warning</p>
|
|||
|
<p>This changes the location of some well-known symlinks that Lix creates, which might break tools that rely on the old, non-XDG-conformant locations.</p>
|
|||
|
</div>
|
|||
|
<p>In particular, the following locations change:</p>
|
|||
|
<table>
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<th>Old</th>
|
|||
|
<th>New</th>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><code>~/.nix-profile</code></td>
|
|||
|
<td><code>$XDG_STATE_HOME/nix/profile</code></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><code>~/.nix-defexpr</code></td>
|
|||
|
<td><code>$XDG_STATE_HOME/nix/defexpr</code></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><code>~/.nix-channels</code></td>
|
|||
|
<td><code>$XDG_STATE_HOME/nix/channels</code></td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
<p>If you already have Lix installed and are using <a href="../../Package-Management/profiles/">profiles</a> or <a href="../nix-channel/">channels</a>, you should migrate manually when you enable this option.
|
|||
|
If <code>$XDG_STATE_HOME</code> is not set, use <code>$HOME/.local/state/nix</code> instead of <code>$XDG_STATE_HOME/nix</code>.
|
|||
|
This can be achieved with the following shell commands:</p>
|
|||
|
<div class="highlight"><pre><span></span><code><span class="nv">nix_state_home</span><span class="o">=</span><span class="si">${</span><span class="nv">XDG_STATE_HOME</span><span class="p">-</span><span class="nv">$HOME</span><span class="p">/.local/state</span><span class="si">}</span>/nix
|
|||
|
mkdir<span class="w"> </span>-p<span class="w"> </span><span class="nv">$nix_state_home</span>
|
|||
|
mv<span class="w"> </span><span class="nv">$HOME</span>/.nix-profile<span class="w"> </span><span class="nv">$nix_state_home</span>/profile
|
|||
|
mv<span class="w"> </span><span class="nv">$HOME</span>/.nix-defexpr<span class="w"> </span><span class="nv">$nix_state_home</span>/defexpr
|
|||
|
mv<span class="w"> </span><span class="nv">$HOME</span>/.nix-channels<span class="w"> </span><span class="nv">$nix_state_home</span>/channels
|
|||
|
</code></pre></div>
|
|||
|
<p><strong>Default:</strong> <code>false</code></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-user-agent-suffix"><a href="#conf-user-agent-suffix"><code>user-agent-suffix</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>String appended to the user agent in HTTP requests.</p>
|
|||
|
<p><strong>Default:</strong> <em>empty</em></p>
|
|||
|
<ul>
|
|||
|
<li><span id="conf-warn-dirty"><a href="#conf-warn-dirty"><code>warn-dirty</code></a></span></li>
|
|||
|
</ul>
|
|||
|
<p>Whether to warn about dirty Git/Mercurial trees.</p>
|
|||
|
<p><strong>Default:</strong> <code>true</code></p>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</article>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|||
|
</div>
|
|||
|
|
|||
|
</main>
|
|||
|
|
|||
|
<footer class="md-footer">
|
|||
|
|
|||
|
<div class="md-footer-meta md-typeset">
|
|||
|
<div class="md-footer-meta__inner md-grid">
|
|||
|
<div class="md-copyright">
|
|||
|
|
|||
|
<div class="md-copyright__highlight">
|
|||
|
Licenced MIT
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
Made with
|
|||
|
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|||
|
Material for MkDocs
|
|||
|
</a>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="md-social">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="https://git.auxolotl.org/auxolotl/docs" target="_blank" rel="noopener" title="Aux Docs Repo" class="md-social__link">
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.777 0a2.9 2.9 0 1 1-2.529 4.322H12.91a4.266 4.266 0 0 0-4.265 4.195v2.118a7.076 7.076 0 0 1 4.147-1.42l.118-.002h1.338a2.9 2.9 0 0 1 5.43 1.422 2.9 2.9 0 0 1-5.43 1.422H12.91a4.266 4.266 0 0 0-4.265 4.195v2.319A2.9 2.9 0 0 1 7.222 24 2.9 2.9 0 0 1 5.8 18.57V8.589a7.109 7.109 0 0 1 6.991-7.108l.118-.001h1.338A2.9 2.9 0 0 1 16.778 0ZM7.223 19.905a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Zm9.554-10.464a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.39Zm0-7.735a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Z"/></svg>
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="https://forum.aux.computer/" target="_blank" rel="noopener" title="Aux Forum" class="md-social__link">
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.103 0C18.666 0 24 5.485 24 11.997c0 6.51-5.33 11.99-11.9 11.99L0 24V11.79C0 5.28 5.532 0 12.103 0zm.116 4.563a7.395 7.395 0 0 0-6.337 3.57 7.247 7.247 0 0 0-.148 7.22L4.4 19.61l4.794-1.074a7.424 7.424 0 0 0 8.136-1.39 7.256 7.256 0 0 0 1.737-7.997 7.375 7.375 0 0 0-6.84-4.585h-.008z"/></svg>
|
|||
|
</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a href="https://wiki.auxolotl.org/" target="_blank" rel="noopener" title="Aux Wiki" class="md-social__link">
|
|||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.801 13.557c.148.098.288.202.417.313 1.854 1.6 3.127 4.656 2.582 7.311-1.091-.255-5.747-1.055-7.638-3.383-.91-1.12-1.366-2.081-1.569-2.885a5.65 5.65 0 0 0 .034-.219c.089.198.197.35.313.466.24.24.521.335.766.372.304.046.594-.006.806-.068l.001.001c.05-.015.433-.116.86-.342.325-.173 2.008-.931 3.428-1.566Zm-7.384 1.435C9.156 16.597 6.6 18.939.614 18.417c.219-1.492 1.31-3.019 2.51-4.11.379-.345.906-.692 1.506-1.009.286.168.598.332.939.486 2.689 1.221 3.903 1.001 4.89.573a1.3 1.3 0 0 0 .054-.025 6.156 6.156 0 0 0-.096.66Zm4.152-.462c.38-.341.877-.916 1.383-1.559-.389-.15-.866-.371-1.319-.591-.598-.29-1.305-.283-2.073-.315a4.685 4.685 0 0 1-.804-.103c.014-.123.027-.246.038-.369.062.104.673.057.871.057.354 0 1.621.034 3.074-.574 1.452-.608 2.55-1.706 3.022-3.225.474-1.52.22-3.091-.168-3.952-.169.709-1.453 2.381-1.926 2.871-.473.489-2.381 2.296-2.972 2.921-.7.74-.688.793-1.332 1.302-.202.19-.499.402-.563.53.027-.338.039-.675.027-.997a7.653 7.653 0 0 0-.032-.523c.322-.059.567-.522.567-.861 0-.224-.106-.247-.271-.229.075-.894.382-3.923 1.254-4.281.218.109.831.068.649-.295-.182-.364-.825-.074-1.081.266-.28.374-.956 2.046-.92 4.324-.113.014-.174.033-.322.033-.171 0-.321-.04-.433-.05.034-2.275-.714-3.772-.84-4.169-.12-.375-.491-.596-.781-.596-.146 0-.272.056-.333.179-.182.363.459.417.677.308.706.321 1.156 3.519 1.254 4.277-.125-.006-.199.035-.199.233 0 .311.17.756.452.843a.442.442 0 0 0-.007.03s-.287.99-.413 2.189a4.665 4.665 0 0 1-.718-.225c-.714-.286-1.355-.583-2.019-.566-.664.018-1.366.023-1.804-.036-.438-.058-.649-.15-.649-.15s-.234.365.257 1.075c.42.607 1.055 1.047 1.644 1.18.589.134 1.972.18 2.785-.377.16-.109.317-.228.459-.34a8.717 8.717 0 0 0-.013.626c-.289.753-.571 1.993-.268 3.338 0-.001.701-.842.787-2.958.006-.144.009-.271.01-.383.052-.248.103-.518.148-.799.072.135.151.277.234.413.511.842 1.791 1.37 2.383 1.49.091.019.187.032.285.038Zm-1.12.745c-.188.055-.445.1-.713.059-.21-.031-.45-.11-.655-.316-.169-.168-.312-.419-.401-.789a9.837 9.837 0 0 0 .039-.82l.049-.243c.563.855 1.865 1.398 2.476 1.522.036.008.072.014.109.02l-.013.009c-.579.415-.76.503-.891.558Zm6.333-2.818c-.257.114-4.111 1.822-5.246 2.363.98-.775 3.017-3.59 3.699-4.774 1.062.661 1.468 1.109 1.623 1.441.101.217.09.38.096.515a.57.57 0 0 1-.172.455Zm-9.213 1.62a1.606 1.606 0 0 1-.19.096c-.954.414-2.126.61-4.728-.571-2.023-.918-3.024-2.157-3.371-2.666.476.161 1.471.473 2.157.524.282.021.703.068 1.167.125.021.209.109.486.345.829l.001.001c.451.651 1.134 1.119 1.765 1.262.622.141 2.083.182 2.942-.407a3.12 3.12 0 0 0 .132-.093l.001.179a6.052 6.052 0 0 0-.221.721Zm5.512-1.271a17.49 17.49 0 0 1-1.326-.589c.437.042 1.054.083 1.692.108-.121.162-.244.323-.366.481Zm.932-1.26c-.12.17-.245.343-.373.517-.241.018-.478.03-.709.038a29.05 29.05 0 0 1-.741-.048c.608-.065 1.228-.252 1.823-.507Zm.22-.315c-.809.382-1.679.648-2.507.648-.472 0-.833.018-1.139.039v.001c-.324-.031-.665-.039-1.019-.054a3.555 3.555 0 0 1-.152-.009c.102-.002.192-.006.249-.006.363 0 1.662.034 3.151-.589 1.508-.632 2.645-1.773 3.136-3.351.37-1.186.31-2.402.086-3.312.458-.336.86-.651 1.147-.91.501-.451.743-.733.848-.869.199.206.714.864.685 2.138-.036 1.611-.606 3.187-1.501 4.154a9.099 9.099 0 0 1-1.321 1.132 11.978 11.978 0 0 0-.644-.422l-.089-.055-.051.091c-.184.332-.5.825-.879 1.374ZM4.763 5.817c-.157 1.144.113 2.323.652 3.099.539.776 2.088 2.29 3.614 2.505.991.14 2.055.134 2.055.134s-.593-.576-1.114-1.66c-.521-1.085-.948-2.104-1.734-2.786-.785-.681-1.601-1.416-2.045-1.945-.444-.53-.59-.86-.59-.86s-.656.175-.838 1.513Zm14.301 4.549a9.162 9.162 0 0 0 1.3-1.12c.326-.352.611-.782.845-1.265 1.315.145 2.399.371 2.791.434 0 0-.679 1.971-3.945 3.022l-.016-.035c-.121-.26-.385-.594-.975-1.036Zm-11.634.859a8.537 8.537 0 0 1-.598-.224c-1.657-.693-2.91-1.944-3.449-3.678-.498-1.601-.292-3.251.091-4.269.225.544.758 1.34 1.262 2.01a3.58 3.58 0 0 0-.172.726c-.163 1.197.123 2.428.687 3.24.416.599 1.417 1.62 2.555 2.193-.128.002-.253.003-.376.002Zm-1.758-.077c-.958-.341-1.901-.787-2.697-1.368C-.07 7.559 0 6.827 0 6.827s1.558-.005 3.088.179c.03.126.065.
|
|||
|
</a>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</footer>
|
|||
|
|
|||
|
</div>
|
|||
|
<div class="md-dialog" data-md-component="dialog">
|
|||
|
<div class="md-dialog__inner md-typeset"></div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.tooltips", "search.highlight", "navigation.tabs", "navigation.indexes", "navigation.prune"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|||
|
|
|||
|
|
|||
|
<script src="../../../assets/javascripts/bundle.fe8b6f2b.min.js"></script>
|
|||
|
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|