commit bd58410b95729b1b4d79d0e829edffa0b35216af Author: zimbatm Date: Mon Oct 19 19:06:22 2020 +0000 deploy: 52ddb0cd4a0a3b951ede6cef5a137f18b942d9b6 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/highlight.load.js b/highlight.load.js new file mode 100644 index 00000000..ecc33b2c --- /dev/null +++ b/highlight.load.js @@ -0,0 +1,6 @@ +/* This file is NOT part of highlight.js */ +document.addEventListener('DOMContentLoaded', (event) => { + document.querySelectorAll('pre.programlisting, pre.screen').forEach((block) => { + hljs.highlightBlock(block); + }); +}); diff --git a/highlight.pack.js b/highlight.pack.js new file mode 100644 index 00000000..93550420 --- /dev/null +++ b/highlight.pack.js @@ -0,0 +1,6 @@ +/* + Highlight.js 10.0.2 (e29f8f7d) + License: BSD-3-Clause + Copyright (c) 2006-2020, Ivan Sagalaev +*/ +var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!n.hasOwnProperty(r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}function n(e){return e.replace(/&/g,"&").replace(//g,">")}function t(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach((function(e){for(n in e)t[n]=e[n]})),t}function r(e){return e.nodeName.toLowerCase()}var a=Object.freeze({__proto__:null,escapeHTML:n,inherit:t,nodeStream:function(e){var n=[];return function e(t,a){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=e(i,a),r(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n},mergeStreams:function(e,t,a){var i=0,s="",o=[];function l(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||t.length;){var g=l();if(s+=n(a.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+n(a.substr(i))}});const i="",s=e=>!!e.kind;class o{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=n(e)}openNode(e){if(!s(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){s(e)&&(this.buffer+=i)}span(e){this.buffer+=``}value(){return this.buffer}}class l{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){e.children&&(e.children.every(e=>"string"==typeof e)?(e.text=e.children.join(""),delete e.children):e.children.forEach(e=>{"string"!=typeof e&&l._collapse(e)}))}}class c extends l{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){let t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new o(this,this.options).value()}finalize(){}}function u(e){return e&&e.source||e}const d="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",g={begin:"\\\\[\\s\\S]",relevance:0},h={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[g]},f={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[g]},p={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,r){var a=t({className:"comment",begin:e,end:n,contains:[]},r||{});return a.contains.push(p),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),a},b=m("//","$"),v=m("/\\*","\\*/"),x=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:d,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",BACKSLASH_ESCAPE:g,APOS_STRING_MODE:h,QUOTE_STRING_MODE:f,PHRASAL_WORDS_MODE:p,COMMENT:m,C_LINE_COMMENT_MODE:b,C_BLOCK_COMMENT_MODE:v,HASH_COMMENT_MODE:x,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:d,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^\/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[g,{begin:/\[/,end:/\]/,relevance:0,contains:[g]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0}}),E="of and for in not or if then".split(" ");function R(e,n){return n?+n:(t=e,E.includes(t.toLowerCase())?0:1);var t}const N=n,w=t,{nodeStream:y,mergeStreams:O}=a;return function(n){var r=[],a={},i={},s=[],o=!0,l=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,d="Could not find the language '{}', did you forget to load/include a language module?",g={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0,__emitter:c};function h(e){return g.noHighlightRe.test(e)}function f(e,n,t,r){var a={code:n,language:e};T("before:highlight",a);var i=a.result?a.result:p(a.language,a.code,t,r);return i.code=a.code,T("after:highlight",i),i}function p(e,n,r,i){var s=n;function l(e,n){var t=v.case_insensitive?n[0].toLowerCase():n[0];return e.keywords.hasOwnProperty(t)&&e.keywords[t]}function c(){null!=_.subLanguage?function(){if(""!==k){var e="string"==typeof _.subLanguage;if(!e||a[_.subLanguage]){var n=e?p(_.subLanguage,k,!0,E[_.subLanguage]):m(k,_.subLanguage.length?_.subLanguage:void 0);_.relevance>0&&(T+=n.relevance),e&&(E[_.subLanguage]=n.top),w.addSublanguage(n.emitter,n.language)}else w.addText(k)}}():function(){var e,n,t,r;if(_.keywords){for(n=0,_.lexemesRe.lastIndex=0,t=_.lexemesRe.exec(k),r="";t;){r+=k.substring(n,t.index);var a=null;(e=l(_,t))?(w.addText(r),r="",T+=e[1],a=e[0],w.addKeyword(t[0],a)):r+=t[0],n=_.lexemesRe.lastIndex,t=_.lexemesRe.exec(k)}r+=k.substr(n),w.addText(r)}else w.addText(k)}(),k=""}function h(e){e.className&&w.openNode(e.className),_=Object.create(e,{parent:{value:_}})}var f={};function b(n,t){var a,i=t&&t[0];if(k+=n,null==i)return c(),0;if("begin"==f.type&&"end"==t.type&&f.index==t.index&&""===i){if(k+=s.slice(t.index,t.index+1),!o)throw(a=Error("0 width match regex")).languageName=e,a.badRule=f.rule,a;return 1}if(f=t,"begin"===t.type)return function(e){var n=e[0],t=e.rule;return t.__onBegin&&(t.__onBegin(e)||{}).ignoreMatch?function(e){return 0===_.matcher.regexIndex?(k+=e[0],1):(B=!0,0)}(n):(t&&t.endSameAsBegin&&(t.endRe=RegExp(n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),t.skip?k+=n:(t.excludeBegin&&(k+=n),c(),t.returnBegin||t.excludeBegin||(k=n)),h(t),t.returnBegin?0:n.length)}(t);if("illegal"===t.type&&!r)throw(a=Error('Illegal lexeme "'+i+'" for mode "'+(_.className||"")+'"')).mode=_,a;if("end"===t.type){var l=function(e){var n=e[0],t=s.substr(e.index),r=function e(n,t){if(function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(n.endRe,t)){for(;n.endsParent&&n.parent;)n=n.parent;return n}if(n.endsWithParent)return e(n.parent,t)}(_,t);if(r){var a=_;a.skip?k+=n:(a.returnEnd||a.excludeEnd||(k+=n),c(),a.excludeEnd&&(k=n));do{_.className&&w.closeNode(),_.skip||_.subLanguage||(T+=_.relevance),_=_.parent}while(_!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),h(r.starts)),a.returnEnd?0:n.length}}(t);if(null!=l)return l}if("illegal"===t.type&&""===i)return 1;if(A>1e5&&A>3*t.index)throw Error("potential infinite loop, way more iterations than matches");return k+=i,i.length}var v=M(e);if(!v)throw console.error(d.replace("{}",e)),Error('Unknown language: "'+e+'"');!function(e){function n(n,t){return RegExp(u(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+="|"),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"==l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("==l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let n=this.matcherRe.exec(e);if(!n)return null;let t=n.findIndex((e,n)=>n>0&&null!=e),r=this.matchIndexes[t];return Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let n=new r;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){let n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;let t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e){let n=e.input[e.index-1],t=e.input[e.index+e[0].length];if("."===n||"."===t)return{ignoreMatch:!0}}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");!function r(s,o){s.compiled||(s.compiled=!0,s.__onBegin=null,s.keywords=s.keywords||s.beginKeywords,s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,R(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemesRe=n(s.lexemes||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__onBegin=i),s.begin||(s.begin=/\B|\b/),s.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(s.endRe=n(s.end)),s.terminator_end=u(s.end)||"",s.endsWithParent&&o.terminator_end&&(s.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(s.illegalRe=n(s.illegal)),null==s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return t(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?t(e,{starts:e.starts?t(e.starts):null}):Object.isFrozen(e)?t(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){r(e,s)})),s.starts&&r(s.starts,o),s.matcher=function(e){let n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(s))}(e)}(v);var x,_=i||v,E={},w=new g.__emitter(g);!function(){for(var e=[],n=_;n!==v;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>w.openNode(e))}();var y,O,k="",T=0,L=0,A=0,B=!1;try{for(_.matcher.considerAll();A++,B?B=!1:(_.matcher.lastIndex=L,_.matcher.considerAll()),y=_.matcher.exec(s);)O=b(s.substring(L,y.index),y),L=y.index+O;return b(s.substr(L)),w.closeAllNodes(),w.finalize(),x=w.toHTML(),{relevance:T,value:x,language:e,illegal:!1,emitter:w,top:_}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:s.slice(L-100,L+100),mode:n.mode},sofar:x,relevance:0,value:N(s),emitter:w};if(o)return{relevance:0,value:N(s),emitter:w,language:e,top:_,errorRaised:n};throw n}}function m(e,n){n=n||g.languages||Object.keys(a);var t=function(e){const n={relevance:0,emitter:new g.__emitter(g),value:N(e),illegal:!1,top:E};return n.emitter.addText(e),n}(e),r=t;return n.filter(M).filter(k).forEach((function(n){var a=p(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function b(e){return g.tabReplace||g.useBR?e.replace(l,(function(e,n){return g.useBR&&"\n"===e?"
":g.tabReplace?n.replace(/\t/g,g.tabReplace):""})):e}function v(e){var n,t,r,a,s,o=function(e){var n,t=e.className+" ";if(t+=e.parentNode?e.parentNode.className:"",n=g.languageDetectRe.exec(t)){var r=M(n[1]);return r||(console.warn(d.replace("{}",n[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>h(e)||M(e))}(e);h(o)||(T("before:highlightBlock",{block:e,language:o}),g.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e,s=n.textContent,r=o?f(o,s,!0):m(s),(t=y(n)).length&&((a=document.createElement("div")).innerHTML=r.value,r.value=O(t,y(a),s)),r.value=b(r.value),T("after:highlightBlock",{block:e,result:r}),e.innerHTML=r.value,e.className=function(e,n,t){var r=n?i[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,o,r.language),e.result={language:r.language,re:r.relevance},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function x(){if(!x.called){x.called=!0;var e=document.querySelectorAll("pre code");r.forEach.call(e,v)}}const E={disableAutodetect:!0,name:"Plain text"};function M(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]}function k(e){var n=M(e);return n&&!n.disableAutodetect}function T(e,n){var t=e;s.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(n,{highlight:f,highlightAuto:m,fixMarkup:b,highlightBlock:v,configure:function(e){g=w(g,e)},initHighlighting:x,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",x,!1)},registerLanguage:function(e,t){var r;try{r=t(n)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!o)throw n;console.error(n),r=E}r.name||(r.name=e),a[e]=r,r.rawDefinition=t.bind(null,n),r.aliases&&r.aliases.forEach((function(n){i[n]=e}))},listLanguages:function(){return Object.keys(a)},getLanguage:M,requireLanguage:function(e){var n=M(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:k,inherit:w,addPlugin:function(e,n){s.push(e)}}),n.debugMode=function(){o=!1},n.safeMode=function(){o=!0},n.versionString="10.0.2";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(n,_),n}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);hljs.registerLanguage("nix",function(){"use strict";return function(e){var n={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={className:"subst",begin:/\$\{/,end:/}/,keywords:n},t={className:"string",contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]}];return i.contains=s,{name:"Nix",aliases:["nixos"],keywords:n,contains:s}}}());hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const n={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},t={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,n]};n.contains.push(t);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]};return{name:"Bash",aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},a,e.HASH_COMMENT_MODE,t,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}());hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}()); \ No newline at end of file diff --git a/images/callouts/1.svg b/images/callouts/1.svg new file mode 100644 index 00000000..e2e87dc5 --- /dev/null +++ b/images/callouts/1.svg @@ -0,0 +1,15 @@ + + + + +]> + + + + + + + + diff --git a/images/callouts/10.svg b/images/callouts/10.svg new file mode 100644 index 00000000..4740f587 --- /dev/null +++ b/images/callouts/10.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/11.svg b/images/callouts/11.svg new file mode 100644 index 00000000..09a0b2cf --- /dev/null +++ b/images/callouts/11.svg @@ -0,0 +1,16 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/12.svg b/images/callouts/12.svg new file mode 100644 index 00000000..9794044c --- /dev/null +++ b/images/callouts/12.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/13.svg b/images/callouts/13.svg new file mode 100644 index 00000000..64268bb4 --- /dev/null +++ b/images/callouts/13.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/14.svg b/images/callouts/14.svg new file mode 100644 index 00000000..469aa974 --- /dev/null +++ b/images/callouts/14.svg @@ -0,0 +1,17 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/15.svg b/images/callouts/15.svg new file mode 100644 index 00000000..8202233e --- /dev/null +++ b/images/callouts/15.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/16.svg b/images/callouts/16.svg new file mode 100644 index 00000000..01d6bf81 --- /dev/null +++ b/images/callouts/16.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/17.svg b/images/callouts/17.svg new file mode 100644 index 00000000..0a04c556 --- /dev/null +++ b/images/callouts/17.svg @@ -0,0 +1,17 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/18.svg b/images/callouts/18.svg new file mode 100644 index 00000000..1cb891b3 --- /dev/null +++ b/images/callouts/18.svg @@ -0,0 +1,21 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/19.svg b/images/callouts/19.svg new file mode 100644 index 00000000..e6fbb179 --- /dev/null +++ b/images/callouts/19.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/2.svg b/images/callouts/2.svg new file mode 100644 index 00000000..07d03395 --- /dev/null +++ b/images/callouts/2.svg @@ -0,0 +1,17 @@ + + + + +]> + + + + + + + + diff --git a/images/callouts/20.svg b/images/callouts/20.svg new file mode 100644 index 00000000..ccbfd403 --- /dev/null +++ b/images/callouts/20.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/21.svg b/images/callouts/21.svg new file mode 100644 index 00000000..93ec53fd --- /dev/null +++ b/images/callouts/21.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/22.svg b/images/callouts/22.svg new file mode 100644 index 00000000..f48c5f3f --- /dev/null +++ b/images/callouts/22.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/23.svg b/images/callouts/23.svg new file mode 100644 index 00000000..66242129 --- /dev/null +++ b/images/callouts/23.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/24.svg b/images/callouts/24.svg new file mode 100644 index 00000000..a3d55253 --- /dev/null +++ b/images/callouts/24.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/25.svg b/images/callouts/25.svg new file mode 100644 index 00000000..56614a97 --- /dev/null +++ b/images/callouts/25.svg @@ -0,0 +1,21 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/26.svg b/images/callouts/26.svg new file mode 100644 index 00000000..56faeaca --- /dev/null +++ b/images/callouts/26.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/27.svg b/images/callouts/27.svg new file mode 100644 index 00000000..a75c8121 --- /dev/null +++ b/images/callouts/27.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/28.svg b/images/callouts/28.svg new file mode 100644 index 00000000..7f8cf1a3 --- /dev/null +++ b/images/callouts/28.svg @@ -0,0 +1,23 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/29.svg b/images/callouts/29.svg new file mode 100644 index 00000000..cb63adf1 --- /dev/null +++ b/images/callouts/29.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/3.svg b/images/callouts/3.svg new file mode 100644 index 00000000..918be806 --- /dev/null +++ b/images/callouts/3.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + diff --git a/images/callouts/30.svg b/images/callouts/30.svg new file mode 100644 index 00000000..dc43ba1e --- /dev/null +++ b/images/callouts/30.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/images/callouts/4.svg b/images/callouts/4.svg new file mode 100644 index 00000000..8eb6a53b --- /dev/null +++ b/images/callouts/4.svg @@ -0,0 +1,16 @@ + + + + +]> + + + + + + + + diff --git a/images/callouts/5.svg b/images/callouts/5.svg new file mode 100644 index 00000000..ca7a9f22 --- /dev/null +++ b/images/callouts/5.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + diff --git a/images/callouts/6.svg b/images/callouts/6.svg new file mode 100644 index 00000000..783a0b9d --- /dev/null +++ b/images/callouts/6.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + diff --git a/images/callouts/7.svg b/images/callouts/7.svg new file mode 100644 index 00000000..59b3714b --- /dev/null +++ b/images/callouts/7.svg @@ -0,0 +1,16 @@ + + + + +]> + + + + + + + + diff --git a/images/callouts/8.svg b/images/callouts/8.svg new file mode 100644 index 00000000..c1803a3c --- /dev/null +++ b/images/callouts/8.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + diff --git a/images/callouts/9.svg b/images/callouts/9.svg new file mode 100644 index 00000000..bc149d3c --- /dev/null +++ b/images/callouts/9.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + diff --git a/index.html b/index.html new file mode 100644 index 00000000..15c959d0 --- /dev/null +++ b/index.html @@ -0,0 +1,441 @@ + +Home Manager Manual

Home Manager Manual


Preface

+ This manual will eventually describes how to install, use, and extend Home + Manager. +

+ If you encounter problems then please reach out on the IRC channel + #home-manager + hosted by freenode. + The channel logs + are hosted courtesy of samueldr. + If your problem is caused by a bug in Home Manager then it should + be reported on the + Home Manager issue tracker. +

Note

+ Commands prefixed with # have to be run as root, either + requiring to login as root user or temporarily switching to it using + sudo for example. +

Chapter 1. Installing Home Manager

+ Home Manager can be used in three primary ways: +

  1. + Using the standalone home-manager tool. For platforms + other than NixOS and Darwin, this is the only available choice. It is also + recommended for people on NixOS or Darwin that want to manage their home + directory independent of the system as a whole. See + Section 1.1, “Standalone installation” for instructions on how to + perform this installation. +

  2. + As a module within a NixOS system configuration. This allows the user + profiles to be built together with the system when running + nixos-rebuild. See + Section 1.2, “NixOS module” for a description of this + setup. +

  3. + As a module within a + nix-darwin + system configuration. This allows the user profiles to be built together + with the system when running darwin-rebuild. See + Section 1.3, “nix-darwin module” for a description of this + setup. +

+

