distros.html 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <!-- This file is generated by Nim. -->
  4. <html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title>std/distros</title>
  9. <!-- Google fonts -->
  10. <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
  11. <link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
  12. <!-- Favicon -->
  13. <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
  14. <link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
  15. <!-- CSS -->
  16. <link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
  17. <!-- JS -->
  18. <script type="text/javascript" src="dochack.js?v=2.3.1"></script>
  19. </head>
  20. <body>
  21. <div class="document" id="documentId">
  22. <div class="container">
  23. <h1 class="title">std/distros</h1>
  24. <div class="row">
  25. <div class="three columns">
  26. <div class="theme-select-wrapper">
  27. <label for="theme-select">Theme:&nbsp;</label>
  28. <select id="theme-select" onchange="setTheme(this.value)">
  29. <option value="auto">🌗 Match OS</option>
  30. <option value="dark">🌑 Dark</option>
  31. <option value="light">🌕 Light</option>
  32. </select>
  33. </div>
  34. <div id="global-links">
  35. <ul class="simple-boot">
  36. <li><a href="manual.html">Manual</a></li>
  37. <li><a href="lib.html">Standard library</a></li>
  38. <li> <a id="indexLink" href="theindex.html">Index</a></li>
  39. <li><a href="compiler/theindex.html">Compiler docs</a></li>
  40. <li><a href="https://nim-lang.github.io/fusion/theindex.html">Fusion docs</a></li>
  41. <li><a href="https://nim-lang.github.io/Nim/">devel</a>, <a href="https://nim-lang.org/documentation.html">stable</a></li>
  42. </ul>
  43. </div>
  44. <div id="searchInputDiv">
  45. Search: <input type="search" id="searchInput"
  46. oninput="search()" />
  47. </div>
  48. <ul class="simple simple-toc" id="toc-list">
  49. <li>
  50. <a class="reference reference-toplevel" href="#6" id="56">Imports</a>
  51. </li>
  52. <li>
  53. <details open>
  54. <summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
  55. <ul class="simple simple-toc-section">
  56. <li><a class="reference" href="#Distribution" title="Distribution {.pure.} = enum
  57. Windows, ## some version of Windows
  58. Posix, ## some POSIX system
  59. MacOSX, ## some version of OSX
  60. Linux, ## some version of Linux
  61. Ubuntu, Debian, Gentoo, Fedora, RedHat, OpenSUSE, Manjaro, Elementary, Zorin,
  62. CentOS, Deepin, ArchLinux, Artix, Antergos, PCLinuxOS, Mageia, LXLE, Solus,
  63. Lite, Slackware, Androidx86, Puppy, Peppermint, Tails, AntiX, Kali,
  64. SparkyLinux, Apricity, BlackLab, Bodhi, TrueOS, ArchBang, KaOS, WattOS,
  65. Korora, Simplicity, RemixOS, OpenMandriva, Netrunner, Alpine, BlackArch,
  66. Ultimate, Gecko, Parrot, KNOPPIX, GhostBSD, Sabayon, Salix, Q4OS, ClearOS,
  67. Container, ROSA, Zenwalk, Parabola, ChaletOS, BackBox, MXLinux, Vector, Maui,
  68. Qubes, RancherOS, Oracle, TinyCore, Robolinux, Trisquel, Voyager, Clonezilla,
  69. SteamOS, Absolute, NixOS, ## NixOS or a Nix build environment
  70. AUSTRUMI, Arya, Porteus, AVLinux, Elive, Bluestar, SliTaz, Solaris, Chakra,
  71. Wifislax, Scientific, ExTiX, Rockstor, GoboLinux, Void, BSD, FreeBSD, NetBSD,
  72. OpenBSD, DragonFlyBSD, Haiku">Distribution</a></li>
  73. </ul>
  74. </details>
  75. </li>
  76. <li>
  77. <details open>
  78. <summary><a class="reference reference-toplevel" href="#8" id="58">Vars</a></summary>
  79. <ul class="simple simple-toc-section">
  80. <li><a class="reference" href="#foreignDeps" title="foreignDeps: seq[string] = @[]">foreignDeps</a></li>
  81. </ul>
  82. </details>
  83. </li>
  84. <li>
  85. <details open>
  86. <summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
  87. <ul class="simple simple-toc-section">
  88. <li><a class="reference" href="#LacksDevPackages" title="LacksDevPackages = {Distribution.Gentoo, Distribution.Slackware,
  89. Distribution.ArchLinux, Distribution.Artix,
  90. Distribution.Antergos, Distribution.BlackArch,
  91. Distribution.ArchBang}">LacksDevPackages</a></li>
  92. </ul>
  93. </details>
  94. </li>
  95. <li>
  96. <details open>
  97. <summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
  98. <ul class="simple simple-toc-section">
  99. <ul class="simple nested-toc-section">echoForeignDeps
  100. <li><a class="reference" href="#echoForeignDeps" title="echoForeignDeps()">echoForeignDeps()</a></li>
  101. </ul>
  102. <ul class="simple nested-toc-section">foreignCmd
  103. <li><a class="reference" href="#foreignCmd%2Cstring" title="foreignCmd(cmd: string; requiresSudo = false)">foreignCmd(cmd: string; requiresSudo = false)</a></li>
  104. </ul>
  105. <ul class="simple nested-toc-section">foreignDep
  106. <li><a class="reference" href="#foreignDep%2Cstring" title="foreignDep(foreignPackageName: string)">foreignDep(foreignPackageName: string)</a></li>
  107. </ul>
  108. <ul class="simple nested-toc-section">foreignDepInstallCmd
  109. <li><a class="reference" href="#foreignDepInstallCmd%2Cstring" title="foreignDepInstallCmd(foreignPackageName: string): (string, bool)">foreignDepInstallCmd(foreignPackageName: string): (string, bool)</a></li>
  110. </ul>
  111. </ul>
  112. </details>
  113. </li>
  114. <li>
  115. <details open>
  116. <summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
  117. <ul class="simple simple-toc-section">
  118. <ul class="simple nested-toc-section">detectOs
  119. <li><a class="reference" href="#detectOs.t%2Cuntyped" title="detectOs(d: untyped): bool">detectOs(d: untyped): bool</a></li>
  120. </ul>
  121. </ul>
  122. </details>
  123. </li>
  124. </ul>
  125. </div>
  126. <div class="nine columns" id="content">
  127. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/distros.nim#L1" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  128. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/distros.nim#L1" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  129. <div id="tocRoot"></div>
  130. <p class="module-desc">This module implements the basics for Linux distribution (&quot;distro&quot;) detection and the OS's native package manager. Its primary purpose is to produce output for Nimble packages, like:<pre>To complete the installation, run:
  131. sudo apt-get install libblas-dev
  132. sudo apt-get install libvoodoo</pre>
  133. <p>The above output could be the result of a code snippet like:</p>
  134. <p><pre class="listing"><span class="Keyword">if</span> <span class="Identifier">detectOs</span><span class="Punctuation">(</span><span class="Identifier">Ubuntu</span><span class="Punctuation">)</span><span class="Punctuation">:</span>
  135. <span class="Identifier">foreignDep</span> <span class="StringLit">&quot;lbiblas-dev&quot;</span>
  136. <span class="Identifier">foreignDep</span> <span class="StringLit">&quot;libvoodoo&quot;</span></pre></p>
  137. <p>See <a class="reference external" href="packaging.html">packaging</a> for hints on distributing Nim using OS packages.</p>
  138. </p>
  139. <div class="section" id="6">
  140. <h1><a class="toc-backref" href="#6">Imports</a></h1>
  141. <dl class="item">
  142. <a class="reference external" href="strutils.html">strutils</a>, <a class="reference external" href="osproc.html">osproc</a>, <a class="reference external" href="envvars.html">envvars</a>
  143. </dl>
  144. </div>
  145. <div class="section" id="7">
  146. <h1><a class="toc-backref" href="#7">Types</a></h1>
  147. <dl class="item">
  148. <div id="Distribution">
  149. <dt><pre><a href="distros.html#Distribution"><span class="Identifier">Distribution</span></a> {.<span class="Identifier">pure</span>.} <span class="Other">=</span> <span class="Keyword">enum</span>
  150. <span class="Identifier">Windows</span><span class="Other">,</span> <span class="Comment">## some version of Windows</span>
  151. <span class="Identifier">Posix</span><span class="Other">,</span> <span class="Comment">## some POSIX system</span>
  152. <span class="Identifier">MacOSX</span><span class="Other">,</span> <span class="Comment">## some version of OSX</span>
  153. <span class="Identifier">Linux</span><span class="Other">,</span> <span class="Comment">## some version of Linux</span>
  154. <span class="Identifier">Ubuntu</span><span class="Other">,</span> <span class="Identifier">Debian</span><span class="Other">,</span> <span class="Identifier">Gentoo</span><span class="Other">,</span> <span class="Identifier">Fedora</span><span class="Other">,</span> <span class="Identifier">RedHat</span><span class="Other">,</span> <span class="Identifier">OpenSUSE</span><span class="Other">,</span> <span class="Identifier">Manjaro</span><span class="Other">,</span> <span class="Identifier">Elementary</span><span class="Other">,</span> <span class="Identifier">Zorin</span><span class="Other">,</span>
  155. <span class="Identifier">CentOS</span><span class="Other">,</span> <span class="Identifier">Deepin</span><span class="Other">,</span> <span class="Identifier">ArchLinux</span><span class="Other">,</span> <span class="Identifier">Artix</span><span class="Other">,</span> <span class="Identifier">Antergos</span><span class="Other">,</span> <span class="Identifier">PCLinuxOS</span><span class="Other">,</span> <span class="Identifier">Mageia</span><span class="Other">,</span> <span class="Identifier">LXLE</span><span class="Other">,</span> <span class="Identifier">Solus</span><span class="Other">,</span>
  156. <span class="Identifier">Lite</span><span class="Other">,</span> <span class="Identifier">Slackware</span><span class="Other">,</span> <span class="Identifier">Androidx86</span><span class="Other">,</span> <span class="Identifier">Puppy</span><span class="Other">,</span> <span class="Identifier">Peppermint</span><span class="Other">,</span> <span class="Identifier">Tails</span><span class="Other">,</span> <span class="Identifier">AntiX</span><span class="Other">,</span> <span class="Identifier">Kali</span><span class="Other">,</span>
  157. <span class="Identifier">SparkyLinux</span><span class="Other">,</span> <span class="Identifier">Apricity</span><span class="Other">,</span> <span class="Identifier">BlackLab</span><span class="Other">,</span> <span class="Identifier">Bodhi</span><span class="Other">,</span> <span class="Identifier">TrueOS</span><span class="Other">,</span> <span class="Identifier">ArchBang</span><span class="Other">,</span> <span class="Identifier">KaOS</span><span class="Other">,</span> <span class="Identifier">WattOS</span><span class="Other">,</span>
  158. <span class="Identifier">Korora</span><span class="Other">,</span> <span class="Identifier">Simplicity</span><span class="Other">,</span> <span class="Identifier">RemixOS</span><span class="Other">,</span> <span class="Identifier">OpenMandriva</span><span class="Other">,</span> <span class="Identifier">Netrunner</span><span class="Other">,</span> <span class="Identifier">Alpine</span><span class="Other">,</span> <span class="Identifier">BlackArch</span><span class="Other">,</span>
  159. <span class="Identifier">Ultimate</span><span class="Other">,</span> <span class="Identifier">Gecko</span><span class="Other">,</span> <span class="Identifier">Parrot</span><span class="Other">,</span> <span class="Identifier">KNOPPIX</span><span class="Other">,</span> <span class="Identifier">GhostBSD</span><span class="Other">,</span> <span class="Identifier">Sabayon</span><span class="Other">,</span> <span class="Identifier">Salix</span><span class="Other">,</span> <span class="Identifier">Q4OS</span><span class="Other">,</span> <span class="Identifier">ClearOS</span><span class="Other">,</span>
  160. <span class="Identifier">Container</span><span class="Other">,</span> <span class="Identifier">ROSA</span><span class="Other">,</span> <span class="Identifier">Zenwalk</span><span class="Other">,</span> <span class="Identifier">Parabola</span><span class="Other">,</span> <span class="Identifier">ChaletOS</span><span class="Other">,</span> <span class="Identifier">BackBox</span><span class="Other">,</span> <span class="Identifier">MXLinux</span><span class="Other">,</span> <span class="Identifier">Vector</span><span class="Other">,</span> <span class="Identifier">Maui</span><span class="Other">,</span>
  161. <span class="Identifier">Qubes</span><span class="Other">,</span> <span class="Identifier">RancherOS</span><span class="Other">,</span> <span class="Identifier">Oracle</span><span class="Other">,</span> <span class="Identifier">TinyCore</span><span class="Other">,</span> <span class="Identifier">Robolinux</span><span class="Other">,</span> <span class="Identifier">Trisquel</span><span class="Other">,</span> <span class="Identifier">Voyager</span><span class="Other">,</span> <span class="Identifier">Clonezilla</span><span class="Other">,</span>
  162. <span class="Identifier">SteamOS</span><span class="Other">,</span> <span class="Identifier">Absolute</span><span class="Other">,</span> <span class="Identifier">NixOS</span><span class="Other">,</span> <span class="Comment">## NixOS or a Nix build environment</span>
  163. <span class="Identifier">AUSTRUMI</span><span class="Other">,</span> <span class="Identifier">Arya</span><span class="Other">,</span> <span class="Identifier">Porteus</span><span class="Other">,</span> <span class="Identifier">AVLinux</span><span class="Other">,</span> <span class="Identifier">Elive</span><span class="Other">,</span> <span class="Identifier">Bluestar</span><span class="Other">,</span> <span class="Identifier">SliTaz</span><span class="Other">,</span> <span class="Identifier">Solaris</span><span class="Other">,</span> <span class="Identifier">Chakra</span><span class="Other">,</span>
  164. <span class="Identifier">Wifislax</span><span class="Other">,</span> <span class="Identifier">Scientific</span><span class="Other">,</span> <span class="Identifier">ExTiX</span><span class="Other">,</span> <span class="Identifier">Rockstor</span><span class="Other">,</span> <span class="Identifier">GoboLinux</span><span class="Other">,</span> <span class="Identifier">Void</span><span class="Other">,</span> <span class="Identifier">BSD</span><span class="Other">,</span> <span class="Identifier">FreeBSD</span><span class="Other">,</span> <span class="Identifier">NetBSD</span><span class="Other">,</span>
  165. <span class="Identifier">OpenBSD</span><span class="Other">,</span> <span class="Identifier">DragonFlyBSD</span><span class="Other">,</span> <span class="Identifier">Haiku</span></pre></dt>
  166. <dd>
  167. the list of known distributions
  168. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/distros.nim#L36" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  169. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/distros.nim#L36" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  170. </dd>
  171. </div>
  172. </dl>
  173. </div>
  174. <div class="section" id="8">
  175. <h1><a class="toc-backref" href="#8">Vars</a></h1>
  176. <dl class="item">
  177. <div id="foreignDeps">
  178. <dt><pre><a href="distros.html#foreignDeps"><span class="Identifier">foreignDeps</span></a><span class="Other">:</span> <a href="system.html#seq"><span class="Identifier">seq</span></a><span class="Other">[</span><a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">]</span> <span class="Other">=</span> <span class="Operator">@</span><span class="Other">[</span><span class="Other">]</span></pre></dt>
  179. <dd>
  180. Registered foreign deps.
  181. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/distros.nim#L214" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  182. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/distros.nim#L214" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  183. </dd>
  184. </div>
  185. </dl>
  186. </div>
  187. <div class="section" id="10">
  188. <h1><a class="toc-backref" href="#10">Consts</a></h1>
  189. <dl class="item">
  190. <div id="LacksDevPackages">
  191. <dt><pre><a href="distros.html#LacksDevPackages"><span class="Identifier">LacksDevPackages</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">Distribution.Gentoo</span><span class="Other">,</span> <span class="DecNumber">Distribution.Slackware</span><span class="Other">,</span>
  192. <span class="DecNumber">Distribution.ArchLinux</span><span class="Other">,</span> <span class="DecNumber">Distribution.Artix</span><span class="Other">,</span>
  193. <span class="DecNumber">Distribution.Antergos</span><span class="Other">,</span> <span class="DecNumber">Distribution.BlackArch</span><span class="Other">,</span>
  194. <span class="DecNumber">Distribution.ArchBang</span><span class="Other">}</span></pre></dt>
  195. <dd>
  196. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/distros.nim#L138" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  197. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/distros.nim#L138" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  198. </dd>
  199. </div>
  200. </dl>
  201. </div>
  202. <div class="section" id="12">
  203. <h1><a class="toc-backref" href="#12">Procs</a></h1>
  204. <dl class="item">
  205. <div id="echoForeignDeps-procs-all">
  206. <div id="echoForeignDeps">
  207. <dt><pre><span class="Keyword">proc</span> <a href="#echoForeignDeps"><span class="Identifier">echoForeignDeps</span></a><span class="Other">(</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  208. <dd>
  209. Writes the list of registered foreign deps to stdout.
  210. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/distros.nim#L276" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  211. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/distros.nim#L276" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  212. </dd>
  213. </div>
  214. </div>
  215. <div id="foreignCmd-procs-all">
  216. <div id="foreignCmd,string">
  217. <dt><pre><span class="Keyword">proc</span> <a href="#foreignCmd%2Cstring"><span class="Identifier">foreignCmd</span></a><span class="Other">(</span><span class="Identifier">cmd</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">;</span> <span class="Identifier">requiresSudo</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
  218. <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  219. <dd>
  220. Registers a foreign command to the internal list of commands that can be queried later.
  221. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/distros.nim#L216" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  222. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/distros.nim#L216" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  223. </dd>
  224. </div>
  225. </div>
  226. <div id="foreignDep-procs-all">
  227. <div id="foreignDep,string">
  228. <dt><pre><span class="Keyword">proc</span> <a href="#foreignDep%2Cstring"><span class="Identifier">foreignDep</span></a><span class="Other">(</span><span class="Identifier">foreignPackageName</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
  229. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  230. <dd>
  231. Registers <tt class="docutils literal"><span class="pre"><span class="Identifier">foreignPackageName</span></span></tt> to the internal list of foreign deps. It is your job to ensure that the package name is correct.
  232. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/distros.nim#L270" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  233. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/distros.nim#L270" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  234. </dd>
  235. </div>
  236. </div>
  237. <div id="foreignDepInstallCmd-procs-all">
  238. <div id="foreignDepInstallCmd,string">
  239. <dt><pre><span class="Keyword">proc</span> <a href="#foreignDepInstallCmd%2Cstring"><span class="Identifier">foreignDepInstallCmd</span></a><span class="Other">(</span><span class="Identifier">foreignPackageName</span><span class="Other">:</span> <a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Other">(</span><a href="system.html#string"><span class="Identifier">string</span></a><span class="Other">,</span> <a href="system.html#bool"><span class="Identifier">bool</span></a><span class="Other">)</span> {.
  240. <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
  241. <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ExecIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
  242. <dd>
  243. Returns the distro's native command to install <tt class="docutils literal"><span class="pre"><span class="Identifier">foreignPackageName</span></span></tt> and whether it requires root/admin rights.
  244. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/distros.nim#L225" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  245. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/distros.nim#L225" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  246. </dd>
  247. </div>
  248. </div>
  249. </dl>
  250. </div>
  251. <div class="section" id="18">
  252. <h1><a class="toc-backref" href="#18">Templates</a></h1>
  253. <dl class="item">
  254. <div id="detectOs-templates-all">
  255. <div id="detectOs.t,untyped">
  256. <dt><pre><span class="Keyword">template</span> <a href="#detectOs.t%2Cuntyped"><span class="Identifier">detectOs</span></a><span class="Other">(</span><span class="Identifier">d</span><span class="Other">:</span> <a href="system.html#untyped"><span class="Identifier">untyped</span></a><span class="Other">)</span><span class="Other">:</span> <a href="system.html#bool"><span class="Identifier">bool</span></a></pre></dt>
  257. <dd>
  258. Distro/OS detection. For convenience, the required <tt class="docutils literal"><span class="pre"><span class="Identifier">Distribution</span><span class="Operator">.</span></span></tt> qualifier is added to the enum value.
  259. <a href="https://github.com/nim-lang/Nim/tree/devel/lib/pure/distros.nim#L207" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
  260. <a href="https://github.com/nim-lang/Nim/edit/devel/lib/pure/distros.nim#L207" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
  261. </dd>
  262. </div>
  263. </div>
  264. </dl>
  265. </div>
  266. </div>
  267. </div>
  268. <div class="twelve-columns footer">
  269. <span class="nim-sprite"></span>
  270. <br>
  271. <small style="color: var(--hint);">Made with Nim. Generated: 2025-02-03 14:56:51 UTC</small>
  272. </div>
  273. </div>
  274. </div>
  275. <script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
  276. </body>
  277. </html>