1.1. Standalone installation

  1. + Make sure you have a working Nix installation. Specifically, make + sure that your user is able to build and install Nix packages. + For example, you should be able to successfully run a command + like nix-instantiate '<nixpkgs>' -A hello + without having to switch to the root user. For a multi-user + install of Nix this means that your user must be covered by the + allowed-users + Nix option. On NixOS you can control this option using the + nix.allowedUsers + system option. +

  2. + Add the Home Manager channel that you wish to follow. This is done by + running +

    +$ nix-channel --add https://github.com/rycee/home-manager/archive/master.tar.gz home-manager
    +$ nix-channel --update
    +

    + if you are following Nixpkgs master or an unstable channel and +

    +$ nix-channel --add https://github.com/rycee/home-manager/archive/release-20.03.tar.gz home-manager
    +$ nix-channel --update
    +

    + if you follow a Nixpkgs version 20.03 channel. +

    + On NixOS you may need to log out and back in for the channel to become + available. On non-NixOS you may have to add +

    +export NIX_PATH=$HOME/.nix-defexpr/channels${NIX_PATH:+:}$NIX_PATH
    +

    + to your shell (see + nix#2033). +

  3. + Run the Home Manager installation command and create the first Home + Manager generation: +

    +$ nix-shell '<home-manager>' -A install
    +

    + Once finished, Home Manager should be active and available in your user + environment. +

  4. + If you do not plan on having Home Manager manage your shell configuration + then you must source the +

    +$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
    +

    + file in your shell configuration. Unfortunately, we currently only support + POSIX.2-like shells such as + Bash or + Z shell. +

    + For example, if you use Bash then add +

    +. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
    +

    + to your ~/.profile file. +

+ If instead of using channels you want to run Home Manager from a Git + checkout of the repository then you can use the + programs.home-manager.path option to specify the absolute + path to the repository. +

1.2. NixOS module

+ Home Manager provides a NixOS module that allows you to prepare user + environments directly from the system configuration file, which often is + more convenient than using the home-manager tool. It also + opens up additional possibilities, for example, to automatically configure + user environments in NixOS declarative containers or on systems deployed + through NixOps. +

+ To make the NixOS module available for use you must import + it into your system configuration. This is most conveniently done by adding + a Home Manager channel, for example +

+# nix-channel --add https://github.com/rycee/home-manager/archive/master.tar.gz home-manager
+# nix-channel --update
+

+ if you are following Nixpkgs master or an unstable channel and +

+# nix-channel --add https://github.com/rycee/home-manager/archive/release-20.03.tar.gz home-manager
+# nix-channel --update
+

+ if you follow a Nixpkgs version 20.03 channel. +

+ It is then possible to add +

+imports = [ <home-manager/nixos> ];
+

+ to your system configuration.nix file, which will + introduce a new NixOS option called home-manager.users + whose type is an attribute set that maps user names to Home Manager + configurations. +

+ For example, a NixOS configuration may include the lines +

+users.users.eve.isNormalUser = true;
+home-manager.users.eve = { pkgs, ... }: {
+  home.packages = [ pkgs.atool pkgs.httpie ];
+  programs.bash.enable = true;
+};
+

+ and after a nixos-rebuild switch the user eve's + environment should include a basic Bash configuration and the packages atool + and httpie. +

Note

+ By default packages will be installed to + $HOME/.nix-profile but they can be installed to + /etc/profiles if +

+home-manager.useUserPackages = true;
+

+ is added to the system configuration. This is necessary if, for example, + you wish to use nixos-rebuild build-vm. This option may + become the default value in the future. +

Note

+ By default, Home Manager uses a private pkgs instance + that is configured via the home-manager.users.<name>.nixpkgs options. + To instead use the global pkgs that is configured via + the system level nixpkgs options, set +

+home-manager.useGlobalPkgs = true;
+

+ This saves an extra Nixpkgs evaluation, adds consistency, and removes the + dependency on NIX_PATH, which is otherwise used for + importing Nixpkgs. +

1.3. nix-darwin module

+ Home Manager provides a module that allows you to prepare user + environments directly from the nix-darwin configuration file, which often is + more convenient than using the home-manager tool. +

+ To make the NixOS module available for use you must import + it into your system configuration. This is most conveniently done by adding + a Home Manager channel, for example +

+# nix-channel --add https://github.com/rycee/home-manager/archive/master.tar.gz home-manager
+# nix-channel --update
+

+ if you are following Nixpkgs master or an unstable channel and +

+# nix-channel --add https://github.com/rycee/home-manager/archive/release-20.03.tar.gz home-manager
+# nix-channel --update
+

+ if you follow a Nixpkgs version 20.03 channel. +

+ It is then possible to add +

+imports = [ <home-manager/nix-darwin> ];
+

+ to your nix-darwin configuration.nix file, which will + introduce a new NixOS option called home-manager whose type + is an attribute set that maps user names to Home Manager configurations. +

+ For example, a nix-darwin configuration may include the lines +

+home-manager.users.eve = { pkgs, ... }: {
+  home.packages = [ pkgs.atool pkgs.httpie ];
+  programs.bash.enable = true;
+};
+

+ and after a darwin-rebuild --switch the user eve's + environment should include a basic Bash configuration and the packages atool + and httpie. +

Note

+ By default user packages will not be ignored in favor of + environment.systemPackages, but they will be intalled to + /etc/profiles/per-user/$USERNAME if +

+home-manager.useUserPackages = true;
+

+ is added to the nix-darwin configuration. This option may become the default + value in the future. +

Note

+ By default, Home Manager uses a private pkgs instance + that is configured via the home-manager.users.<name>.nixpkgs options. + To instead use the global pkgs that is configured via + the system level nixpkgs options, set +

+home-manager.useGlobalPkgs = true;
+

+ This saves an extra Nixpkgs evaluation, adds consistency, and removes the + dependency on NIX_PATH, which is otherwise used for + importing Nixpkgs. +

Chapter 2. Writing Home Manager Modules

The module system in Home Manager is based entirely on the NixOS module system so we will here only highlight aspects that are specific for Home Manager. For information about the module system as such please refer to the Writing NixOS Modules chapter of the NixOS manual.

2.1. Option Types

Overall the basic option types are the same in Home Manager as NixOS. A few Home Manager options, however, make use of custom types that are worth describing in more detail. These are the option types dagOf and gvariant that are used, for example, by programs.ssh.matchBlocks and dconf.settings.

+hm.types.dagOf +

+Options of this type have attribute sets as values where each member is a node in a directed acyclic graph (DAG). This allows the attribute set entries to express dependency relations among themselves. This can, for example, be used to control the order of match blocks in a OpenSSH client configuration or the order of activation script blocks in home.activation. +

A number of functions are provided to create DAG nodes. The functions are shown below with examples using an option foo.bar of type hm.types.dagOf types.int.

+hm.dag.entryAnywhere (value: T) +

+Indicates that value can be placed anywhere within the DAG. This is also the default for plain attribute set entries, that is +

foo.bar = {
+  a = hm.dag.entryAnywhere 0;
+}

and

foo.bar = {
+  a = 0;
+}

are equivalent.

+hm.dag.entryAfter (afters: list string) (value: T) +

+Indicates that value must be placed after each of the attribute names in the given list. For example +

foo.bar = {
+  a = 0;
+  b = hm.dag.entryAfter [ "a" ] 1;
+}

would place b after a in the graph.

+hm.dag.entryBefore (befores: list string) (value: T) +

+Indicates that value must be placed before each of the attribute names in the given list. For example +

foo.bar = {
+  b = hm.dag.entryBefore [ "a" ] 1;
+  a = 0;
+}

would place b before a in the graph.

+hm.dag.entryBetween (befores: list string) (afters: list string) (value: T) +

+Indicates that value must be placed before the attribute names in the first list and after the attribute names in the second list. For example +

foo.bar = {
+  a = 0;
+  c = hm.dag.entryBetween [ "b" ] [ "a" ] 2;
+  b = 1;
+}

would place c before b and after a in the graph.

+hm.types.gvariant +

+This type is useful for options representing GVariant values. The type accepts all primitive GVariant types as well as arrays and tuples. Dictionaries are not currently supported. +

To create a GVariant value you can use a number of provided functions. Examples assume an option foo.bar of type hm.types.gvariant.

+hm.gvariant.mkBoolean (v: bool) +

+Takes a Nix value v to a GVariant boolean value. Note, Nix booleans are automatically coerced using this function. That is, +

foo.bar = hm.gvariant.mkBoolean true;

is equivalent to

foo.bar = true;
+hm.gvariant.mkString (v: string) +

+Takes a Nix value v to a GVariant string value. Note, Nix strings are automatically coerced using this function. That is, +

foo.bar = hm.gvariant.mkString "a string";

is equivalent to

foo.bar = "a string";
+hm.gvariant.mkObjectpath (v: string) +
+Takes a Nix value v to a GVariant objectpath value. +
+hm.gvariant.mkUchar (v: string) +
+Takes a Nix value v to a GVariant uchar value. +
+hm.gvariant.mkInt16 (v: int) +
+Takes a Nix value v to a GVariant int16 value. +
+hm.gvariant.mkUint16 (v: int) +
+Takes a Nix value v to a GVariant uint16 value. +
+hm.gvariant.mkInt32 (v: int) +

+Takes a Nix value v to a GVariant int32 value. Note, Nix integers are automatically coerced using this function. That is, +

foo.bar = hm.gvariant.mkInt32 7;

is equivalent to

foo.bar = 7;
+hm.gvariant.mkUint32 (v: int) +
+Takes a Nix value v to a GVariant uint32 value. +
+hm.gvariant.mkInt64 (v: int) +
+Takes a Nix value v to a GVariant int64 value. +
+hm.gvariant.mkUint64 (v: int) +
+Takes a Nix value v to a GVariant uint64 value. +
+hm.gvariant.mkDouble (v: double) +

+Takes a Nix value v to a GVariant double value. Note, Nix floats are automatically coerced using this function. That is, +

foo.bar = hm.gvariant.mkDouble 3.14;

is equivalent to

foo.bar = 3.14;
+hm.gvariant.mkArray type elements +

+Builds a GVariant array containing the given list of elements, where each element is a GVariant value of the given type. The type value can be constructed using +

  • +hm.gvariant.type.string +
  • +hm.gvariant.type.boolean +
  • +hm.gvariant.type.uchar +
  • +hm.gvariant.type.int16 +
  • +hm.gvariant.type.uint16 +
  • +hm.gvariant.type.int32 +
  • +hm.gvariant.type.uint32 +
  • +hm.gvariant.type.int64 +
  • +hm.gvariant.type.uint64 +
  • +hm.gvariant.type.double +
  • +hm.gvariant.type.arrayOf type +
  • +hm.gvariant.type.maybeOf type +
  • +hm.gvariant.type.tupleOf types +

where type and types are themselves a type and list of types, respectively.

+hm.gvariant.mkEmptyArray type +
+An alias of hm.gvariant.mkArray type []. +
+hm.gvariant.mkNothing type +
+Builds a GVariant maybe value whose (non-existent) element is of the given type. The type value is constructed as described for the mkArray function above. +
+hm.gvariant.mkJust element +
+Builds a GVariant maybe value containing the given GVariant element. +
+hm.gvariant.mkTuple elements +
+Builds a GVariant tuple containing the given list of elements, where each element is a GVariant value. +

Chapter 3. Contributing

Contributions to Home Manager are very welcome. To make the process as smooth as possible for both you and the Home Manager maintainers we provide some guidelines that we ask you to follow. See Section 3.1, “Getting started” for information on how to set up a suitable development environment and Section 3.2, “Guidelines” for the actual guidelines.

This text is mainly directed at those who would like to make code contributions to Home Manager. If you just want to report a bug then first look among the already open issues, if you find one matching yours then feel free to comment on it to add any additional information you may have. If no matching issue exists then go to the new issue page and write a description of your problem. Include as much information as you can, ideally also include relevant excerpts from your Home Manager configuration.

3.1. Getting started

If you have not previously forked Home Manager then you need to do that first. Have a look at GitHub’s Fork a repo for instructions on how to do this.

Once you have a fork of Home Manager you should create a branch starting at the most recent master branch. Give your branch a reasonably descriptive name. Commit your changes to this branch and when you are happy with the result and it fulfills Section 3.2, “Guidelines” then push the branch to GitHub and create a pull request.

Assuming your clone is at $HOME/devel/home-manager then you can make the home-manager command use it by either

  1. +overriding the default path by using the -I command line option: +

    $ home-manager -I home-manager=$HOME/devel/home-manager

    or

  2. +changing the default path by ensuring your configuration includes +

    programs.home-manager.enable = true;
    +programs.home-manager.path = "$HOME/devel/home-manager";

    and running home-manager switch to activate the change. Afterwards, home-manager build and home-manager switch will use your cloned repository.

The first option is good if you only temporarily want to use your clone.

3.2. Guidelines

If your contribution satisfy the following rules then there is a good chance it will be merged without too much trouble. The rules are enforced by the Home Manager maintainers and to a lesser extent the Home Manager CI system.

If you are uncertain how these rules affect the change you would like to make then feel free to start a discussion in the #home-manager IRC channel, ideally before you start developing.

3.2.1. Maintain backward compatibility

Your contribution should never cause another user’s existing configuration to break. Home Manager is used in many different environments and you should consider how you change may effect others. For example,

  • +Does your change work for people that do not use NixOS? Consider other GNU/Linux distributions and macOS. +
  • +Does your change work for people whose configuration is built on one system and deployed on another system? +

3.2.2. Keep forward compatibility in mind

The master branch of Home Manager tracks the unstable channel of Nixpkgs, which may update package versions at any time. It is therefore important to consider how a package update may affect your code and try to reduce the risk of breakage.

The most effective way to reduce this risk is to follow the advice in Section 3.2.3, “Add only valuable options”.

3.2.3. Add only valuable options

When creating a new module it is tempting to include every option supported by the software. This is strongly discouraged. Providing many options increases maintenance burden and risk of breakage considerably. This is why only the most important software options should be modeled explicitly. Less important options should be expressible through an extraConfig escape hatch.

A good rule of thumb for the first implementation of a module is to only add explicit options for those settings that absolutely must be set for the software to function correctly. It follows that a module for software that provides sensible default values for all settings would require no explicit options at all.

If the software uses a structured configuration format like a JSON, YAML, INI, TOML, or even a plain list of key/value pairs then consider using a settings option as described in Nix RFC 42.

3.2.4. Add relevant tests

If at all possible, make sure to add new tests and expand existing tests so that your change will keep working in the future. See Section 3.6, “Tests” for more information about the Home Manager test suite.

All contributed code must pass the test suite.

3.2.5. Add relevant documentation

Many code changes require changing the documentation as well. Module options should be documented with DocBook. See DocBook rocks! for a quick introduction and DocBook 5: The Definitive Guide for in-depth information of DocBook. Home Manager is itself documented using a combination of DocBook and AsciiDoc. All text is hosted in Home Manager’s Git repository.

The HTML version of the manual containing both the module option descriptions and the documentation of Home Manager can be generated and opened by typing the following in a shell within a clone of the Home Manager Git repository:

$ nix-build -A docs.html
+$ xdg-open ./result/share/doc/home-manager/index.html

When you have made changes to a module, it is a good idea to check that the man page version of the module options looks good:

$ nix-build -A docs.manPages
+$ man ./result/share/man/man5/home-configuration.nix.5

3.2.6. Add yourself as a module maintainer

Every new module must include a named maintainer using the meta.maintainers attribute. If you are a user of a module that currently lacks a maintainer then please consider adopting it.

If you are present in the NixOS maintainer list then you can use that entry. If you are not then you can add yourself to modules/lib/maintainers.nix in the Home Manager project.

Also add yourself to .github/CODEOWNERS as owner of the associated module files, including the test files. You will then be automatically added as a reviewer on any new pull request that touches your files.

Maintainers are encouraged to join the IRC channel and participate when they have opportunity.

3.2.7. Format your code

Make sure your code is formatted as described in Section 3.4, “Code Style”. To maintain consistency throughout the project you are encouraged to browse through existing code and adopt its style also in new code.

3.2.8. Format your commit messages

Similar to Section 3.2.7, “Format your code” we encourage a consistent commit message format as described in Section 3.3, “Commits”.

3.2.9. Format your news entries

If your contribution includes a change that should be communicated to users of Home Manager then you can add a news entry. The entry must be formatted as described in Section 3.5, “News”.

When new modules are added a news entry should be included but you do not need to create this entry manually. The merging maintainer will create the entry for you. This is to reduce the risk of merge conflicts.

3.2.10. Use conditional modules and news

Home Manager includes a number of modules that are only usable on some of the supported platforms. The most common example of platform specific modules are those that define systemd user services, which only works on Linux systems.

If you add a module that is platform specific then make sure to include a condition in the loadModule function call. This will make the module accessible only on systems where the condition evaluates to true.

Similarly, if you are adding a news entry then it should be shown only to users that may find it relevant, see Section 3.5, “News” for a description of conditional news.

3.2.11. Mind the license

The Home Manager project is covered by the MIT license and we can only accept contributions that fall under this license, or are licensed in a compatible way. When you contribute self written code and documentation it is assumed that you are doing so under the MIT license.

A potential gotcha with respect to licensing are option descriptions. Often it is convenient to copy from the upstream software documentation. When this is done it is important to verify that the license of the upstream documentation allows redistribution under the terms of the MIT license.

3.3. Commits

The commits in your pull request should be reasonably self-contained, that is, each commit should make sense in isolation. In particular, you will be asked to amend any commit that introduces syntax errors or similar problems even if they are fixed in a later commit.

The commit messages should follow the seven rules. We also ask you to include the affected code component or module in the first line. That is, a commit message should follow the template

{component}: {description}
+
+{long description}

where {component} refers to the code component (or module) your change affects, {description} is a very brief description of your change, and {long description} is an optional clarifying description. Note, {description} should start with a lower case letter. As a rare exception, if there is no clear component, or your change affects many components, then the {component} part is optional. See Example 3.1, “Compliant commit message” for a commit message that fulfills these requirements.

Example 3.1. Compliant commit message

The commit 69f8e47e9e74c8d3d060ca22e18246b7f7d988ef contains the commit message

starship: allow running in Emacs if vterm is used
+
+The vterm buffer is backed by libvterm and can handle Starship prompts
+without issues.

which ticks all the boxes necessary to be accepted in Home Manager.


Finally, when adding a new module, say programs/foo.nix, we use the fixed commit format foo: add module. You can, of course, still include a long description if you wish.

3.4. Code Style

The code in Home Manager is formatted by the nixfmt tool and the formatting is checked in the pull request tests. Run the format tool inside the project repository before submitting your pull request.

Keep lines at a reasonable width, ideally 80 characters or less. This also applies to string literals.

We prefer lowerCamelCase for variable and attribute names with the accepted exception of variables directly referencing packages in Nixpkgs which use a hyphenated style. For example, the Home Manager option services.gpg-agent.enableSshSupport references the gpg-agent package in Nixpkgs.

3.5. News

Home Manager includes a system for presenting news to the user. When making a change you, therefore, have the option to also include an associated news entry. In general, a news entry should only be added for truly noteworthy news. For example, a bug fix or new option does generally not need a news entry.

If you do have a change worthy of a news entry then please add one in news.nix but you should follow some basic guidelines:

  • +The entry timestamp should be in ISO-8601 format having "+00:00" as time zone. For example, "2017-09-13T17:10:14+00:00". A suitable timestamp can be produced by the command +

    $ date --iso-8601=second --universal
  • +The entry condition should be as specific as possible. For example, if you are changing or deprecating a specific option then you could restrict the news to those users who actually use this option. +
  • +Wrap the news message so that it will fit in the typical terminal, that is, at most 80 characters wide. Ideally a bit less. +
  • +Unlike commit messages, news will be read without any connection to the Home Manager source code. It is therefore important to make the message understandable in isolation and to those who do not have knowledge of the Home Manager internals. To this end it should be written in more descriptive, prose like way. +
  • +If you refer to an option then write its full attribute path. That is, instead of writing +

    The option 'foo' has been deprecated, please use 'bar' instead.

    it should read

    The option 'services.myservice.foo' has been deprecated, please
    +use 'services.myservice.bar' instead.
  • +A new module, say foo.nix, should always include a news entry that has a message along the lines of +

    A new module is available: 'services.foo'.

    If the module is platform specific, e.g., a service module using systemd, then a condition like

    condition = hostPlatform.isLinux;

    should be added. If you contribute a module then you don’t need to add this entry, the merger will create an entry for you.

3.6. Tests

Home Manager includes a basic test suite and it is highly recommended to include at least one test when adding a module. Tests are typically in the form of "golden tests" where, for example, a generated configuration file is compared to a known correct file.

It is relatively easy to create tests by modeling the existing tests, found in the tests project directory.

The full Home Manager test suite can be run by executing

$ nix-shell --pure tests -A run.all

in the project root. List all test cases through

$ nix-shell --pure tests -A list

and run an individual test, for example alacritty-empty-settings, through

$ nix-shell --pure tests -A run.alacritty-empty-settings

Chapter 4. Frequently Asked Questions (FAQ)

4.1. Why is there a collision error when switching generation?

Home Manager currently installs packages into the user environment, precisely as if the packages were installed through nix-env --install. This means that you will get a collision error if your Home Manager configuration attempts to install a package that you already have installed manually, that is, packages that shows up when you run nix-env --query.

For example, imagine you have the hello package installed in your environment

$ nix-env --query
+hello-2.10

and your Home Manager configuration contains

home.packages = [ pkgs.hello ];

Then attempting to switch to this configuration will result in an error similar to

$ home-manager switch
+these derivations will be built:
+  /nix/store/xg69wsnd1rp8xgs9qfsjal017nf0ldhm-home-manager-path.drv
+[…]
+Activating installPackages
+replacing old ‘home-manager-path’
+installing ‘home-manager-path’
+building path(s) ‘/nix/store/b5c0asjz9f06l52l9812w6k39ifr49jj-user-environment’
+Wide character in die at /nix/store/64jc9gd2rkbgdb4yjx3nrgc91bpjj5ky-buildenv.pl line 79.
+collision between ‘/nix/store/fmwa4axzghz11cnln5absh31nbhs9lq1-home-manager-path/bin/hello’ and ‘/nix/store/c2wyl8b9p4afivpcz8jplc9kis8rj36d-hello-2.10/bin/hello’; use ‘nix-env --set-flag priority NUMBER PKGNAME’ to change the priority of one of the conflicting packages
+builder for ‘/nix/store/b37x3s7pzxbasfqhaca5dqbf3pjjw0ip-user-environment.drv’ failed with exit code 2
+error: build of ‘/nix/store/b37x3s7pzxbasfqhaca5dqbf3pjjw0ip-user-environment.drv’ failed

The solution is typically to uninstall the package from the environment using nix-env --uninstall and reattempt the Home Manager generation switch.

4.2. Why are the session variables not set?

Home Manager is only able to set session variables automatically if it manages your Bash or Z shell configuration. If you don’t want to let Home Manager manage your shell then you will have to manually source the ~/.nix-profile/etc/profile.d/hm-session-vars.sh file in an appropriate way. In Bash and Z shell this can be done by adding

. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"

to your .profile and .zshrc files, respectively. The hm-session-vars.sh file should work in most Bourne-like shells.

4.3. How do set up a configuration for multiple users/machines?

A typical way to prepare a repository of configurations for multiple logins and machines is to prepare one "top-level" file for each unique combination.

For example, if you have two machines, called "kronos" and "rhea" on which you want to configure your user "jane" then you could create the files

  • +kronos-jane.nix, +
  • +rhea-jane.nix, and +
  • +common.nix +

in your repository. On the kronos and rhea machines you can then make ~jane/.config/nixpkgs/home.nix be a symbolic link to the corresponding file in your configuration repository.

The kronos-jane.nix and rhea-jane.nix files follow the format

{ ... }:
+
+{
+  imports = [ ./common.nix ];
+
+  # Various options that are specific for this machine/user.
+}

while the common.nix file contains configuration shared across the two logins. Of course, instead of just a single common.nix file you can have multiple ones, even one per program or service.

You can get some inspiration from the Post your home-manager home.nix file! Reddit thread.

4.4. Why do I get an error message about ca.desrt.dconf?

You are most likely trying to configure the GTK or Gnome Terminal but the DBus session is not aware of the dconf service. The full error you might get is

error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name ca.desrt.dconf was not provided by any .service files

The solution on NixOS is to add

services.dbus.packages = with pkgs; [ gnome3.dconf ];

to your system configuration.

4.5. How do I install packages from Nixpkgs unstable?

If you are using a stable version of Nixpkgs but would like to install some particular packages from Nixpkgs unstable – or some other channel – then you can import the unstable Nixpkgs and refer to its packages within your configuration. Something like

{ pkgs, config, ... }:
+
+let
+
+  pkgsUnstable = import <nixpkgs-unstable> {};
+
+in
+
+{
+  home.packages = [
+    pkgsUnstable.foo
+  ];
+
+  # …
+}

should work provided you have a Nix channel called nixpkgs-unstable.

You can add the nixpkgs-unstable channel by running

# nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs-unstable
+# nix-channel --update

Note, the package will not be affected by any package overrides, overlays, etc.

4.6. How do I override the package used by a module?

By default Home Manager will install the package provided by your chosen nixpkgs channel but occasionally you might end up needing to change this package. This can typically be done in two ways.

  1. +If the module provides a package option, such as programs.beets.package, then this is the recommended way to perform the override. For example, +

    programs.beets.package = pkgs.beets.override { enableCheck = true; };
  2. +If no package option is available then you can typically override the relevant package using an overlay. +

    For example, if you want to use the programs.skim module but use the skim package from Nixpkgs unstable, then a configuration like

    { pkgs, config, ... }:
    +
    +let
    +
    +  pkgsUnstable = import <nixpkgs-unstable> {};
    +
    +in
    +
    +{
    +  programs.skim.enable = true;
    +
    +  nixpkgs.overlays = [
    +    (self: super: {
    +      skim = pkgsUnstable.skim;
    +    })
    +  ];
    +
    +  # …
    +}

    should work OK.

\ No newline at end of file diff --git a/mono-blue.css b/mono-blue.css new file mode 100644 index 00000000..24a35a3d --- /dev/null +++ b/mono-blue.css @@ -0,0 +1,56 @@ +/* + Five-color theme from a single blue hue. +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eaeef3; + color: #00193a; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-comment { + color: #738191; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-literal, +.hljs-type, +.hljs-addition, +.hljs-tag, +.hljs-quote, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #0048ab; +} + +.hljs-meta, +.hljs-subst, +.hljs-symbol, +.hljs-regexp, +.hljs-attribute, +.hljs-deletion, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-bullet { + color: #4c81c9; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/options.html b/options.html new file mode 100644 index 00000000..dc57fe51 --- /dev/null +++ b/options.html @@ -0,0 +1,12028 @@ + +Appendix A. Configuration Options

Appendix A. Configuration Options

accounts.email.accounts

List of email accounts.

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/lieer.nix> +
+ <home-manager/modules/services/imapnotify.nix> +
+ <home-manager/modules/programs/offlineimap.nix> +
+ <home-manager/modules/programs/notmuch.nix> +
+ <home-manager/modules/programs/neomutt.nix> +
+ <home-manager/modules/programs/mu.nix> +
+ <home-manager/modules/programs/msmtp.nix> +
+ <home-manager/modules/programs/mbsync.nix> +
+ <home-manager/modules/programs/lieer.nix> +
+ <home-manager/modules/programs/getmail.nix> +
+ <home-manager/modules/programs/astroid.nix> +
+ <home-manager/modules/programs/alot.nix> +
+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.address

The email address of this account.

Type: string matching the pattern .*@.*

Example: + "jane.doe@example.org" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.aliases

Alternative email addresses of this account.

Type: list of string matching the pattern .*@.*s

Default: + + [ + + ] + +

Example: + + [ + "webmaster@example.org" "admin@example.org" + ] + +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.alot.contactCompletion

Contact completion configuration as expected per alot. +See alot's wiki for +explanation about possible values. +

Type: attribute set of strings

Default: + + { + command = "'\${pkgs.notmuch}/bin/notmuch address --format=json --output=recipients date:6M..'"; regexp = '''\[?{"name": "(?P<name>.*)", "address": "(?P<email>.+)", "name-addr": ".*"}[,\]]?'''; shellcommand_external_filtering = "False"; type = "shellcommand"; + } + +

Example:

{
+  type = "shellcommand";
+  command = "abook --mutt-query";
+  regexp = "'^(?P<email>[^@]+@[^\t]+)\t+(?P<name>[^\t]+)'";
+  ignorecase = "True";
+}
+

Declared by:

+ <home-manager/modules/programs/alot.nix> +
accounts.email.accounts.<name>.alot.extraConfig

Extra settings to add to this Alot account configuration. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
accounts.email.accounts.<name>.alot.sendMailCommand

Command to send a mail. If msmtp is enabled for the account, +then this is set to +msmtpq --read-envelope-from --read-recipients. +

Type: null or string

Declared by:

+ <home-manager/modules/programs/alot.nix> +
accounts.email.accounts.<name>.astroid.enable

Whether to enable Astroid.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/astroid.nix> +
accounts.email.accounts.<name>.astroid.extraConfig

Extra settings to add to this astroid account configuration. +

Type: attribute set

Default: + + { + + } + +

Example: + + { + select_query = ""; + } + +

Declared by:

+ <home-manager/modules/programs/astroid.nix> +
accounts.email.accounts.<name>.astroid.sendMailCommand

Command to send a mail. If msmtp is enabled for the account, +then this is set to +msmtpq --read-envelope-from --read-recipients. +

Type: string

Declared by:

+ <home-manager/modules/programs/astroid.nix> +
accounts.email.accounts.<name>.flavor

Some email providers have peculiar behavior that require +special treatment. This option is therefore intended to +indicate the nature of the provider. +

+When this indicates a specific provider then, for example, +the IMAP and SMTP server configuration may be set +automatically. +

Type: one of "plain", "gmail.com", "runbox.com"

Default: + "plain" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.folders

Standard email folders. +

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.folders.drafts

Relative path of the drafts mail folder. +

Type: string

Default: + "Drafts" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.folders.inbox

Relative path of the inbox mail. +

Type: string

Default: + "Inbox" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.folders.sent

Relative path of the sent mail folder. +

Type: null or string

Default: + "Sent" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.folders.trash

Relative path of the deleted mail folder. +

Type: string

Default: + "Trash" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.getmail.enable

Whether to enable the getmail mail retriever for this account.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/getmail.nix> +
accounts.email.accounts.<name>.getmail.delete

Enable if you want to delete read messages from the server. Most +users should either enable delete or disable +readAll. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/getmail.nix> +
accounts.email.accounts.<name>.getmail.destinationCommand

Specify a command delivering the incoming mail to your maildir. +

Type: null or string

Default: + null +

Example: + "\${pkgs.maildrop}/bin/maildrop" +

Declared by:

+ <home-manager/modules/programs/getmail.nix> +
accounts.email.accounts.<name>.getmail.mailboxes

A non-empty list of mailboxes. To download all mail you can +use the ALL mailbox. +

Type: non-empty list of strings

Default: + + [ + + ] + +

Example: + + [ + "INBOX" "INBOX.spam" + ] + +

Declared by:

+ <home-manager/modules/programs/getmail.nix> +
accounts.email.accounts.<name>.getmail.readAll

Enable if you want to fetch all, even the read messages from the +server. Most users should either enable delete or +disable readAll. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/getmail.nix> +
accounts.email.accounts.<name>.gpg

GPG configuration. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.gpg.encryptByDefault

Encrypt outgoing messages by default.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.gpg.key

The key to use as listed in gpg --list-keys. +

Type: string

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.gpg.signByDefault

Sign messages by default.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.imap

The IMAP configuration to use for this account. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.imap.host

Hostname of IMAP server. +

Type: string

Example: + "imap.example.org" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.imap.port

The port on which the IMAP server listens. If +null then the default port is used. +

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: + null +

Example: + 993 +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.imap.tls

Configuration for secure connections. +

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.imap.tls.enable

Whether to enable TLS/SSL. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.imap.tls.certificatesFile

Path to file containing certificate authorities that should +be used to validate the connection authenticity. If +null then the system default is used. +Note, if set then the system default may still be accepted. +

Type: path

Default: + "config.accounts.email.certificatesFile" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.imap.tls.useStartTls

Whether to use STARTTLS. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.imapnotify.enable

Whether to enable imapnotify.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/imapnotify.nix> +
accounts.email.accounts.<name>.imapnotify.boxes

IMAP folders to watch.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "Inbox" "[Gmail]/MyLabel" + ] + +

Declared by:

+ <home-manager/modules/services/imapnotify.nix> +
accounts.email.accounts.<name>.imapnotify.onNotify

Shell commands to run on any event.

Type: string or attribute set of strings

Default: + "" +

Example: + "\${pkgs.isync}/bin/mbsync test-%s" +

Declared by:

+ <home-manager/modules/services/imapnotify.nix> +
accounts.email.accounts.<name>.imapnotify.onNotifyPost

Shell commands to run after onNotify event.

Type: string or attribute set of strings

Default: + "" +

Example: + + { + mail = "\${pkgs.notmuch}/bin/notmuch new && \${pkgs.libnotify}/bin/notify-send 'New mail arrived'"; + } + +

Declared by:

+ <home-manager/modules/services/imapnotify.nix> +
accounts.email.accounts.<name>.lieer.enable

Whether to enable lieer Gmail synchronization for notmuch.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/lieer.nix> +
accounts.email.accounts.<name>.lieer.dropNonExistingLabels

Allow missing labels on the Gmail side to be dropped. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/lieer.nix> +
accounts.email.accounts.<name>.lieer.ignoreTagsLocal

Set custom tags to ignore when syncing from local to +remote (after translations). +

Type: list of strings

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/lieer.nix> +
accounts.email.accounts.<name>.lieer.ignoreTagsRemote

Set custom tags to ignore when syncing from remote to +local (before translations). +

Type: list of strings

Default: + + [ + "CATEGORY_FORUMS" "CATEGORY_PROMOTIONS" "CATEGORY_UPDATES" "CATEGORY_SOCIAL" "CATEGORY_PERSONAL" + ] + +

Declared by:

+ <home-manager/modules/programs/lieer.nix> +
accounts.email.accounts.<name>.lieer.notmuchSetupWarning

Warn if Notmuch is not also enabled for this account. +

+This can safely be disabled if notmuch init +has been used to configure this account outside of Home +Manager. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/lieer.nix> +
accounts.email.accounts.<name>.lieer.replaceSlashWithDot

Replace '/' with '.' in Gmail labels. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/lieer.nix> +
accounts.email.accounts.<name>.lieer.sync.enable

Whether to enable lieer synchronization service.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/lieer.nix> +
accounts.email.accounts.<name>.lieer.sync.frequency

How often to synchronize the account. +

+This value is passed to the systemd timer configuration as the +onCalendar option. See +systemd.time(7) +for more information about the format. +

Type: string

Default: + "*:0/5" +

Declared by:

+ <home-manager/modules/services/lieer.nix> +
accounts.email.accounts.<name>.lieer.timeout

HTTP timeout in seconds. 0 means forever or system timeout. +

Type: unsigned integer, meaning >=0

Default: + 0 +

Declared by:

+ <home-manager/modules/programs/lieer.nix> +
accounts.email.accounts.<name>.maildir

Maildir configuration for this account. +

Type: null or submodule

Default: + + { + path = "\${name}"; + } + +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.maildir.path

Path to maildir directory where mail for this account is +stored. This is relative to the base maildir path. +

Type: string

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.mbsync.enable

Whether to enable synchronization using mbsync.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.create

Automatically create missing mailboxes within the +given mail store. +

Type: one of "none", "maildir", "imap", "both"

Default: + "none" +

Example: + "maildir" +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.expunge

Permanently remove messages marked for deletion from +the given mail store. +

Type: one of "none", "maildir", "imap", "both"

Default: + "none" +

Example: + "both" +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.extraConfig.account

Account section extra configuration. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Example:

{
+  PipelineDepth = 10;
+  Timeout = 60;
+};
+

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.extraConfig.channel

Per channel extra configuration. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Example:

{
+  MaxMessages = 10000;
+  MaxSize = "1m";
+};
+

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.extraConfig.local

Local store extra configuration. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.extraConfig.remote

Remote store extra configuration. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.flatten

If set, flattens the hierarchy within the maildir by +substituting the canonical hierarchy delimiter +/ with this value. +

Type: null or string

Default: + null +

Example: + "." +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.groups

Some email providers (Gmail) have a different directory hierarchy for +synchronized email messages. Namely, when using mbsync without specifying +a set of channels into a group, all synchronized directories end up beneath +the [Gmail]/ directory. +

+This option allows you to specify a group, and subsequently channels that +will allow you to sync your mail into an arbitrary hierarchy. +

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.groups.<name>.channels

List of channels that should be grouped together into this group. When +performing a synchronization, the groups are synchronized, rather than +the individual channels. +

+Using these channels and then grouping them together allows for you to +define the maildir hierarchy as you see fit. +

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.extraConfig

Extra configuration lines to add to THIS channel's +configuration. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Example:

''
+{
+  Create = "both";
+  CopyArrivalDate = "yes";
+  MaxMessages = 10000;
+  MaxSize = "1m";
+}
+''

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.masterPattern

IMAP4 patterns for which mailboxes on the remote mail server to sync. +If Patterns are specified, masterPattern +is interpreted as a prefix which is not matched against the patterns, +and is not affected by mailbox list overrides. +

+If this is left as the default, then mbsync will default to the pattern +INBOX. +

Type: string

Default: + "" +

Example: + "[Gmail]/Sent Mail" +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.name

The unique name for THIS channel in THIS group. The group will refer to +this channel by this name. +

+In addition, you can manually sync just this channel by specifying this +name to mbsync on the command line. +

Type: string (read only)

Default: + "‹name›" +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.patterns

Instead of synchronizing just the mailboxes that +match the masterPattern, use it as a prefix which is +not matched against the patterns, and is not affected by mailbox list +overrides. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "INBOX" + ] + +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.groups.<name>.channels.<name>.slavePattern

Name for where mail coming from the master mail server will end up +locally. The mailbox specified by the master's pattern will be placed +in this directory. +

+If this is left as the default, then mbsync will default to the pattern +INBOX. +

Type: string

Default: + "" +

Example: + "Sent" +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.groups.<name>.name

The name of this group for this account. These names are different than +some others, because they will hide channel names that are the same. +

Type: string (read only)

Default: + "‹name›" +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.patterns

Pattern of mailboxes to synchronize. +

Type: list of strings

Default: + + [ + "*" + ] + +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.mbsync.remove

Propagate mailbox deletions to the given mail store. +

Type: one of "none", "maildir", "imap", "both"

Default: + "none" +

Example: + "imap" +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
accounts.email.accounts.<name>.msmtp.enable

Whether to enable msmtp. +

+If enabled then it is possible to use the +--account command line +option to send a message for a given account using the +msmtp or msmtpq tool. +For example, msmtp --account=private would +send using the account defined in +accounts.email.accounts.private. If the +--account option is not +given then the primary account will be used. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/msmtp.nix> +
accounts.email.accounts.<name>.msmtp.extraConfig

Extra configuration options to add to ~/.msmtprc. +See https://marlam.de/msmtp/msmtprc.txt for +examples. +

Type: attribute set of strings

Default: + + { + + } + +

Example: + + { + auth = "login"; + } + +

Declared by:

+ <home-manager/modules/programs/msmtp.nix> +
accounts.email.accounts.<name>.msmtp.tls.fingerprint

Fingerprint of a trusted TLS certificate. +The fingerprint can be obtained by executing +msmtp --serverinfo --tls --tls-certcheck=off. +

Type: null or string matching the pattern ([[:alnum:]]{2}:)+[[:alnum:]]{2}

Default: + null +

Example: + "my:SH:a2:56:ha:sh" +

Declared by:

+ <home-manager/modules/programs/msmtp.nix> +
accounts.email.accounts.<name>.mu.enable

Whether to enable mu indexing.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/mu.nix> +
accounts.email.accounts.<name>.name

Unique identifier of the account. This is set to the +attribute name of the account configuration. +

Type: string (read only)

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.neomutt.enable

Whether to enable NeoMutt.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
accounts.email.accounts.<name>.neomutt.extraConfig

Extra lines to add to the folder hook for this account. +

Type: strings concatenated with "\n"

Default: + "" +

Example: + "color status cyan default" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
accounts.email.accounts.<name>.neomutt.sendMailCommand

Command to send a mail. If not set, neomutt will be in charge of sending mails. +

Type: null or string

Default: + if config.msmtp.enable then + "msmtpq --read-envelope-from --read-recipients" +else + null + +

Example: + "msmtpq --read-envelope-from --read-recipients" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
accounts.email.accounts.<name>.notmuch.enable

Whether to enable notmuch indexing.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
accounts.email.accounts.<name>.offlineimap.enable

Whether to enable OfflineIMAP.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/offlineimap.nix> +
accounts.email.accounts.<name>.offlineimap.extraConfig.account

Extra configuration options to add to the account section. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Example: + + { + autorefresh = 20; + } + +

Declared by:

+ <home-manager/modules/programs/offlineimap.nix> +
accounts.email.accounts.<name>.offlineimap.extraConfig.local

Extra configuration options to add to the local account +section. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Example: + + { + sync_deletes = true; + } + +

Declared by:

+ <home-manager/modules/programs/offlineimap.nix> +
accounts.email.accounts.<name>.offlineimap.extraConfig.remote

Extra configuration options to add to the remote account +section. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Example: + + { + expunge = false; maxconnections = 2; + } + +

Declared by:

+ <home-manager/modules/programs/offlineimap.nix> +
accounts.email.accounts.<name>.offlineimap.postSyncHookCommand

Command to run after fetching new mails.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/offlineimap.nix> +
accounts.email.accounts.<name>.passwordCommand

A command, which when run writes the account password on +standard output. +

Type: null or string or list of strings

Default: + null +

Example: + "secret-tool lookup email me@example.org" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.primary

Whether this is the primary account. Only one account may be +set as primary. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.realName

Name displayed when sending mails.

Type: string

Example: + "Jane Doe" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.signature

Signature configuration. +

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.signature.showSignature

Method to communicate the signature.

Type: one of "append", "attach", "none"

Default: + "none" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.signature.text

Signature content. +

Type: string

Default: + "" +

Example:

''
+--
+Luke Skywalker
+May the force be with you.
+''

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.smtp

The SMTP configuration to use for this account. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.smtp.host

Hostname of SMTP server. +

Type: string

Example: + "smtp.example.org" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.smtp.port

The port on which the SMTP server listens. If +null then the default port is used. +

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: + null +

Example: + 465 +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.smtp.tls

Configuration for secure connections. +

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.smtp.tls.enable

Whether to enable TLS/SSL. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.smtp.tls.certificatesFile

Path to file containing certificate authorities that should +be used to validate the connection authenticity. If +null then the system default is used. +Note, if set then the system default may still be accepted. +

Type: path

Default: + "config.accounts.email.certificatesFile" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.smtp.tls.useStartTls

Whether to use STARTTLS. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.accounts.<name>.userName

The server username of this account. This will be used as +the SMTP and IMAP user name. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.certificatesFile

Path to default file containing certificate authorities that +should be used to validate the connection authenticity. This +path may be overridden on a per-account basis. +

Type: path

Default: + "/etc/ssl/certs/ca-certificates.crt" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
accounts.email.maildirBasePath

The base directory for account maildir directories. May be a +relative path, in which case it is relative the home +directory. +

Type: string

Default: + "\$HOME/Maildir" +

Declared by:

+ <home-manager/modules/accounts/email.nix> +
dconf.settings

Settings to write to the dconf configuration system. +

Type: attribute set of attribute set of GVariant valuess

Default: + + { + + } + +

Example:

{
+  "org/gnome/calculator" = {
+    button-mode = "programming";
+    show-thousands = true;
+    base = 10;
+    word-size = 64;
+    window-position = lib.hm.gvariant.mkTuple [100 100];
+  };
+}
+

Declared by:

+ <home-manager/modules/misc/dconf.nix> +
fonts.fontconfig.enable

Whether to enable fontconfig configuration. This will, for +example, allow fontconfig to discover fonts and +configurations installed through +home.packages and +nix-env. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/misc/fontconfig.nix> +
gtk.enable

Whether to enable GTK 2/3 configuration.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.font

The font to use in GTK+ 2/3 applications. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.font.package

Package providing the font. This package will be installed +to your profile. If null then the font +is assumed to already be available in your profile. +

Type: null or package

Default: + null +

Example:

pkgs.dejavu_fonts

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.font.name

The family name and size of the font within the package. +

Type: string

Example: + "DejaVu Sans 8" +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.gtk2.extraConfig

Extra configuration lines to add verbatim to +~/.gtkrc-2.0. +

Type: strings concatenated with "\n"

Default: + "" +

Example: + "gtk-can-change-accels = 1" +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.gtk3.bookmarks

Bookmarks in the sidebar of the GTK file browser

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "file:///home/jane/Documents" + ] + +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.gtk3.extraConfig

Extra configuration options to add to +~/.config/gtk-3.0/settings.ini. +

Type: attribute set of boolean or signed integer or strings

Default: + + { + + } + +

Example: + + { + gtk-cursor-blink = false; gtk-recent-files-limit = 20; + } + +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.gtk3.extraCss

Extra configuration lines to add verbatim to +~/.config/gtk-3.0/gtk.css. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.iconTheme

The icon theme to use.

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.iconTheme.package

Package providing the theme. This package will be installed +to your profile. If null then the theme +is assumed to already be available in your profile. +

Type: null or package

Default: + null +

Example:

pkgs.gnome3.gnome_themes_standard

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.iconTheme.name

The name of the theme within the package.

Type: string

Example: + "Adwaita" +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.theme

The GTK+2/3 theme to use.

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.theme.package

Package providing the theme. This package will be installed +to your profile. If null then the theme +is assumed to already be available in your profile. +

Type: null or package

Default: + null +

Example:

pkgs.gnome3.gnome_themes_standard

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
gtk.theme.name

The name of the theme within the package.

Type: string

Example: + "Adwaita" +

Declared by:

+ <home-manager/modules/misc/gtk.nix> +
home.enableDebugInfo

Some Nix-packages provide debug symbols for +gdb in the debug-output. +This option ensures that those are automatically fetched from +the binary cache if available and gdb is +configured to find those symbols. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/misc/debug.nix> +
home.packages

The set of packages to appear in the user environment.

Type: list of packages

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.activation

The activation scripts blocks to run when activating a Home +Manager generation. Any entry here should be idempotent, +meaning running twice or more times produces the same result +as running it once. + +

+ +If the script block produces any observable side effect, such +as writing or deleting files, then it +must be placed after the special +writeBoundary script block. Prior to the +write boundary one can place script blocks that verifies, but +does not modify, the state of the system and exits if an +unexpected state is found. For example, the +checkLinkTargets script block checks for +collisions between non-managed files and files defined in +home.file. + +

+ +A script block should respect the DRY_RUN +variable, if it is set then the actions taken by the script +should be logged to standard out and not actually performed. +The variable DRY_RUN_CMD is set to +echo if dry run is enabled. + +

+ +A script block should also respect the +VERBOSE variable, and if set print +information on standard out that may be useful for debugging +any issue that may arise. The variable +VERBOSE_ARG is set to +--verbose if verbose output is enabled. +

Type: DAG of strings

Default: + + { + + } + +

Example:

{
+  myActivationAction = lib.hm.dag.entryAfter ["writeBoundary"] ''
+    $DRY_RUN_CMD ln -s $VERBOSE_ARG \
+        ${builtins.toPath ./link-me-directly} $HOME
+  '';
+}
+

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.extraOutputsToInstall

List of additional package outputs of the packages +home.packages that should be installed into +the user environment. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "doc" "info" "devdoc" + ] + +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.file

Attribute set of files to link into the user home.

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/files.nix> +
home.file.<name>.executable

Set the execute bit. If null, defaults to the mode +of the source file or to false +for files created through the text option. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/files.nix> +
home.file.<name>.onChange

Shell commands to run when file has changed between +generations. The script will be run +after the new files have been linked +into place. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/files.nix> +
home.file.<name>.recursive

If the file source is a directory, then this option +determines whether the directory should be recursively +linked to the target location. This option has no effect +if the source is a file. +

+If false (the default) then the target +will be a symbolic link to the source directory. If +true then the target will be a +directory structure matching the source's but whose leafs +are symbolic links to the files of the source directory. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/files.nix> +
home.file.<name>.source

Path of the source file or directory. If +home.file.<name?>.text +is non-null then this option will automatically point to a file +containing that text. +

Type: path

Declared by:

+ <home-manager/modules/files.nix> +
home.file.<name>.target

Path to target file relative to HOME. +

Type: string

Default: + <name> +

Declared by:

+ <home-manager/modules/files.nix> +
home.file.<name>.text

Text of the file. If this option is null then +home.file.<name?>.source +must be set. +

Type: null or strings concatenated with "\n"

Default: + null +

Declared by:

+ <home-manager/modules/files.nix> +
home.homeDirectory

The user's home directory. Must be an absolute path.

Type: path

Default: + "$HOME" for state version < 20.09, +undefined for state version ≥ 20.09 + +

Example: + "/home/jane.doe" +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.keyboard

Keyboard configuration. Set to null to +disable Home Manager keyboard management. +

Type: null or submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.keyboard.layout

Keyboard layout. If null, then the system +configuration will be used. +

+This defaults to null for state +version ≥ 19.09 and "us" otherwise. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.keyboard.model

Keyboard model. +

Type: null or string

Default: + null +

Example: + "presario" +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.keyboard.options

X keyboard options; layout switching goes here. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "grp:caps_toggle" "grp_led:scroll" + ] + +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.keyboard.variant

X keyboard variant. If null, then the +system configuration will be used. +

+This defaults to null for state +version ≥ 19.09 and "" otherwise. +

Type: null or string

Default: + null +

Example: + "colemak" +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language

Language configuration.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.address

The language to use for addresses. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.base

The language to use unless overridden by a more specific option. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.collate

The language to use for collation (alphabetical ordering). +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.ctype

Character classification category. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.measurement

The language to use for measurement values. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.messages

The language to use for messages, application UI languages, etc. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.monetary

The language to use for formatting currencies and money amounts. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.name

The language to use for personal names. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.numeric

The language to use for numerical values. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.paper

The language to use for paper sizes. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.telephone

The language to use for telephone numbers. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.language.time

The language to use for formatting times. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.sessionPath

Extra directories to add to PATH.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + ".git/safe/../../bin" "\${xdg.configHome}/emacs/bin" "~/.local/bin" + ] + +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.sessionVariables

Environment variables to always set at login. +

+The values may refer to other environment variables using +POSIX.2 style variable references. For example, a variable +parameter may be referenced as +$parameter or ${parameter}. A +default value foo may be given as per +${parameter:-foo} and, similarly, an alternate +value bar can be given as per +${parameter:+bar}. +

+Note, these variables may be set in any order so no session +variable may have a runtime dependency on another session +variable. In particular code like +

+home.sessionVariables = {
+  FOO = "Hello";
+  BAR = "$FOO World!";
+};
+

+may not work as expected. If you need to reference another +session variable, then do so inside Nix instead. The above +example then becomes +

+home.sessionVariables = {
+  FOO = "Hello";
+  BAR = "${config.home.sessionVariables.FOO} World!";
+};
+

+

Type: attribute set

Default: + + { + + } + +

Example: + + { + EDITOR = "emacs"; GS_OPTIONS = "-sPAPERSIZE=a4"; + } + +

Declared by:

+ <home-manager/modules/home-environment.nix> +
home.stateVersion

It is occasionally necessary for Home Manager to change +configuration defaults in a way that is incompatible with +stateful data. This could, for example, include switching the +default data format or location of a file. +

+The state version indicates which default +settings are in effect and will therefore help avoid breaking +program configurations. Switching to a higher state version +typically requires performing some manual steps, such as data +conversion or moving files. +

Type: one of "18.09", "19.03", "19.09", "20.03", "20.09"

Default: + "18.09" +

Declared by:

+ <home-manager/modules/misc/version.nix> +
home.username

The user's username.

Type: string

Default: + "$USER" for state version < 20.09, +undefined for state version ≥ 20.09 + +

Example: + "jane.doe" +

Declared by:

+ <home-manager/modules/home-environment.nix> +
lib

This option allows modules to define helper functions, +constants, etc. +

Type: attribute set of attribute sets

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/misc/lib.nix> +
manual.html.enable

Whether to install the HTML manual. This also installs the +home-manager-help tool, which opens a local +copy of the Home Manager manual in the system web browser. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/manual.nix> +
manual.json.enable

Whether to install a JSON formatted list of all Home Manager +options. This can be located at +<profile directory>/share/doc/home-manager/options.json, +and may be used for navigating definitions, auto-completing, +and other miscellaneous tasks. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/manual.nix> +
manual.manpages.enable

Whether to install the configuration manual page. The manual can +be reached by man home-configuration.nix. +

+When looking at the manual page pretend that all references to +NixOS stuff are actually references to Home Manager stuff. +Thanks! +

Type: boolean

Default: + true +

Example: + false +

Declared by:

+ <home-manager/modules/manual.nix> +
news.display

How unread and relevant news should be presented when +running home-manager build and +home-manager switch. + +

+ +The options are + +

silent

+ Do not print anything during build or switch. The + home-manager news command still + works for viewing the entries. +

notify

+ The number of unread and relevant news entries will be + printed to standard output. The home-manager + news command can later be used to view the + entries. +

show

+ A pager showing unread news entries is opened. +

+

Type: one of "silent", "notify", "show"

Default: + "notify" +

Declared by:

+ <home-manager/modules/misc/news.nix> +
nixpkgs.config

The configuration of the Nix Packages collection. (For +details, see the Nixpkgs documentation.) It allows you to set +package configuration options. + +

+ +If null, then configuration is taken from +the fallback location, for example, +~/.config/nixpkgs/config.nix. + +

+ +Note, this option will not apply outside your Home Manager +configuration like when installing manually through +nix-env. If you want to apply it both +inside and outside Home Manager you can put it in a separate +file and include something like + +

+  nixpkgs.config = import ./nixpkgs-config.nix;
+  xdg.configFile."nixpkgs/config.nix".source = ./nixpkgs-config.nix;
+

+ +in your Home Manager configuration. +

Type: null or nixpkgs config

Default: + null +

Example: + + { + allowBroken = true; + } + +

Declared by:

+ <home-manager/modules/misc/nixpkgs.nix> +
nixpkgs.overlays

List of overlays to use with the Nix Packages collection. (For +details, see the Nixpkgs documentation.) It allows you to +override packages globally. This is a function that takes as +an argument the original Nixpkgs. The +first argument should be used for finding dependencies, and +the second should be used for overriding recipes. + +

+ +If null, then the overlays are taken from +the fallback location, for example, +~/.config/nixpkgs/overlays. + +

+ +Like nixpkgs.config this option only +applies within the Home Manager configuration. See +nixpkgs.config for a suggested setup that +works both internally and externally. +

Type: null or list of nixpkgs overlays

Default: + null +

Example:

[ (self: super: {
+    openssh = super.openssh.override {
+      hpnSupport = true;
+      withKerberos = true;
+      kerberos = self.libkrb5;
+    };
+  };
+) ]
+

Declared by:

+ <home-manager/modules/misc/nixpkgs.nix> +
pam.sessionVariables

Environment variables that will be set for the PAM session. +The variable values must be as described in +pam_env.conf(5). +

Type: attribute set

Default: + + { + + } + +

Example: + + { + EDITOR = "vim"; + } + +

Declared by:

+ <home-manager/modules/misc/pam.nix> +
programs.abook.enable

Whether to enable Abook.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/abook.nix> +
programs.abook.extraConfig

Extra lines added to $HOME/.config/abook/abookrc. +Available configuration options are described in the abook repository: +https://sourceforge.net/p/abook/git/ci/master/tree/sample.abookrc. +

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+field pager = Pager
+view CONTACT = name, email
+set autosave=true
+''

Declared by:

+ <home-manager/modules/programs/abook.nix> +
programs.afew.enable

Whether to enable the afew initial tagging script for Notmuch.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/afew.nix> +
programs.afew.extraConfig

Extra lines added to afew configuration file. Available +configuration options are described in the afew manual: +https://afew.readthedocs.io/en/latest/configuration.html. +

Type: strings concatenated with "\n"

Default:

''
+[SpamFilter]
+[KillThreadsFilter]
+[ListMailsFilter]
+[ArchiveSentMailsFilter]
+[InboxFilter]
+''

Example:

''
+[SpamFilter]
+
+[Filter.0]
+query = from:pointyheaded@boss.com
+tags = -new;+boss
+message = Message from above
+
+[InboxFilter]
+''

Declared by:

+ <home-manager/modules/programs/afew.nix> +
programs.alacritty.enable

Whether to enable Alacritty.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/alacritty.nix> +
programs.alacritty.package

The Alacritty package to install.

Type: package

Default: + pkgs.alacritty +

Declared by:

+ <home-manager/modules/programs/alacritty.nix> +
programs.alacritty.settings

Configuration written to +~/.config/alacritty/alacritty.yml. See +https://github.com/jwilm/alacritty/blob/master/alacritty.yml +for the default configuration. +

Type: attribute set

Default: + + { + + } + +

Example:

{
+  window.dimensions = {
+    lines = 3;
+    columns = 200;
+  };
+  key_bindings = [
+    {
+      key = "K";
+      mods = "Control";
+      chars = "\\x0c";
+    }
+  ];
+}
+

Declared by:

+ <home-manager/modules/programs/alacritty.nix> +
programs.alot.enable

Whether to enable the Alot mail user agent. Alot uses the +Notmuch email system and will therefore be automatically +enabled for each email account that is managed by Notmuch. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.bindings

Keybindings. +

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.bindings.bufferlist

Bufferlist mode keybindings.

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.bindings.envelope

Envelope mode keybindings.

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.bindings.global

Global keybindings.

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.bindings.search

Search mode keybindings.

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.bindings.taglist

Taglist mode keybindings.

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.bindings.thread

Thread mode keybindings.

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.extraConfig

Extra lines added to alot configuration file. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.hooks

Content of the hooks file. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.settings

Configuration options added to alot configuration file. +

Type: attribute set of string or signed integer or boolean or floating point numbers

Default: + + { + auto_remove_unread = true; handle_mouse = true; initial_command = "search tag:inbox AND NOT tag:killed"; prefer_plaintext = true; + } + +

Example:

{
+  auto_remove_unread = true;
+  ask_subject = false;
+  thread_indent_replies = 2;
+}
+

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.tags

How to display the tags.

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.tags.<name>.focus

How to display the tag when focused.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.tags.<name>.normal

How to display the tag when unfocused. +See https://alot.readthedocs.io/en/latest/configuration/theming.html#tagstring-formatting. +

Type: null or string

Default: + null +

Example: + "'','', 'white','light red', 'white','#d66'" +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.tags.<name>.translated

Fixed string representation for this tag. The tag can be +hidden from view, if the key translated is set to +"", the empty string. +

Type: null or string

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.alot.tags.<name>.translation

A pair of strings that define a regular substitution to +compute the string representation on the fly using +re.sub. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/alot.nix> +
programs.aria2.enable

Whether to enable aria2.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/aria2.nix> +
programs.aria2.extraConfig

Extra lines added to aria2.conf file. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/aria2.nix> +
programs.aria2.settings

Options to add to aria2.conf file. +See +aria2c(1) +for options. +

Type: attribute set of boolean or floating point number or signed integer or strings

Default: + + { + + } + +

Example:

{
+  listen-port = 60000;
+  dht-listen-port = 60000;
+  seed-ratio = 1.0;
+  max-upload-limit = "50K";
+  ftp-pasv = true;
+}
+

Declared by:

+ <home-manager/modules/programs/aria2.nix> +
programs.astroid.enable

Whether to enable Astroid.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/astroid.nix> +
programs.astroid.externalEditor

You can use %1, %2, and +%3 to refer respectively to: +

  1. file name

  2. server name

  3. socket ID

+See https://github.com/astroidmail/astroid/wiki/Customizing-editor. +

Type: null or string

Default: + null +

Example: + "nvim-qt -- -c 'set ft=mail' '+set fileencoding=utf-8' '+set ff=unix' '+set enc=utf-8' '+set fo+=w' %1" +

Declared by:

+ <home-manager/modules/programs/astroid.nix> +
programs.astroid.extraConfig

JSON config that will override the default Astroid configuration. +

Type: attribute set

Default: + + { + + } + +

Example: + + { + poll = + { + interval = 0; + } + ; + } + +

Declared by:

+ <home-manager/modules/programs/astroid.nix> +
programs.astroid.pollScript

Script to run to fetch/update mails. +

Type: string

Default: + "" +

Example: + "mbsync gmail" +

Declared by:

+ <home-manager/modules/programs/astroid.nix> +
programs.autojump.enable

Whether to enable autojump.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/autojump.nix> +
programs.autojump.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/autojump.nix> +
programs.autojump.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/autojump.nix> +
programs.autojump.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/autojump.nix> +
programs.autorandr.enable

Whether to enable Autorandr.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.hooks

Global hook scripts

Type: submodule

Default: + + { + + } + +

Example:

{
+  postswitch = {
+    "notify-i3" = "${pkgs.i3}/bin/i3-msg restart";
+    "change-background" = readFile ./change-background.sh;
+    "change-dpi" = ''
+      case "$AUTORANDR_CURRENT_PROFILE" in
+        default)
+          DPI=120
+          ;;
+        home)
+          DPI=192
+          ;;
+        work)
+          DPI=144
+          ;;
+        *)
+          echo "Unknown profle: $AUTORANDR_CURRENT_PROFILE"
+          exit 1
+      esac
+
+      echo "Xft.dpi: $DPI" | ${pkgs.xorg.xrdb}/bin/xrdb -merge
+    ''
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.hooks.postswitch

Postswitch hook executed after mode switch.

Type: attribute set of strings concatenated with "\n"s

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.hooks.predetect

Predetect hook executed before autorandr attempts to run xrandr. +

Type: attribute set of strings concatenated with "\n"s

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.hooks.preswitch

Preswitch hook executed before mode switch.

Type: attribute set of strings concatenated with "\n"s

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles

Autorandr profiles specification.

Type: attribute set of submodules

Default: + + { + + } + +

Example:

{
+  "work" = {
+    fingerprint = {
+      eDP1 = "<EDID>";
+      DP1 = "<EDID>";
+    };
+    config = {
+      eDP1.enable = false;
+      DP1 = {
+        enable = true;
+        crtc = 0;
+        primary = true;
+        position = "0x0";
+        mode = "3840x2160";
+        gamma = "1.0:0.909:0.833";
+        rate = "60.00";
+        rotate = "left";
+      };
+    };
+    hooks.postswitch = readFile ./work-postswitch.sh;
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config

Per output profile configuration.

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.enable

Whether to enable the output.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.crtc

Output video display controller.

Type: null or unsigned integer, meaning >=0

Default: + null +

Example: + 0 +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.dpi

Output DPI configuration.

Type: null or positive integer, meaning >0

Default: + null +

Example: + 96 +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.gamma

Output gamma configuration.

Type: string

Default: + "" +

Example: + "1.0:0.909:0.833" +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.mode

Output resolution.

Type: string

Default: + "" +

Example: + "3840x2160" +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.position

Output position

Type: string

Default: + "" +

Example: + "5760x0" +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.primary

Whether output should be marked as primary

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.rate

Output framerate.

Type: string

Default: + "" +

Example: + "60.00" +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.rotate

Output rotate configuration.

Type: null or one of "normal", "left", "right", "inverted"

Default: + null +

Example: + "left" +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.scale

Output scale configuration. +

+Either configure by pixels or a scaling factor. When using pixel method the +xrandr(1) +option +--scale-from +will be used; when using factor method the option +--scale +will be used. +

+This option is a shortcut version of the transform option and they are mutually +exclusive. +

Type: null or submodule

Default: + null +

Example:

{
+  x = 1.25;
+  y = 1.25;
+}
+

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.scale.method

Output scaling method.

Type: one of "factor", "pixel"

Default: + "factor" +

Example: + "pixel" +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.scale.x

Horizontal scaling factor/pixels.

Type: floating point number or positive integer, meaning >0

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.scale.y

Vertical scaling factor/pixels.

Type: floating point number or positive integer, meaning >0

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.config.<name>.transform

Refer to +xrandr(1) +for the documentation of the transform matrix. +

Type: null or 3×3 matrix of floating point numbers

Default: + null +

Example:

[
+  [ 0.6 0.0 0.0 ]
+  [ 0.0 0.6 0.0 ]
+  [ 0.0 0.0 1.0 ]
+]
+

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.fingerprint

Output name to EDID mapping. +Use autorandr --fingerprint to get current setup values. +

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.hooks

Profile hook scripts.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.hooks.postswitch

Postswitch hook executed after mode switch.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.hooks.predetect

Predetect hook executed before autorandr attempts to run xrandr. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.autorandr.profiles.<name>.hooks.preswitch

Preswitch hook executed before mode switch.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/autorandr.nix> +
programs.bash.enable

Whether to enable GNU Bourne-Again SHell.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.enableVteIntegration

Whether to enable integration with terminals using the VTE +library. This will let the terminal track the current working +directory. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/misc/vte.nix> +
programs.bash.historyControl

Controlling how commands are saved on the history list.

Type: list of one of "erasedups", "ignoredups", "ignorespace"s

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.historyFile

Location of the bash history file.

Type: string

Default: + "\$HOME/.bash_history" +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.historyFileSize

Number of history lines to keep on file.

Type: signed integer

Default: + 100000 +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.historyIgnore

List of commands that should not be saved to the history list.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "ls" "cd" "exit" + ] + +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.historySize

Number of history lines to keep in memory.

Type: signed integer

Default: + 10000 +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.initExtra

Extra commands that should be run when initializing an +interactive shell. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.logoutExtra

Extra commands that should be run when logging out of an +interactive shell. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.profileExtra

Extra commands that should be run when initializing a login +shell. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.sessionVariables

Environment variables that will be set for the Bash session. +

Type: attribute set

Default: + + { + + } + +

Example: + + { + MAILCHECK = 30; + } + +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.shellAliases

An attribute set that maps aliases (the top level attribute names in +this option) to command strings or directly to build outputs. +

Type: attribute set of strings

Default: + + { + + } + +

Example:

{
+  ll = "ls -l";
+  ".." = "cd ..";
+}
+

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bash.shellOptions

Shell options to set.

Type: list of strings

Default: + + [ + "histappend" "checkwinsize" "extglob" "globstar" "checkjobs" + ] + +

Declared by:

+ <home-manager/modules/programs/bash.nix> +
programs.bat.enable

Whether to enable bat, a cat clone with wings.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/bat.nix> +
programs.bat.config

Bat configuration. +

Type: attribute set of strings

Default: + + { + + } + +

Example: + + { + pager = "less -FR"; theme = "TwoDark"; + } + +

Declared by:

+ <home-manager/modules/programs/bat.nix> +
programs.bat.themes

Additional themes to provide. +

Type: attribute set of strings concatenated with "\n"s

Default: + + { + + } + +

Example:

{
+  dracula = builtins.readFile (pkgs.fetchFromGitHub {
+    owner = "dracula";
+    repo = "sublime"; # Bat uses sublime syntax for its themes
+    rev = "26c57ec282abcaa76e57e055f38432bd827ac34e";
+    sha256 = "019hfl4zbn4vm4154hh3bwk6hm7bdxbr1hdww83nabxwjn99ndhv";
+  } + "/Dracula.tmTheme");
+}
+

Declared by:

+ <home-manager/modules/programs/bat.nix> +
programs.beets.enable

Whether to enable the beets music library manager. This +defaults to false for state +version ≥ 19.03. For earlier versions beets is enabled if +programs.beets.settings is non-empty. +

Type: boolean

Default: + "false" +

Declared by:

+ <home-manager/modules/programs/beets.nix> +
programs.beets.package

The beets package to use. +Can be used to specify extensions. +

Type: package

Default: + pkgs.beets +

Example:

(pkgs.beets.override { enableCheck = true; })

Declared by:

+ <home-manager/modules/programs/beets.nix> +
programs.beets.settings

Configuration written to +~/.config/beets/config.yaml +

Type: attribute set

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/beets.nix> +
programs.broot.enable

Whether to enable Broot, a better way to navigate directories.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/broot.nix> +
programs.broot.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/broot.nix> +
programs.broot.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/broot.nix> +
programs.broot.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/broot.nix> +
programs.broot.skin

Color configuration. +

+Complete list of keys (expected to change before the v1 of broot): + +

  • char_match

  • code

  • directory

  • exe

  • file

  • file_error

  • flag_label

  • flag_value

  • input

  • link

  • permissions

  • selected_line

  • size_bar_full

  • size_bar_void

  • size_text

  • spinner

  • status_error

  • status_normal

  • table_border

  • tree

  • unlisted

+Add _fg for a foreground color and +_bg for a background colors. +

Type: attribute set of strings

Default: + + { + + } + +

Example:

{
+  status_normal_fg = "grayscale(18)";
+  status_normal_bg = "grayscale(3)";
+  status_error_fg = "red";
+  status_error_bg = "yellow";
+  tree_fg = "red";
+  selected_line_bg = "grayscale(7)";
+  permissions_fg = "grayscale(12)";
+  size_bar_full_bg = "red";
+  size_bar_void_bg = "black";
+  directory_fg = "lightyellow";
+  input_fg = "cyan";
+  flag_value_fg = "lightyellow";
+  table_border_fg = "red";
+  code_fg = "lightyellow";
+}
+

Declared by:

+ <home-manager/modules/programs/broot.nix> +
programs.broot.verbs

Define new verbs. The attribute name indicates how the verb is +called by the user, with placeholders for arguments. +

+The possible attributes are: +

+

execution (mandatory)

how the verb is executed

shortcut (optional)

an alternate way to call the verb (without + the arguments part)

leave_broot (optional)

whether to quit broot on execution + (default: true)

from_shell (optional)

whether the verb must be executed from the + parent shell (default: + false)

+

Type: attribute set of attribute set of boolean or stringss

Default: + + { + create {subpath} = + { + execution = "\$EDITOR {directory}/{subpath}"; + } + ; edit = + { + execution = "\$EDITOR {file}"; shortcut = "e"; + } + ; p = + { + execution = ":parent"; + } + ; view = + { + execution = "less {file}"; + } + ; + } + +

Example:

{
+  "p" = { execution = ":parent"; };
+  "edit" = { shortcut = "e"; execution = "$EDITOR {file}" ; };
+  "create {subpath}" = { execution = "$EDITOR {directory}/{subpath}"; };
+  "view" = { execution = "less {file}"; };
+  "blop {name}\\.{type}" = {
+    execution = "/bin/mkdir {parent}/{type} && /usr/bin/nvim {parent}/{type}/{name}.{type}";
+    from_shell = true;
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/broot.nix> +
programs.browserpass.enable

Whether to enable the browserpass extension host application.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/browserpass.nix> +
programs.browserpass.browsers

Which browsers to install browserpass for

Type: list of one of "chrome", "chromium", "firefox", "vivaldi"s

Default: + + [ + "chrome" "chromium" "firefox" "vivaldi" + ] + +

Example: + + [ + "firefox" + ] + +

Declared by:

+ <home-manager/modules/programs/browserpass.nix> +
programs.chromium.enable

Whether to enable Chromium.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/chromium.nix> +
programs.chromium.package

The Chromium package to use.

Type: package

Default: + pkgs.chromium +

Declared by:

+ <home-manager/modules/programs/chromium.nix> +
programs.chromium.extensions

List of Chromium extensions to install. +To find the extension ID, check its URL on the +Chrome Web Store. +

Type: list of strings

Default: + + [ + + ] + +

Example:

[
+  "chlffgpmiacpedhhbkiomidkjlcfhogd" # pushbullet
+  "mbniclmhobmnbdlbpiphghaielnnpgdp" # lightshot
+  "gcbommkclmclpchllfjekcdonpmejbdp" # https everywhere
+  "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
+]
+

Declared by:

+ <home-manager/modules/programs/chromium.nix> +
programs.command-not-found.enable

Whether to enable command-not-found hook for interactive shell.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/command-not-found/command-not-found.nix> +
programs.command-not-found.dbPath

Absolute path to programs.sqlite. By +default this file will be provided by your channel +(nixexprs.tar.xz). +

Type: path

Default: + "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite" +

Declared by:

+ <home-manager/modules/programs/command-not-found/command-not-found.nix> +
programs.dircolors.enable

Whether to manage .dir_colors +and set LS_COLORS. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/dircolors.nix> +
programs.dircolors.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/dircolors.nix> +
programs.dircolors.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/dircolors.nix> +
programs.dircolors.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/dircolors.nix> +
programs.dircolors.extraConfig

Extra lines added to .dir_colors file. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/dircolors.nix> +
programs.dircolors.settings

Options to add to .dir_colors file. +See dircolors --print-database +for options. +

Type: attribute set of strings

Default: + + { + + } + +

Example:

{
+  OTHER_WRITABLE = "30;46";
+  ".sh" = "01;32";
+  ".csh" = "01;32";
+}
+

Declared by:

+ <home-manager/modules/programs/dircolors.nix> +
programs.direnv.enable

Whether to enable direnv, the environment switcher.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/direnv.nix> +
programs.direnv.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/direnv.nix> +
programs.direnv.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/direnv.nix> +
programs.direnv.enableNixDirenvIntegration

Whether to enable nix-direnv, + a fast, persistent use_nix implementation for direnv.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/direnv.nix> +
programs.direnv.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/direnv.nix> +
programs.direnv.config

Configuration written to +~/.config/direnv/config.toml. +

+See +direnv.toml(1). +for the full list of options. +

Type: attribute set

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/direnv.nix> +
programs.direnv.stdlib

Custom stdlib written to +~/.config/direnv/direnvrc. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/direnv.nix> +
programs.eclipse.enable

Whether to enable Eclipse.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/eclipse.nix> +
programs.eclipse.enableLombok

Whether to enable the Lombok Java Agent in Eclipse. This is +necessary to use the Lombok class annotations. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/eclipse.nix> +
programs.eclipse.package

The Eclipse package to install. +

Type: package

Default: + pkgs.eclipses.eclipse-platform +

Example:

pkgs.eclipses.eclipse-java

Declared by:

+ <home-manager/modules/programs/eclipse.nix> +
programs.eclipse.jvmArgs

JVM arguments to use for the Eclipse process.

Type: list of strings

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/eclipse.nix> +
programs.eclipse.plugins

Plugins that should be added to Eclipse.

Type: list of packages

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/eclipse.nix> +
programs.emacs.enable

Whether to enable Emacs.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/emacs.nix> +
programs.emacs.package

The Emacs package to use.

Type: package

Default: + pkgs.emacs +

Example:

pkgs.emacs25-nox

Declared by:

+ <home-manager/modules/programs/emacs.nix> +
programs.emacs.extraPackages

Extra packages available to Emacs. To get a list of +available packages run: +nix-env -f '<nixpkgs>' -qaP -A emacsPackages. +

Type: Function that takes an attribute set and returns a list containing a selection of the values of the input set

Default: + "epkgs: []" +

Example:

epkgs: [ epkgs.emms epkgs.magit ]

Declared by:

+ <home-manager/modules/programs/emacs.nix> +
programs.emacs.overrides

Allows overriding packages within the Emacs package set. +

Type: An overlay function, takes self and super and returns an attribute set overriding the desired attributes.

Default: + "self: super: {}" +

Example:

self: super: rec {
+  haskell-mode = self.melpaPackages.haskell-mode;
+  # ...
+};
+

Declared by:

+ <home-manager/modules/programs/emacs.nix> +
programs.feh.enable

Whether to enable feh - a fast and light image viewer.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/feh.nix> +
programs.feh.buttons

Override feh's default mouse button mapping. If you want to disable an +action, set its value to null. If you want to bind multiple buttons to +an action, set its value to a list. +See https://man.finalrewind.org/1/feh/#x425554544f4e53 for +default bindings and available commands. +

Type: attribute set of null or string or signed integer or list of string or signed integerss

Default: + + { + + } + +

Example: + + { + prev_img = + [ + 3 "C-3" + ] + ; zoom_in = 4; zoom_out = "C-4"; + } + +

Declared by:

+ <home-manager/modules/programs/feh.nix> +
programs.feh.keybindings

Override feh's default keybindings. If you want to disable a keybinding +set its value to null. If you want to bind multiple keys to an action, +set its value to a list. +See https://man.finalrewind.org/1/feh/#x4b455953 for +default bindings and available commands. +

Type: attribute set of null or string or list of stringss

Default: + + { + + } + +

Example: + + { + prev_img = + [ + "h" "Left" + ] + ; zoom_in = "plus"; zoom_out = "minus"; + } + +

Declared by:

+ <home-manager/modules/programs/feh.nix> +
programs.firefox.enable

Whether to enable Firefox.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.enableAdobeFlash

Whether to enable the unfree Adobe Flash plugin.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.enableGnomeExtensions

Whether to enable the GNOME Shell native host connector. +You need set NixOS's `services.gnome3.chrome-gnome-shell.enable` +to true. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.package

The Firefox package to use. If state version ≥ 19.09 then +this should be a wrapped Firefox package. For earlier state +versions it should be an unwrapped Firefox package. +

Type: package

Default: + pkgs.firefox +

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.extensions

List of Firefox add-on packages to install. Some +pre-packaged add-ons are accessible from NUR, +https://github.com/nix-community/NUR. +Once you have NUR installed run + +

+  $ nix-env -f '<nixpkgs>' -qaP -A nur.repos.rycee.firefox-addons
+

+ +to list the available Firefox add-ons. + +

+ +Note that it is necessary to manually enable these +extensions inside Firefox after the first installation. + +

+ +Extensions listed here will only be available in Firefox +profiles managed through the +programs.firefox.profiles +option. This is due to recent changes in the way Firefox +handles extension side-loading. +

Type: list of packages

Default: + + [ + + ] + +

Example:

with pkgs.nur.repos.rycee.firefox-addons; [
+  https-everywhere
+  privacy-badger
+]
+

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.profiles

Attribute set of Firefox profiles.

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.profiles.<name>.extraConfig

Extra preferences to add to user.js. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.profiles.<name>.id

Profile ID. This should be set to a unique number per profile. +

Type: unsigned integer, meaning >=0

Default: + 0 +

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.profiles.<name>.isDefault

Whether this is a default profile.

Type: boolean

Default: + "true if profile ID is 0" +

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.profiles.<name>.name

Profile name.

Type: string

Default: + "‹name›" +

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.profiles.<name>.path

Profile path.

Type: string

Default: + "‹name›" +

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.profiles.<name>.settings

Attribute set of Firefox preferences.

Type: attribute set of boolean or signed integer or strings

Default: + + { + + } + +

Example:

{
+  "browser.startup.homepage" = "https://nixos.org";
+  "browser.search.region" = "GB";
+  "browser.search.isUS" = false;
+  "distribution.searchplugins.defaultLocale" = "en-GB";
+  "general.useragent.locale" = "en-GB";
+  "browser.bookmarks.showMobileBookmarks" = true;
+}
+

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.profiles.<name>.userChrome

Custom Firefox user chrome CSS.

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+/* Hide tab bar in FF Quantum */
+@-moz-document url("chrome://browser/content/browser.xul") {
+  #TabsToolbar {
+    visibility: collapse !important;
+    margin-bottom: 21px !important;
+  }
+
+  #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
+    visibility: collapse !important;
+  }
+}
+''

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.firefox.profiles.<name>.userContent

Custom Firefox user content CSS.

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+/* Hide scrollbar in FF Quantum */
+*{scrollbar-width:none !important}
+''

Declared by:

+ <home-manager/modules/programs/firefox.nix> +
programs.fish.enable

Whether to enable fish, the friendly interactive shell.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.package

The fish package to install. May be used to change the version. +

Type: package

Default: + pkgs.fish +

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.functions

Basic functions to add to fish. For more information see +https://fishshell.com/docs/current/cmds/function.html. +

Type: attribute set of strings concatenated with "\n" or submodules

Default: + + { + + } + +

Example:

{
+  __fish_command_not_found_handler = {
+    body = "__fish_default_command_not_found_handler $argv[1]";
+    onEvent = "fish_command_not_found";
+  };
+
+  gitignore = "curl -sL https://www.gitignore.io/api/$argv";
+}
+

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.interactiveShellInit

Shell script code called during interactive fish shell +initialisation. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.loginShellInit

Shell script code called during fish login shell +initialisation. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.plugins

The plugins to source in +conf.d/99plugins.fish. +

Type: list of submodules

Default: + + [ + + ] + +

Example:

[
+  {
+    name = "z";
+    src = pkgs.fetchFromGitHub {
+      owner = "jethrokuan";
+      repo = "z";
+      rev = "ddeb28a7b6a1f0ec6dae40c636e5ca4908ad160a";
+      sha256 = "0c5i7sdrsp0q3vbziqzdyqn4fmp235ax4mn4zslrswvn8g3fvdyh";
+    };
+  }
+
+  # oh-my-fish plugins are stored in their own repositories, which
+  # makes them simple to import into home-manager.
+  {
+    name = "fasd";
+    src = pkgs.fetchFromGitHub {
+      owner = "oh-my-fish";
+      repo = "plugin-fasd";
+      rev = "38a5b6b6011106092009549e52249c6d6f501fba";
+      sha256 = "06v37hqy5yrv5a6ssd1p3cjd9y3hnp19d3ab7dag56fs1qmgyhbs";
+    };
+  }
+]
+

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.plugins.*.name

The name of the plugin. +

Type: string

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.plugins.*.src

Path to the plugin folder. +

+Relevant pieces will be added to the fish function path and +the completion path. The init.fish and +key_binding.fish files are sourced if +they exist. +

Type: path

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.promptInit

Shell script code used to initialise fish prompt. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.shellAbbrs

An attribute set that maps aliases (the top level attribute names +in this option) to abbreviations. Abbreviations are expanded with +the longer phrase after they are entered. +

Type: attribute set of strings

Default: + + { + + } + +

Example: + + { + gco = "git checkout"; l = "less"; + } + +

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.shellAliases

An attribute set that maps aliases (the top level attribute names +in this option) to command strings or directly to build outputs. +

Type: attribute set of strings

Default: + + { + + } + +

Example:

{
+  ll = "ls -l";
+  ".." = "cd ..";
+}
+

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fish.shellInit

Shell script code called during fish shell +initialisation. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/fish.nix> +
programs.fzf.enable

Whether to enable fzf - a command-line fuzzy finder.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.changeDirWidgetCommand

The command that gets executed as the source for fzf for the +ALT-C keybinding. +

Type: null or string

Default: + null +

Example: + "fd --type d" +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.changeDirWidgetOptions

Command line options for the ALT-C keybinding. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--preview 'tree -C {} | head -200'" + ] + +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.defaultCommand

The command that gets executed as the default source for fzf +when running. +

Type: null or string

Default: + null +

Example: + "fd --type f" +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.defaultOptions

Extra command line options given to fzf by default. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--height 40%" "--border" + ] + +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.fileWidgetCommand

The command that gets executed as the source for fzf for the +CTRL-T keybinding. +

Type: null or string

Default: + null +

Example: + "fd --type f" +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.fileWidgetOptions

Command line options for the CTRL-T keybinding. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--preview 'head {}'" + ] + +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.historyWidgetCommand

The command that gets executed as the source for fzf for the +CTRL-R keybinding. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.fzf.historyWidgetOptions

Command line options for the CTRL-R keybinding. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--sort" "--exact" + ] + +

Declared by:

+ <home-manager/modules/programs/fzf.nix> +
programs.git.enable

Whether to enable Git.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.package

Git package to install. Use pkgs.gitAndTools.gitFull +to gain access to git send-email for instance. +

Type: package

Default: + pkgs.git +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.aliases

Git aliases to define.

Type: attribute set of strings

Default: + + { + + } + +

Example: + + { + co = "checkout"; + } + +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.attributes

List of defining attributes set globally.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "*.pdf diff=pdf" + ] + +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.delta.enable

Whether to enable the delta syntax highlighter. +See https://github.com/dandavison/delta. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.delta.options

Options to configure delta. +

Type: attribute set of string or boolean or signed integer or attribute set of string or boolean or signed integerss

Default: + + { + + } + +

Example: + + { + decorations = + { + commit-decoration-style = "bold yellow box ul"; file-decoration-style = "none"; file-style = "bold yellow ul"; + } + ; features = "decorations"; whitespace-error-style = "22 reverse"; + } + +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.extraConfig

Additional configuration to add. The use of string values is +deprecated and will be removed in the future. +

Type: strings concatenated with "\n" or attribute set of attribute set of string or boolean or signed integer or list of string or boolean or signed integers or attribute set of string or boolean or signed integer or list of string or boolean or signed integerssss

Default: + + { + + } + +

Example: + + { + core = + { + whitespace = "trailing-space,space-before-tab"; + } + ; url = + { + ssh://git@host = + { + insteadOf = "otherhost"; + } + ; + } + ; + } + +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.ignores

List of paths that should be globally ignored.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "*~" "*.swp" + ] + +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.includes

List of configuration files to include.

Type: list of submodules

Default: + + [ + + ] + +

Example:

[
+  { path = "~/path/to/config.inc"; }
+  {
+    path = "~/path/to/conditional.inc";
+    condition = "gitdir:~/src/dir";
+  }
+]
+

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.includes.*.condition

Include this configuration only when condition +matches. Allowed conditions are described in +git-config(1). +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.includes.*.contents

Configuration to include. If empty then a path must be given. +

Type: attribute set

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.includes.*.path

Path of the configuration file to include.

Type: string or path

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.lfs.enable

Whether to enable Git Large File Storage.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.lfs.skipSmudge

Skip automatic downloading of objects on clone or pull. +This requires a manual git lfs pull +every time a new commit is checked out on your repository. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.signing

Options related to signing commits using GnuPG.

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.signing.gpgPath

Path to GnuPG binary to use.

Type: string

Default: + "\${pkgs.gnupg}/bin/gpg2" +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.signing.key

The default GPG signing key fingerprint.

Type: string

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.signing.signByDefault

Whether commits should be signed by default.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.userEmail

Default user email to use.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.git.userName

Default user name to use.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/git.nix> +
programs.gnome-terminal.enable

Whether to enable Gnome Terminal.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile

A set of Gnome Terminal profiles.

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.allowBold

If true, allow applications in the +terminal to make text boldface. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.backspaceBinding

Which string the terminal should send to an application when the user +presses the Backspace key. + +

auto

+ Attempt to determine the right value from the terminal's IO settings. +

ascii-backspace

+ Send an ASCII backspace character (0x08). +

ascii-delete

+ Send an ASCII delete character (0x7F). +

delete-sequence

+ Send the @7 control sequence. +

tty

+ Send terminal’s erase setting. +

+

Type: one of "auto", "ascii-backspace", "ascii-delete", "delete-sequence", "tty"

Default: + "ascii-delete" +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors

The terminal colors, null to use system default.

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors.backgroundColor

The background color.

Type: string

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors.boldColor

The bold color, null to use same as foreground.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors.cursor

The color for the terminal cursor.

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors.cursor.background

The background color.

Type: string

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors.cursor.foreground

The foreground color.

Type: string

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors.foregroundColor

The foreground color.

Type: string

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors.highlight

The colors for the terminal’s highlighted area.

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors.highlight.background

The background color.

Type: string

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors.highlight.foreground

The foreground color.

Type: string

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.colors.palette

The terminal palette.

Type: list of strings

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.cursorBlinkMode

The cursor blink mode.

Type: one of "system", "on", "off"

Default: + "system" +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.cursorShape

The cursor shape.

Type: one of "block", "ibeam", "underline"

Default: + "block" +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.customCommand

The command to use to start the shell, or null for default shell. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.default

Whether this should be the default profile.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.deleteBinding

Which string the terminal should send to an application when the user +presses the Delete key. + +

auto

+ Send the @7 control sequence. +

ascii-backspace

+ Send an ASCII backspace character (0x08). +

ascii-delete

+ Send an ASCII delete character (0x7F). +

delete-sequence

+ Send the @7 control sequence. +

tty

+ Send terminal’s erase setting. +

+

Type: one of "auto", "ascii-backspace", "ascii-delete", "delete-sequence", "tty"

Default: + "delete-sequence" +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.font

The font name, null to use system default.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.loginShell

Run command as a login shell.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.scrollOnOutput

Whether to scroll when output is written.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.scrollbackLines

The number of scrollback lines to keep, null for infinite. +

Type: null or signed integer

Default: + 10000 +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.showScrollbar

Whether the scroll bar should be visible.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.profile.<name>.visibleName

The profile name.

Type: string

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.showMenubar

Whether to show the menubar by default

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.gnome-terminal.themeVariant

The theme variation to request

Type: one of "default", "light", "dark", "system"

Default: + "default" +

Declared by:

+ <home-manager/modules/programs/gnome-terminal.nix> +
programs.go.enable

Whether to enable Go.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/go.nix> +
programs.go.package

The Go package to use.

Type: package

Default: + pkgs.go +

Declared by:

+ <home-manager/modules/programs/go.nix> +
programs.go.packages

Packages to add to GOPATH.

Type: attribute set of paths

Default: + + { + + } + +

Example:

{
+  "golang.org/x/text" = builtins.fetchGit "https://go.googlesource.com/text";
+  "golang.org/x/time" = builtins.fetchGit "https://go.googlesource.com/time";
+}
+

Declared by:

+ <home-manager/modules/programs/go.nix> +
programs.go.extraGoPaths

Extra GOPATHs relative to HOME appended +after +programs.go.goPath, +if that option is set. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "extraGoPath1" "extraGoPath2" + ] + +

Declared by:

+ <home-manager/modules/programs/go.nix> +
programs.go.goBin

GOBIN relative to HOME

Type: null or string

Default: + null +

Example: + ".local/bin.go" +

Declared by:

+ <home-manager/modules/programs/go.nix> +
programs.go.goPath

Primary GOPATH relative to +HOME. It will be exported first and therefore +used by default by the Go tooling. +

Type: null or string

Default: + null +

Example: + "go" +

Declared by:

+ <home-manager/modules/programs/go.nix> +
programs.go.goPrivate

The GOPRIVATE environment variable controls +which modules the go command considers to be private (not +available publicly) and should therefore not use the proxy +or checksum database. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "*.corp.example.com" "rsc.io/private" + ] + +

Declared by:

+ <home-manager/modules/programs/go.nix> +
programs.gpg.enable

Whether to enable GnuPG.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/gpg.nix> +
programs.gpg.settings

GnuPG configuration options. Available options are described +in the gpg manpage: +https://gnupg.org/documentation/manpage.html. +

Type: attribute set of string or booleans

Example: + + { + no-comments = false; s2k-cipher-algo = "AES128"; + } + +

Declared by:

+ <home-manager/modules/programs/gpg.nix> +
programs.home-manager.enable

Whether to enable Home Manager.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/home-manager.nix> +
programs.home-manager.path

The default path to use for Home Manager. If this path does +not exist then +$HOME/.config/nixpkgs/home-manager and +$HOME/.nixpkgs/home-manager will be +attempted. +

Type: null or string

Default: + null +

Example: + "\$HOME/devel/home-manager" +

Declared by:

+ <home-manager/modules/programs/home-manager.nix> +
programs.htop.enable

Whether to enable htop.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.enableMouse

Enable mouse support.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.accountGuestInCpuMeter

Add guest time in CPU meter percentage.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.colorScheme

Which color scheme to use.

Type: one of 0, 1, 2, 3, 4, 5, 6

Default: + 0 +

Example: + 6 +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.cpuCountFromZero

Count CPUs from 0 instead of 1.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.delay

Set the delay between updates, in tenths of seconds.

Type: signed integer

Default: + 15 +

Example: + 2 +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.detailedCpuTime

Detailed CPU time (System/IO-Wait/Hard-IRQ/Soft-IRQ/Steal/Guest).

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.fields

Active fields shown in the table.

Type: list of one of "CGROUP", "CMAJFLT", "CMINFLT", "CNCLWB", "COMM", "CSTIME", "CTID", "CUTIME", "IO_PRIORITY", "IO_RATE", "IO_READ_RATE", "IO_WRITE_RATE", "MAJFLT", "MINFLT", "M_DRS", "M_DT", "M_LRS", "M_PSS", "M_PSSWP", "M_RESIDENT", "M_SHARE", "M_SIZE", "M_SWAP", "M_TRS", "NICE", "NLWP", "OOM", "PERCENT_CPU", "PERCENT_MEM", "PGRP", "PID", "PPID", "PRIORITY", "PROCESSOR", "RBYTES", "RCHAR", "SESSION", "STARTTIME", "STATE", "STIME", "ST_UID", "SYSCR", "SYSCW", "TGID", "TIME", "TPGID", "TTY_NR", "USER", "UTIME", "VPID", "VXID", "WBYTES", "WCHAR"s

Default: + + [ + "PID" "USER" "PRIORITY" "NICE" "M_SIZE" "M_RESIDENT" "M_SHARE" "STATE" "PERCENT_CPU" "PERCENT_MEM" "TIME" "COMM" + ] + +

Example: + + [ + "PID" "USER" "PRIORITY" "PERCENT_CPU" "M_RESIDENT" "PERCENT_MEM" "TIME" "COMM" + ] + +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.headerMargin

Leave a margin around header.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.hideKernelThreads

Hide kernel threads.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.hideThreads

Hide threads.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.hideUserlandThreads

Hide userland process threads.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.highlightBaseName

Highlight program basename.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.highlightMegabytes

Highlight large numbers in memory counters.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.highlightThreads

Display threads in a different color.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.meters

Meters shown in the header.

Type: submodule

Default: + + { + left = + [ + "AllCPUs" "Memory" "Swap" + ] + ; right = + [ + "Tasks" "LoadAverage" "Uptime" + ] + ; + } + +

Example: + + { + left = + [ + "Memory" "CPU" "LeftCPUs2" "RightCPUs2" + { + kind = "CPU"; mode = 3; + } + + ] + ; right = + [ + + { + kind = "Clock"; mode = 4; + } + "Uptime" "Tasks" "LoadAverage" + { + kind = "Battery"; mode = 1; + } + + ] + ; + } + +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.meters.left

Meters shown in the left header.

Type: list of submodule or one of "AllCPUs", "AllCPUs2", "AllCPUs4", "Battery", "Blank", "CPU", "CPU(1)", "CPU(2)", "CPU(3)", "CPU(4)", "CPU(5)", "CPU(6)", "CPU(7)", "CPU(8)", "CPUs", "Clock", "Hostname", "LeftCPUs", "LeftCPUs2", "LeftCPUs4", "Load", "LoadAverage", "Memory", "PressureStallCPUSome", "PressureStallIOFull", "PressureStallIOSome", "PressureStallMemoryFull", "PressureStallMemorySome", "Right", "RightCPUs", "RightCPUs2", "RightCPUs4", "Swap", "Tasks", "Uptime", "ZFSARC", "ZFSCARC" convertible to its

Default: + + [ + "AllCPUs" "Memory" "Swap" + ] + +

Example: + + [ + "Memory" "LeftCPUs2" "RightCPUs2" + { + kind = "CPU"; mode = 3; + } + + ] + +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.meters.left.*.kind

What kind of meter.

Type: one of "AllCPUs", "AllCPUs2", "AllCPUs4", "Battery", "Blank", "CPU", "CPU(1)", "CPU(2)", "CPU(3)", "CPU(4)", "CPU(5)", "CPU(6)", "CPU(7)", "CPU(8)", "CPUs", "Clock", "Hostname", "LeftCPUs", "LeftCPUs2", "LeftCPUs4", "Load", "LoadAverage", "Memory", "PressureStallCPUSome", "PressureStallIOFull", "PressureStallIOSome", "PressureStallMemoryFull", "PressureStallMemorySome", "Right", "RightCPUs", "RightCPUs2", "RightCPUs4", "Swap", "Tasks", "Uptime", "ZFSARC", "ZFSCARC"

Example: + "AllCPUs" +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.meters.left.*.mode

Which mode the meter should use, one of 1(Bar) 2(Text) 3(Graph) 4(LED).

Type: one of 1, 2, 3, 4

Example: + 2 +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.meters.right

Meters shown in the right header.

Type: list of submodule or one of "AllCPUs", "AllCPUs2", "AllCPUs4", "Battery", "Blank", "CPU", "CPU(1)", "CPU(2)", "CPU(3)", "CPU(4)", "CPU(5)", "CPU(6)", "CPU(7)", "CPU(8)", "CPUs", "Clock", "Hostname", "LeftCPUs", "LeftCPUs2", "LeftCPUs4", "Load", "LoadAverage", "Memory", "PressureStallCPUSome", "PressureStallIOFull", "PressureStallIOSome", "PressureStallMemoryFull", "PressureStallMemorySome", "Right", "RightCPUs", "RightCPUs2", "RightCPUs4", "Swap", "Tasks", "Uptime", "ZFSARC", "ZFSCARC" convertible to its

Default: + + [ + "Tasks" "LoadAverage" "Uptime" + ] + +

Example: + + [ + + { + kind = "Clock"; mode = 4; + } + "Uptime" "Tasks" + ] + +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.meters.right.*.kind

What kind of meter.

Type: one of "AllCPUs", "AllCPUs2", "AllCPUs4", "Battery", "Blank", "CPU", "CPU(1)", "CPU(2)", "CPU(3)", "CPU(4)", "CPU(5)", "CPU(6)", "CPU(7)", "CPU(8)", "CPUs", "Clock", "Hostname", "LeftCPUs", "LeftCPUs2", "LeftCPUs4", "Load", "LoadAverage", "Memory", "PressureStallCPUSome", "PressureStallIOFull", "PressureStallIOSome", "PressureStallMemoryFull", "PressureStallMemorySome", "Right", "RightCPUs", "RightCPUs2", "RightCPUs4", "Swap", "Tasks", "Uptime", "ZFSARC", "ZFSCARC"

Example: + "AllCPUs" +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.meters.right.*.mode

Which mode the meter should use, one of 1(Bar) 2(Text) 3(Graph) 4(LED).

Type: one of 1, 2, 3, 4

Example: + 2 +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.shadowOtherUsers

Shadow other users' processes.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.showCpuFrequency

Show CPU frequency.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.showCpuUsage

Show CPU usage frequency.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.showProgramPath

Show program path.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.showThreadNames

Show custom thread names.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.sortDescending

Whether to sort descending or not.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.sortKey

Which field to use for sorting.

Type: one of "CGROUP", "CMAJFLT", "CMINFLT", "CNCLWB", "COMM", "CSTIME", "CTID", "CUTIME", "IO_PRIORITY", "IO_RATE", "IO_READ_RATE", "IO_WRITE_RATE", "MAJFLT", "MINFLT", "M_DRS", "M_DT", "M_LRS", "M_PSS", "M_PSSWP", "M_RESIDENT", "M_SHARE", "M_SIZE", "M_SWAP", "M_TRS", "NICE", "NLWP", "OOM", "PERCENT_CPU", "PERCENT_MEM", "PGRP", "PID", "PPID", "PRIORITY", "PROCESSOR", "RBYTES", "RCHAR", "SESSION", "STARTTIME", "STATE", "STIME", "ST_UID", "SYSCR", "SYSCW", "TGID", "TIME", "TPGID", "TTY_NR", "USER", "UTIME", "VPID", "VXID", "WBYTES", "WCHAR"

Default: + "PERCENT_CPU" +

Example: + "TIME" +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.treeView

Tree view.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.updateProcessNames

Update process names on every refresh.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.htop.vimMode

Vim key bindings.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/htop.nix> +
programs.i3status.enable

Whether to enable i3status.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/i3status.nix> +
programs.i3status.enableDefault

Whether or not to enable +the default configuration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/i3status.nix> +
programs.i3status.general

Configuration to add to i3status config +general section. +See +i3status(1) +for options. +

Type: attribute set of boolean or signed integer or strings

Default: + + { + + } + +

Example:

{
+  colors = true;
+  color_good = "#e0e0e0";
+  color_degraded = "#d7ae00";
+  color_bad = "#f69d6a";
+  interval = 1;
+}
+

Declared by:

+ <home-manager/modules/programs/i3status.nix> +
programs.i3status.modules

Modules to add to i3status config file. +See +i3status(1) +for options. +

Type: attribute set of submodules

Default: + + { + + } + +

Example:

{
+  "volume master" = {
+    position = 1;
+    settings = {
+      format = "♪ %volume";
+      format_muted = "♪ muted (%volume)";
+      device = "pulse:1";
+    };
+  };
+  "disk /" = {
+    position = 2;
+    settings = {
+      format = "/ %avail";
+    };
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/i3status.nix> +
programs.i3status.modules.<name>.enable

Whether or not to enable this module. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/i3status.nix> +
programs.i3status.modules.<name>.position

Position of this module in i3status order. +

Type: signed integer or floating point number

Declared by:

+ <home-manager/modules/programs/i3status.nix> +
programs.i3status.modules.<name>.settings

Configuration to add to this i3status module. +See +i3status(1) +for options. +

Type: attribute set of boolean or signed integer or strings

Default: + + { + + } + +

Example:

{
+  format = "♪ %volume";
+  format_muted = "♪ muted (%volume)";
+  device = "pulse:1";
+}
+

Declared by:

+ <home-manager/modules/programs/i3status.nix> +
programs.info.enable

Whether to enable GNU Info.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/info.nix> +
programs.irssi.enable

Whether to enable the Irssi chat client.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.aliases

An attribute set that maps aliases to commands.

Type: attribute set of strings

Default: + + { + + } + +

Example: + + { + BYE = "quit"; J = "join"; + } + +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.extraConfig

These lines are appended to the Irssi configuration.

Type: string

Default: + "" +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks

An attribute set of chat networks.

Type: attribute set of submodules

Default: + + { + + } + +

Example:

{
+  freenode = {
+    nick = "hmuser";
+    server = {
+      address = "chat.freenode.net";
+      port = 6697;
+      autoConnect = true;
+    };
+    channels = {
+      nixos.autoJoin = true;
+    };
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks.<name>.autoCommands

List of commands to execute on connect.

Type: list of strings

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks.<name>.channels

Channels for the given network.

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks.<name>.channels.<name>.autoJoin

Whether to join this channel on connect.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks.<name>.nick

Nickname in that network.

Type: string

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks.<name>.server.address

Address of the chat server.

Type: string

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks.<name>.server.autoConnect

Whether Irssi connects to the server on launch.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks.<name>.server.port

Port of the chat server.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: + 6667 +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks.<name>.server.ssl.enable

Whether SSL should be used.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks.<name>.server.ssl.verify

Whether the SSL certificate should be verified.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.irssi.networks.<name>.type

Type of the network.

Type: string

Default: + "IRC" +

Declared by:

+ <home-manager/modules/programs/irssi.nix> +
programs.jq.enable

Whether to enable the jq command-line JSON processor.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/jq.nix> +
programs.jq.colors

The colors used in colored JSON output.

See https://stedolan.github.io/jq/manual/#Colors. +

Type: submodule

Default: + + { + arrays = "1;39"; false = "0;39"; null = "1;30"; numbers = "0;39"; objects = "1;39"; strings = "0;32"; true = "0;39"; + } + +

Example:

{
+  null    = "1;30";
+  false   = "0;31";
+  true    = "0;32";
+  numbers = "0;36";
+  strings = "0;33";
+  arrays  = "1;35";
+  objects = "1;37";
+}
+

Declared by:

+ <home-manager/modules/programs/jq.nix> +
programs.kakoune.enable

Whether to enable the kakoune text editor.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config

kakoune configuration options.

Type: null or submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.alignWithTabs

Use tabs for the align command. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.autoComplete

Modes in which to display possible completions. +The kakoune default is [ "insert" "prompt" ]. +

Type: null or list of one of "insert", "prompt"s

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.autoInfo

Contexts in which to display automatic information box. +The kakoune default is [ "command" "onkey" ]. +

Type: null or list of one of "command", "onkey", "normal"s

Default: + null +

Example: + + [ + "command" "normal" + ] + +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.autoReload

Reload buffers when an external modification is detected. +The kakoune default is "ask". +

Type: null or one of "yes", "no", "ask"

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.colorScheme

Set the color scheme. To see available schemes, enter +colorscheme at the kakoune prompt. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.hooks

Global hooks. For documentation, see +https://github.com/mawww/kakoune/blob/master/doc/pages/hooks.asciidoc. +

Type: list of submodules

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.hooks.*.commands

Commands to run when the hook is activated. +

Type: strings concatenated with "\n"

Default: + "" +

Example: + "set-option window indentwidth 2" +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.hooks.*.group

Add the hook to the named group. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.hooks.*.name

The name of the hook. For a description, see +https://github.com/mawww/kakoune/blob/master/doc/pages/hooks.asciidoc#default-hooks. +

Type: one of "NormalBegin", "NormalIdle", "NormalEnd", "NormalKey", "InsertBegin", "InsertIdle", "InsertEnd", "InsertKey", "InsertChar", "InsertDelete", "InsertMove", "WinCreate", "WinClose", "WinResize", "WinDisplay", "WinSetOption", "BufSetOption", "BufNewFile", "BufOpenFile", "BufCreate", "BufWritePre", "BufWritePost", "BufReload", "BufClose", "BufOpenFifo", "BufReadFifo", "BufCloseFifo", "RuntimeError", "ModeChange", "PromptIdle", "GlobalSetOption", "KakBegin", "KakEnd", "FocusIn", "FocusOut", "RawKey", "InsertCompletionShow", "InsertCompletionHide", "InsertCompletionSelect", "ModuleLoaded"

Example: + "SetOption" +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.hooks.*.once

Remove the hook after running it once. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.hooks.*.option

Additional option to pass to the hook. +

Type: null or string

Default: + null +

Example: + "filetype=latex" +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.incrementalSearch

Execute a search as it is being typed. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.indentWidth

The width of an indentation in spaces. +The kakoune default is 4. +If 0, a tab will be used instead. +

Type: null or unsigned integer, meaning >=0

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.keyMappings

User-defined key mappings. For documentation, see +https://github.com/mawww/kakoune/blob/master/doc/pages/mapping.asciidoc. +

Type: list of submodules

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.keyMappings.*.docstring

Optional documentation text to display in info boxes. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.keyMappings.*.effect

The sequence of keys to be mapped. +

Type: string

Example: + ":wq<ret>" +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.keyMappings.*.key

The key to be mapped. See +https://github.com/mawww/kakoune/blob/master/doc/pages/mapping.asciidoc#mappable-keys +for possible values. +

Type: string

Example: + "<a-x>" +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.keyMappings.*.mode

The mode in which the mapping takes effect. +

Type: string

Example: + "user" +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.numberLines

Settings for the number lines highlighter. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.numberLines.enable

Whether to enable the number lines highlighter.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.numberLines.highlightCursor

Highlight the cursor line with a separate face. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.numberLines.relative

Show line numbers relative to the main cursor line. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.numberLines.separator

String that separates the line number column from the +buffer contents. The kakoune default is +"|". +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.scrollOff

How many lines and columns to keep visible around the cursor. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.scrollOff.columns

The number of columns to keep visible around the cursor. +

Type: unsigned integer, meaning >=0

Default: + 0 +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.scrollOff.lines

The number of lines to keep visible around the cursor. +

Type: unsigned integer, meaning >=0

Default: + 0 +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.showMatching

Highlight the matching char of the character under the +selections' cursor using the MatchingChar +face. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.showWhitespace

Settings for the show whitespaces highlighter. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.showWhitespace.enable

Whether to enable the show whitespace highlighter.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.showWhitespace.lineFeed

The character to display for line feeds. +The kakoune default is "¬". +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.showWhitespace.nonBreakingSpace

The character to display for non-breaking spaces. +The kakoune default is "⍽". +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.showWhitespace.space

The character to display for spaces. +The kakoune default is "·". +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.showWhitespace.tab

The character to display for tabs. +The kakoune default is "→". +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.showWhitespace.tabStop

The character to append to tabs to reach the width of a tabstop. +The kakoune default is " ". +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.tabStop

The width of a tab in spaces. The kakoune default is +6. +

Type: null or unsigned integer, meaning >=0

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.ui

Settings for the ncurses interface. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.ui.enableMouse

Whether to enable mouse support. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.ui.assistant

The assistant displayed in info boxes. +

Type: one of "clippy", "cat", "dilbert", "none"

Default: + "clippy" +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.ui.changeColors

Change color palette. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.ui.setTitle

Change the title of the terminal emulator. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.ui.shiftFunctionKeys

Amount by which shifted function keys are offset. That +is, if the terminal sends F13 for Shift-F1, this +should be 12. +

Type: null or unsigned integer, meaning >=0

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.ui.statusLine

Where to display the status line. +

Type: one of "top", "bottom"

Default: + "bottom" +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.ui.useBuiltinKeyParser

Bypass ncurses key parser and use an internal one. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.ui.wheelDownButton

Button to send for wheel down events. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.ui.wheelUpButton

Button to send for wheel up events. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.wrapLines

Settings for the wrap lines highlighter. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.wrapLines.enable

Whether to enable the wrap lines highlighter.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.wrapLines.indent

Preserve line indentation when wrapping. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.wrapLines.marker

Prefix wrapped lines with marker text. +If not null, +the marker text will be displayed in the indentation if possible. +

Type: null or string

Default: + null +

Example: + "⏎" +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.wrapLines.maxWidth

Wrap text at maxWidth, even if the window is wider. +

Type: null or unsigned integer, meaning >=0

Default: + null +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.config.wrapLines.word

Wrap at word boundaries instead of codepoint boundaries. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.extraConfig

Extra configuration lines to add to +~/.config/kak/kakrc. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.kakoune.plugins

List of kakoune plugins to install. To get a list of +supported plugins run: +nix-env -f '<nixpkgs>' -qaP -A kakounePlugins. +

Type: list of packages

Default: + + [ + + ] + +

Example:

[ pkgs.kakounePlugins.kak-fzf ]

Declared by:

+ <home-manager/modules/programs/kakoune.nix> +
programs.keychain.enable

Whether to enable keychain.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/keychain.nix> +
programs.keychain.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/keychain.nix> +
programs.keychain.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/keychain.nix> +
programs.keychain.enableXsessionIntegration

Whether to run keychain from your ~/.xsession. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/keychain.nix> +
programs.keychain.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/keychain.nix> +
programs.keychain.package

Keychain package to install. +

Type: package

Default: + pkgs.keychain +

Declared by:

+ <home-manager/modules/programs/keychain.nix> +
programs.keychain.agents

Agents to add. +

Type: list of strings

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/keychain.nix> +
programs.keychain.extraFlags

Extra flags to pass to keychain. +

Type: list of strings

Default: + + [ + "--quiet" + ] + +

Declared by:

+ <home-manager/modules/programs/keychain.nix> +
programs.keychain.inheritType

Inherit type to attempt from agent variables from the environment. +

Type: null or one of "local", "any", "local-once", "any-once"

Default: + null +

Declared by:

+ <home-manager/modules/programs/keychain.nix> +
programs.keychain.keys

Keys to add to keychain. +

Type: list of strings

Default: + + [ + "id_rsa" + ] + +

Declared by:

+ <home-manager/modules/programs/keychain.nix> +
programs.kitty.enable

Whether to enable Kitty terminal emulator.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/kitty.nix> +
programs.kitty.extraConfig

Additional configuration to add.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/kitty.nix> +
programs.kitty.font

The font to use.

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/kitty.nix> +
programs.kitty.font.package

Package providing the font. This package will be installed +to your profile. If null then the font +is assumed to already be available in your profile. +

Type: null or package

Default: + null +

Example:

pkgs.dejavu_fonts

Declared by:

+ <home-manager/modules/programs/kitty.nix> +
programs.kitty.font.name

The family name and size of the font within the package. +

Type: string

Example: + "DejaVu Sans 8" +

Declared by:

+ <home-manager/modules/programs/kitty.nix> +
programs.kitty.keybindings

Mapping of keybindings to actions.

Type: attribute set of strings

Default: + + { + + } + +

Example:

{
+  "ctrl+c" = "copy_or_interrupt";
+  "ctrl+f>2" = "set_font_size 20";
+}
+

Declared by:

+ <home-manager/modules/programs/kitty.nix> +
programs.kitty.settings

Configuration written to +~/.config/kitty/kitty.conf. See +https://sw.kovidgoyal.net/kitty/conf.html +for the documentation. +

Type: attribute set of string or boolean or signed integers

Default: + + { + + } + +

Example:

{
+  scrollback_lines = 10000;
+  enable_audio_bell = false;
+  update_check_interval = 0;
+}
+

Declared by:

+ <home-manager/modules/programs/kitty.nix> +
programs.lesspipe.enable

Whether to enable lesspipe preprocessor for less.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/lesspipe.nix> +
programs.lf.enable

Whether to enable lf.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/lf.nix> +
programs.lf.cmdKeybindings

Keys to bind to command line commands which can only be one of the +builtin commands. Keys set to null or an empty string are deleted. +

Type: attribute set of null or strings

Default: + + { + + } + +

Example:

{ "<c-g>" = "cmd-escape"; }

Declared by:

+ <home-manager/modules/programs/lf.nix> +
programs.lf.commands

Commands to declare. Commands set to null or an empty string are +deleted. +

Type: attribute set of null or strings

Default: + + { + + } + +

Example: + + { + get-mime-type = ''%xdg-mime query filetype "$f"''; open = "\$\$OPENER \$f"; + } + +

Declared by:

+ <home-manager/modules/programs/lf.nix> +
programs.lf.extraConfig

Custom lfrc lines.

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+$mkdir -p ~/.trash
+''

Declared by:

+ <home-manager/modules/programs/lf.nix> +
programs.lf.keybindings

Keys to bind. Keys set to null or an empty string are deleted.

Type: attribute set of null or strings

Default: + + { + + } + +

Example: + + { + D = "trash"; U = "!du -sh"; gg = null; gh = "cd ~"; i = "\$less \$f"; + } + +

Declared by:

+ <home-manager/modules/programs/lf.nix> +
programs.lf.previewer.keybinding

Key to bind to the script at previewer.source and +pipe through less. Setting to null will not bind any key. +

Type: null or string

Default: + null +

Example: + "i" +

Declared by:

+ <home-manager/modules/programs/lf.nix> +
programs.lf.previewer.source

Script or executable to use to preview files. Sets lf's +previewer option. +

Type: null or path

Default: + null +

Example:

pkgs.writeShellScript "pv.sh" ''
+  #!/bin/sh
+
+  case "$1" in
+      *.tar*) tar tf "$1";;
+      *.zip) unzip -l "$1";;
+      *.rar) unrar l "$1";;
+      *.7z) 7z l "$1";;
+      *.pdf) pdftotext "$1" -;;
+      *) highlight -O ansi "$1" || cat "$1";;
+  esac
+''
+

Declared by:

+ <home-manager/modules/programs/lf.nix> +
programs.lf.settings

An attribute set of lf settings. The attribute names and corresponding +values must be among the following supported options. + +

anchorfindboolean
color256boolean
dircountsboolean
dirfirstboolean
drawboxboolean
errorfmtstring
filesepstring
findlensigned integer
globsearchboolean
hiddenboolean
iconsboolean
ifsstring
ignorecaseboolean
ignorediaboolean
incsearchboolean
infostring
numberboolean
periodsigned integer
previewboolean
promptfmtstring
ratiosstring
relativenumberboolean
reverseboolean
scrolloffsigned integer
shellstring
shelloptsstring
smartcaseboolean
smartdiaboolean
sortbystring
tabstopsigned integer
timefmtstring
wrapscanboolean
wrapscrollboolean

+ +See the lf documentation for detailed descriptions of these options. +Note, use previewer to set lf's +previewer option, and +extraConfig for any other option not listed above. +All string options are quoted with double quotes. +

Type: submodule

Default: + + { + + } + +

Example: + + { + number = true; ratios = "1:1:2"; tabstop = 4; + } + +

Declared by:

+ <home-manager/modules/programs/lf.nix> +
programs.lieer.enable

Whether to enable lieer Gmail synchronization for notmuch.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/lieer.nix> +
programs.lsd.enable

Whether to enable lsd.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/lsd.nix> +
programs.lsd.enableAliases

Whether to enable recommended lsd aliases. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/lsd.nix> +
programs.mako.enable

Whether to enable Mako, lightweight notification daemon for Wayland +.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.actions

Applications may request an action to be associated with activating a +notification. Disabling this will cause mako to ignore these requests. +

Type: null or boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.anchor

Show notifications at the specified position on the output. +Supported values are top-right, top-center, top-left, bottom-right, +bottom-center, bottom-left, and center. +

Type: null or one of "top-right", "top-center", "top-left", "bottom-right", "bottom-center", "bottom-left", "center"

Default: + "top-right" +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.backgroundColor

Set popup background color to a specific color, represented in hex +color code. +

Type: null or string

Default: + "#285577FF" +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.borderColor

Set popup border color to a specific color, represented in hex color +code. +

Type: null or string

Default: + "#4C7899FF" +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.borderRadius

Set popup corner radius to the specified number of pixels. +

Type: null or signed integer

Default: + 0 +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.borderSize

Set popup border size to the specified number of pixels. +

Type: null or signed integer

Default: + 1 +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.defaultTimeout

Set the default timeout to timeout in milliseconds. To disable the +timeout, set it to zero. +

Type: null or signed integer

Default: + 0 +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.font

Font to use, in Pango format. +

Type: null or string

Default: + "monospace 10" +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.format

Set notification format string to format. See FORMAT SPECIFIERS for +more information. To change this for grouped notifications, set it +within a grouped criteria. +

Type: null or string

Default: + ''<b>%s</b>\n%b'' +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.groupBy

A comma-separated list of criteria fields that will be compared to +other visible notifications to determine if this one should form a +group with them. All listed criteria must be exactly equal for two +notifications to group. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.height

Set maximum height of notification popups. Notifications whose text +takes up less space are shrunk to fit. +

Type: null or signed integer

Default: + 100 +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.iconPath

Paths to search for icons when a notification specifies a name +instead of a full path. Colon-delimited. This approximates the search +algorithm used by the XDG Icon Theme Specification, but does not +support any of the theme metadata. Therefore, if you want to search +parent themes, you'll need to add them to the path manually. +

+The /usr/share/icons/hicolor and +/usr/share/pixmaps directories are +always searched. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.icons

Whether or not to show icons in notifications. +

Type: null or boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.ignoreTimeout

If set, mako will ignore the expire timeout sent by notifications +and use the one provided by default-timeout instead. +

Type: null or boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.layer

Arrange mako at the specified layer, relative to normal windows. +Supported values are background, bottom, top, and overlay. Using +overlay will cause notifications to be displayed above fullscreen +windows, though this may also occur at top depending on your +compositor. +

Type: null or one of "background", "bottom", "top", "overlay"

Default: + "top" +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.margin

Set margin of each edge specified in pixels. Specify single value to +apply margin on all sides. Two comma-seperated values will set +vertical and horizontal edges seperately. Four comma-seperated will +give each edge a seperate value. +For example: 10,20,5 will set top margin to 10, left and right to 20 +and bottom to five. +

Type: null or string

Default: + "10" +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.markup

If 1, enable Pango markup. If 0, disable Pango markup. If enabled, +Pango markup will be interpreted in your format specifier and in the +body of notifications. +

Type: null or boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.maxIconSize

Set maximum icon size to the specified number of pixels. +

Type: null or signed integer

Default: + 64 +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.maxVisible

Set maximum number of visible notifications. Set -1 to show all. +

Type: null or signed integer

Default: + 5 +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.output

Show notifications on the specified output. If empty, notifications +will appear on the focused output. Requires the compositor to support +the Wayland protocol xdg-output-unstable-v1 version 2. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.padding

Set padding of each edge specified in pixels. Specify single value to +apply margin on all sides. Two comma-seperated values will set +vertical and horizontal edges seperately. Four comma-seperated will +give each edge a seperate value. +For example: 10,20,5 will set top margin to 10, left and right to 20 +and bottom to five. +

Type: null or string

Default: + "5" +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.progressColor

Set popup progress indicator color to a specific color, +represented in hex color code. To draw the progress +indicator on top of the background color, use the +over attribute. To replace the background +color, use the source attribute (this can +be useful when the notification is semi-transparent). +

Type: null or string

Default: + "over #5588AAFF" +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.sort

Sorts incoming notifications by time and/or priority in ascending(+) +or descending(-) order. +

Type: null or one of "+time", "-time", "+priority", "-priority"

Default: + "-time" +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.textColor

Set popup text color to a specific color, represented in hex color +code. +

Type: null or string

Default: + "#FFFFFFFF" +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.mako.width

Set width of notification popups in specified number of pixels. +

Type: null or signed integer

Default: + 300 +

Declared by:

+ <home-manager/modules/services/mako.nix> +
programs.man.enable

Whether to enable manual pages and the man +command. This also includes "man" outputs of all +home.packages. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/man.nix> +
programs.man.generateCaches

Whether to generate the manual page index caches using +mandb(8). This allows searching for a page or +keyword using utilities like apropos(1). +

+This feature is disabled by default because it slows down +building. If you don't mind waiting a few more seconds when +Home Manager builds a new generation, you may safely enable +this option. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/man.nix> +
programs.matplotlib.enable

Whether to enable matplotlib, a plotting library for python.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/matplotlib.nix> +
programs.matplotlib.config

Add terms to the matplotlibrc file to +control the default matplotlib behavior. +

Type: attribute set

Default: + + { + + } + +

Example:

{
+  backend = "Qt5Agg";
+  axes = {
+    grid = true;
+    facecolor = "black";
+    edgecolor = "FF9900";
+  };
+  grid.color = "FF9900";
+}
+

Declared by:

+ <home-manager/modules/programs/matplotlib.nix> +
programs.matplotlib.extraConfig

Additional commands for matplotlib that will be added to the +matplotlibrc file. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/matplotlib.nix> +
programs.mbsync.enable

Whether to enable mbsync IMAP4 and Maildir mailbox synchronizer.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
programs.mbsync.package

The package to use for the mbsync binary.

Type: package

Default: + pkgs.isync +

Example:

pkgs.isync

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
programs.mbsync.extraConfig

Extra configuration lines to add to the mbsync configuration. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
programs.mbsync.groups

Definition of groups. +

Type: attribute set of attribute set of list of stringsss

Default: + + { + + } + +

Example:

{
+  inboxes = {
+    account1 = [ "Inbox" ];
+    account2 = [ "Inbox" ];
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/mbsync.nix> +
programs.mcfly.enable

Whether to enable mcfly.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/mcfly.nix> +
programs.mcfly.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/mcfly.nix> +
programs.mcfly.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/mcfly.nix> +
programs.mcfly.enableLightTheme

Whether to enable light mode theme. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/mcfly.nix> +
programs.mcfly.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/mcfly.nix> +
programs.mcfly.keyScheme

Key scheme to use. +

Type: one of "emacs", "vim"

Default: + "emacs" +

Declared by:

+ <home-manager/modules/programs/mcfly.nix> +
programs.mercurial.enable

Whether to enable Mercurial.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/mercurial.nix> +
programs.mercurial.package

Mercurial package to install.

Type: package

Default: + pkgs.mercurial +

Declared by:

+ <home-manager/modules/programs/mercurial.nix> +
programs.mercurial.aliases

Mercurial aliases to define.

Type: attribute set

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/mercurial.nix> +
programs.mercurial.extraConfig

Additional configuration to add.

Type: attribute set or strings concatenated with "\n"

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/mercurial.nix> +
programs.mercurial.ignores

List of globs for files to be globally ignored.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "*~" "*.swp" + ] + +

Declared by:

+ <home-manager/modules/programs/mercurial.nix> +
programs.mercurial.ignoresRegexp

List of regular expressions for files to be globally ignored.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "^.*~\$" ''^.*\.swp$'' + ] + +

Declared by:

+ <home-manager/modules/programs/mercurial.nix> +
programs.mercurial.userEmail

Default user email to use.

Type: string

Declared by:

+ <home-manager/modules/programs/mercurial.nix> +
programs.mercurial.userName

Default user name to use.

Type: string

Declared by:

+ <home-manager/modules/programs/mercurial.nix> +
programs.mpv.enable

Whether to enable mpv.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/mpv.nix> +
programs.mpv.package

Resulting mpv package. +

Type: package (read only)

Declared by:

+ <home-manager/modules/programs/mpv.nix> +
programs.mpv.bindings

Input configuration written to +~/.config/mpv/input.conf. See +mpv(1) +for the full list of options. +

Type: attribute set of strings

Default: + + { + + } + +

Example:

{
+  WHEEL_UP = "seek 10";
+  WHEEL_DOWN = "seek -10";
+  "Alt+0" = "set window-scale 0.5";
+}
+

Declared by:

+ <home-manager/modules/programs/mpv.nix> +
programs.mpv.config

Configuration written to +~/.config/mpv/mpv.conf. See +mpv(1) +for the full list of options. +

Type: attribute set of string or signed integer or boolean or floating point numbers

Default: + + { + + } + +

Example:

{
+  profile = "gpu-hq";
+  force-window = "yes";
+  ytdl-format = "bestvideo+bestaudio";
+  cache-default = 4000000;
+}
+

Declared by:

+ <home-manager/modules/programs/mpv.nix> +
programs.mpv.profiles

Sub-configuration options for specific profiles written to +~/.config/mpv/mpv.conf. See +programs.mpv.config for more information. +

Type: attribute set of attribute set of string or signed integer or boolean or floating point numberss

Default: + + { + + } + +

Example:

{
+  fast = {
+    vo = "vdpau";
+  };
+  "protocol.dvd" = {
+    profile-desc = "profile for dvd:// streams";
+    alang = "en";
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/mpv.nix> +
programs.mpv.scripts

List of scripts to use with mpv. +

Type: list of package or strings

Default: + + [ + + ] + +

Example:

[ pkgs.mpvScripts.mpris ]

Declared by:

+ <home-manager/modules/programs/mpv.nix> +
programs.msmtp.enable

Whether to enable msmtp.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/msmtp.nix> +
programs.msmtp.extraConfig

Extra configuration lines to add to ~/.msmtprc. +See https://marlam.de/msmtp/msmtprc.txt for examples. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/msmtp.nix> +
programs.mu.enable

Whether to enable mu, a maildir indexer and searcher.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/mu.nix> +
programs.ncmpcpp.enable

Whether to enable ncmpcpp - an ncurses Music Player Daemon (MPD) client.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/ncmpcpp.nix> +
programs.ncmpcpp.package

Package providing the ncmpcpp command. +

Type: package

Default: + pkgs.ncmpcpp +

Example:

pkgs.ncmpcpp.override { visualizerSupport = true; }

Declared by:

+ <home-manager/modules/programs/ncmpcpp.nix> +
programs.ncmpcpp.bindings

List of keybindings.

Type: list of submodules

Default: + + [ + + ] + +

Example:

[
+  { key = "j"; command = "scroll_down"; }
+  { key = "k"; command = "scroll_up"; }
+  { key = "J"; command = [ "select_item" "scroll_down" ]; }
+  { key = "K"; command = [ "select_item" "scroll_up" ]; }
+]
+

Declared by:

+ <home-manager/modules/programs/ncmpcpp.nix> +
programs.ncmpcpp.bindings.*.command

Command or sequence of commands to be executed.

Type: string or list of strings

Example: + "scroll_down" +

Declared by:

+ <home-manager/modules/programs/ncmpcpp.nix> +
programs.ncmpcpp.bindings.*.key

Key to bind.

Type: string

Example: + "j" +

Declared by:

+ <home-manager/modules/programs/ncmpcpp.nix> +
programs.ncmpcpp.mpdMusicDir

Value of the mpd_music_dir setting. On Linux platforms the +value of services.mpd.musicDirectory is used as the +default if services.mpd.enable is +true. +

Type: null or path

Default: + if pkgs.stdenv.hostPlatform.isLinux && config.services.mpd.enable then + config.services.mpd.musicDirectory +else + null + +

Example: + "~/music" +

Declared by:

+ <home-manager/modules/programs/ncmpcpp.nix> +
programs.ncmpcpp.settings

Attribute set from name of a setting to its value. For available options +see +ncmpcpp(1). +

Type: attribute set of boolean or signed integer or strings

Default: + + { + + } + +

Example: + + { + ncmpcpp_directory = "~/.local/share/ncmpcpp"; + } + +

Declared by:

+ <home-manager/modules/programs/ncmpcpp.nix> +
programs.ne.enable

Whether to enable ne.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/ne.nix> +
programs.ne.automaticPreferences

Automatic preferences files for ne. +

Type: attribute set of strings concatenated with "\n"s

Default: + + { + + } + +

Example:

{
+  nix = ''
+    TAB 0
+    TS 2
+  '';
+  js = ''
+    TS 4
+  '';
+}
+

Declared by:

+ <home-manager/modules/programs/ne.nix> +
programs.ne.defaultPreferences

Default preferences for ne. +

+Equivalent to programs.ne.automaticPreferences.".default". +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/ne.nix> +
programs.ne.keybindings

Keybinding file for ne. +

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+KEY 7f BS
+SEQ "\x1b[1;5D" 7f
+''

Declared by:

+ <home-manager/modules/programs/ne.nix> +
programs.ne.menus

Menu configuration file for ne.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/ne.nix> +
programs.ne.virtualExtensions

Virtual extensions configuration file for ne.

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+sh   1  ^#!\s*/.*\b(bash|sh|ksh|zsh)\s*
+csh  1  ^#!\s*/.*\b(csh|tcsh)\s*
+''

Declared by:

+ <home-manager/modules/programs/ne.nix> +
programs.neomutt.enable

Whether to enable the NeoMutt mail client.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.binds

List of keybindings.

Type: list of submodules

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.binds.*.action

Specify the action to take.

Type: string

Example: + "<enter-command>toggle sidebar_visible<enter><refresh>" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.binds.*.key

The key to bind.

Type: string

Example: + "<left>" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.binds.*.map

Select the menu to bind the command to.

Type: one of "alias", "attach", "browser", "compose", "editor", "generic", "index", "mix", "pager", "pgp", "postpone", "query", "smime"

Default: + "index" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.checkStatsInterval

Enable and set the interval of automatic mail check.

Type: null or signed integer

Default: + null +

Example: + 60 +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.editor

Select the editor used for writing mail.

Type: string

Default: + "\$EDITOR" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.extraConfig

Extra configuration appended to the end.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.macros

List of macros.

Type: list of submodules

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.macros.*.action

Specify the action to take.

Type: string

Example: + "<enter-command>toggle sidebar_visible<enter><refresh>" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.macros.*.key

The key to bind.

Type: string

Example: + "<left>" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.macros.*.map

Select the menu to bind the command to.

Type: one of "alias", "attach", "browser", "compose", "editor", "generic", "index", "mix", "pager", "pgp", "postpone", "query", "smime"

Default: + "index" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.settings

Extra configuration appended to the end.

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.sidebar

Options related to the sidebar.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.sidebar.enable

Whether to enable sidebar support.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.sidebar.format

Sidebar format. Check neomutt documentation for details. +

Type: string

Default: + "%B%?F? [%F]?%* %?N?%N/?%S" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.sidebar.shortPath

By default sidebar shows the full path of the mailbox, but +with this enabled only the relative name is shown. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.sidebar.width

Width of the sidebar

Type: signed integer

Default: + 22 +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.sort

Sorting method on messages.

Type: one of "date", "date-received", "from", "mailbox-order", "score", "size", "spam", "subject", "threads", "to", "reverse-date", "reverse-date-received", "reverse-from", "reverse-mailbox-order", "reverse-score", "reverse-size", "reverse-spam", "reverse-subject", "reverse-threads", "reverse-to"

Default: + "threads" +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neomutt.vimKeys

Enable vim-like bindings.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/neomutt.nix> +
programs.neovim.enable

Whether to enable Neovim.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.package

The package to use for the neovim binary.

Type: package

Default: + pkgs.neovim-unwrapped +

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.configure

Generate your init file from your list of plugins and custom commands, +and loads it from the store via nvim -u /nix/store/hash-vimrc + +

+ +This option is mutually exclusive with extraConfig +and plugins. +

Type: attribute set

Default: + + { + + } + +

Example:

configure = {
+    customRC = $'''
+    " here your custom configuration goes!
+    $''';
+    packages.myVimPackage = with pkgs.vimPlugins; {
+      # loaded on launch
+      start = [ fugitive ];
+      # manually loadable by calling `:packadd $plugin-name`
+      opt = [ ];
+    };
+  };
+

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.extraConfig

Custom vimrc lines. + +

+ +This option is mutually exclusive with configure. +

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+set nocompatible
+set nobackup
+''

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.extraPackages

Extra packages available to nvim.

Type: list of packages

Default: + + [ + + ] + +

Example: + "[ pkgs.shfmt ]" +

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.extraPython3Packages

A function in python.withPackages format, which returns a +list of Python 3 packages required for your plugins to work. +

Type: python3 packages in python.withPackages format or list of packages

Default: + "ps: []" +

Example:

(ps: with ps; [ python-language-server ])

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.extraPythonPackages

A function in python.withPackages format, which returns a +list of Python 2 packages required for your plugins to work. +

Type: python packages in python.withPackages format or list of packages

Default: + "ps: []" +

Example:

(ps: with ps; [ pandas jedi ])

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.plugins

List of vim plugins to install optionally associated with +configuration to be placed in init.vim. + +

+ +This option is mutually exclusive with configure. +

Type: list of package or submodules

Default: + + [ + + ] + +

Example:

with pkgs.vimPlugins; [
+  yankring
+  vim-nix
+  { plugin = vim-startify;
+    config = "let g:startify_change_to_vcs_root = 0";
+  }
+]
+

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.viAlias

Symlink vi to nvim binary. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.vimAlias

Symlink vim to nvim binary. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.vimdiffAlias

Alias vimdiff to nvim -d. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.withNodeJs

Enable node provider. Set to true to +use Node plugins. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.withPython

Enable Python 2 provider. Set to true to +use Python 2 plugins. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.withPython3

Enable Python 3 provider. Set to true to +use Python 3 plugins. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.neovim.withRuby

Enable ruby provider. +

Type: null or boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/neovim.nix> +
programs.newsboat.enable

Whether to enable the Newsboat feed reader.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.autoReload

Whether to enable automatic reloading while newsboat is running. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.browser

External browser to use.

Type: string

Default: + "\${pkgs.xdg_utils}/bin/xdg-open" +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.extraConfig

Extra configuration values that will be appended to the end. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.maxItems

Maximum number of items per feed, 0 for infinite.

Type: signed integer

Default: + 0 +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.queries

A list of queries to use.

Type: attribute set of strings

Default: + + { + + } + +

Example: + + { + foo = ''rssurl =~ "example.com"''; + } + +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.reloadThreads

How many threads to use for updating the feeds.

Type: signed integer

Default: + 5 +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.reloadTime

Time in minutes between reloads.

Type: null or signed integer

Default: + 60 +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.urls

List of news feeds.

Type: list of submodules

Default: + + [ + + ] + +

Example: + + [ + + { + tags = + [ + "foo" "bar" + ] + ; url = "http://example.com"; + } + + ] + +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.urls.*.tags

Feed tags.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "foo" "bar" + ] + +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.urls.*.title

Feed title.

Type: null or string

Default: + null +

Example: + "ORF News" +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.newsboat.urls.*.url

Feed URL.

Type: string

Example: + "http://example.com" +

Declared by:

+ <home-manager/modules/programs/newsboat.nix> +
programs.noti.enable

Whether to enable Noti.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/noti.nix> +
programs.noti.settings

Configuration written to +~/.config/noti/noti.yaml. +

+See +noti.yaml(5). +for the full list of options. +

Type: attribute set of attribute set of stringss

Default: + + { + + } + +

Example:

{
+  say = {
+    voice = "Alex";
+  };
+  slack = {
+    token = "1234567890abcdefg";
+    channel = "@jaime";
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/noti.nix> +
programs.notmuch.enable

Whether to enable Notmuch mail indexer.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
programs.notmuch.extraConfig

Options that should be appended to the notmuch configuration file. +

Type: attribute set of attribute set of stringss

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
programs.notmuch.hooks.postInsert

Bash statements run after a message has been inserted +into the database and initial tags have been applied. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
programs.notmuch.hooks.postNew

Bash statements run after new messages have been imported +into the database and initial tags have been applied. +

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+notmuch tag +nixos -- tag:new and from:nixos1@discoursemail.com
+''

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
programs.notmuch.hooks.preNew

Bash statements run before scanning or importing new +messages into the database. +

Type: strings concatenated with "\n"

Default: + "" +

Example: + "mbsync --all" +

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
programs.notmuch.maildir.synchronizeFlags

Whether to synchronize Maildir flags. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
programs.notmuch.new

Options related to email processing performed by +notmuch new. +

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
programs.notmuch.new.ignore

A list to specify files and directories that will not be +searched for messages by notmuch new. +

Type: list of strings

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
programs.notmuch.new.tags

A list of tags that will be added to all messages +incorporated by notmuch new. +

Type: list of strings

Default: + + [ + "unread" "inbox" + ] + +

Example: + + [ + "new" + ] + +

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
programs.notmuch.search.excludeTags

A list of tags that will be excluded from search results by +default. Using an excluded tag in a query will override that +exclusion. +

Type: list of strings

Default: + + [ + "deleted" "spam" + ] + +

Example: + + [ + "trash" "spam" + ] + +

Declared by:

+ <home-manager/modules/programs/notmuch.nix> +
programs.nushell.enable

Whether to enable nushell.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/nushell.nix> +
programs.nushell.package

The package to use for nushell.

Type: package

Default: + pkgs.nushell +

Declared by:

+ <home-manager/modules/programs/nushell.nix> +
programs.nushell.settings

Configuration written to +~/.config/nushell/config.toml. +

+See https://www.nushell.sh/book/en/configuration.html for the full list +of options. +

Type: Nushell configuration

Default: + + { + + } + +

Example:

{
+  edit_mode = "vi";
+  startup = [ "alias la [] { ls -a }" "alias e [msg] { echo $msg }" ];
+  key_timeout = 10;
+  completion_mode = "circular";
+  no_auto_pivot = true;
+}
+

Declared by:

+ <home-manager/modules/programs/nushell.nix> +
programs.obs-studio.enable

Whether to enable obs-studio.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/obs-studio.nix> +
programs.obs-studio.plugins

Optional OBS plugins.

Type: list of packages

Default: + + [ + + ] + +

Example:

[ pkgs.obs-linuxbrowser ]

Declared by:

+ <home-manager/modules/programs/obs-studio.nix> +
programs.offlineimap.enable

Whether to enable OfflineIMAP.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/offlineimap.nix> +
programs.offlineimap.extraConfig.default

Extra configuration options added to the +DEFAULT section. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Example: + + { + gmailtrashfolder = "[Gmail]/Papierkorb"; + } + +

Declared by:

+ <home-manager/modules/programs/offlineimap.nix> +
programs.offlineimap.extraConfig.general

Extra configuration options added to the +general section. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Example: + + { + maxage = 30; ui = "blinkenlights"; + } + +

Declared by:

+ <home-manager/modules/programs/offlineimap.nix> +
programs.offlineimap.extraConfig.mbnames

Extra configuration options added to the +mbnames section. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Example:

{
+  filename = "~/.config/mutt/mailboxes";
+  header = "'mailboxes '";
+  peritem = "'+%(accountname)s/%(foldername)s'";
+  sep = "' '";
+  footer = "'\\n'";
+}
+

Declared by:

+ <home-manager/modules/programs/offlineimap.nix> +
programs.offlineimap.pythonFile

Python code that can then be used in other parts of the +configuration. +

Type: strings concatenated with "\n"

Default:

''
+import subprocess
+
+def get_pass(service, cmd):
+    return subprocess.check_output(cmd, )
+''

Declared by:

+ <home-manager/modules/programs/offlineimap.nix> +
programs.opam.enable

Whether to enable Opam.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/opam.nix> +
programs.opam.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/opam.nix> +
programs.opam.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/opam.nix> +
programs.opam.package

Opam package to install.

Type: package

Default: + pkgs.opam +

Declared by:

+ <home-manager/modules/programs/opam.nix> +
programs.password-store.enable

Whether to enable Password store.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/password-store.nix> +
programs.password-store.package

The pass package to use. +Can be used to specify extensions. +

Type: package

Default: + pkgs.pass +

Example:

pkgs.pass.withExtensions (exts: [ exts.pass-otp ])
+

Declared by:

+ <home-manager/modules/programs/password-store.nix> +
programs.password-store.settings

The pass environment variables dictionary. +

+See the "Environment variables" section of +pass(1) +and the extension man pages for more information about the +available keys. +

Type: attribute set of strings

Default: + { PASSWORD_STORE_DIR = "$XDG_DATA_HOME/password-store"; } + +

Example:

{
+  PASSWORD_STORE_DIR = "/some/directory";
+  PASSWORD_STORE_KEY = "12345678";
+  PASSWORD_STORE_CLIP_TIME = "60";
+}
+

Declared by:

+ <home-manager/modules/programs/password-store.nix> +
programs.pazi.enable

Whether to enable pazi.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/pazi.nix> +
programs.pazi.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/pazi.nix> +
programs.pazi.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/pazi.nix> +
programs.pazi.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/pazi.nix> +
programs.pet.enable

Whether to enable pet.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/pet.nix> +
programs.pet.selectcmdPackage

The package needed for the settings.selectcmd. +

Type: package

Default: + pkgs.fzf +

Declared by:

+ <home-manager/modules/programs/pet.nix> +
programs.pet.settings

Settings written to config.toml. See the pet +documentation for details. +

Type: TOML value

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/pet.nix> +
programs.pet.snippets

The snippets. +

Type: list of submodules

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/pet.nix> +
programs.pet.snippets.*.command

The command. +

Type: string

Default: + "" +

Example: + "git rev-list --count HEAD" +

Declared by:

+ <home-manager/modules/programs/pet.nix> +
programs.pet.snippets.*.description

Description of the snippet. +

Type: string

Default: + "" +

Example: + "Count the number of commits in the current branch" +

Declared by:

+ <home-manager/modules/programs/pet.nix> +
programs.pet.snippets.*.output

Example output of the command. +

Type: string

Default: + "" +

Example: + "473" +

Declared by:

+ <home-manager/modules/programs/pet.nix> +
programs.pidgin.enable

Whether to enable Pidgin messaging client.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/pidgin.nix> +
programs.pidgin.package

The Pidgin package to use.

Type: package

Default: + pkgs.pidgin +

Declared by:

+ <home-manager/modules/programs/pidgin.nix> +
programs.pidgin.plugins

Plugins that should be available to Pidgin.

Type: unspecified

Default: + + [ + + ] + +

Example:

[ pkgs.pidgin-otr pkgs.pidgin-osd ]

Declared by:

+ <home-manager/modules/programs/pidgin.nix> +
programs.powerline-go.enable

Whether to enable Powerline-go, a beautiful and useful low-latency prompt for your shell.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/powerline-go.nix> +
programs.powerline-go.extraUpdatePS1

Shell code to execute after the prompt is set.

Type: string

Default: + "" +

Example:

''
+PS1=$PS1"NixOS> ";
+''

Declared by:

+ <home-manager/modules/programs/powerline-go.nix> +
programs.powerline-go.modules

List of module names to load. The list of all available +modules as well as the choice of default ones are at +https://github.com/justjanne/powerline-go. +

Type: null or list of strings

Default: + null +

Example: + + [ + "host" "ssh" "cwd" "gitlite" "jobs" "exit" + ] + +

Declared by:

+ <home-manager/modules/programs/powerline-go.nix> +
programs.powerline-go.newline

Set to true if the prompt should be on a line of its own. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/powerline-go.nix> +
programs.powerline-go.pathAliases

Pairs of full-path and corresponding desired short name. You +may use '~' to represent your home directory but you should +protect it to avoid shell substitution. +

Type: null or attribute set of strings

Default: + null +

Example:

{ "\\~/projects/home-manager" = "prj:home-manager"; }
+

Declared by:

+ <home-manager/modules/programs/powerline-go.nix> +
programs.powerline-go.settings

This can be any key/value pair as described in +https://github.com/justjanne/powerline-go. +

Type: attribute set of boolean or signed integer or string or list of stringss

Default: + + { + + } + +

Example:

{
+  hostname-only-if-ssh = true;
+  numeric-exit-codes = true;
+  cwd-max-depth = 7;
+  ignore-repos = [ "/home/me/big-project" "/home/me/huge-project" ];
+}
+

Declared by:

+ <home-manager/modules/programs/powerline-go.nix> +
programs.qutebrowser.enable

Whether to enable qutebrowser.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/qutebrowser.nix> +
programs.qutebrowser.enableDefaultBindings

Disable to prevent loading default key bindings. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/qutebrowser.nix> +
programs.qutebrowser.package

Qutebrowser package to install.

Type: package

Default: + pkgs.qutebrowser +

Declared by:

+ <home-manager/modules/programs/qutebrowser.nix> +
programs.qutebrowser.aliases

Aliases for commands. +

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/qutebrowser.nix> +
programs.qutebrowser.extraConfig

Extra lines added to qutebrowser config.py file. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/qutebrowser.nix> +
programs.qutebrowser.keyBindings

Key bindings mapping keys to commands in different modes. This setting +is a dictionary containing mode names and dictionaries mapping keys to +commands: {mode: {key: command}} If you want to map +a key to another key, check the keyMappings setting +instead. For modifiers, you can use either - or ++ as delimiters, and these names: + +

  • + Control: Control, Ctrl +

  • + Meta: Meta, Windows, + Mod4 +

  • + Alt: Alt, Mod1 +

  • + Shift: Shift +

+ +For simple keys (no <>-signs), a capital +letter means the key is pressed with Shift. For special keys (with +<>-signs), you need to explicitly add +Shift- to match a key pressed with shift. If you +want a binding to do nothing, bind it to the nop +command. If you want a default binding to be passed through to the +website, bind it to null. Note that some commands which are only useful +for bindings (but not used interactively) are hidden from the command +completion. See :help for a full list of available +commands. The following modes are available: + +

normal

+ Default mode, where most commands are invoked. +

insert

+ Entered when an input field is focused on a website, or by + pressing i in normal mode. Passes through almost all keypresses + to the website, but has some bindings like + <Ctrl-e> to open an external editor. + Note that single keys can’t be bound in this mode. +

hint

+ Entered when f is pressed to select links with the keyboard. Note + that single keys can’t be bound in this mode. +

passthrough

+ Similar to insert mode, but passes through all keypresses except + <Escape> to leave the mode. It might be + useful to bind <Escape> to some other + key in this mode if you want to be able to send an Escape key to + the website as well. Note that single keys can’t be bound in this + mode. +

command

+ Entered when pressing the : key in order to enter a command. Note + that single keys can’t be bound in this mode. +

prompt

+ Entered when there’s a prompt to display, like for download + locations or when invoked from JavaScript. +

yesno

+ Entered when there’s a yes/no prompt displayed. +

caret

+ Entered when pressing the v mode, used to select text using the + keyboard. +

register

+ Entered when qutebrowser is waiting for a register name/key for + commands like :set-mark. +

+

Type: attribute set of attribute set of stringss

Default: + + { + + } + +

Example:

{
+  normal = {
+    "<Ctrl-v>" = "spawn mpv {url}";
+    ",p" = "spawn --userscript qute-pass";
+    ",l" = ''config-cycle spellcheck.languages ["en-GB"] ["en-US"]'';
+  };
+  prompt = {
+    "<Ctrl-y>" = "prompt-yes";
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/qutebrowser.nix> +
programs.qutebrowser.keyMappings

This setting can be used to map keys to other keys. When the key used +as dictionary-key is pressed, the binding for the key used as +dictionary-value is invoked instead. This is useful for global +remappings of keys, for example to map Ctrl-[ to Escape. Note that when +a key is bound (via bindings.default or +bindings.commands), the mapping is ignored. +

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/qutebrowser.nix> +
programs.qutebrowser.searchEngines

Search engines that can be used via the address bar. Maps a search +engine name (such as DEFAULT, or +ddg) to a URL with a {} +placeholder. The placeholder will be replaced by the search term, use +{{ and }} for literal +{/} signs. The search engine named +DEFAULT is used when +url.auto_search is turned on and something else than +a URL was entered to be opened. Other search engines can be used by +prepending the search engine name to the search term, for example +:open google qutebrowser. +

Type: attribute set of strings

Default: + + { + + } + +

Example:

{
+  w = "https://en.wikipedia.org/wiki/Special:Search?search={}&go=Go&ns0=1";
+  aw = "https://wiki.archlinux.org/?search={}";
+  nw = "https://nixos.wiki/index.php?search={}";
+  g = "https://www.google.com/search?hl=en&q={}";
+}
+

Declared by:

+ <home-manager/modules/programs/qutebrowser.nix> +
programs.qutebrowser.settings

Options to add to qutebrowser config.py file. +See https://qutebrowser.org/doc/help/settings.html +for options. +

Type: attribute set

Default: + + { + + } + +

Example:

{
+  colors = {
+    hints = {
+      bg = "#000000";
+      fg = "#ffffff";
+    };
+    tabs.bar.bg = "#000000";
+  };
+  tabs.tabs_are_windows = true;
+}
+

Declared by:

+ <home-manager/modules/programs/qutebrowser.nix> +
programs.readline.enable

Whether to enable readline.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/readline.nix> +
programs.readline.bindings

Readline bindings.

Type: attribute set of strings

Default: + + { + + } + +

Example:

{ "\\C-h" = "backward-kill-word"; }
+

Declared by:

+ <home-manager/modules/programs/readline.nix> +
programs.readline.extraConfig

Configuration lines appended unchanged to the end of the +~/.inputrc file. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/readline.nix> +
programs.readline.includeSystemConfig

Whether to include the system-wide configuration.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/readline.nix> +
programs.readline.variables

Readline customization variable assignments. +

Type: attribute set of string or signed integer or booleans

Default: + + { + + } + +

Example: + + { + expand-tilde = true; + } + +

Declared by:

+ <home-manager/modules/programs/readline.nix> +
programs.rofi.enable

Whether to enable Rofi: A window switcher, application launcher and dmenu replacement.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.package

Package providing the rofi binary. +

Type: package

Default: + (build of rofi-1.6.0) +

Example:

pkgs.rofi.override { plugins = [ pkgs.rofi-emoji ]; };
+

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.borderWidth

Border width

Type: null or signed integer

Default: + null +

Example: + 1 +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors

Color scheme settings. Colors can be specified in CSS color +formats. This option may become deprecated in the future and +therefore the programs.rofi.theme option +should be used whenever possible. +

Type: null or submodule

Default: + null +

Example:

colors = {
+  window = {
+    background = "argb:583a4c54";
+    border = "argb:582a373e";
+    separator = "#c3c6c8";
+  };
+
+  rows = {
+    normal = {
+      background = "argb:58455a64";
+      foreground = "#fafbfc";
+      backgroundAlt = "argb:58455a64";
+      highlight = {
+        background = "#00bcd4";
+        foreground = "#fafbfc";
+      };
+    };
+  };
+};
+

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows

Rows color settings.

Type: submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.active

Active row color settings.

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.active.background

Background color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.active.backgroundAlt

Alternative background color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.active.foreground

Foreground color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.active.highlight

Color settings for highlighted row.

Type: submodule

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.active.highlight.background

Highlight background color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.active.highlight.foreground

Highlight foreground color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.normal

Normal row color settings.

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.normal.background

Background color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.normal.backgroundAlt

Alternative background color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.normal.foreground

Foreground color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.normal.highlight

Color settings for highlighted row.

Type: submodule

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.normal.highlight.background

Highlight background color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.normal.highlight.foreground

Highlight foreground color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.urgent

Urgent row color settings.

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.urgent.background

Background color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.urgent.backgroundAlt

Alternative background color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.urgent.foreground

Foreground color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.urgent.highlight

Color settings for highlighted row.

Type: submodule

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.urgent.highlight.background

Highlight background color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.rows.urgent.highlight.foreground

Highlight foreground color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.window

Window color settings.

Type: submodule

Default: + null +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.window.background

Window background color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.window.border

Window border color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.colors.window.separator

Separator color

Type: string

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.configPath

Path where to put generated configuration file.

Type: string

Default: + "\$XDG_CONFIG_HOME/rofi/config" +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.cycle

Whether to cycle through the results list.

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.extraConfig

Additional configuration to add.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.font

Font to use.

Type: null or string

Default: + null +

Example: + "Droid Sans Mono 14" +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.fullscreen

Whether to run rofi fullscreen.

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.lines

Number of lines

Type: null or signed integer

Default: + null +

Example: + 10 +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.location

The location rofi appears on the screen.

Type: one of "bottom", "bottom-left", "bottom-right", "center", "left", "right", "top", "top-left", "top-right"

Default: + "center" +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.padding

Padding

Type: null or signed integer

Default: + null +

Example: + 400 +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.rowHeight

Row height (in chars)

Type: null or signed integer

Default: + null +

Example: + 1 +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.scrollbar

Whether to show a scrollbar.

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.separator

Separator style

Type: null or one of "none", "dash", "solid"

Default: + null +

Example: + "solid" +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.terminal

Path to the terminal which will be used to run console applications +

Type: null or string

Default: + null +

Example: + "\${pkgs.gnome3.gnome_terminal}/bin/gnome-terminal" +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.theme

Name of theme or path to theme file in rasi format. Available +named themes can be viewed using the +rofi-theme-selector tool. +

Type: null or string or path

Default: + null +

Example: + "Arc" +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.width

Window width

Type: null or signed integer

Default: + null +

Example: + 100 +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.xoffset

Offset in the x-axis in pixels relative to the chosen location. +

Type: signed integer

Default: + 0 +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rofi.yoffset

Offset in the y-axis in pixels relative to the chosen location. +

Type: signed integer

Default: + 0 +

Declared by:

+ <home-manager/modules/programs/rofi.nix> +
programs.rtorrent.enable

Whether to enable rTorrent.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/rtorrent.nix> +
programs.rtorrent.settings

Configuration written to +~/.config/rtorrent/rtorrent.rc. See +https://github.com/rakshasa/rtorrent/wiki/Config-Guide +for explanation about possible values. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/rtorrent.nix> +
programs.skim.enable

Whether to enable skim - a command-line fuzzy finder.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.skim.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.skim.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.skim.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.skim.changeDirWidgetCommand

The command that gets executed as the source for skim for the +ALT-C keybinding. +

Type: null or string

Default: + null +

Example: + "fd --type d" +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.skim.changeDirWidgetOptions

Command line options for the ALT-C keybinding. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--preview 'tree -C {} | head -200'" + ] + +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.skim.defaultCommand

The command that gets executed as the default source for skim +when running. +

Type: null or string

Default: + null +

Example: + "fd --type f" +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.skim.defaultOptions

Extra command line options given to skim by default. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--height 40%" "--prompt ⟫" + ] + +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.skim.fileWidgetCommand

The command that gets executed as the source for skim for the +CTRL-T keybinding. +

Type: null or string

Default: + null +

Example: + "fd --type f" +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.skim.fileWidgetOptions

Command line options for the CTRL-T keybinding. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--preview 'head {}'" + ] + +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.skim.historyWidgetOptions

Command line options for the CTRL-R keybinding. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--tac" "--exact" + ] + +

Declared by:

+ <home-manager/modules/programs/skim.nix> +
programs.ssh.enable

Whether to enable SSH client configuration.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.compression

Specifies whether to use compression.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.controlMaster

Configure sharing of multiple sessions over a single network connection. +

Type: one of "yes", "no", "ask", "auto", "autoask"

Default: + "no" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.controlPath

Specify path to the control socket used for connection sharing. +

Type: string

Default: + "~/.ssh/master-%r@%n:%p" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.controlPersist

Whether control socket should remain open in the background. +

Type: string

Default: + "no" +

Example: + "10m" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.extraConfig

Extra configuration. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.extraOptionOverrides

Extra SSH configuration options that take precedence over any +host specific configuration. +

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.forwardAgent

Whether the connection to the authentication agent (if any) +will be forwarded to the remote machine. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.hashKnownHosts

Indicates that +ssh(1) +should hash host names and addresses when they are added to +the known hosts file. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks

Specify per-host settings. Note, if the order of rules matter +then use the DAG functions to express the dependencies as +shown in the example. +

+See +ssh_config(5) +for more information. +

Type: list or DAG of submodules

Default: + + { + + } + +

Example:

{
+  "john.example.com" = {
+    hostname = "example.com";
+    user = "john";
+  };
+  foo = lib.hm.dag.entryBefore ["john.example.com"] {
+    hostname = "example.com";
+    identityFile = "/home/john/.ssh/foo_rsa";
+  };
+};
+

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.addressFamily

Specifies which address family to use when connecting. +

Type: null or one of "any", "inet", "inet6"

Default: + null +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.certificateFile

Specifies files from which the user certificate is read. +

Type: list of strings or null or string

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.checkHostIP

Check the host IP address in the +known_hosts file. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.compression

Specifies whether to use compression. Omitted from the host +block when null. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.dynamicForwards

Specify dynamic port forwardings. See +ssh_config(5) for DynamicForward. +

Type: list of submodules

Default: + + [ + + ] + +

Example:

[ { port = 8080; } ];
+

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.dynamicForwards.*.address

The address where to bind the port.

Type: string

Default: + "localhost" +

Example: + "example.org" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.dynamicForwards.*.port

Specifies port number to bind on bind address.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example: + 8080 +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.extraOptions

Extra configuration options for the host.

Type: attribute set of strings

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.forwardAgent

Whether the connection to the authentication agent (if any) +will be forwarded to the remote machine. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.forwardX11

Specifies whether X11 connections will be automatically redirected +over the secure channel and DISPLAY set. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.forwardX11Trusted

Specifies whether remote X11 clients will have full access to the +original X11 display. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.host

The host pattern used by this conditional block. +

Type: string

Example: + "*.example.org" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.hostname

Specifies the real host name to log into.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.identitiesOnly

Specifies that ssh should only use the authentication +identity explicitly configured in the +~/.ssh/config files or passed on the +ssh command-line, even if ssh-agent +offers more identities. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.identityFile

Specifies files from which the user identity is read. +Identities will be tried in the given order. +

Type: list of strings or null or string

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.localForwards

Specify local port forwardings. See +ssh_config(5) for LocalForward. +

Type: list of submodules

Default: + + [ + + ] + +

Example:

[
+  {
+    bind.port = 8080;
+    host.address = "10.0.0.13";
+    host.port = 80;
+  }
+];
+

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.localForwards.*.bind.address

The address where to bind the port.

Type: string

Default: + "localhost" +

Example: + "example.org" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.localForwards.*.bind.port

Specifies port number to bind on bind address.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example: + 8080 +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.localForwards.*.host.address

The address where to forward the traffic to.

Type: string

Example: + "example.org" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.localForwards.*.host.port

Specifies port number to forward the traffic to.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example: + 80 +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.port

Specifies port number to connect on remote host.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: + null +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.proxyCommand

The command to use to connect to the server.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.proxyJump

The proxy host to use to connect to the server.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.remoteForwards

Specify remote port forwardings. See +ssh_config(5) for RemoteForward. +

Type: list of submodules

Default: + + [ + + ] + +

Example:

[
+  {
+    bind.port = 8080;
+    host.address = "10.0.0.13";
+    host.port = 80;
+  }
+];
+

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.remoteForwards.*.bind.address

The address where to bind the port.

Type: string

Default: + "localhost" +

Example: + "example.org" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.remoteForwards.*.bind.port

Specifies port number to bind on bind address.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example: + 8080 +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.remoteForwards.*.host.address

The address where to forward the traffic to.

Type: string

Example: + "example.org" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.remoteForwards.*.host.port

Specifies port number to forward the traffic to.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Example: + 80 +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.sendEnv

Environment variables to send from the local host to the +server. +

Type: list of strings

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.serverAliveCountMax

Sets the number of server alive messages which may be sent +without SSH receiving any messages back from the server. +

Type: positive integer, meaning >0

Default: + 3 +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.serverAliveInterval

Set timeout in seconds after which response will be requested.

Type: signed integer

Default: + 0 +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.matchBlocks.<name>.user

Specifies the user to log in as.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.serverAliveCountMax

Sets the default number of server alive messages which may be +sent without SSH receiving any messages back from the server. +

Type: positive integer, meaning >0

Default: + 3 +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.serverAliveInterval

Set default timeout in seconds after which response will be requested. +

Type: signed integer

Default: + 0 +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.ssh.userKnownHostsFile

Specifies one or more files to use for the user host key +database, separated by whitespace. The default is +~/.ssh/known_hosts. +

Type: string

Default: + "~/.ssh/known_hosts" +

Declared by:

+ <home-manager/modules/programs/ssh.nix> +
programs.starship.enable

Whether to enable starship.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/starship.nix> +
programs.starship.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/starship.nix> +
programs.starship.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/starship.nix> +
programs.starship.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/starship.nix> +
programs.starship.package

The package to use for the starship binary.

Type: package

Default: + pkgs.starship +

Declared by:

+ <home-manager/modules/programs/starship.nix> +
programs.starship.settings

Configuration written to +~/.config/starship.toml. +

+See https://starship.rs/config/ for the full list +of options. +

Type: Starship configuration

Default: + + { + + } + +

Example:

{
+  add_newline = false;
+  prompt_order = [ "line_break" "package" "line_break" "character" ];
+  scan_timeout = 10;
+  character.symbol = "➜";
+}
+

Declared by:

+ <home-manager/modules/programs/starship.nix> +
programs.taskwarrior.enable

Whether to enable Task Warrior.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/taskwarrior.nix> +
programs.taskwarrior.colorTheme

Either one of the default provided theme as string, or a +path to a theme configuration file. +

Type: null or string or path

Default: + null +

Example: + "dark-blue-256" +

Declared by:

+ <home-manager/modules/programs/taskwarrior.nix> +
programs.taskwarrior.config

Key-value configuration written to +~/.taskrc. +

Type: attribute set

Default: + + { + + } + +

Example:

{
+  confirmation = false;
+  report.minimal.filter = "status:pending";
+  report.active.columns = [ "id" "start" "entry.age" "priority" "project" "due" "description" ];
+  report.active.labels  = [ "ID" "Started" "Age" "Priority" "Project" "Due" "Description" ];
+  taskd = {
+    certificate = "/path/to/cert";
+    key = "/path/to/key";
+    ca = "/path/to/ca";
+    server = "host.domain:53589";
+    credentials = "Org/First Last/cf31f287-ee9e-43a8-843e-e8bbd5de4294";
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/taskwarrior.nix> +
programs.taskwarrior.dataLocation

Location where Task Warrior will store its data. +

+Home Manager will attempt to create this directory. +

Type: string

Default: + "\$XDG_DATA_HOME/task" +

Declared by:

+ <home-manager/modules/programs/taskwarrior.nix> +
programs.taskwarrior.extraConfig

Additional content written at the end of +~/.taskrc. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/taskwarrior.nix> +
programs.termite.enable

Whether to enable Termite VTE-based terminal.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.allowBold

Allow the output of bold characters when the bold escape sequence appears. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.audibleBell

Have the terminal beep on the terminal bell.

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.backgroundColor

Background color value.

Type: null or string

Default: + null +

Example: + "rgba(63, 63, 63, 0.8)" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.browser

Set the default browser for opening links. If its not set, $BROWSER is read. +If that's not set, url hints will be disabled. +

Type: null or string

Default: + null +

Example: + "\${pkgs.xdg_utils}/xdg-open" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.clickableUrl

Auto-detected URLs can be clicked on to open them in your browser. +Only enabled if a browser is configured or detected. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.colorsExtra

Extra colors options that should be added to [colors] section.

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+color0 = #3f3f3f
+color1 = #705050
+color2 = #60b48a
+''

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.cursorBlink

Specify the how the terminal's cursor should behave. +Accepts system to respect the gtk global configuration, +on and off to explicitly enable or disable them. +

Type: null or one of "system", "on", "off"

Default: + null +

Example: + "system" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.cursorColor

Cursor color value.

Type: null or string

Default: + null +

Example: + "#dcdccc" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.cursorForegroundColor

Cursor foreground color value.

Type: null or string

Default: + null +

Example: + "#dcdccc" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.cursorShape

Specify how the cursor should look. Accepts block, ibeam and underline. +

Type: null or one of "block", "underline", "ibeam"

Default: + null +

Example: + "block" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.dynamicTitle

Settings dynamic title allows the terminal and the shell to +update the terminal's title. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.filterUnmatchedUrls

Whether to hide url hints not matching input in url hints mode.

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.font

The font description for the terminal's font.

Type: null or string

Default: + null +

Example: + "Monospace 12" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.foregroundBoldColor

Foreground bold color value.

Type: null or string

Default: + null +

Example: + "#ffffff" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.foregroundColor

Foreground color value.

Type: null or string

Default: + null +

Example: + "#dcdccc" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.fullscreen

Enables entering fullscreen mode by pressing F11.

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.geometry

The default window geometry for new terminal windows.

Type: null or string

Default: + null +

Example: + "640x480" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.highlightColor

highlight color value.

Type: null or string

Default: + null +

Example: + "#2f2f2f" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.hintsActiveBackgroundColor

Hints active background color value.

Type: null or string

Default: + null +

Example: + "#3f3f3f" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.hintsActiveForegroundColor

Hints active foreground color value.

Type: null or string

Default: + null +

Example: + "#e68080" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.hintsBackgroundColor

Hints background color value.

Type: null or string

Default: + null +

Example: + "#3f3f3f" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.hintsBorderColor

Hints border color value.

Type: null or string

Default: + null +

Example: + "#3f3f3f" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.hintsBorderWidth

Hints border width.

Type: null or string

Default: + null +

Example: + "0.5" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.hintsExtra

Extra hints options that should be added to [hints] section.

Type: strings concatenated with "\n"

Default: + "" +

Example: + "border = #3f3f3f" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.hintsFont

The font description for the hints font.

Type: null or string

Default: + null +

Example: + "Monospace 12" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.hintsForegroundColor

Hints foreground color value.

Type: null or string

Default: + null +

Example: + "#dcdccc" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.hintsPadding

Hints padding.

Type: null or signed integer

Default: + null +

Example: + 2 +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.hintsRoundness

Hints roundness.

Type: null or string

Default: + null +

Example: + "0.2" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.iconName

The name of the icon to be used for the terminal process.

Type: null or string

Default: + null +

Example: + "terminal" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.modifyOtherKeys

Emit escape sequences for extra keys, +like the modifyOtherKeys resource for +xterm(1). +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.mouseAutohide

Automatically hide the mouse pointer when you start typing. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.optionsExtra

Extra options that should be added to [options] section.

Type: strings concatenated with "\n"

Default: + "" +

Example: + "fullscreen = true" +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.scrollOnKeystroke

Scroll to the bottom automatically when a key is pressed. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.scrollOnOutput

Scroll to the bottom when the shell generates output.

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.scrollbackLines

Set the number of lines to limit the terminal's scrollback.

Type: null or signed integer

Default: + null +

Example: + 10000 +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.scrollbar

Scrollbar position.

Type: null or one of "off", "left", "right"

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.searchWrap

Search from top again when you hit the bottom.

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.sizeHints

Enable size hints. Locks the terminal resizing +to increments of the terminal's cell size. +Requires a window manager that respects scroll hints. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.termite.urgentOnBell

Sets the window as urgent on the terminal bell.

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/termite.nix> +
programs.texlive.enable

Whether to enable Texlive.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/texlive.nix> +
programs.texlive.package

Resulting customized Texlive package.

Type: package (read only)

Declared by:

+ <home-manager/modules/programs/texlive.nix> +
programs.texlive.extraPackages

Extra packages available to Texlive.

Type: unspecified

Default: + "tpkgs: { inherit (tpkgs) collection-basic; }" +

Example:

tpkgs: { inherit (tpkgs) collection-fontsrecommended algorithms; }
+

Declared by:

+ <home-manager/modules/programs/texlive.nix> +
programs.tmux.enable

Whether to enable tmux.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.package

The tmux package to install

Type: package

Default: + pkgs.tmux +

Example:

pkgs.tmux

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.aggressiveResize

Resize the window to the size of the smallest session for +which it is the current window. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.baseIndex

Base index for windows and panes.

Type: unsigned integer, meaning >=0

Default: + 0 +

Example: + 1 +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.clock24

Use 24 hour clock.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.customPaneNavigationAndResize

Override the hjkl and HJKL bindings for pane navigation and +resizing in VI mode. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.disableConfirmationPrompt

Disable confirmation prompt before killing a pane or window +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.escapeTime

Time in milliseconds for which tmux waits after an escape is +input. +

Type: unsigned integer, meaning >=0

Default: + 500 +

Example: + 0 +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.extraConfig

Additional configuration to add to +tmux.conf. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.historyLimit

Maximum number of lines held in window history.

Type: positive integer, meaning >0

Default: + 2000 +

Example: + 5000 +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.keyMode

VI or Emacs style shortcuts.

Type: one of "emacs", "vi"

Default: + "emacs" +

Example: + "vi" +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.newSession

Automatically spawn a session if trying to attach and none +are running. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.plugins

List of tmux plugins to be included at the end of your tmux +configuration. The sensible plugin, however, is defaulted to +run at the top of your configuration. +

Type: list of plugin packages or submodules

Default: + + [ + + ] + +

Example:

with pkgs; [
+  tmuxPlugins.cpu
+  {
+    plugin = tmuxPlugins.resurrect;
+    extraConfig = "set -g @resurrect-strategy-nvim 'session'";
+  }
+  {
+    plugin = tmuxPlugins.continuum;
+    extraConfig = ''
+      set -g @continuum-restore 'on'
+      set -g @continuum-save-interval '60' # minutes
+    '';
+  }
+]
+

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.resizeAmount

Number of lines/columns when resizing.

Type: positive integer, meaning >0

Default: + 5 +

Example: + 10 +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.reverseSplit

Reverse the window split shortcuts.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.secureSocket

Store tmux socket under /run, which is more +secure than /tmp, but as a downside it doesn't +survive user logout. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.sensibleOnTop

Run the sensible plugin at the top of the configuration. It +is possible to override the sensible settings using the +programs.tmux.extraConfig option. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.shortcut

CTRL following by this key is used as the main shortcut. +

Type: string

Default: + "b" +

Example: + "a" +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.terminal

Set the $TERM variable.

Type: string

Default: + "screen" +

Example: + "screen-256color" +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.tmuxinator.enable

Whether to enable tmuxinator.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.tmux.tmuxp.enable

Whether to enable tmuxp.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/tmux.nix> +
programs.urxvt.enable

Whether to enable rxvt-unicode terminal emulator.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.package

rxvt-unicode package to install.

Type: package

Default: + pkgs.rxvt_unicode +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.extraConfig

Additional configuration to add.

Type: attribute set

Default: + + { + + } + +

Example: + + { + shading = 15; + } + +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.fonts

List of fonts to be used.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "xft:Droid Sans Mono Nerd Font:size=9" + ] + +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.iso14755

ISO14755 support for viewing and entering unicode characters.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.keybindings

Mapping of keybindings to actions

Type: attribute set of strings

Default: + + { + + } + +

Example:

{
+  "Shift-Control-C" = "eval:selection_to_clipboard";
+  "Shift-Control-V" = "eval:paste_clipboard";
+}
+

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.scroll.bar

Scrollbar settings.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.scroll.bar.enable

Whether to enable the scrollbar

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.scroll.bar.align

Scrollbar alignment.

Type: one of "top", "bottom", "center"

Default: + "center" +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.scroll.bar.floating

Whether to display an rxvt scrollbar without a trough.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.scroll.bar.position

Scrollbar position.

Type: one of "left", "right"

Default: + "right" +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.scroll.bar.style

Scrollbar style.

Type: one of "rxvt", "plain", "next", "xterm"

Default: + "plain" +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.scroll.keepPosition

Whether to keep a scroll position when TTY receives new lines.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.scroll.lines

Number of lines to save in the scrollback buffer.

Type: unsigned integer, meaning >=0

Default: + 10000 +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.scroll.scrollOnKeystroke

Whether to scroll to bottom on keyboard input.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.scroll.scrollOnOutput

Whether to scroll to bottom on TTY output.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.shading

Darken (0 .. 99) or lighten (101 .. 200) the transparent background.

Type: integer between 0 and 200 (both inclusive)

Default: + 100 +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.urxvt.transparent

Whether to enable pseudo-transparency.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/urxvt.nix> +
programs.vim.enable

Whether to enable Vim.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/vim.nix> +
programs.vim.package

Resulting customized vim package

Type: package (read only)

Declared by:

+ <home-manager/modules/programs/vim.nix> +
programs.vim.extraConfig

Custom .vimrc lines

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+set nocompatible
+set nobackup
+''

Declared by:

+ <home-manager/modules/programs/vim.nix> +
programs.vim.plugins

List of vim plugins to install. To get a list of supported plugins run: +nix-env -f '<nixpkgs>' -qaP -A vimPlugins. + +

+ +Note: String values are deprecated, please use actual packages. +

Type: list of string or packages

Default: + + [ + (build of vimplugin-vim-sensible-2019-11-24) + ] + +

Example:

[ pkgs.vimPlugins.YankRing ]

Declared by:

+ <home-manager/modules/programs/vim.nix> +
programs.vim.settings

At attribute set of Vim settings. The attribute names and +corresponding values must be among the following supported +options. + +

backgroundone of "dark", "light"
backupdirlist of strings
copyindentboolean
directorylist of strings
expandtabboolean
hiddenboolean
historysigned integer
ignorecaseboolean
modelineboolean
mouseone of "n", "v", "i", "c", "h", "a", "r"
mousefocusboolean
mousehideboolean
mousemodelone of "extend", "popup", "popup_setpos"
numberboolean
relativenumberboolean
shiftwidthsigned integer
smartcaseboolean
tabstopsigned integer
undodirlist of strings
undofileboolean

+ +See the Vim documentation for detailed descriptions of these +options. Note, use extraConfig to +manually set any options not listed above. +

Type: submodule

Default: + + { + + } + +

Example:

{
+  expandtab = true;
+  history = 1000;
+  background = "dark";
+}
+

Declared by:

+ <home-manager/modules/programs/vim.nix> +
programs.vscode.enable

Whether to enable Visual Studio Code.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/vscode.nix> +
programs.vscode.package

Version of Visual Studio Code to install. +

Type: package

Default: + (build of vscode-1.50.0) +

Example:

pkgs.vscodium

Declared by:

+ <home-manager/modules/programs/vscode.nix> +
programs.vscode.extensions

The extensions Visual Studio Code should be started with. +These will override but not delete manually installed ones. +

Type: list of packages

Default: + + [ + + ] + +

Example:

[ pkgs.vscode-extensions.bbenoist.Nix ]

Declared by:

+ <home-manager/modules/programs/vscode.nix> +
programs.vscode.haskell.enable

Whether to enable Haskell integration for Visual Studio Code.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/vscode/haskell.nix> +
programs.vscode.haskell.hie.enable

Whether to enable Haskell IDE engine integration.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/vscode/haskell.nix> +
programs.vscode.haskell.hie.executablePath

The path to the Haskell IDE Engine executable. +

+Because hie-nix is not packaged in Nixpkgs, you need to add it as an +overlay or set this option. Example overlay configuration: +

nixpkgs.overlays = [
+  (self: super: { hie-nix = import ~/src/hie-nix {}; })
+]
+

+

Type: path

Default: + "${pkgs.hie-nix.hies}/bin/hie-wrapper" +

Example:

(import ~/src/haskell-ide-engine {}).hies + "/bin/hie-wrapper";
+

Declared by:

+ <home-manager/modules/programs/vscode/haskell.nix> +
programs.vscode.keybindings

Keybindings written to Visual Studio Code's +keybindings.json. +

Type: list of submodules

Default: + + [ + + ] + +

Example:

[
+  {
+    key = "ctrl+c";
+    command = "editor.action.clipboardCopyAction";
+    when = "textInputFocus";
+  }
+]
+

Declared by:

+ <home-manager/modules/programs/vscode.nix> +
programs.vscode.keybindings.*.command

The VS Code command to execute.

Type: string

Example: + "editor.action.clipboardCopyAction" +

Declared by:

+ <home-manager/modules/programs/vscode.nix> +
programs.vscode.keybindings.*.key

The key or key-combination to bind.

Type: string

Example: + "ctrl+c" +

Declared by:

+ <home-manager/modules/programs/vscode.nix> +
programs.vscode.keybindings.*.when

Optional context filter.

Type: string

Default: + "" +

Example: + "textInputFocus" +

Declared by:

+ <home-manager/modules/programs/vscode.nix> +
programs.vscode.userSettings

Configuration written to Visual Studio Code's +settings.json. +

Type: attribute set

Default: + + { + + } + +

Example:

{
+  "update.channel" = "none";
+  "[nix]"."editor.tabSize" = 2;
+}
+

Declared by:

+ <home-manager/modules/programs/vscode.nix> +
programs.waybar.enable

Whether to enable Waybar.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.package

Waybar package to use. Set to null to use the default module. +

Type: package

Default: + ${pkgs.waybar} +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings

Configuration for Waybar, see https://github.com/Alexays/Waybar/wiki/Configuration +for supported values. +

Type: list of submodules

Default: + + [ + + ] + +

Example:

[
+  {
+    layer = "top";
+    position = "top";
+    height = 30;
+    output = [
+      "eDP-1"
+      "HDMI-A-1"
+    ];
+    modules-left = [ "sway/workspaces" "sway/mode" "wlr/taskbar" ];
+    modules-center = [ "sway/window" "custom/hello-from-waybar" ];
+    modules-right = [ "mpd" "custom/mymodule#with-css-id" "temperature" ];
+    modules = {
+      "sway/workspaces" = {
+        disable-scroll = true;
+        all-outputs = true;
+      };
+      "custom/hello-from-waybar" = {
+        format = "hello {}";
+        max-length = 40;
+        interval = "once";
+        exec = pkgs.writeShellScript "hello-from-waybar" ''
+          echo "from within waybar"
+        '';
+      };
+    };
+  }
+]
+

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.gtk-layer-shell

Option to disable the use of gtk-layer-shell for popups.

Type: null or boolean

Default: + null +

Example: + false +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.height

Height to be used by the bar if possible. Leave blank for a dynamic value.

Type: null or unsigned integer, meaning >=0

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.layer

Decide if the bar is displayed in front ("top") +of the windows or behind ("bottom"). +

Type: null or one of "top", "bottom"

Default: + null +

Example: + "top" +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.margin

Margins value using the CSS format without units.

Type: null or string

Default: + null +

Example: + "20 5" +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.margin-bottom

Margins value without unit.

Type: null or signed integer

Default: + null +

Example: + 10 +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.margin-left

Margins value without unit.

Type: null or signed integer

Default: + null +

Example: + 10 +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.margin-right

Margins value without unit.

Type: null or signed integer

Default: + null +

Example: + 10 +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.margin-top

Margins value without unit.

Type: null or signed integer

Default: + null +

Example: + 10 +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.modules

Modules configuration.

Type: attribute set of unspecifieds

Default: + + { + + } + +

Example:

{
+  "sway/window" = {
+    max-length = 50;
+  };
+  "clock" = {
+    format-alt = "{:%a, %d. %b  %H:%M}";
+  };
+}
+

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.modules-center

Modules that will be displayed in the center.

Type: null or list of strings

Default: + null +

Example:

[ "sway/window" ]
+

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.modules-left

Modules that will be displayed on the left.

Type: null or list of strings

Default: + null +

Example:

[ "sway/workspaces" "sway/mode" "wlr/taskbar" ]
+

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.modules-right

Modules that will be displayed on the right.

Type: null or list of strings

Default: + null +

Example:

[ "mpd" "custom/mymodule#with-css-id" "temperature" ]
+

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.name

Optional name added as a CSS class, for styling multiple waybars.

Type: null or string

Default: + null +

Example: + "waybar-1" +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.output

Specifies on which screen this bar will be displayed. +Exclamation mark(!) can be used to exclude specific output. +

Type: null or string or list of strings

Default: + null +

Example:

[ "DP-1" "!DP-2" "!DP-3" ]
+

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.position

Bar position relative to the output.

Type: null or one of "top", "bottom", "left", "right"

Default: + null +

Example: + "right" +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.settings.*.width

Width to be used by the bar if possible. Leave blank for a dynamic value.

Type: null or unsigned integer, meaning >=0

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.style

CSS style of the bar. +See https://github.com/Alexays/Waybar/wiki/Configuration +for the documentation. +

Type: null or string

Default: + null +

Example:

''
+* {
+  border: none;
+  border-radius: 0;
+  font-family: Source Code Pro;
+}
+window#waybar {
+  background: #16191C;
+  color: #AAB2BF;
+}
+#workspaces button {
+  padding: 0 5px;
+}
+''

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.waybar.systemd.enable

Whether to enable Waybar systemd integration.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/waybar.nix> +
programs.z-lua.enable

Whether to enable z.lua.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/z-lua.nix> +
programs.z-lua.enableAliases

Whether to enable recommended z.lua aliases. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/z-lua.nix> +
programs.z-lua.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/z-lua.nix> +
programs.z-lua.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/z-lua.nix> +
programs.z-lua.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/z-lua.nix> +
programs.z-lua.options

List of options to pass to z.lua. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "enhanced" "once" "fzf" + ] + +

Declared by:

+ <home-manager/modules/programs/z-lua.nix> +
programs.zathura.enable

Whether to enable Zathura, a highly customizable and functional document viewer +focused on keyboard interaction.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zathura.nix> +
programs.zathura.extraConfig

Additional commands for zathura that will be added to the +zathurarc file. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/zathura.nix> +
programs.zathura.options

Add :set command options to zathura and make +them permanent. See +zathurarc(5) +for the full list of options. +

Type: attribute set of string or boolean or signed integers

Default: + + { + + } + +

Example: + + { + default-bg = "#000000"; default-fg = "#FFFFFF"; + } + +

Declared by:

+ <home-manager/modules/programs/zathura.nix> +
programs.zoxide.enable

Whether to enable zoxide.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zoxide.nix> +
programs.zoxide.enableBashIntegration

Whether to enable Bash integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/zoxide.nix> +
programs.zoxide.enableFishIntegration

Whether to enable Fish integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/zoxide.nix> +
programs.zoxide.enableZshIntegration

Whether to enable Zsh integration. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/zoxide.nix> +
programs.zoxide.package

Zoxide package to install. +

Type: package

Default: + pkgs.zoxide +

Declared by:

+ <home-manager/modules/programs/zoxide.nix> +
programs.zoxide.options

List of options to pass to zoxide. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--no-aliases" + ] + +

Declared by:

+ <home-manager/modules/programs/zoxide.nix> +
programs.zsh.enable

Whether to enable Z shell (Zsh).

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.enableAutosuggestions

Enable zsh autosuggestions

Type: unspecified

Default: + false +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.enableCompletion

Enable zsh completion. Don't forget to add +

+  environment.pathsToLink = [ "/share/zsh" ];
+

+to your system configuration to get completion for system packages (e.g. systemd). +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.enableVteIntegration

Whether to enable integration with terminals using the VTE +library. This will let the terminal track the current working +directory. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/misc/vte.nix> +
programs.zsh.autocd

Automatically enter into a directory if typed directly into shell. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.cdpath

List of paths to autocomplete calls to `cd`. +

Type: list of strings

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.defaultKeymap

The default base keymap to use.

Type: null or one of "emacs", "vicmd", "viins"

Default: + null +

Example: + "emacs" +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.dotDir

Directory where the zsh configuration and more should be located, +relative to the users home directory. The default is the home +directory. +

Type: null or string

Default: + null +

Example: + ".config/zsh" +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.envExtra

Extra commands that should be added to .zshenv.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.history

Options related to commands history configuration.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.history.expireDuplicatesFirst

Expire duplicates first.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.history.extended

Save timestamp into the history file.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.history.ignoreDups

Do not enter command lines into the history list +if they are duplicates of the previous event. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.history.ignoreSpace

Do not enter command lines into the history list +if the first character is a space. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.history.path

History file location

Type: string

Default: + ".zsh_history" +

Example:

"${config.xdg.dataHome}/zsh/zsh_history"

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.history.save

Number of history lines to save.

Type: signed integer

Default: + 10000 +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.history.share

Share command history between zsh sessions.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.history.size

Number of history lines to keep.

Type: signed integer

Default: + 10000 +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.initExtra

Extra commands that should be added to .zshrc.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.initExtraBeforeCompInit

Extra commands that should be added to .zshrc before compinit.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.localVariables

Extra local variables defined at the top of .zshrc. +

Type: attribute set

Default: + + { + + } + +

Example: + + { + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS = + [ + "dir" "vcs" + ] + ; + } + +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.loginExtra

Extra commands that should be added to .zlogin.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.logoutExtra

Extra commands that should be added to .zlogout.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.oh-my-zsh

Options to configure oh-my-zsh.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.oh-my-zsh.enable

Whether to enable oh-my-zsh.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.oh-my-zsh.custom

Path to a custom oh-my-zsh package to override config of +oh-my-zsh. See https://github.com/robbyrussell/oh-my-zsh/wiki/Customization +for more information. +

Type: string

Default: + "" +

Example: + "\$HOME/my_customizations" +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.oh-my-zsh.extraConfig

Extra settings for plugins. +

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+zstyle :omz:plugins:ssh-agent identities id_rsa id_rsa2 id_github
+''

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.oh-my-zsh.plugins

List of oh-my-zsh plugins +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "git" "sudo" + ] + +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.oh-my-zsh.theme

Name of the theme to be used by oh-my-zsh. +

Type: string

Default: + "" +

Example: + "robbyrussell" +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.plugins

Plugins to source in .zshrc.

Type: list of submodules

Default: + + [ + + ] + +

Example:

[
+  {
+    # will source zsh-autosuggestions.plugin.zsh
+    name = "zsh-autosuggestions";
+    src = pkgs.fetchFromGitHub {
+      owner = "zsh-users";
+      repo = "zsh-autosuggestions";
+      rev = "v0.4.0";
+      sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc";
+    };
+  }
+  {
+    name = "enhancd";
+    file = "init.sh";
+    src = pkgs.fetchFromGitHub {
+      owner = "b4b4r07";
+      repo = "enhancd";
+      rev = "v2.2.1";
+      sha256 = "0iqa9j09fwm6nj5rpip87x3hnvbbz9w9ajgm6wkrd5fls8fn8i5g";
+    };
+  }
+]
+

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.plugins.*.file

The plugin script to source.

Type: string

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.plugins.*.name

The name of the plugin. + +Don't forget to add file +if the script name does not follow convention. +

Type: string

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.plugins.*.src

Path to the plugin folder. + +Will be added to fpath and PATH. +

Type: path

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.prezto

Options to configure prezto.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.enable

Whether to enable prezto.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.autosuggestions.color

Set the query found color.

Type: null or string

Default: + null +

Example: + "fg=blue" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.caseSensitive

Set case-sensitivity for completion, history lookup, etc.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.color

Color output (auto set to 'no' on dumb terminals)

Type: null or boolean

Default: + true +

Example: + false +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.completions.ignoredHosts

Set the entries to ignore in static */etc/hosts* for host completion.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "0.0.0.0" "127.0.0.1" + ] + +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.editor.dotExpansion

Auto convert .... to ../..

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.editor.keymap

Set the key mapping style to 'emacs' or 'vi'.

Type: null or one of "emacs", "vi"

Default: + "emacs" +

Example: + "vi" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.editor.promptContext

Allow the zsh prompt context to be shown.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.extraConfig

Additional configuration to add to .zpreztorc. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.extraFunctions

Set the Zsh functions to load (man zshcontrib).

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "zargs" "zmv" + ] + +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.extraModules

Set the Zsh modules to load (man zshmodules).

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "attr" "stat" + ] + +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.git.submoduleIgnore

Ignore submodules when they are 'dirty', 'untracked', 'all', or 'none'.

Type: null or one of "dirty", "untracked", "all", "none"

Default: + null +

Example: + "all" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.gnuUtility.prefix

Set the command prefix on non-GNU systems.

Type: null or string

Default: + null +

Example: + "g" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.historySubstring.foundColor

Set the query found color.

Type: null or string

Default: + null +

Example: + "fg=blue" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.historySubstring.globbingFlags

Set the search globbing flags.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.historySubstring.notFoundColor

Set the query not found color.

Type: null or string

Default: + null +

Example: + "fg=red" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.macOS.dashKeyword

Set the keyword used by `mand` to open man pages in Dash.app

Type: null or string

Default: + null +

Example: + "manpages" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.pmoduleDirs

Add additional directories to load prezto modules from

Type: list of paths

Default: + + [ + + ] + +

Example: + + [ + "\$HOME/.zprezto-contrib" + ] + +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.pmodules

Set the Prezto modules to load (browse modules). The order matters.

Type: list of strings

Default: + + [ + "environment" "terminal" "editor" "history" "directory" "spectrum" "utility" "completion" "prompt" + ] + +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.prompt.pwdLength

Set the working directory prompt display length. By + default, it is set to 'short'. Set it to 'long' (without '~' expansion) for + longer or 'full' (with '~' expansion) for even longer prompt display.

Type: null or one of "short", "long", "full"

Default: + null +

Example: + "short" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.prompt.showReturnVal

Set the prompt to display the return code along with an + indicator for non-zero return codes. This is not supported by all prompts.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.prompt.theme

Set the prompt theme to load. Setting it to 'random' + loads a random theme. Auto set to 'off' on dumb terminals.

Type: null or string

Default: + "sorin" +

Example: + "pure" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.python.virtualenvAutoSwitch

Auto switch to Python virtualenv on directory change.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.python.virtualenvInitialize

Automatically initialize virtualenvwrapper if pre-requisites are met.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.ruby.chrubyAutoSwitch

Auto switch the Ruby version on directory change.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.screen.autoStartLocal

Auto start a session when Zsh is launched in a local terminal.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.screen.autoStartRemote

Auto start a session when Zsh is launched in a SSH connection.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.ssh.identities

Set the SSH identities to load into the agent.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "id_rsa" "id_rsa2" "id_github" + ] + +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.syntaxHighlighting.highlighters

Set syntax highlighters. By default, only the main + highlighter is enabled.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "main" "brackets" "pattern" "line" "cursor" "root" + ] + +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.syntaxHighlighting.pattern

Set syntax pattern styles.

Type: attribute set of strings

Default: + + { + + } + +

Example: + + { + rm*-rf* = "fg=white,bold,bg=red"; + } + +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.syntaxHighlighting.styles

Set syntax highlighting styles.

Type: attribute set of strings

Default: + + { + + } + +

Example: + + { + builtin = "bg=blue"; command = "bg=blue"; function = "bg=blue"; + } + +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.terminal.autoTitle

Auto set the tab and window titles.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.terminal.multiplexerTitleFormat

Set the multiplexer title format.

Type: null or string

Default: + null +

Example: + "%s" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.terminal.tabTitleFormat

Set the tab title format.

Type: null or string

Default: + null +

Example: + "%m: %s" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.terminal.windowTitleFormat

Set the window title format.

Type: null or string

Default: + null +

Example: + "%n@%m: %s" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.tmux.autoStartLocal

Auto start a session when Zsh is launched in a local terminal.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.tmux.autoStartRemote

Auto start a session when Zsh is launched in a SSH connection.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.tmux.defaultSessionName

Set the default session name.

Type: null or string

Default: + null +

Example: + "YOUR DEFAULT SESSION NAME" +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.tmux.itermIntegration

Integrate with iTerm2.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.prezto.utility.safeOps

Enabled safe options. This aliases cp, ln, mv and rm so + that they prompt before deleting or overwriting files. Set to 'no' to disable + this safer behavior.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zsh/prezto.nix> +
programs.zsh.profileExtra

Extra commands that should be added to .zprofile.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.sessionVariables

Environment variables that will be set for zsh session.

Type: attribute set

Default: + + { + + } + +

Example: + + { + MAILCHECK = 30; + } + +

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.shellAliases

An attribute set that maps aliases (the top level attribute names in +this option) to command strings or directly to build outputs. +

Type: attribute set of strings

Default: + + { + + } + +

Example:

{
+  ll = "ls -l";
+  ".." = "cd ..";
+}
+

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.shellGlobalAliases

Similar to opt-programs.zsh.shellAliases, +but are substituted anywhere on a line. +

Type: attribute set of strings

Default: + + { + + } + +

Example:

{
+  UUID = "$(uuidgen | tr -d \\n)";
+  G = "| grep";
+}
+

Declared by:

+ <home-manager/modules/programs/zsh.nix> +
programs.zsh.zplug.enable

Whether to enable zplug - a zsh plugin manager.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/programs/zplug.nix> +
programs.zsh.zplug.plugins

List of zplug plugins.

Type: list of submodules

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/zplug.nix> +
programs.zsh.zplug.plugins.*.name

The name of the plugin.

Type: string

Declared by:

+ <home-manager/modules/programs/zplug.nix> +
programs.zsh.zplug.plugins.*.tags

The plugin tags.

Type: list of strings

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/programs/zplug.nix> +
qt.enable

Whether to enable Qt 4 and 5 configuration.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/misc/qt.nix> +
qt.platformTheme

Selects the platform theme to use for Qt applications.

The options are +

gtk

Use GTK theme with + qtstyleplugins +

gnome

Use GNOME theme with + qgnomeplatform +

+

Type: null or one of "gtk", "gnome"

Default: + null +

Example: + "gnome" +

Related packages:

  • pkgs.qgnomeplatform (qgnomeplatform-0.6.1): QPlatformTheme for a better Qt application inclusion in GNOME

  • pkgs.libsForQt5.qtstyleplugins (qtstyleplugins-2017-03-11): Additional style plugins for Qt5, including BB10, GTK, Cleanlooks, Motif, Plastique

Declared by:

+ <home-manager/modules/misc/qt.nix> +
services.blueman-applet.enable

Whether to enable the Blueman applet. +

+Note, for the applet to work, the 'blueman' service should +be enabled system-wide. You can enable it in the system +configuration using +

+  services.blueman.enable = true;
+

+

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/blueman-applet.nix> +
services.cbatticon.enable

Whether to enable cbatticon.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/cbatticon.nix> +
services.cbatticon.commandCriticalLevel

Command to execute when the critical battery level is reached. +

Type: null or strings concatenated with "\n"

Default: + null +

Example:

''
+notify-send "battery critical!"
+''

Declared by:

+ <home-manager/modules/services/cbatticon.nix> +
services.cbatticon.commandLeftClick

Command to execute when left clicking on the tray icon. +

Type: null or strings concatenated with "\n"

Default: + null +

Declared by:

+ <home-manager/modules/services/cbatticon.nix> +
services.cbatticon.criticalLevelPercent

Critical level percentage of the battery in percent (without +the percent symbol). +

Type: null or integer between 0 and 100 (both inclusive)

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/cbatticon.nix> +
services.cbatticon.hideNotification

Hide the notification popups.

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/services/cbatticon.nix> +
services.cbatticon.iconType

Icon type to display in the system tray.

Type: null or one of "standard", "notification", "symbolic"

Default: + null +

Example: + "symbolic" +

Declared by:

+ <home-manager/modules/services/cbatticon.nix> +
services.cbatticon.lowLevelPercent

Low level percentage of the battery in percent (without the +percent symbol). +

Type: null or integer between 0 and 100 (both inclusive)

Default: + null +

Example: + 20 +

Declared by:

+ <home-manager/modules/services/cbatticon.nix> +
services.cbatticon.updateIntervalSeconds

Number of seconds between updates of the battery information. +

Type: null or positive integer, meaning >0

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/cbatticon.nix> +
services.clipmenu.enable

Whether to enable clipmenu, the clipboard management daemon.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/clipmenu.nix> +
services.clipmenu.package

clipmenu derivation to use.

Type: package

Default: + "pkgs.clipmenu" +

Declared by:

+ <home-manager/modules/services/clipmenu.nix> +
services.dropbox.enable

Whether to enable Dropbox daemon.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/dropbox.nix> +
services.dropbox.path

Where to put the Dropbox directory.

Type: path

Default: + "${config.home.homeDirectory}/Dropbox" +

Declared by:

+ <home-manager/modules/services/dropbox.nix> +
services.dunst.enable

Whether to enable the dunst notification daemon.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/dunst.nix> +
services.dunst.iconTheme

Set the icon theme.

Type: submodule

Default: + + { + name = "hicolor"; package = (build of hicolor-icon-theme-0.17); size = "32x32"; + } + +

Declared by:

+ <home-manager/modules/services/dunst.nix> +
services.dunst.iconTheme.package

Package providing the theme.

Type: package

Example:

pkgs.gnome3.adwaita-icon-theme

Declared by:

+ <home-manager/modules/services/dunst.nix> +
services.dunst.iconTheme.name

The name of the theme within the package.

Type: string

Example: + "Adwaita" +

Declared by:

+ <home-manager/modules/services/dunst.nix> +
services.dunst.iconTheme.size

The desired icon size.

Type: string

Default: + "32x32" +

Example: + "16x16" +

Declared by:

+ <home-manager/modules/services/dunst.nix> +
services.dunst.settings

Configuration written to ~/.config/dunstrc

Type: attribute set of attribute set of string or boolean or signed integer or list of stringsss

Default: + + { + + } + +

Example:

{
+  global = {
+    geometry = "300x5-30+50";
+    transparency = 10;
+    frame_color = "#eceff1";
+    font = "Droid Sans 9";
+  };
+
+  urgency_normal = {
+    background = "#37474f";
+    foreground = "#eceff1";
+    timeout = 10;
+  };
+};
+

Declared by:

+ <home-manager/modules/services/dunst.nix> +
services.dwm-status.enable

Whether to enable dwm-status user service.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/dwm-status.nix> +
services.dwm-status.package

Which dwm-status package to use.

Type: package

Default: + pkgs.dwm-status +

Example: + "pkgs.dwm-status.override { enableAlsaUtils = false; }" +

Declared by:

+ <home-manager/modules/services/dwm-status.nix> +
services.dwm-status.extraConfig

Extra config of dwm-status.

Type: attribute set

Default: + + { + + } + +

Example:

{
+  separator = "#";
+
+  battery = {
+    notifier_levels = [ 2 5 10 15 20 ];
+  };
+
+  time = {
+    format = "%H:%M";
+  };
+}
+

Declared by:

+ <home-manager/modules/services/dwm-status.nix> +
services.dwm-status.order

List of enabled features in order.

Type: list of one of "audio", "backlight", "battery", "cpu_load", "network", "time"s

Declared by:

+ <home-manager/modules/services/dwm-status.nix> +
services.emacs.enable

Whether to enable the Emacs daemon.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/emacs.nix> +
services.emacs.client.enable

Whether to enable generation of Emacs client desktop file.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/emacs.nix> +
services.emacs.client.arguments

Command-line arguments to pass to emacsclient. +

Type: list of strings

Default: + + [ + "-c" + ] + +

Declared by:

+ <home-manager/modules/services/emacs.nix> +
services.emacs.socketActivation.enable

Whether to enable systemd socket activation for the Emacs service.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/emacs.nix> +
services.flameshot.enable

Whether to enable Flameshot.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/flameshot.nix> +
services.fluidsynth.enable

Whether to enable fluidsynth midi synthesizer.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/fluidsynth.nix> +
services.fluidsynth.extraOptions

Extra arguments, added verbatim to the fluidsynth command. See +fluidsynth.conf(1). +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--sample-rate 96000" + ] + +

Declared by:

+ <home-manager/modules/services/fluidsynth.nix> +
services.fluidsynth.soundFont

The soundfont file to use, in SoundFont 2 format. +

Type: path

Default: + "\${pkgs.soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2" +

Declared by:

+ <home-manager/modules/services/fluidsynth.nix> +
services.getmail.enable

Whether to enable the getmail systemd service to automatically retrieve mail.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/getmail.nix> +
services.getmail.frequency

The refresh frequency. Check man systemd.time for +more information on the syntax. If you use a gpg-agent in +combination with the passwordCommand, keep the poll +frequency below the cache-ttl value (as set by the +default) to avoid pinentry asking +permanently for a password. +

Type: string

Default: + "*:0/5" +

Example: + "hourly" +

Declared by:

+ <home-manager/modules/services/getmail.nix> +
services.gnome-keyring.enable

Whether to enable GNOME Keyring.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/gnome-keyring.nix> +
services.gnome-keyring.components

The GNOME keyring components to start. If empty then the +default set of components will be started. +

Type: list of one of "pkcs11", "secrets", "ssh"s

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/services/gnome-keyring.nix> +
services.gpg-agent.enable

Whether to enable GnuPG private key agent.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.enableExtraSocket

Whether to enable extra socket of the GnuPG key agent (useful for GPG +Agent forwarding). +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.enableScDaemon

Make use of the scdaemon tool. This option has the effect of +enabling the ability to do smartcard operations. When +disabled, this option passes +disable-scdaemon setting to gpg-agent. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.enableSshSupport

Whether to use the GnuPG key agent for SSH keys. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.defaultCacheTtl

Set the time a cache entry is valid to the given number of +seconds. +

Type: null or signed integer

Default: + null +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.defaultCacheTtlSsh

Set the time a cache entry used for SSH keys is valid to the +given number of seconds. +

Type: null or signed integer

Default: + null +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.extraConfig

Extra configuration lines to append to the gpg-agent +configuration file. +

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+allow-emacs-pinentry
+allow-loopback-pinentry
+''

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.grabKeyboardAndMouse

Tell the pinentry to grab the keyboard and mouse. This +option should in general be used to avoid X-sniffing +attacks. When disabled, this option passes +no-grab setting to gpg-agent. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.maxCacheTtl

Set the maximum time a cache entry is valid to n seconds. After this +time a cache entry will be expired even if it has been accessed +recently or has been set using gpg-preset-passphrase. The default is +2 hours (7200 seconds). +

Type: null or signed integer

Default: + null +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.maxCacheTtlSsh

Set the maximum time a cache entry used for SSH keys is valid to n +seconds. After this time a cache entry will be expired even if it has +been accessed recently or has been set using gpg-preset-passphrase. +The default is 2 hours (7200 seconds). +

Type: null or signed integer

Default: + null +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.pinentryFlavor

Which pinentry interface to use. If not +null, it sets +pinentry-program in +gpg-agent.conf. Beware that +pinentry-gnome3 may not work on non-Gnome +systems. You can fix it by adding the following to your +system configuration: +

+services.dbus.packages = [ pkgs.gcr ];
+

+For this reason, the default is gtk2 for +now. +

Type: null or one of "curses", "tty", "gtk2", "qt", "emacs", "gnome3"

Default: + "gtk2" +

Example: + "gnome3" +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.sshKeys

Which GPG keys (by keygrip) to expose as SSH keys. +

Type: null or list of strings

Default: + null +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.gpg-agent.verbose

Whether to produce verbose output. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/gpg-agent.nix> +
services.grobi.enable

Whether to enable the grobi display setup daemon.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/grobi.nix> +
services.grobi.executeAfter

Commands to be run after an output configuration was +changed. The Nix value declared here will be translated to +JSON and written to the execute_after key +in ~/.config/grobi.conf. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "setxkbmap dvorak" + ] + +

Declared by:

+ <home-manager/modules/services/grobi.nix> +
services.grobi.rules

These are the rules grobi tries to match to the current +output configuration. The rules are evaluated top to bottom, +the first matching rule is applied and processing stops. See +https://github.com/fd0/grobi/blob/master/doc/grobi.conf +for more information. The Nix value declared here will be +translated to JSON and written to the rules +key in ~/.config/grobi.conf. +

Type: list of attribute set of string or boolean or signed integer or list of stringsss

Default: + + [ + + ] + +

Example:

[
+  {
+    name = "Home";
+    outputs_connected = [ "DP-2" ];
+    configure_single = "DP-2";
+    primary = true;
+    atomic = true;
+    execute_after = [
+      "${pkgs.xorg.xrandr}/bin/xrandr --dpi 96"
+      "${pkgs.xmonad-with-packages}/bin/xmonad --restart";
+    ];
+  }
+  {
+    name = "Mobile";
+    outputs_disconnected = [ "DP-2" ];
+    configure_single = "eDP-1";
+    primary = true;
+    atomic = true;
+    execute_after = [
+      "${pkgs.xorg.xrandr}/bin/xrandr --dpi 120"
+      "${pkgs.xmonad-with-packages}/bin/xmonad --restart";
+    ];
+  }
+]
+

Declared by:

+ <home-manager/modules/services/grobi.nix> +
services.hound.enable

Whether to enable hound.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/hound.nix> +
services.hound.databasePath

The Hound database path.

Type: path

Default: + "\$XDG_DATA_HOME/hound" +

Declared by:

+ <home-manager/modules/services/hound.nix> +
services.hound.listenAddress

Listen address of the Hound daemon.

Type: string

Default: + "localhost:6080" +

Declared by:

+ <home-manager/modules/services/hound.nix> +
services.hound.maxConcurrentIndexers

Limit the amount of concurrent indexers.

Type: positive integer, meaning >0

Default: + 2 +

Declared by:

+ <home-manager/modules/services/hound.nix> +
services.hound.repositories

The repository configuration.

Type: attribute set of attribute sets

Default: + + { + + } + +

Example:

{
+  SomeGitRepo = {
+    url = "https://www.github.com/YourOrganization/RepoOne.git";
+    ms-between-poll = 10000;
+    exclude-dot-files = true;
+  };
+}
+

Declared by:

+ <home-manager/modules/services/hound.nix> +
services.imapnotify.enable

Whether to enable imapnotify.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/imapnotify.nix> +
services.kanshi.enable

Whether to enable kanshi, a Wayland daemon that automatically configures outputs.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.package

kanshi derivation to use. +

Type: package

Default: + pkgs.kanshi +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.extraConfig

Extra configuration lines to append to the kanshi +configuration file. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.profiles

List of profiles. +

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.profiles.<name>.exec

Command executed after the profile is succesfully applied. +

Type: null or string

Default: + null +

Example: + "\${pkg.sway}/bin/swaymsg workspace 1, move workspace to eDP-1" +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.profiles.<name>.outputs

Outputs configuration. +

Type: list of submodules

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.profiles.<name>.outputs.*.criteria

The criteria can either be an output name, an output description or "*". +The latter can be used to match any output. + +On +sway(1), +output names and descriptions can be obtained via +swaymsg -t get_outputs. +

Type: string

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.profiles.<name>.outputs.*.mode

<width>x<height>[@<rate>[Hz]] +

+Configures the specified output to use the specified mode. +Modes are a combination of width and height (in pixels) and +a refresh rate (in Hz) that your display can be configured to use. +

Type: null or string

Default: + null +

Example: + "1920x1080@60Hz" +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.profiles.<name>.outputs.*.position

<x>,<y> +

+Places the output at the specified position in the global coordinates +space. +

Type: null or string

Default: + null +

Example: + "1600,0" +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.profiles.<name>.outputs.*.scale

Scales the output by the specified scale factor. +

Type: null or floating point number

Default: + null +

Example: + 2 +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.profiles.<name>.outputs.*.status

Enables or disables the specified output. +

Type: null or one of "enable", "disable"

Default: + null +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.profiles.<name>.outputs.*.transform

Sets the output transform. +

Type: null or one of "normal", "90", "180", "270", "flipped", "flipped-90", "flipped-180", "flipped-270"

Default: + null +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kanshi.systemdTarget

Systemd target to bind to. +

Type: string

Default: + "sway-session.target" +

Declared by:

+ <home-manager/modules/services/kanshi.nix> +
services.kbfs.enable

Whether to enable Keybase File System.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/kbfs.nix> +
services.kbfs.extraFlags

Additional flags to pass to the Keybase filesystem on launch. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "-label kbfs" "-mount-type normal" + ] + +

Declared by:

+ <home-manager/modules/services/kbfs.nix> +
services.kbfs.mountPoint

Mount point for the Keybase filesystem, relative to +HOME. +

Type: string

Default: + "keybase" +

Declared by:

+ <home-manager/modules/services/kbfs.nix> +
services.kdeconnect.enable

Whether to enable KDE connect.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/kdeconnect.nix> +
services.kdeconnect.indicator

Whether to enable kdeconnect-indicator service.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/kdeconnect.nix> +
services.keepassx.enable

Whether to enable the KeePassX password manager.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/keepassx.nix> +
services.keybase.enable

Whether to enable Keybase.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/keybase.nix> +
services.keynav.enable

Whether to enable keynav.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/keynav.nix> +
services.lieer.enable

Whether to enable lieer Gmail synchronization service.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/lieer.nix> +
services.lorri.enable

Whether to enable lorri build daemon.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/lorri.nix> +
services.lorri.package

Which lorri package to install.

Type: package

Default: + pkgs.lorri +

Declared by:

+ <home-manager/modules/services/lorri.nix> +
services.mbsync.enable

Whether to enable mbsync.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/mbsync.nix> +
services.mbsync.package

The package to use for the mbsync binary.

Type: package

Default: + pkgs.isync +

Example:

pkgs.isync

Declared by:

+ <home-manager/modules/services/mbsync.nix> +
services.mbsync.configFile

Optional configuration file to link to use instead of +the default file (~/.mbsyncrc). +

Type: null or path

Default: + null +

Declared by:

+ <home-manager/modules/services/mbsync.nix> +
services.mbsync.frequency

How often to run mbsync. This value is passed to the systemd +timer configuration as the onCalendar option. See +systemd.time(7) +for more information about the format. +

Type: string

Default: + "*:0/5" +

Declared by:

+ <home-manager/modules/services/mbsync.nix> +
services.mbsync.postExec

An optional command to run after mbsync executes successfully. +This is useful for running mailbox indexing tools. +

Type: null or string

Default: + null +

Example: + "\${pkgs.mu}/bin/mu index" +

Declared by:

+ <home-manager/modules/services/mbsync.nix> +
services.mbsync.preExec

An optional command to run before mbsync executes. This is +useful for creating the directories mbsync is going to use. +

Type: null or string

Default: + null +

Example: + "mkdir -p %h/mail" +

Declared by:

+ <home-manager/modules/services/mbsync.nix> +
services.mbsync.verbose

Whether mbsync should produce verbose output. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/mbsync.nix> +
services.mpd.enable

Whether to enable MPD, the music player daemon. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/mpd.nix> +
services.mpd.dataDir

The directory where MPD stores its state, tag cache, +playlists etc. +

Type: path

Default: + "\$XDG_DATA_HOME/mpd" +

Declared by:

+ <home-manager/modules/services/mpd.nix> +
services.mpd.dbFile

The path to MPD's database. If set to +null the parameter is omitted from the +configuration. +

Type: null or string

Default: + "\${dataDir}/tag_cache" +

Declared by:

+ <home-manager/modules/services/mpd.nix> +
services.mpd.extraConfig

Extra directives added to to the end of MPD's configuration +file, mpd.conf. Basic configuration +like file location and uid/gid is added automatically to the +beginning of the file. For available options see +mpd.conf(5). +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/services/mpd.nix> +
services.mpd.musicDirectory

The directory where mpd reads music from. +

Type: path or string

Default: + "\$HOME/music" +

Declared by:

+ <home-manager/modules/services/mpd.nix> +
services.mpd.network.listenAddress

The address for the daemon to listen on. +Use any to listen on all addresses. +

Type: string

Default: + "127.0.0.1" +

Example: + "any" +

Declared by:

+ <home-manager/modules/services/mpd.nix> +
services.mpd.network.port

The TCP port on which the the daemon will listen. +

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: + 6600 +

Declared by:

+ <home-manager/modules/services/mpd.nix> +
services.mpd.playlistDirectory

The directory where mpd stores playlists. +

Type: path

Default: + "\${dataDir}/playlists" +

Declared by:

+ <home-manager/modules/services/mpd.nix> +
services.mpdris2.enable

Whether to enable mpDris2 the MPD to MPRIS2 bridge.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/mpdris2.nix> +
services.mpdris2.package

The mpDris2 package to use.

Type: package

Default: + pkgs.mpdris2 +

Declared by:

+ <home-manager/modules/services/mpdris2.nix> +
services.mpdris2.mpd.host

The address where MPD is listening for connections.

Type: string

Default: + "config.services.mpd.network.listenAddress" +

Example: + "192.168.1.1" +

Declared by:

+ <home-manager/modules/services/mpdris2.nix> +
services.mpdris2.mpd.musicDirectory

If set, mpDris2 will use this directory to access music artwork. +

Type: null or path

Default: + "config.services.mpd.musicDirectory" +

Declared by:

+ <home-manager/modules/services/mpdris2.nix> +
services.mpdris2.mpd.port

The port number where MPD is listening for connections. +

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default: + "config.services.mpd.network.port" +

Declared by:

+ <home-manager/modules/services/mpdris2.nix> +
services.mpdris2.multimediaKeys

Whether to enable multimedia key support.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/mpdris2.nix> +
services.mpdris2.notifications

Whether to enable song change notifications.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/mpdris2.nix> +
services.muchsync.remotes

Muchsync remotes to synchronise with. +

Type: attribute set of submodules

Default: + + { + + } + +

Example:

{
+  server = {
+    frequency = "*:0/10";
+    remote.host = "server.tld";
+  };
+}
+

Declared by:

+ <home-manager/modules/services/muchsync.nix> +
services.muchsync.remotes.<name>.frequency

How often to run muchsync. This +value is passed to the systemd timer configuration as the +OnCalendar option. See +systemd.time(7) +for more information about the format. +

Type: string

Default: + "*:0/5" +

Declared by:

+ <home-manager/modules/services/muchsync.nix> +
services.muchsync.remotes.<name>.local.checkForModifiedFiles

Check for locally modified files. +Without this option, muchsync assumes that files in a maildir are +never edited. +

+checkForModifiedFiles disables certain +optimizations so as to make muchsync at least check the timestamp on +every file, which will detect modified files at the cost of a longer +startup time. +

+This option is useful if your software regularly modifies the +contents of mail files (e.g., because you are running offlineimap +with "synclabels = yes"). +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/muchsync.nix> +
services.muchsync.remotes.<name>.local.importNew

Whether to begin the synchronisation by running +notmuch new locally. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/muchsync.nix> +
services.muchsync.remotes.<name>.remote.checkForModifiedFiles

Check for modified files on the remote side. +Without this option, muchsync assumes that files in a maildir are +never edited. +

+checkForModifiedFiles disables certain +optimizations so as to make muchsync at least check the timestamp on +every file, which will detect modified files at the cost of a longer +startup time. +

+This option is useful if your software regularly modifies the +contents of mail files (e.g., because you are running offlineimap +with "synclabels = yes"). +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/muchsync.nix> +
services.muchsync.remotes.<name>.remote.host

Remote SSH host to synchronize with. +

Type: string

Declared by:

+ <home-manager/modules/services/muchsync.nix> +
services.muchsync.remotes.<name>.remote.importNew

Whether to begin the synchronisation by running +notmuch new on the remote side. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/muchsync.nix> +
services.muchsync.remotes.<name>.remote.muchsyncPath

Specifies the path to muchsync on the server. +Ordinarily, muchsync should be in the default PATH on the server +so this option is not required. +However, this option is useful if you have to install muchsync in +a non-standard place or wish to test development versions of the +code. +

Type: string

Default: + "\$PATH/muchsync" +

Declared by:

+ <home-manager/modules/services/muchsync.nix> +
services.muchsync.remotes.<name>.sshCommand

Specifies a command line to pass to /bin/sh +to execute a command on another machine. +

+Note that because this string is passed to the shell, +special characters including spaces may need to be escaped. +

Type: string

Default: + "ssh -CTaxq" +

Declared by:

+ <home-manager/modules/services/muchsync.nix> +
services.muchsync.remotes.<name>.upload

Whether to propagate local changes to the remote. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/muchsync.nix> +
services.network-manager-applet.enable

Whether to enable the Network Manager applet.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/network-manager-applet.nix> +
services.nextcloud-client.enable

Whether to enable Nextcloud Client.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/nextcloud-client.nix> +
services.owncloud-client.enable

Whether to enable Owncloud Client.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/owncloud-client.nix> +
services.parcellite.enable

Whether to enable Parcellite.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/parcellite.nix> +
services.password-store-sync.enable

Whether to enable Password store periodic sync.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/password-store-sync.nix> +
services.password-store-sync.frequency

How often to synchronise the password store git repository with its +default upstream. +

+This value is passed to the systemd timer configuration as the +onCalendar option. +See +systemd.time(7) +for more information about the format. +

Type: string

Default: + "*:0/5" +

Declared by:

+ <home-manager/modules/services/password-store-sync.nix> +
services.pasystray.enable

Whether to enable PulseAudio system tray.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/pasystray.nix> +
services.picom.enable

Whether to enable Picom X11 compositor.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.package

picom derivation to use. +

Type: package

Default: + pkgs.picom +

Example:

pkgs.picom

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.activeOpacity

Opacity of active windows. +

Type: string

Default: + "1.0" +

Example: + "0.8" +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.backend

Backend to use: glx or xrender. +

Type: string

Default: + "glx" +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.blur

Enable background blur on transparent windows. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.blurExclude

List of windows to exclude background blur. +See the +picom(1) +man page for more examples. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "class_g = 'slop'" "class_i = 'polybar'" + ] + +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.experimentalBackends

Whether to use the new experimental backends. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.extraOptions

Additional Picom configuration. +

Type: string

Default: + "" +

Example:

''
+unredir-if-possible = true;
+dbe = true;
+''

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.fade

Fade windows in and out. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.fadeDelta

Time between fade animation step (in ms). +

Type: signed integer

Default: + 10 +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.fadeExclude

List of conditions of windows that should not be faded. +See the +picom(1) +man page for more examples. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "window_type *= 'menu'" "name ~= 'Firefox\$'" "focused = 1" + ] + +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.fadeSteps

Opacity change between fade steps (in and out). +

Type: list of strings

Default: + + [ + "0.028" "0.03" + ] + +

Example: + + [ + "0.04" "0.04" + ] + +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.inactiveDim

Dim inactive windows. +

Type: string

Default: + "0.0" +

Example: + "0.2" +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.inactiveOpacity

Opacity of inactive windows. +

Type: string

Default: + "1.0" +

Example: + "0.8" +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.menuOpacity

Opacity of dropdown and popup menu. +

Type: string

Default: + "1.0" +

Example: + "0.8" +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.noDNDShadow

Avoid shadow on drag-and-drop windows. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.noDockShadow

Avoid shadow on docks. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.opacityRule

List of opacity rules. +See the +picom(1) +man page for more examples. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "87:class_i ?= 'scratchpad'" "91:class_i ?= 'xterm'" + ] + +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.refreshRate

Screen refresh rate (0 = automatically detect). +

Type: signed integer

Default: + 0 +

Example: + 60 +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.shadow

Draw window shadows. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.shadowExclude

List of conditions of windows that should have no shadow. +See the +picom(1) +man page for more examples. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "window_type *= 'menu'" "name ~= 'Firefox\$'" "focused = 1" + ] + +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.shadowOffsets

Horizontal and vertical offsets for shadows (in pixels). +

Type: list of signed integers

Default: + + [ + -15 -15 + ] + +

Example: + + [ + -10 -15 + ] + +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.shadowOpacity

Window shadows opacity (number in range 0 - 1). +

Type: string

Default: + "0.75" +

Example: + "0.8" +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.picom.vSync

Enable vertical synchronization. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/picom.nix> +
services.polybar.enable

Whether to enable Polybar status bar.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/polybar.nix> +
services.polybar.package

Polybar package to install.

Type: package

Default: + pkgs.polybar +

Example:

pkgs.polybar.override {
+  i3GapsSupport = true;
+  alsaSupport = true;
+  iwSupport = true;
+  githubSupport = true;
+}
+

Declared by:

+ <home-manager/modules/services/polybar.nix> +
services.polybar.config

Polybar configuration. Can be either path to a file, or set of attributes +that will be used to create the final configuration. +

Type: attribute set of attribute set of string or boolean or signed integer or list of stringsss or path convertible to it

Default: + + { + + } + +

Example:

{
+  "bar/top" = {
+    monitor = "\${env:MONITOR:eDP1}";
+    width = "100%";
+    height = "3%";
+    radius = 0;
+    modules-center = "date";
+  };
+
+  "module/date" = {
+    type = "internal/date";
+    internal = 5;
+    date = "%d.%m.%y";
+    time = "%H:%M";
+    label = "%time%  %date%";
+  };
+}
+

Declared by:

+ <home-manager/modules/services/polybar.nix> +
services.polybar.extraConfig

Additional configuration to add.

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+[module/date]
+type = internal/date
+interval = 5
+date = "%d.%m.%y"
+time = %H:%M
+format-prefix-foreground = \''${colors.foreground-alt}
+label = %time%  %date%
+''

Declared by:

+ <home-manager/modules/services/polybar.nix> +
services.polybar.script

This script will be used to start the polybars. +Set all necessary environment variables here and start all bars. +It can be assumed that polybar executable is in the PATH. + +Note, this script must start all bars in the background and then terminate. +

Type: strings concatenated with "\n"

Example: + "polybar bar &" +

Declared by:

+ <home-manager/modules/services/polybar.nix> +
services.pulseeffects.enable

Whether to enable Pulseeffects daemon.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/pulseeffects.nix> +
services.pulseeffects.preset

Which preset to use when starting pulseeffects. +Will likely need to launch pulseeffects to initially create preset. +

Type: string

Default: + "" +

Declared by:

+ <home-manager/modules/services/pulseeffects.nix> +
services.random-background.enable

Whether to enable random desktop background. +

+Note, if you are using NixOS and have set up a custom +desktop manager session for Home Manager, then the session +configuration must have the bgSupport +option set to true or the background +image set by this module may be overwritten. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/random-background.nix> +
services.random-background.enableXinerama

Will place a separate image per screen when enabled, +otherwise a single image will be stretched across all +screens. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/random-background.nix> +
services.random-background.display

Display background images according to this option.

Type: one of "center", "fill", "max", "scale", "tile"

Default: + "fill" +

Declared by:

+ <home-manager/modules/services/random-background.nix> +
services.random-background.imageDirectory

The directory of images from which a background should be +chosen. Should be formatted in a way understood by systemd, +e.g., '%h' is the home directory. +

Type: string

Example: + "%h/backgrounds" +

Declared by:

+ <home-manager/modules/services/random-background.nix> +
services.random-background.interval

The duration between changing background image, set to null +to only set background when logging in. Should be formatted +as a duration understood by systemd. +

Type: null or string

Default: + null +

Example: + "1h" +

Declared by:

+ <home-manager/modules/services/random-background.nix> +
services.redshift.enable

Enable Redshift to change your screen's colour temperature depending on +the time of day. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.redshift.package

redshift derivation to use. +

Type: package

Default: + pkgs.redshift +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.redshift.brightness.day

Screen brightness to apply during the day, +between 0.1 and 1.0. +

Type: string

Default: + "1" +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.redshift.brightness.night

Screen brightness to apply during the night, +between 0.1 and 1.0. +

Type: string

Default: + "1" +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.redshift.extraOptions

Additional command-line arguments to pass to +redshift. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "-v" "-m randr" + ] + +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.redshift.latitude

Your current latitude, between -90.0 and +90.0. Must be provided along with +longitude. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.redshift.longitude

Your current longitude, between -180.0 and +180.0. Must be provided along with +latitude. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.redshift.provider

The location provider to use for determining your location. If set to +manual you must also provide latitude/longitude. +If set to geoclue2, you must also enable the global +geoclue2 service. +

Type: one of "manual", "geoclue2"

Default: + "manual" +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.redshift.temperature.day

Colour temperature to use during the day, between +1000 and 25000 K. +

Type: signed integer

Default: + 5500 +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.redshift.temperature.night

Colour temperature to use at night, between +1000 and 25000 K. +

Type: signed integer

Default: + 3700 +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.redshift.tray

Start the redshift-gtk tray applet. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/redshift.nix> +
services.rsibreak.enable

Whether to enable rsibreak.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/rsibreak.nix> +
services.screen-locker.enable

Whether to enable screen locker for X session.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/screen-locker.nix> +
services.screen-locker.enableDetectSleep

Whether to reset timers when awaking from sleep. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/screen-locker.nix> +
services.screen-locker.inactiveInterval

Inactive time interval in minutes after which session will be locked. +The minimum is 1 minute, and the maximum is 1 hour. +See https://linux.die.net/man/1/xautolock. +

Type: signed integer

Default: + 10 +

Declared by:

+ <home-manager/modules/services/screen-locker.nix> +
services.screen-locker.lockCmd

Locker command to run.

Type: string

Example: + "\${pkgs.i3lock}/bin/i3lock -n -c 000000" +

Declared by:

+ <home-manager/modules/services/screen-locker.nix> +
services.screen-locker.xautolockExtraOptions

Extra command-line arguments to pass to xautolock. +

Type: list of strings

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/services/screen-locker.nix> +
services.screen-locker.xssLockExtraOptions

Extra command-line arguments to pass to xss-lock. +

Type: list of strings

Default: + + [ + + ] + +

Declared by:

+ <home-manager/modules/services/screen-locker.nix> +
services.spotifyd.enable

Whether to enable SpotifyD connect.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/spotifyd.nix> +
services.spotifyd.package

The spotifyd package to use. +Can be used to specify extensions. +

Type: package

Default: + pkgs.spotifyd +

Example:

(pkgs.spotifyd.override { withKeyring = true; })

Declared by:

+ <home-manager/modules/services/spotifyd.nix> +
services.spotifyd.settings

Configuration for spotifyd

Type: attribute set of attribute set of stringss

Default: + + { + + } + +

Example:

{
+  global = {
+    username = "Alex";
+    password = "foo";
+    device_name = "nix";
+  };
+}
+

Declared by:

+ <home-manager/modules/services/spotifyd.nix> +
services.stalonetray.enable

Whether to enable Stalonetray system tray.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/stalonetray.nix> +
services.stalonetray.package

The package to use for the Stalonetray binary.

Type: package

Default: + pkgs.stalonetray +

Example:

pkgs.stalonetray

Declared by:

+ <home-manager/modules/services/stalonetray.nix> +
services.stalonetray.config

Stalonetray configuration as a set of attributes. +

Type: attribute set of null or string or boolean or signed integers

Default: + + { + + } + +

Example: + + { + background = "#cccccc"; decorations = null; geometry = "3x1-600+0"; icon_size = 30; sticky = true; + } + +

Declared by:

+ <home-manager/modules/services/stalonetray.nix> +
services.stalonetray.extraConfig

Additional configuration lines for stalonetrayrc.

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+geometry 3x1-600+0
+decorations none
+icon_size 30
+sticky true
+background "#cccccc"
+''

Declared by:

+ <home-manager/modules/services/stalonetray.nix> +
services.status-notifier-watcher.enable

Whether to enable Status Notifier Watcher.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/status-notifier-watcher.nix> +
services.status-notifier-watcher.package

The package to use for the status notifier watcher binary.

Type: package

Default: + pkgs.haskellPackages.status-notifier-item +

Example:

pkgs.haskellPackages.status-notifier-item

Declared by:

+ <home-manager/modules/services/status-notifier-watcher.nix> +
services.sxhkd.enable

Whether to enable simple X hotkey daemon.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/sxhkd.nix> +
services.sxhkd.extraConfig

Additional configuration to add.

Type: strings concatenated with "\n"

Default: + "" +

Example:

super + {_,shift +} {1-9,0}
+  i3-msg {workspace,move container to workspace} {1-10}
+

Declared by:

+ <home-manager/modules/services/sxhkd.nix> +
services.sxhkd.extraPath

Additional PATH entries to search for commands. +

Type: strings concatenated with ":"

Default: + "" +

Example: + "/home/some-user/bin:/extra/path/bin" +

Declared by:

+ <home-manager/modules/services/sxhkd.nix> +
services.sxhkd.keybindings

An attribute set that assigns hotkeys to commands.

Type: attribute set of null or strings

Default: + + { + + } + +

Example:

{
+  "super + shift + {r,c}" = "i3-msg {restart,reload}";
+  "super + {s,w}"         = "i3-msg {stacking,tabbed}";
+}
+

Declared by:

+ <home-manager/modules/services/sxhkd.nix> +
services.syncthing.enable

Whether to enable Syncthing continuous file synchronization.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/syncthing.nix> +
services.syncthing.tray

Whether to enable QSyncthingTray service.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/syncthing.nix> +
services.taffybar.enable

Whether to enable Taffybar.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/taffybar.nix> +
services.taffybar.package

The package to use for the Taffybar binary.

Type: package

Default: + pkgs.taffybar +

Example:

pkgs.taffybar

Declared by:

+ <home-manager/modules/services/taffybar.nix> +
services.tahoe-lafs.enable

Whether to enable Tahoe-LAFS.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/tahoe-lafs.nix> +
services.taskwarrior-sync.enable

Whether to enable Taskwarrior periodic sync.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/taskwarrior-sync.nix> +
services.taskwarrior-sync.frequency

How often to run taskwarrior sync. This +value is passed to the systemd timer configuration as the +OnCalendar option. See +systemd.time(7) +for more information about the format. +

Type: string

Default: + "*:0/5" +

Declared by:

+ <home-manager/modules/services/taskwarrior-sync.nix> +
services.udiskie.enable

Whether to enable udiskie mount daemon.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/udiskie.nix> +
services.udiskie.automount

Whether to automatically mount new devices.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/udiskie.nix> +
services.udiskie.notify

Whether to show pop-up notifications.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/udiskie.nix> +
services.udiskie.tray

Whether to display tray icon. +

+The options are +

always

Always show tray icon.

auto

+ Show tray icon only when there is a device available. +

never

Never show tray icon.

+

Type: one of "always", "auto", "never"

Default: + "auto" +

Declared by:

+ <home-manager/modules/services/udiskie.nix> +
services.unclutter.enable

Whether to enable unclutter.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/unclutter.nix> +
services.unclutter.package

unclutter derivation to use.

Type: package

Default: + pkgs.unclutter-xfixes +

Declared by:

+ <home-manager/modules/services/unclutter.nix> +
services.unclutter.extraOptions

More arguments to pass to the unclutter command.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "exclude-root" "ignore-scrolling" + ] + +

Declared by:

+ <home-manager/modules/services/unclutter.nix> +
services.unclutter.threshold

Minimum number of pixels considered cursor movement.

Type: signed integer

Default: + 1 +

Declared by:

+ <home-manager/modules/services/unclutter.nix> +
services.unclutter.timeout

Number of seconds before the cursor is marked inactive.

Type: signed integer

Default: + 1 +

Declared by:

+ <home-manager/modules/services/unclutter.nix> +
services.unison.enable

Whether to enable Unison synchronisation.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/unison.nix> +
services.unison.pairs

Unison root pairs to keep synchronised. +

Type: attribute set of submodules

Default: + + { + + } + +

Example:

{
+  roots = [
+    "/home/user/documents"
+    "ssh://remote/documents"
+  ];
+}
+

Declared by:

+ <home-manager/modules/services/unison.nix> +
services.unison.pairs.<name>.commandOptions

Additional command line options as a dictionary to pass to the +unison program. +

+See +unison(1) +for a list of available options. +

Type: attribute set of strings

Default: + + { + auto = "true"; batch = "true"; log = "false"; repeat = "watch"; sshcmd = "\${pkgs.openssh}/bin/ssh"; ui = "text"; + } + +

Declared by:

+ <home-manager/modules/services/unison.nix> +
services.unison.pairs.<name>.roots

Pair of roots to synchronise. +

Type: list of strings of length 2

Example:

[
+  "/home/user/documents"
+  "ssh://remote/documents"
+]
+

Declared by:

+ <home-manager/modules/services/unison.nix> +
services.unison.pairs.<name>.stateDirectory

Unison state directory to use. +

Type: path

Default: + "\$XDG_DATA_HOME/unison" +

Declared by:

+ <home-manager/modules/services/unison.nix> +
services.xcape.enable

Whether to enable xcape.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/xcape.nix> +
services.xcape.mapExpression

The value has the grammar Key[|OtherKey]. +

+The list of key names is found in the header file +X11/keysymdef.h (remove the +XK_ prefix). Note that due to limitations +of X11 shifted keys must be specified as a shift key +followed by the key to be pressed rather than the actual +name of the character. For example to generate "{" the +expression Shift_L|bracketleft could be +used (assuming that you have a key with "{" above "["). +

+You can also specify keys in decimal (prefix #), octal (#0), +or hexadecimal (#0x). They will be interpreted as keycodes +unless no corresponding key name is found. +

Type: attribute set of strings

Default: + + { + + } + +

Example: + + { + Control_L = "Control_L|O"; Shift_L = "Escape"; + } + +

Declared by:

+ <home-manager/modules/services/xcape.nix> +
services.xcape.timeout

If you hold a key longer than this timeout, xcape will not +generate a key event. Default is 500 ms. +

Type: null or signed integer

Default: + null +

Example: + 500 +

Declared by:

+ <home-manager/modules/services/xcape.nix> +
services.xembed-sni-proxy.enable

Whether to enable XEmbed SNI Proxy.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/xembed-sni-proxy.nix> +
services.xembed-sni-proxy.package

Package containing the xembedsniproxy +program. +

Type: package

Default: + pkgs.plasma-workspace +

Declared by:

+ <home-manager/modules/services/xembed-sni-proxy.nix> +
services.xscreensaver.enable

Whether to enable XScreenSaver.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/xscreensaver.nix> +
services.xscreensaver.settings

The settings to use for XScreenSaver. +

Type: attribute set of boolean or signed integer or strings

Default: + + { + + } + +

Example: + + { + fadeTicks = 20; lock = false; mode = "blank"; + } + +

Declared by:

+ <home-manager/modules/services/xscreensaver.nix> +
services.xsuspender.enable

Whether to enable XSuspender.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.debug

Whether to enable debug output.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults

XSuspender defaults.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.autoSuspendOnBattery

Whether to auto-apply rules when switching to battery +power even if the window(s) didn't just lose focus. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.downclockOnBattery

Limit CPU consumption for this factor when on battery power. +Value 1 means 50% decrease, 2 means 66%, 3 means 75% etc. +

Type: signed integer

Default: + 0 +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.execResume

Before resuming, execute this shell script. Resume the +process regardless script failure. +

Type: null or string

Default: + null +

Example: + "echo resuming ..." +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.execSuspend

Before suspending, execute this shell script. If it fails, +abort suspension. +

Type: null or string

Default: + null +

Example: + ''echo "suspending window $XID of process $PID"'' +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.matchWmClassContains

Match windows that wm class contains string.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.matchWmClassGroupContains

Match windows where wm class group contains string.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.matchWmNameContains

Match windows where wm name contains string.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.onlyOnBattery

Whether to enable process suspend only on battery.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.resumeEvery

Resume interval in seconds.

Type: signed integer

Default: + 50 +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.resumeFor

Resume duration in seconds.

Type: signed integer

Default: + 5 +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.sendSignals

Whether to send SIGSTOP / SIGCONT signals or not. +If false just the exec scripts are run. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.suspendDelay

Initial suspend delay in seconds.

Type: signed integer

Default: + 5 +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.defaults.suspendSubtreePattern

Also suspend descendant processes that match this regex.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules

Attribute set of XSuspender rules.

Type: attribute set of submodules

Default: + + { + + } + +

Example: + + { + Chromium = + { + matchWmClassContains = "chromium-browser"; suspendDelay = 10; suspendSubtreePattern = "chromium"; + } + ; + } + +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.autoSuspendOnBattery

Whether to auto-apply rules when switching to battery +power even if the window(s) didn't just lose focus. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.downclockOnBattery

Limit CPU consumption for this factor when on battery power. +Value 1 means 50% decrease, 2 means 66%, 3 means 75% etc. +

Type: signed integer

Default: + 0 +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.execResume

Before resuming, execute this shell script. Resume the +process regardless script failure. +

Type: null or string

Default: + null +

Example: + "echo resuming ..." +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.execSuspend

Before suspending, execute this shell script. If it fails, +abort suspension. +

Type: null or string

Default: + null +

Example: + ''echo "suspending window $XID of process $PID"'' +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.matchWmClassContains

Match windows that wm class contains string.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.matchWmClassGroupContains

Match windows where wm class group contains string.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.matchWmNameContains

Match windows where wm name contains string.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.onlyOnBattery

Whether to enable process suspend only on battery.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.resumeEvery

Resume interval in seconds.

Type: signed integer

Default: + 50 +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.resumeFor

Resume duration in seconds.

Type: signed integer

Default: + 5 +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.sendSignals

Whether to send SIGSTOP / SIGCONT signals or not. +If false just the exec scripts are run. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.suspendDelay

Initial suspend delay in seconds.

Type: signed integer

Default: + 5 +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
services.xsuspender.rules.<name>.suspendSubtreePattern

Also suspend descendant processes that match this regex.

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/xsuspender.nix> +
systemd.user.paths

Definition of systemd per-user path units. Attributes are +merged recursively. +

+Note that the attributes follow the capitalization and naming used +by systemd. More details can be found in +systemd.path(5). +

Type: systemd path unit configuration

Default: + + { + + } + +

Example:

{
+  path-name = {
+    Unit = {
+      Description = "Example description";
+      Documentation = [ "man:example(1)" "man:example(5)" ];
+    };
+
+    Path = {
+      …
+    };
+  }
+};
+

Declared by:

+ <home-manager/modules/systemd.nix> +
systemd.user.services

Definition of systemd per-user service units. Attributes are +merged recursively. +

+Note that the attributes follow the capitalization and naming used +by systemd. More details can be found in +systemd.service(5). +

Type: systemd service unit configuration

Default: + + { + + } + +

Example:

{
+  service-name = {
+    Unit = {
+      Description = "Example description";
+      Documentation = [ "man:example(1)" "man:example(5)" ];
+    };
+
+    Service = {
+      …
+    };
+  }
+};
+

Declared by:

+ <home-manager/modules/systemd.nix> +
systemd.user.servicesStartTimeoutMs

How long to wait for started services to fail until their +start is considered successful. +

Type: signed integer

Default: + 0 +

Declared by:

+ <home-manager/modules/systemd.nix> +
systemd.user.sessionVariables

Environment variables that will be set for the user session. +The variable values must be as described in +environment.d(5). +

Type: attribute set of signed integer or strings

Default: + + { + + } + +

Example: + + { + EDITOR = "vim"; + } + +

Declared by:

+ <home-manager/modules/systemd.nix> +
systemd.user.sockets

Definition of systemd per-user socket units. Attributes are +merged recursively. +

+Note that the attributes follow the capitalization and naming used +by systemd. More details can be found in +systemd.socket(5). +

Type: systemd socket unit configuration

Default: + + { + + } + +

Example:

{
+  socket-name = {
+    Unit = {
+      Description = "Example description";
+      Documentation = [ "man:example(1)" "man:example(5)" ];
+    };
+
+    Socket = {
+      …
+    };
+  }
+};
+

Declared by:

+ <home-manager/modules/systemd.nix> +
systemd.user.startServices

Start all services that are wanted by active targets. +Additionally, stop obsolete services from the previous +generation. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/systemd.nix> +
systemd.user.systemctlPath

Absolute path to the systemctl tool. This +option may need to be set if running Home Manager on a +non-NixOS distribution. +

Type: string

Default: + "\${pkgs.systemd}/bin/systemctl" +

Declared by:

+ <home-manager/modules/systemd.nix> +
systemd.user.targets

Definition of systemd per-user target units. Attributes are +merged recursively. +

+Note that the attributes follow the capitalization and naming used +by systemd. More details can be found in +systemd.target(5). +

Type: systemd target unit configuration

Default: + + { + + } + +

Example:

{
+  target-name = {
+    Unit = {
+      Description = "Example description";
+      Documentation = [ "man:example(1)" "man:example(5)" ];
+    };
+
+    Target = {
+      …
+    };
+  }
+};
+

Declared by:

+ <home-manager/modules/systemd.nix> +
systemd.user.timers

Definition of systemd per-user timer units. Attributes are +merged recursively. +

+Note that the attributes follow the capitalization and naming used +by systemd. More details can be found in +systemd.timer(5). +

Type: systemd timer unit configuration

Default: + + { + + } + +

Example:

{
+  timer-name = {
+    Unit = {
+      Description = "Example description";
+      Documentation = [ "man:example(1)" "man:example(5)" ];
+    };
+
+    Timer = {
+      …
+    };
+  }
+};
+

Declared by:

+ <home-manager/modules/systemd.nix> +
systemd.user.tmpfiles.rules

Rules for creating and cleaning up temporary files +automatically. See +tmpfiles.d(5) +for the exact format. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "L /home/user/Documents - - - - /mnt/data/Documents" + ] + +

Declared by:

+ <home-manager/modules/misc/tmpfiles.nix> +
targets.genericLinux.enable

Whether to enable settings that make Home Manager work better on +GNU/Linux distributions other than NixOS. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/targets/generic-linux.nix> +
targets.genericLinux.extraXdgDataDirs

List of directory names to add to XDG_DATA_DIRS. +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "/usr/share" "/usr/local/share" + ] + +

Declared by:

+ <home-manager/modules/targets/generic-linux.nix> +
wayland.windowManager.sway.enable

Whether to enable sway wayland compositor.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.package

Sway package to use. Will override the options +'wrapperFeatures', 'extraSessionCommands', and 'extraOptions'. +Set to null to not add any Sway package to your +path. This should be done if you want to use the NixOS Sway +module to install Sway. +

Type: null or package

Default: + ${pkgs.sway} +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config

Sway configuration options.

Type: null or submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.assigns

An attribute set that assigns applications to workspaces based +on criteria. +

Type: attribute set of list of attribute set of stringsss

Default: + + { + + } + +

Example:

{
+"1: web" = [{ class = "^Firefox$"; }];
+"0: extra" = [{ class = "^Firefox$"; window_role = "About"; }];
+}
+

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars

Sway bars settings blocks. Set to empty list to remove bars completely. +

Type: list of submodules

Default: + + [ + + { + + } + + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.colors

Bar color settings. All color classes can be specified using submodules +with 'border', 'background', 'text', fields and RGB color hex-codes as values. +See default values for the reference. +Note that 'background', 'status', and 'separator' parameters take a single RGB value. + +See https://i3wm.org/docs/userguide.html#_colors. +

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.colors.activeWorkspace

Border, background and text color for a workspace button when the workspace is active. +

Type: submodule

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.colors.background

Background color of the bar.

Type: string

Default: + #000000 for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.colors.bindingMode

Border, background and text color for the binding mode indicator

Type: submodule

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.colors.focusedWorkspace

Border, background and text color for a workspace button when the workspace has focus. +

Type: submodule

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.colors.inactiveWorkspace

Border, background and text color for a workspace button when the workspace does not +have focus and is not active. +

Type: submodule

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.colors.separator

Text color to be used for the separator.

Type: string

Default: + #666666 for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.colors.statusline

Text color to be used for the statusline.

Type: string

Default: + #ffffff for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.colors.urgentWorkspace

Border, background and text color for a workspace button when the workspace contains +a window with the urgency hint set. +

Type: submodule

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.command

Command that will be used to start a bar.

Type: string

Default: + "i3bar" +

Example: + "\${pkgs.waybar}/bin/waybar" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.extraConfig

Extra configuration lines for this bar.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.fonts

Font list used for window titles. Only FreeType fonts are supported. +The order here is important (e.g. icons font should go before the one used for text). +

Type: list of strings

Default: + + [ + "monospace 8" + ] + +

Example: + + [ + "FontAwesome 10" "Terminus 10" + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.hiddenState

The default bar mode when 'bar.mode' == 'hide'.

Type: one of "hide", "show"

Default: + hide for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.id

Specifies the bar ID for the configured bar instance. +If this option is missing, the ID is set to bar-x, where x corresponds +to the position of the embedding bar block in the config file. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.mode

Bar visibility mode.

Type: one of "dock", "hide", "invisible"

Default: + dock for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.position

The edge of the screen swaybar should show up.

Type: one of "top", "bottom"

Default: + bottom for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.statusCommand

Command that will be used to get status lines.

Type: null or string

Default: + "\${pkgs.i3status}/bin/i3status" +

Example: + "i3status" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.trayOutput

Where to output tray.

Type: string

Default: + primary for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.workspaceButtons

Whether workspace buttons should be shown or not.

Type: boolean

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bars.*.workspaceNumbers

Whether workspace numbers should be displayed within the workspace buttons.

Type: boolean

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.bindkeysToCode

Whether to make use of --to-code in keybindings. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.colors

Color settings. All color classes can be specified using submodules +with 'border', 'background', 'text', 'indicator' and 'childBorder' fields +and RGB color hex-codes as values. See default values for the reference. +Note that 'sway.config.colors.background' parameter takes a single RGB value. + +See https://i3wm.org/docs/userguide.html#_changing_colors. +

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.colors.background

Background color of the window. Only applications which do not cover +the whole area expose the color. +

Type: string

Default: + "#ffffff" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.colors.focused

A window which currently has the focus.

Type: submodule

Default: + + { + background = "#285577"; border = "#4c7899"; childBorder = "#285577"; indicator = "#2e9ef4"; text = "#ffffff"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.colors.focusedInactive

A window which is the focused one of its container, +but it does not have the focus at the moment. +

Type: submodule

Default: + + { + background = "#5f676a"; border = "#333333"; childBorder = "#5f676a"; indicator = "#484e50"; text = "#ffffff"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.colors.placeholder

Background and text color are used to draw placeholder window +contents (when restoring layouts). Border and indicator are ignored. +

Type: submodule

Default: + + { + background = "#0c0c0c"; border = "#000000"; childBorder = "#0c0c0c"; indicator = "#000000"; text = "#ffffff"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.colors.unfocused

A window which is not focused.

Type: submodule

Default: + + { + background = "#222222"; border = "#333333"; childBorder = "#222222"; indicator = "#292d2e"; text = "#888888"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.colors.urgent

A window which has its urgency hint activated.

Type: submodule

Default: + + { + background = "#900000"; border = "#2f343a"; childBorder = "#900000"; indicator = "#900000"; text = "#ffffff"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.down

Home row direction key for moving down.

Type: string

Default: + "j" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.floating

Floating window settings.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.floating.border

Floating windows border width.

Type: signed integer

Default: + 2 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.floating.criteria

List of criteria for windows that should be opened in a floating mode.

Type: list of attribute set of stringss

Default: + + [ + + ] + +

Example: + + [ + + { + title = "Steam - Update News"; + } + + { + class = "Pavucontrol"; + } + + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.floating.modifier

Modifier key that can be used to drag floating windows.

Type: one of "Shift", "Control", "Mod1", "Mod2", "Mod3", "Mod4", "Mod5"

Default: + "sway.config.modifier" +

Example: + "Mod4" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.floating.titlebar

Whether to show floating window titlebars.

Type: boolean

Default: + "false" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.focus

Focus related settings.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.focus.followMouse

Whether focus should follow the mouse.

Type: one of "yes", "no", "always" or boolean

Default: + "yes" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.focus.forceWrapping

Whether to force focus wrapping in tabbed or stacked container. + +See https://i3wm.org/docs/userguide.html#_focus_wrapping +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.focus.mouseWarping

Whether mouse cursor should be warped to the center of the window when switching focus +to a window on a different output. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.focus.newWindow

This option modifies focus behavior on new window activation. + +See https://i3wm.org/docs/userguide.html#focus_on_window_activation +

Type: one of "smart", "urgent", "focus", "none"

Default: + "smart" +

Example: + "none" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.fonts

Font list used for window titles. Only FreeType fonts are supported. +The order here is important (e.g. icons font should go before the one used for text). +

Type: list of strings

Default: + + [ + "monospace 8" + ] + +

Example: + + [ + "FontAwesome 10" "Terminus 10" + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps

Gaps related settings. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps.bottom

Bottom gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps.horizontal

Horizontal gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps.inner

Inner gaps value.

Type: null or signed integer

Default: + null +

Example: + 12 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps.left

Left gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps.outer

Outer gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps.right

Right gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps.smartBorders

This option controls whether to disable container borders on +workspace with a single container. +

Type: one of "on", "off", "no_gaps"

Default: + "off" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps.smartGaps

This option controls whether to disable all gaps (outer and inner) +on workspace with a single container. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps.top

Top gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.gaps.vertical

Vertical gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.input

An attribute set that defines input modules. See man sway_input for options. +

Type: attribute set of attribute set of stringss

Default: + + { + + } + +

Example: + + { + * = + { + xkb_variant = "dvorak"; + } + ; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.keybindings

An attribute set that assigns a key press to an action using a key symbol. +See https://i3wm.org/docs/userguide.html#keybindings. +

+Consider to use lib.mkOptionDefault function to extend or override +default keybindings instead of specifying all of them from scratch. +

Type: attribute set of null or strings

Default: + "Default sway keybindings." +

Example:

let
+  modifier = config.wayland.windowManager.sway.config.modifier;
+in lib.mkOptionDefault {
+  "${modifier}+Return" = "exec ${pkgs.rxvt-unicode-unwrapped}/bin/urxvt";
+  "${modifier}+Shift+q" = "kill";
+  "${modifier}+d" = "exec ${pkgs.dmenu}/bin/dmenu_path | ${pkgs.dmenu}/bin/dmenu | ${pkgs.findutils}/bin/xargs swaymsg exec --";
+}
+

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.keycodebindings

An attribute set that assigns keypress to an action using key code. +See https://i3wm.org/docs/userguide.html#keybindings. +

Type: attribute set of null or strings

Default: + + { + + } + +

Example: + + { + 214 = "exec /bin/script.sh"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.left

Home row direction key for moving left.

Type: string

Default: + "h" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.menu

Default launcher to use.

Type: string

Default: + "\${pkgs.dmenu}/bin/dmenu_path | \${pkgs.dmenu}/bin/dmenu | \${pkgs.findutils}/bin/xargs swaymsg exec --" +

Example: + "bemenu-run" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.modes

An attribute set that defines binding modes and keybindings +inside them + +Only basic keybinding is supported (bindsym keycomb action), +for more advanced setup use 'sway.extraConfig'. +

Type: attribute set of attribute set of stringss

Default: + + { + resize = + { + Down = "resize grow height 10 px"; Escape = "mode default"; Left = "resize shrink width 10 px"; Return = "mode default"; Right = "resize grow width 10 px"; Up = "resize shrink height 10 px"; h = "resize shrink width 10 px"; j = "resize grow height 10 px"; k = "resize shrink height 10 px"; l = "resize grow width 10 px"; + } + ; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.modifier

Modifier key that is used for all default keybindings.

Type: one of "Shift", "Control", "Mod1", "Mod2", "Mod3", "Mod4", "Mod5"

Default: + "Mod1" +

Example: + "Mod4" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.output

An attribute set that defines output modules. See man sway_output for options. +

Type: attribute set of attribute set of stringss

Default: + + { + + } + +

Example: + + { + HDMI-A-2 = + { + bg = "~/path/to/background.png fill"; + } + ; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.right

Home row direction key for moving right.

Type: string

Default: + "l" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.startup

Commands that should be executed at startup. + +See https://i3wm.org/docs/userguide.html#_automatically_starting_applications_on_i3_startup. +

Type: list of submodules

Default: + + [ + + ] + +

Example:

[
+{ command = "systemctl --user restart waybar"; always = true; }
+{ command = "dropbox start"; }
+{ command = "firefox"; }
+]
+

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.startup.*.always

Whether to run command on each sway restart.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.startup.*.command

Command that will be executed on startup.

Type: string

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.terminal

Default terminal to run.

Type: string

Default: + "\${pkgs.rxvt-unicode-unwrapped}/bin/urxvt" +

Example: + "alacritty" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.up

Home row direction key for moving up.

Type: string

Default: + "k" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.window

Window titlebar and border settings.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.window.border

Window border width.

Type: signed integer

Default: + 2 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.window.commands

List of commands that should be executed on specific windows. +See for_window swaywm option documentation. +

Type: list of submodules

Default: + + [ + + ] + +

Example: + + [ + + { + command = "border pixel 1"; criteria = + { + class = "XTerm"; + } + ; + } + + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.window.commands.*.command

Swaywm command to execute.

Type: string

Example: + "border pixel 1" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.window.commands.*.criteria

Criteria of the windows on which command should be executed.

Type: attribute set of strings

Example: + + { + title = "x200: ~/work"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.window.hideEdgeBorders

Hide window borders adjacent to the screen edges.

Type: one of "none", "vertical", "horizontal", "both", "smart"

Default: + "none" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.window.titlebar

Whether to show window titlebars.

Type: boolean

Default: + "false" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.workspaceAutoBackAndForth

Assume you are on workspace "1: www" and switch to "2: IM" using +mod+2 because somebody sent you a message. You don’t need to remember +where you came from now, you can just press $mod+2 again to switch +back to "1: www". +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.config.workspaceLayout

The mode in which new containers on workspace level will +start. +

Type: one of "default", "stacked", "tabbed"

Default: + "default" +

Example: + "tabbed" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.extraConfig

Extra configuration lines to add to ~/.config/sway/config.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.extraOptions

Command line arguments passed to launch Sway. Please DO NOT report +issues if you use an unsupported GPU (proprietary drivers). +

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "--verbose" "--debug" "--unsupported-gpu" "--my-next-gpu-wont-be-nvidia" + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.extraSessionCommands

Shell commands executed just before Sway is started. +

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+export SDL_VIDEODRIVER=wayland
+# needs qt5.qtwayland in systemPackages
+export QT_QPA_PLATFORM=wayland
+export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
+# Fix for some Java AWT applications (e.g. Android Studio),
+# use this if they aren't displayed properly:
+export _JAVA_AWT_WM_NONREPARENTING=1
+''

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.systemdIntegration

Whether to enable sway-session.target on +sway startup. This links to +graphical-session.target. +

Type: boolean

Default: + true +

Example: + false +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.wrapperFeatures

Attribute set of features to enable in the wrapper. +

Type: submodule

Default: + + { + + } + +

Example: + + { + gtk = true; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.wrapperFeatures.base

Whether to make use of the base wrapper to execute extra session commands and prepend a +dbus-run-session to the sway command. +

Type: boolean

Default: + true +

Example: + false +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.wrapperFeatures.gtk

Whether to make use of the wrapGAppsHook wrapper to execute sway with required environment +variables for GTK applications. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
wayland.windowManager.sway.xwayland

Enable xwayland, which is needed for the default configuration of sway. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/sway.nix> +
xdg.enable

Whether to enable management of XDG base directories.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.cacheHome

Absolute path to directory holding application caches. +

Type: path

Default: + "~/.cache" +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.configFile

Attribute set of files to link into the user's XDG +configuration home. +

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.configFile.<name>.executable

Set the execute bit. If null, defaults to the mode +of the source file or to false +for files created through the text option. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.configFile.<name>.onChange

Shell commands to run when file has changed between +generations. The script will be run +after the new files have been linked +into place. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.configFile.<name>.recursive

If the file source is a directory, then this option +determines whether the directory should be recursively +linked to the target location. This option has no effect +if the source is a file. +

+If false (the default) then the target +will be a symbolic link to the source directory. If +true then the target will be a +directory structure matching the source's but whose leafs +are symbolic links to the files of the source directory. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.configFile.<name>.source

Path of the source file or directory. If +home.file.<name?>.text +is non-null then this option will automatically point to a file +containing that text. +

Type: path

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.configFile.<name>.target

Path to target file relative to xdg.configHome. +

Type: string

Default: + <name> +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.configFile.<name>.text

Text of the file. If this option is null then +home.file.<name?>.source +must be set. +

Type: null or strings concatenated with "\n"

Default: + null +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.configHome

Absolute path to directory holding application configurations. +

Type: path

Default: + "~/.config" +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.dataFile

Attribute set of files to link into the user's XDG +data home. +

Type: attribute set of submodules

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.dataFile.<name>.executable

Set the execute bit. If null, defaults to the mode +of the source file or to false +for files created through the text option. +

Type: null or boolean

Default: + null +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.dataFile.<name>.onChange

Shell commands to run when file has changed between +generations. The script will be run +after the new files have been linked +into place. +

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.dataFile.<name>.recursive

If the file source is a directory, then this option +determines whether the directory should be recursively +linked to the target location. This option has no effect +if the source is a file. +

+If false (the default) then the target +will be a symbolic link to the source directory. If +true then the target will be a +directory structure matching the source's but whose leafs +are symbolic links to the files of the source directory. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.dataFile.<name>.source

Path of the source file or directory. If +home.file.<name?>.text +is non-null then this option will automatically point to a file +containing that text. +

Type: path

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.dataFile.<name>.target

Path to target file relative to xdg.dataHome. +

Type: string

Default: + <name> +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.dataFile.<name>.text

Text of the file. If this option is null then +home.file.<name?>.source +must be set. +

Type: null or strings concatenated with "\n"

Default: + null +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.dataHome

Absolute path to directory holding application data. +

Type: path

Default: + "~/.local/share" +

Declared by:

+ <home-manager/modules/misc/xdg.nix> +
xdg.mime.enable

Whether to install programs and files to support the +XDG Shared MIME-info specification and XDG MIME Applications +specification at +https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html +and +https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html, +respectively. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/misc/xdg-mime.nix> +
xdg.mimeApps.enable

Whether to manage $XDG_CONFIG_HOME/mimeapps.list. +

+The generated file is read-only. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/misc/xdg-mime-apps.nix> +
xdg.mimeApps.associations.added

Defines additional associations of applications with +mimetypes, as if the .desktop file was listing this mimetype +in the first place. +

Type: attribute set of list of strings or list of strings or string convertible to its

Default: + + { + + } + +

Example:

{
+  "mimetype1" = [ "foo1.desktop" "foo2.desktop" "foo3.desktop" ];
+  "mimetype2" = "foo4.desktop";
+}
+

Declared by:

+ <home-manager/modules/misc/xdg-mime-apps.nix> +
xdg.mimeApps.associations.removed

Removes associations of applications with mimetypes, as if the +.desktop file was not listing this +mimetype in the first place. +

Type: attribute set of list of strings or list of strings or string convertible to its

Default: + + { + + } + +

Example: + + { + mimetype1 = "foo5.desktop"; + } + +

Declared by:

+ <home-manager/modules/misc/xdg-mime-apps.nix> +
xdg.mimeApps.defaultApplications

The default application to be used for a given mimetype. This +is, for instance, the one that will be started when +double-clicking on a file in a file manager. If the +application is no longer installed, the next application in +the list is attempted, and so on. +

Type: attribute set of list of strings or list of strings or string convertible to its

Default: + + { + + } + +

Example:

{
+  "mimetype1" = [ "default1.desktop" "default2.desktop" ];
+}
+

Declared by:

+ <home-manager/modules/misc/xdg-mime-apps.nix> +
xdg.userDirs.enable

Whether to manage $XDG_CONFIG_HOME/user-dirs.dirs. +

+The generated file is read-only. +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/misc/xdg-user-dirs.nix> +
xdg.userDirs.desktop

The Desktop directory.

Type: string

Default: + "\$HOME/Desktop" +

Declared by:

+ <home-manager/modules/misc/xdg-user-dirs.nix> +
xdg.userDirs.documents

The Documents directory.

Type: string

Default: + "\$HOME/Documents" +

Declared by:

+ <home-manager/modules/misc/xdg-user-dirs.nix> +
xdg.userDirs.download

The Downloads directory.

Type: string

Default: + "\$HOME/Downloads" +

Declared by:

+ <home-manager/modules/misc/xdg-user-dirs.nix> +
xdg.userDirs.extraConfig

Other user directories.

Type: attribute set of strings

Default: + + { + + } + +

Example: + + { + XDG_MISC_DIR = "\$HOME/Misc"; + } + +

Declared by:

+ <home-manager/modules/misc/xdg-user-dirs.nix> +
xdg.userDirs.music

The Music directory.

Type: string

Default: + "\$HOME/Music" +

Declared by:

+ <home-manager/modules/misc/xdg-user-dirs.nix> +
xdg.userDirs.pictures

The Pictures directory.

Type: string

Default: + "\$HOME/Pictures" +

Declared by:

+ <home-manager/modules/misc/xdg-user-dirs.nix> +
xdg.userDirs.publicShare

The Public share directory.

Type: string

Default: + "\$HOME/Public" +

Declared by:

+ <home-manager/modules/misc/xdg-user-dirs.nix> +
xdg.userDirs.templates

The Templates directory.

Type: string

Default: + "\$HOME/Templates" +

Declared by:

+ <home-manager/modules/misc/xdg-user-dirs.nix> +
xdg.userDirs.videos

The Videos directory.

Type: string

Default: + "\$HOME/Videos" +

Declared by:

+ <home-manager/modules/misc/xdg-user-dirs.nix> +
xresources.extraConfig

Additional X server resources contents. +If this and all other xresources options are +null, then this feature is disabled and no +~/.Xresources link is produced. +

Type: strings concatenated with "\n"

Default: + "" +

Example:

builtins.readFile (
+    pkgs.fetchFromGitHub {
+        owner = "solarized";
+        repo = "xresources";
+        rev = "025ceddbddf55f2eb4ab40b05889148aab9699fc";
+        sha256 = "0lxv37gmh38y9d3l8nbnsm1mskcv10g3i83j0kac0a2qmypv1k9f";
+    } + "/Xresources.dark"
+)
+

Declared by:

+ <home-manager/modules/xresources.nix> +
xresources.properties

X server resources that should be set. +Booleans are formatted as "true" or "false" respectively. +List elements are recursively formatted as a string and joined by commas. +All other values are directly formatted using builtins.toString. +Note, that 2-dimensional lists are not supported and specifying one will throw an exception. +If this and all other xresources options are +null, then this feature is disabled and no +~/.Xresources link is produced. +

Type: null or attribute set of boolean or signed integer or string or list of boolean or signed integer or stringss

Default: + null +

Example:

{
+  "Emacs*toolBar" = 0;
+  "XTerm*faceName" = "dejavu sans mono";
+  "XTerm*charClass" = [ "37:48" "45-47:48" "58:48" "64:48" "126:48" ];
+}
+

Declared by:

+ <home-manager/modules/xresources.nix> +
xsession.enable

Whether to enable X Session.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/xsession.nix> +
xsession.initExtra

Extra shell commands to run during initialization.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/xsession.nix> +
xsession.numlock.enable

Whether to enable Num Lock.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/misc/numlock.nix> +
xsession.pointerCursor

The X cursor theme and settings. The package +xorg.xcursorthemes contains cursors named +whiteglass, redglass, and handhelds. The package +vanilla-dmz contains cursors named Vanilla-DMZ +and Vanilla-DMZ-AA. Note: handhelds does not seem to work at +custom sizes. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/xcursor.nix> +
xsession.pointerCursor.package

Package providing the cursor theme.

Type: package

Example:

pkgs.vanilla-dmz

Declared by:

+ <home-manager/modules/xcursor.nix> +
xsession.pointerCursor.defaultCursor

The default cursor file to use within the package.

Type: string

Default: + "left_ptr" +

Example: + "X_cursor" +

Declared by:

+ <home-manager/modules/xcursor.nix> +
xsession.pointerCursor.name

The cursor name within the package.

Type: string

Example: + "Vanilla-DMZ" +

Declared by:

+ <home-manager/modules/xcursor.nix> +
xsession.pointerCursor.size

The cursor size.

Type: signed integer

Default: + 32 +

Example: + 64 +

Declared by:

+ <home-manager/modules/xcursor.nix> +
xsession.preferStatusNotifierItems

Whether tray applets should prefer using the Status Notifier +Items (SNI) protocol, commonly called App Indicators. Note, +not all tray applets or status bars support SNI. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/xsession.nix> +
xsession.profileExtra

Extra shell commands to run before session start.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/xsession.nix> +
xsession.scriptPath

Path, relative HOME, where Home Manager +should write the X session script. +

Type: string

Default: + ".xsession" +

Example: + ".xsession-hm" +

Declared by:

+ <home-manager/modules/xsession.nix> +
xsession.windowManager.awesome.enable

Whether to enable Awesome window manager..

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/awesome.nix> +
xsession.windowManager.awesome.package

Package to use for running the Awesome WM.

Type: package

Default: + pkgs.awesome +

Declared by:

+ <home-manager/modules/services/window-managers/awesome.nix> +
xsession.windowManager.awesome.luaModules

List of lua packages available for being +used in the Awesome configuration. +

Type: list of packages

Default: + + [ + + ] + +

Example:

[ luaPackages.oocairo ]

Declared by:

+ <home-manager/modules/services/window-managers/awesome.nix> +
xsession.windowManager.awesome.noArgb

Disable client transparency support, which can be greatly +detrimental to performance in some setups +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/window-managers/awesome.nix> +
xsession.windowManager.bspwm.enable

Whether to enable bspwm window manager..

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.package

bspwm package to use.

Type: package

Default: + pkgs.bspwm +

Example:

pkgs.bspwm-unstable

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.extraConfig

Additional configuration to add.

Type: strings concatenated with "\n"

Default: + "" +

Example:

''
+bspc subscribe all > ~/bspc-report.log &
+''

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.monitors

bspc monitor configurations

Type: attribute set of list of stringss

Default: + + { + + } + +

Example: + + { + HDMI-0 = + [ + "web" "terminal" "III" "IV" + ] + ; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules

bspc rules

Type: attribute set of submodules

Default: + + { + + } + +

Example:

{
+  "Gimp" = {
+    desktop = "^8";
+    state = "floating";
+    follow = true;
+  };
+  "Kupfer.py" = {
+    focus = true;
+  };
+  "Screenkey" = {
+    manage = false;
+  };
+}
+

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.border

Whether the node should have border.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.center

Whether the node will be put in the center, in floating mode. +

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.desktop

The desktop where the rule should be applied.

Type: null or string

Default: + null +

Example: + "^8" +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.focus

Whether the node should gain focus on creation.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.follow

Whether focus should follow the node when it is moved.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.hidden

Whether the node should occupy any space.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.layer

The layer where a new window should spawn.

Type: null or one of "below", "normal", "above"

Default: + null +

Example: + "above" +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.locked

Whether the node should ignore node --close +messages. +

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.manage

Whether the window should be managed by bspwm. If false, the window +will be ignored by bspwm entirely. This is useful for overlay apps, +e.g. screenshot tools. +

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.marked

Whether the node will be marked for deferred actions.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.monitor

The monitor where the rule should be applied.

Type: null or string

Default: + null +

Example: + "HDMI-0" +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.node

The node where the rule should be applied.

Type: null or string

Default: + null +

Example: + "1" +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.private

Whether the node should stay in the same tiling position and size. +

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.splitDir

The direction where the container is going to be split.

Type: null or one of "north", "west", "south", "east"

Default: + null +

Example: + "south" +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.splitRatio

The ratio between the new window and the previous existing window in +the desktop. +

Type: null or floating point number

Default: + null +

Example: + +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.state

The state in which a new window should spawn.

Type: null or one of "tiled", "pseudo_tiled", "floating", "fullscreen"

Default: + null +

Example: + "floating" +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.rules.<name>.sticky

Whether the node should stay on the focused desktop.

Type: null or boolean

Default: + null +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.settings

bspwm configuration

Type: attribute set of boolean or signed integer or floating point number or string or list of boolean or signed integer or floating point number or stringss

Default: + + { + + } + +

Example: + + { + border_width = 2; gapless_monocle = true; split_ratio = ; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.bspwm.startupPrograms

Programs to be executed during startup.

Type: list of strings

Default: + + [ + + ] + +

Example: + + [ + "numlockx on" "tilda" + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/bspwm/default.nix> +
xsession.windowManager.command

Window manager start command. +

Type: string

Example:

let
+  xmonad = pkgs.xmonad-with-packages.override {
+    packages = self: [ self.xmonad-contrib self.taffybar ];
+  };
+in
+  "${xmonad}/bin/xmonad";
+

Declared by:

+ <home-manager/modules/xsession.nix> +
xsession.windowManager.i3.enable

Whether to enable i3 window manager..

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.package

i3 package to use. +If 'i3.config.gaps' settings are specified, 'pkgs.i3-gaps' will be set as a default package. +

Type: package

Default: + pkgs.i3 +

Example:

pkgs.i3-gaps

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config

i3 configuration options.

Type: null or submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.assigns

An attribute set that assigns applications to workspaces based +on criteria. +

Type: attribute set of list of attribute set of stringsss

Default: + + { + + } + +

Example:

{
+"1: web" = [{ class = "^Firefox$"; }];
+"0: extra" = [{ class = "^Firefox$"; window_role = "About"; }];
+}
+

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars

i3 bars settings blocks. Set to empty list to remove bars completely. +

Type: list of submodules

Default: + + [ + + { + + } + + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.colors

Bar color settings. All color classes can be specified using submodules +with 'border', 'background', 'text', fields and RGB color hex-codes as values. +See default values for the reference. +Note that 'background', 'status', and 'separator' parameters take a single RGB value. + +See https://i3wm.org/docs/userguide.html#_colors. +

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.colors.activeWorkspace

Border, background and text color for a workspace button when the workspace is active. +

Type: submodule

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.colors.background

Background color of the bar.

Type: string

Default: + #000000 for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.colors.bindingMode

Border, background and text color for the binding mode indicator

Type: submodule

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.colors.focusedWorkspace

Border, background and text color for a workspace button when the workspace has focus. +

Type: submodule

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.colors.inactiveWorkspace

Border, background and text color for a workspace button when the workspace does not +have focus and is not active. +

Type: submodule

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.colors.separator

Text color to be used for the separator.

Type: string

Default: + #666666 for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.colors.statusline

Text color to be used for the statusline.

Type: string

Default: + #ffffff for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.colors.urgentWorkspace

Border, background and text color for a workspace button when the workspace contains +a window with the urgency hint set. +

Type: submodule

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.command

Command that will be used to start a bar.

Type: string

Default: + "i3bar" +

Example: + "\${pkgs.i3-gaps}/bin/i3bar -t" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.extraConfig

Extra configuration lines for this bar.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.fonts

Font list used for window titles. Only FreeType fonts are supported. +The order here is important (e.g. icons font should go before the one used for text). +

Type: list of strings

Default: + + [ + "monospace 8" + ] + +

Example: + + [ + "FontAwesome 10" "Terminus 10" + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.hiddenState

The default bar mode when 'bar.mode' == 'hide'.

Type: one of "hide", "show"

Default: + hide for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.id

Specifies the bar ID for the configured bar instance. +If this option is missing, the ID is set to bar-x, where x corresponds +to the position of the embedding bar block in the config file. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.mode

Bar visibility mode.

Type: one of "dock", "hide", "invisible"

Default: + dock for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.position

The edge of the screen i3bar should show up.

Type: one of "top", "bottom"

Default: + bottom for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.statusCommand

Command that will be used to get status lines.

Type: null or string

Default: + "\${pkgs.i3status}/bin/i3status" +

Example: + "i3status" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.trayOutput

Where to output tray.

Type: string

Default: + primary for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.workspaceButtons

Whether workspace buttons should be shown or not.

Type: boolean

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.bars.*.workspaceNumbers

Whether workspace numbers should be displayed within the workspace buttons.

Type: boolean

Default: + See code for state version < 20.09, +null for state version ≥ 20.09 + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.colors

Color settings. All color classes can be specified using submodules +with 'border', 'background', 'text', 'indicator' and 'childBorder' fields +and RGB color hex-codes as values. See default values for the reference. +Note that 'i3.config.colors.background' parameter takes a single RGB value. + +See https://i3wm.org/docs/userguide.html#_changing_colors. +

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.colors.background

Background color of the window. Only applications which do not cover +the whole area expose the color. +

Type: string

Default: + "#ffffff" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.colors.focused

A window which currently has the focus.

Type: submodule

Default: + + { + background = "#285577"; border = "#4c7899"; childBorder = "#285577"; indicator = "#2e9ef4"; text = "#ffffff"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.colors.focusedInactive

A window which is the focused one of its container, +but it does not have the focus at the moment. +

Type: submodule

Default: + + { + background = "#5f676a"; border = "#333333"; childBorder = "#5f676a"; indicator = "#484e50"; text = "#ffffff"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.colors.placeholder

Background and text color are used to draw placeholder window +contents (when restoring layouts). Border and indicator are ignored. +

Type: submodule

Default: + + { + background = "#0c0c0c"; border = "#000000"; childBorder = "#0c0c0c"; indicator = "#000000"; text = "#ffffff"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.colors.unfocused

A window which is not focused.

Type: submodule

Default: + + { + background = "#222222"; border = "#333333"; childBorder = "#222222"; indicator = "#292d2e"; text = "#888888"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.colors.urgent

A window which has its urgency hint activated.

Type: submodule

Default: + + { + background = "#900000"; border = "#2f343a"; childBorder = "#900000"; indicator = "#900000"; text = "#ffffff"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.floating

Floating window settings.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.floating.border

Floating windows border width.

Type: signed integer

Default: + 2 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.floating.criteria

List of criteria for windows that should be opened in a floating mode.

Type: list of attribute set of stringss

Default: + + [ + + ] + +

Example: + + [ + + { + title = "Steam - Update News"; + } + + { + class = "Pavucontrol"; + } + + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.floating.modifier

Modifier key that can be used to drag floating windows.

Type: one of "Shift", "Control", "Mod1", "Mod2", "Mod3", "Mod4", "Mod5"

Default: + "i3.config.modifier" +

Example: + "Mod4" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.floating.titlebar

Whether to show floating window titlebars.

Type: boolean

Default: + "xsession.windowManager.i3.package != nixpkgs.i3-gaps (titlebar should be disabled for i3-gaps)" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.focus

Focus related settings.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.focus.followMouse

Whether focus should follow the mouse.

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.focus.forceWrapping

Whether to force focus wrapping in tabbed or stacked container. + +See https://i3wm.org/docs/userguide.html#_focus_wrapping +

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.focus.mouseWarping

Whether mouse cursor should be warped to the center of the window when switching focus +to a window on a different output. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.focus.newWindow

This option modifies focus behavior on new window activation. + +See https://i3wm.org/docs/userguide.html#focus_on_window_activation +

Type: one of "smart", "urgent", "focus", "none"

Default: + "smart" +

Example: + "none" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.fonts

Font list used for window titles. Only FreeType fonts are supported. +The order here is important (e.g. icons font should go before the one used for text). +

Type: list of strings

Default: + + [ + "monospace 8" + ] + +

Example: + + [ + "FontAwesome 10" "Terminus 10" + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps

i3Gaps related settings. The i3-gaps package must be used for these features to work. +

Type: null or submodule

Default: + null +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps.bottom

Bottom gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps.horizontal

Horizontal gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps.inner

Inner gaps value.

Type: null or signed integer

Default: + null +

Example: + 12 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps.left

Left gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps.outer

Outer gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps.right

Right gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps.smartBorders

This option controls whether to disable container borders on +workspace with a single container. +

Type: one of "on", "off", "no_gaps"

Default: + "off" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps.smartGaps

This option controls whether to disable all gaps (outer and inner) +on workspace with a single container. +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps.top

Top gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.gaps.vertical

Vertical gaps value.

Type: null or signed integer

Default: + null +

Example: + 5 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.keybindings

An attribute set that assigns a key press to an action using a key symbol. +See https://i3wm.org/docs/userguide.html#keybindings. +

+Consider to use lib.mkOptionDefault function to extend or override +default keybindings instead of specifying all of them from scratch. +

Type: attribute set of null or strings

Default: + "Default i3 keybindings." +

Example:

let
+  modifier = config.xsession.windowManager.i3.config.modifier;
+in lib.mkOptionDefault {
+  "${modifier}+Return" = "exec i3-sensible-terminal";
+  "${modifier}+Shift+q" = "kill";
+  "${modifier}+d" = "exec \${pkgs.dmenu}/bin/dmenu_run";
+}
+

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.keycodebindings

An attribute set that assigns keypress to an action using key code. +See https://i3wm.org/docs/userguide.html#keybindings. +

Type: attribute set of null or strings

Default: + + { + + } + +

Example: + + { + 214 = "exec /bin/script.sh"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.menu

Default launcher to use.

Type: string

Default: + "\${pkgs.dmenu}/bin/dmenu_run" +

Example: + "bemenu-run" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.modes

An attribute set that defines binding modes and keybindings +inside them + +Only basic keybinding is supported (bindsym keycomb action), +for more advanced setup use 'i3.extraConfig'. +

Type: attribute set of attribute set of stringss

Default: + + { + resize = + { + Down = "resize grow height 10 px or 10 ppt"; Escape = "mode default"; Left = "resize shrink width 10 px or 10 ppt"; Return = "mode default"; Right = "resize grow width 10 px or 10 ppt"; Up = "resize shrink height 10 px or 10 ppt"; + } + ; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.modifier

Modifier key that is used for all default keybindings.

Type: one of "Shift", "Control", "Mod1", "Mod2", "Mod3", "Mod4", "Mod5"

Default: + "Mod1" +

Example: + "Mod4" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.startup

Commands that should be executed at startup. + +See https://i3wm.org/docs/userguide.html#_automatically_starting_applications_on_i3_startup. +

Type: list of submodules

Default: + + [ + + ] + +

Example:

[
+{ command = "systemctl --user restart polybar"; always = true; notification = false; }
+{ command = "dropbox start"; notification = false; }
+{ command = "firefox"; workspace = "1: web"; }
+];
+

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.startup.*.always

Whether to run command on each i3 restart.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.startup.*.command

Command that will be executed on startup.

Type: string

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.startup.*.notification

Whether to enable startup-notification support for the command. +See --no-startup-id option description in the i3 user guide. +

Type: boolean

Default: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.startup.*.workspace

Launch application on a particular workspace. DEPRECATED: +Use xsession.windowManager.i3.config.assigns +instead. See https://github.com/rycee/home-manager/issues/265. +

Type: null or string

Default: + null +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.terminal

Default terminal to run.

Type: string

Default: + "i3-sensible-terminal" +

Example: + "alacritty" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.window

Window titlebar and border settings.

Type: submodule

Default: + + { + + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.window.border

Window border width.

Type: signed integer

Default: + 2 +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.window.commands

List of commands that should be executed on specific windows. +See for_window i3wm option documentation. +

Type: list of submodules

Default: + + [ + + ] + +

Example: + + [ + + { + command = "border pixel 1"; criteria = + { + class = "XTerm"; + } + ; + } + + ] + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.window.commands.*.command

i3wm command to execute.

Type: string

Example: + "border pixel 1" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.window.commands.*.criteria

Criteria of the windows on which command should be executed.

Type: attribute set of strings

Example: + + { + title = "x200: ~/work"; + } + +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.window.hideEdgeBorders

Hide window borders adjacent to the screen edges.

Type: one of "none", "vertical", "horizontal", "both", "smart"

Default: + "none" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.window.titlebar

Whether to show window titlebars.

Type: boolean

Default: + "xsession.windowManager.i3.package != nixpkgs.i3-gaps (titlebar should be disabled for i3-gaps)" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.workspaceAutoBackAndForth

Assume you are on workspace "1: www" and switch to "2: IM" using +mod+2 because somebody sent you a message. You don’t need to remember +where you came from now, you can just press $mod+2 again to switch +back to "1: www". +

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.config.workspaceLayout

The mode in which new containers on workspace level will +start. +

Type: one of "default", "stacked", "tabbed"

Default: + "default" +

Example: + "tabbed" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.i3.extraConfig

Extra configuration lines to add to ~/.config/i3/config.

Type: strings concatenated with "\n"

Default: + "" +

Declared by:

+ <home-manager/modules/services/window-managers/i3-sway/i3.nix> +
xsession.windowManager.xmonad.enable

Whether to enable xmonad window manager.

Type: boolean

Default: + false +

Example: + true +

Declared by:

+ <home-manager/modules/services/window-managers/xmonad.nix> +
xsession.windowManager.xmonad.enableContribAndExtras

Enable xmonad-{contrib,extras} in xmonad.

Type: boolean

Default: + false +

Declared by:

+ <home-manager/modules/services/window-managers/xmonad.nix> +
xsession.windowManager.xmonad.config

The configuration file to be used for xmonad. This must be +an absolute path or null in which case +~/.xmonad/xmonad.hs will not be managed +by Home Manager. +

Type: null or path

Default: + null +

Example:

pkgs.writeText "xmonad.hs" ''
+  import XMonad
+  main = xmonad defaultConfig
+      { terminal    = "urxvt"
+      , modMask     = mod4Mask
+      , borderWidth = 3
+      }
+''
+

Declared by:

+ <home-manager/modules/services/window-managers/xmonad.nix> +
xsession.windowManager.xmonad.extraPackages

Extra packages available to GHC when rebuilding xmonad. The +value must be a function which receives the attribute set +defined in haskellPackages as the sole +argument. +

Type: unspecified

Default: + "self: []" +

Example:

haskellPackages: [
+  haskellPackages.xmonad-contrib
+  haskellPackages.monad-logger
+]
+

Declared by:

+ <home-manager/modules/services/window-managers/xmonad.nix> +
xsession.windowManager.xmonad.haskellPackages

The haskellPackages used to build xmonad +and other packages. This can be used to change the GHC +version used to build xmonad and the packages listed in +extraPackages. +

Type: unspecified

Default: + pkgs.haskellPackages +

Example:

pkgs.haskell.packages.ghc784

Declared by:

+ <home-manager/modules/services/window-managers/xmonad.nix> +
\ No newline at end of file diff --git a/overrides.css b/overrides.css new file mode 100644 index 00000000..4c7d4a31 --- /dev/null +++ b/overrides.css @@ -0,0 +1,9 @@ +.docbook .xref img[src^=images\/callouts\/], +.screen img, +.programlisting img { + width: 1em; +} + +.calloutlist img { + width: 1.5em; +} diff --git a/release-notes.html b/release-notes.html new file mode 100644 index 00000000..b744db03 --- /dev/null +++ b/release-notes.html @@ -0,0 +1,162 @@ + +Appendix C. Release Notes

Release Notes

This section lists the release notes for stable versions of Home Manager and the current unstable version.

C.1. Release 20.09 (unreleased)

This is the current unstable branch and the information in this +section is therefore not final.

C.1.1. Highlights

This release has the following notable changes:

  • +Nothing has happened. +

C.1.2. State Version Changes

The state version in this release includes the changes below. These +changes are only active if the home.stateVersion option is set to +"20.09" or later.

  • +The options home.homeDirectory and home.username no +longer have default values and must therefore be provided in your +configuration. Previously their values would default to the content of +the environment variables HOME and USER, respectively. +

    Further, the options xdg.cacheHome, xdg.configHome, +and xdg.dataHome will no longer be affected by the +XDG_CACHE_HOME, XDG_CONFIG_HOME, and XDG_DATA_HOME environment +variables. They now unconditionally default to

    • +"${config.home.homeDirectory}/.cache", +
    • +"${config.home.homeDirectory}/.config", and +
    • +"${config.home.homeDirectory}/.local/share". +

    If you choose to switch to state version 20.09 then you must set these +options if you use non-default XDG base directory paths.

    The initial configuration generated by

    $ nix-shell '<home-manager>' -A install

    will automatically include these options, when necessary.

  • +Git’s smtpEncryption option is now set to tls only if both accounts.email.accounts.<name>.smtp.tls.enable and accounts.email.accounts.<name>.smtp.tls.useStartTls are true. If only accounts.email.accounts.<name>.smtp.tls.enable is true, ssl is used instead. +
  • +The nixpkgs module no longer references <nixpkgs>. Before it would do so when building the pkgs module argument. Starting with state version 20.09, the pkgs argument is instead built from the same Nixpkgs that was used to initialize the Home Manager modules. This is useful, for example, when using Home Manager within a Nix Flake. If you want to keep using <nixpkgs> with state version ≥ 20.09 then add +

    _module.args.pkgsPath = <nixpkgs>;

    to your Home Manager configuration.

  • +The options wayland.windowManager.sway.config.bars and opt-xsession.windowManager.i3.config.bars have been changed so that most of the suboptions are now nullable and default to null. The default for these two options has been changed to manually set the old defaults for each suboption. The overall effect is that if the bars options is not set, then the default remains the same. On the other hand, something like: +

    bars = [ {
    +  command = "waybar";
    +} ];

    will now create the config:

    bar {
    +  swaybar_command waybar
    +}

    instead of

    bar {
    +
    +  font pango:monospace 8
    +  mode dock
    +  hidden_state hide
    +  position bottom
    +  status_command /nix/store/h7s6i9q1z5fxrlyyw5ls8vqxhf5bcs5a-i3status-2.13/bin/i3status
    +  swaybar_command waybar
    +  workspace_buttons yes
    +  strip_workspace_numbers no
    +  tray_output primary
    +  colors {
    +    background #000000
    +    statusline #ffffff
    +    separator #666666
    +    focused_workspace #4c7899 #285577 #ffffff
    +    active_workspace #333333 #5f676a #ffffff
    +    inactive_workspace #333333 #222222 #888888
    +    urgent_workspace #2f343a #900000 #ffffff
    +    binding_mode #2f343a #900000 #ffffff
    +  }
    +
    +}

C.2. Release 20.03

The 20.03 release branch became the stable branch in April, 2020.

C.2.1. Highlights

This release has the following notable changes:

  • +Assigning a list to the home.file, xdg.configFile, +and xdg.dataFile options is now deprecated and will produce a +warning message if used. Specifically, if your configuration currently +contains something like +

    home.file = [
    +  {
    +    target = ".config/foo.txt";
    +    text = "bar";
    +  }
    +]

    then it should be updated to instead use the equivalent attribute set form

    home.file = {
    +  ".config/foo.txt".text = "bar";
    +}

    Support for the list form will be removed in Home Manager version +20.09.

  • +The lib function attribute given to modules is now enriched with +an attribute hm containing extra library functions specific for Home +Manager. More specifically, lib.hm is now the same as config.lib +and should be the preferred choice since it is more robust. +

    Therefore, if your configuration makes use of, for example, +config.lib.dag to create activation script blocks, it is recommended +to change to lib.hm.dag.

    Note, in the unlikely case that you are

    • +using Home Manager’s NixOS or nix-darwin module, +
    • +have made your own Home Manager module containing an top-level + option named config or options, and +
    • +assign to this option in your system configuration inside a plain + attribute set, i.e., without a function argument, +

    then you must update your configuration to perform the option +assignment inside a config attribute. For example, instead of

    home-manager.users.jane = { config = "foo"; };

    use

    home-manager.users.jane = { config.config = "foo"; };
  • +The services.compton module has been deprecated and instead the +new module services.picom should be used. This is because Nixpkgs no +longer packages compton, and instead packages the (mostly) compatible +fork called picom. +
  • +The list form of the programs.ssh.matchBlocks option has +been deprecated and configurations requiring match blocks in a defined +order should switch to using DAG entries instead. For example, a +configuration +

    programs.ssh.matchBlocks = [
    +  {
    +    host = "alpha.foo.com";
    +    user = "jd";
    +  }
    +  {
    +    host = "*.foo.com";
    +    user = "john.doe";
    +  }
    +];

    can be expressed along the lines of

    programs.ssh.matchBlocks = {
    +  "*.example.com" = {
    +    user = "john.doe";
    +  }
    +  "alpha.example.com" = lib.hm.dag.entryBefore ["*.example.com"] {
    +    user = "jd";
    +  }
    +};

    Support for the list form will be removed in Home Manager version +20.09.

C.2.2. State Version Changes

The state version in this release includes the changes below. These +changes are only active if the home.stateVersion option is set to +"20.03" or later.

  • +The programs.zsh.history.path option is no longer prepended + by $HOME, which allows specifying absolute paths, for example, + using the xdg module. Also, the default value is fixed to + $HOME/.zsh_history and dotDir path is not prepended to it + anymore. +
  • +The newsboat module will now default in displaying queries before urls in + its main window. This makes sense in the case when one has a lot of URLs and + few queries. +

C.3. Release 19.09

The 19.09 release branch became the stable branch in October, 2019.

C.3.1. Highlights

This release has the following notable changes:

  • +The programs.firefox.enableGoogleTalk and + programs.firefox.enableIcedTea options are now deprecated + and will only work if Firefox ESR 52.x is used. +
  • +The home-manager tool now provides an uninstall sub-command that + can be used to uninstall Home Manager, if used in the standalone + mode. That is, not as a NixOS module. +

C.3.2. State Version Changes

The state version in this release includes the changes below. These +changes are only active if the home.stateVersion option is set to +"19.09" or later.

C.4. Release 19.03

The 19.03 release branch became the stable branch in April, 2019.

C.4.1. Highlights

This release has the following notable changes:

  • +The home.file.<name>.source option now allows source files to be +hidden, that is, having a name starting with the . character. It +also allows the source file name to contain characters not typically +allowed for Nix store paths. For example, your configuration can now +contain things such as +

    home.file."my file".source = ./. + "/file with spaces!";
  • +The type used for the systemd unit options under +systemd.user.services, systemd.user.sockets, etc. has +been changed to offer more robust merging of configurations. If you +don’t override values within systemd units then you are not affected +by this change. Unfortunately, if you do override unit values you may +encounter errors. +

    In particular, if you get an error saying that a “unique option” is +“defined multiple times” then you need to use the +mkForce +function. For example,

    systemd.user.services.foo.Service.ExecStart = "/foo/bar";

    becomes

    systemd.user.services.foo.Service.ExecStart = lib.mkForce "/foo/bar";

    We had to make this change because the old merging was causing too +many confusing situations for people.

C.4.2. State Version Changes

The state version in this release includes the changes below. These +changes are only active if the home.stateVersion option is set +to “19.03” or later.

C.5. Release 18.09

The 18.09 release branch became the stable branch in September, 2018.

\ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 00000000..474dd32e --- /dev/null +++ b/style.css @@ -0,0 +1,291 @@ +/* Copied from http://bakefile.sourceforge.net/, which appears + licensed under the GNU GPL. */ + + +/*************************************************************************** + Basic headers and text: + ***************************************************************************/ + +body +{ + font-family: "Nimbus Sans L", sans-serif; + font-size: 1em; + background: white; + margin: 2em 1em 2em 1em; +} + +h1, h2, h3, h4 +{ + color: #005aa0; +} + +h1 /* title */ +{ + font-size: 200%; +} + +h2 /* chapters, appendices, subtitle */ +{ + font-size: 180%; +} + +div.book +{ + text-align: center; +} + +div.book > div +{ + /* + * based on https://medium.com/@zkareemz/golden-ratio-62b3b6d4282a + * we do 70 characters per line to fit code listings better + * 70 * (font-size / 1.618) + * expression for emacs: + * (* 70 (/ 1 1.618)) + */ + max-width: 43.2em; + text-align: left; + margin: auto; +} + +/* Extra space between chapters, appendices. */ +div.chapter > div.titlepage h2, div.appendix > div.titlepage h2 +{ + margin-top: 1.5em; +} + +div.section > div.titlepage h2 /* sections */ +{ + font-size: 150%; + margin-top: 1.5em; +} + +h3 /* subsections */ +{ + font-size: 125%; +} + +div.simplesect h2 +{ + font-size: 110%; +} + +div.appendix h3 +{ + font-size: 150%; + margin-top: 1.5em; +} + +div.refnamediv h2, div.refsynopsisdiv h2, div.refsection h2 /* refentry parts */ +{ + margin-top: 1.4em; + font-size: 125%; +} + +div.refsection h3 +{ + font-size: 110%; +} + + +/*************************************************************************** + Examples: + ***************************************************************************/ + +div.example +{ + border: 1px solid #b0b0b0; + padding: 6px 6px; + margin-left: 1.5em; + margin-right: 1.5em; + background: #f4f4f8; + border-radius: 0.4em; + box-shadow: 0.4em 0.4em 0.5em #e0e0e0; +} + +div.example p.title +{ + margin-top: 0em; +} + +div.example pre +{ + box-shadow: none; +} + + +/*************************************************************************** + Screen dumps: + ***************************************************************************/ + +pre.screen, pre.programlisting +{ + border: 1px solid #b0b0b0; + padding: 3px 3px; + margin-left: 0.5em; + margin-right: 0.5em; + + background: #f4f4f8; + font-family: monospace; + border-radius: 0.4em; + box-shadow: 0.4em 0.4em 0.5em #e0e0e0; +} + +div.example pre.programlisting +{ + border: 0px; + padding: 0 0; + margin: 0 0 0 0; +} + +/*************************************************************************** + Notes, warnings etc: + ***************************************************************************/ + +.note, .warning +{ + border: 1px solid #b0b0b0; + padding: 3px 3px; + margin-left: 1.5em; + margin-right: 1.5em; + margin-bottom: 1em; + padding: 0.3em 0.3em 0.3em 0.3em; + background: #fffff5; + border-radius: 0.4em; + box-shadow: 0.4em 0.4em 0.5em #e0e0e0; +} + +div.note, div.warning +{ + font-style: italic; +} + +div.note h3, div.warning h3 +{ + color: red; + font-size: 100%; + padding-right: 0.5em; + display: inline; +} + +div.note p, div.warning p +{ + margin-bottom: 0em; +} + +div.note h3 + p, div.warning h3 + p +{ + display: inline; +} + +div.note h3 +{ + color: blue; + font-size: 100%; +} + +div.navfooter * +{ + font-size: 90%; +} + + +/*************************************************************************** + Links colors and highlighting: + ***************************************************************************/ + +a { text-decoration: none; } +a:hover { text-decoration: underline; } +a:link { color: #0048b3; } +a:visited { color: #002a6a; } + + +/*************************************************************************** + Table of contents: + ***************************************************************************/ + +div.toc +{ + font-size: 90%; +} + +div.toc dl +{ + margin-top: 0em; + margin-bottom: 0em; +} + + +/*************************************************************************** + Special elements: + ***************************************************************************/ + +tt, code +{ + color: #400000; +} + +.term +{ + font-weight: bold; + +} + +div.variablelist dd p, div.glosslist dd p +{ + margin-top: 0em; +} + +div.variablelist dd, div.glosslist dd +{ + margin-left: 1.5em; +} + +div.glosslist dt +{ + font-style: italic; +} + +.varname +{ + color: #400000; +} + +span.command strong +{ + font-weight: normal; + color: #400000; +} + +div.calloutlist table +{ + box-shadow: none; +} + +table +{ + border-collapse: collapse; + box-shadow: 0.4em 0.4em 0.5em #e0e0e0; +} + +table.simplelist +{ + text-align: left; + color: #005aa0; + border: 0; + padding: 5px; + background: #fffff5; + font-weight: normal; + font-style: italic; + box-shadow: none; + margin-bottom: 1em; +} + +div.navheader table, div.navfooter table { + box-shadow: none; +} + +div.affiliation +{ + font-style: italic; +} diff --git a/tools.html b/tools.html new file mode 100644 index 00000000..ad859b2b --- /dev/null +++ b/tools.html @@ -0,0 +1,233 @@ + +Appendix B. Tools

Appendix B. Tools

home-manager + — reconfigure a user environment

Name

home-manager + — reconfigure a user environment

Synopsis

home-manager { + build + | + instantiate + | + edit + | + expire-generations timestamp + | + generations + | + help + | + news + | + packages + | + remove-generations ID … + | + switch + | + uninstall + }
[ + -A attrPath + ] [ + -I path + ] [ + -b ext + ] [ + { + -f + | + --file + } path + ] [ + { + -h + | + --help + } + ] [ + { + -n + | + --dry-run + } + ] [ + --option name value + ] [ + --cores number + ] [ + --max-jobs number + ] [ + --keep-failed + ] [ + --keep-going + ] [ + --show-trace + ] [ + --(no-)substitute + ] [ + { + -v + | + --verbose + } + ]

Description

+ This command updates the user environment so that it corresponds to the + configuration specified in ~/.config/nixpkgs/home.nix. +

+ All operations using this tool expects a sub-command that indicates the + operation to perform. It must be one of +

+ build +

+ Build configuration into a result directory. +

+ instantiate +

+ Instantiate the configuration and print the resulting derivation. +

+ edit +

+ Open the home configuration using the editor indicated by + EDITOR. +

+ expire-generations timestamp +

+ Remove generations older than timestamp where + timestamp is interpreted as in the + -d argument of the date(1) tool. For example -30 + days or 2018-01-01. +

+ generations +

+ List all home environment generations. +

+ help +

+ Print tool help. +

+ news +

+ Show news entries in a pager. +

+ packages +

+ List all packages installed in home-manager-path. +

+ remove-generations ID … +

+ Remove indicated generations. Use the generations + sub-command to find suitable generation numbers. +

+ switch +

+ Build and activate the configuration. +

+ uninstall +

+ Remove Home Manager from the user environment. This will +

  • + remove all managed files from the home directory, +

  • + remove packages installed through Home Manager from the user profile, + and +

  • + optionally remove all Home Manager generations and make them + available for immediate garbage collection. +

+

+

Options

+ The tool accepts the options +

+ -A attrPath +

+ Optional attribute that selects a configuration expression in the + configuration file. That is, if home.nix contains +

+{
+  joe-at-work = {pkgs, ...}: { home.packages = [ pkgs.fortune ]; };
+  joe-at-home = {pkgs, ...}: { home.packages = [ pkgs.cowsay ]; };
+}
+

+ then the command home-manager switch -A joe-at-work + will activate the profile containing the fortune program. +

+ -I path +

+ Add a path to the Nix expression search path. For example, to build a + Home Manager profile using a specific Nixpkgs run home-manager + -I nixpkgs=/absolute/path/to/nixpkgs build. By default + <nixpkgs> is used. +

+ -b extension +

+ Enable automatic resolution of collisions between unmanaged and managed + files. The name of the original file will be suffixed by the given + extension. For example, +

+$ home-manager -b bck switch
+

+ will cause a colliding file ~/.config/foo.conf to be + moved to ~/.config/foo.conf.bck. +

+ -f path + , + --file path +

+ Indicates the path to the Home Manager configuration file. If not given, + ~/.config/nixpkgs/home.nix is used. +

+ -h + , + --help +

+ Prints usage information for the home-manager tool. +

+ -n + , + --dry-run +

+ Perform a dry-run of the given operation, only prints what actions would + be taken. +

+ --option name value +

+ Passed on to nix-build(1). +

+ --cores number +

+ Passed on to nix-build(1). +

+ --max-jobs number +

+ Passed on to nix-build(1). +

+ --keep-failed +

+ Passed on to nix-build(1). +

+ --keep-going +

+ Passed on to nix-build(1). +

+ --show-trace +

+ Passed on to nix-build(1). +

+ --(no-)substitute +

+ Passed on to nix-build(1). +

+ -v + , + --verbose +

+ Activates verbose output. +

Files

+ ~/.local/share/home-manager/news-read-ids +

+ Identifiers of news items that have been shown. Can be deleted to reset + the read news indicator. +

Bugs

+ Please report any bugs on the + project + issue tracker. +

See also

+ home-configuration.nix(5) +

\ No newline at end of file