Skip to content

Commit 6923245

Browse files
authored
Auto deploy from GitHub Actions build 847
WeepingDogel: [f7f5758] Update distribution.md: Add NixOS package management section with usage examples for nix-shell and nix-env (#94)
1 parent 96600b0 commit 6923245

4 files changed

Lines changed: 110 additions & 51 deletions

File tree

Appendix/distribution/index.html

Lines changed: 74 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1828,6 +1828,33 @@
18281828
<nav class="md-nav" aria-label="软件包管理">
18291829
<ul class="md-nav__list">
18301830

1831+
<li class="md-nav__item">
1832+
<a href="#nixos-nix-shell" class="md-nav__link">
1833+
<span class="md-ellipsis">
1834+
使用 nix-shell
1835+
</span>
1836+
</a>
1837+
1838+
</li>
1839+
1840+
<li class="md-nav__item">
1841+
<a href="#nixos-nix-env" class="md-nav__link">
1842+
<span class="md-ellipsis">
1843+
使用 nix-env
1844+
</span>
1845+
</a>
1846+
1847+
</li>
1848+
1849+
<li class="md-nav__item">
1850+
<a href="#nixos-config" class="md-nav__link">
1851+
<span class="md-ellipsis">
1852+
使用配置文件
1853+
</span>
1854+
</a>
1855+
1856+
</li>
1857+
18311858
<li class="md-nav__item">
18321859
<a href="#nixos-config-management" class="md-nav__link">
18331860
<span class="md-ellipsis">
@@ -2188,6 +2215,33 @@
21882215
<nav class="md-nav" aria-label="软件包管理">
21892216
<ul class="md-nav__list">
21902217

2218+
<li class="md-nav__item">
2219+
<a href="#nixos-nix-shell" class="md-nav__link">
2220+
<span class="md-ellipsis">
2221+
使用 nix-shell
2222+
</span>
2223+
</a>
2224+
2225+
</li>
2226+
2227+
<li class="md-nav__item">
2228+
<a href="#nixos-nix-env" class="md-nav__link">
2229+
<span class="md-ellipsis">
2230+
使用 nix-env
2231+
</span>
2232+
</a>
2233+
2234+
</li>
2235+
2236+
<li class="md-nav__item">
2237+
<a href="#nixos-config" class="md-nav__link">
2238+
<span class="md-ellipsis">
2239+
使用配置文件
2240+
</span>
2241+
</a>
2242+
2243+
</li>
2244+
21912245
<li class="md-nav__item">
21922246
<a href="#nixos-config-management" class="md-nav__link">
21932247
<span class="md-ellipsis">
@@ -2409,36 +2463,41 @@ <h4 id="nixos-immutable">不可变包存储<a class="headerlink" href="#nixos-im
24092463
</ul>
24102464
<h3 id="nixos-package-management">软件包管理<a class="headerlink" href="#nixos-package-management" title="Permanent link">&para;</a></h3>
24112465
<p>NixOS 使用 <code>nix</code> 命令进行软件包管理:</p>
2412-
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>nix<span class="w"> </span>search<span class="w"> </span>nixpkgs<span class="w"> </span>firefox<span class="w"> </span><span class="c1"># 搜索软件包</span>
2413-
2414-
2415-
<span class="gp">$ </span>nix-env<span class="w"> </span>-iA<span class="w"> </span>nixpkgs.firefox<span class="w"> </span><span class="c1"># 安装软件包(临时,重启后消失)</span>
2416-
2417-
<span class="gp">$ </span>sudo<span class="w"> </span>nixos-rebuild<span class="w"> </span>switch<span class="w"> </span><span class="c1"># 在配置文件中添加软件包(推荐方式),编辑 /etc/nixos/configuration.nix,然后运行</span>
2466+
<h4 id="nixos-nix-shell">使用 <code>nix-shell</code><a class="headerlink" href="#nixos-nix-shell" title="Permanent link">&para;</a></h4>
2467+
<p><code>nix-shell</code> 会启动一个新的 shell,在其中 <code>PATH</code> 等环境变量会被临时修改,指向由 Nix 构建的工具所在路径。借助这个环境,你可以方便地尝试新程序或依赖。需要注意,这些修改仅在该 <code>nix-shell</code> 会话中有效;一旦退出或重启,环境就会恢复原状。</p>
2468+
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>nix-shell<span class="w"> </span>-p<span class="w"> </span>firefox<span class="w"> </span><span class="c1"># 安装软件包</span>
2469+
</code></pre></div>
2470+
<h4 id="nixos-nix-env">使用 <code>nix-env</code><a class="headerlink" href="#nixos-nix-env" title="Permanent link">&para;</a></h4>
2471+
<div class="admonition warning">
2472+
<p class="admonition-title">注意</p>
2473+
<p>使用 <code>nix-env</code> 会永久修改本地安装包配置文件。用户必须像使用传统包管理器那样更新和维护该配置文件,这将放弃许多使 Nix 具有独特强大功能的优势。建议改用 <code>nix-shell</code> 或 NixOS 配置文件。</p>
2474+
</div>
2475+
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>nix-env<span class="w"> </span>-iA<span class="w"> </span>nixos.firefox<span class="w"> </span><span class="c1"># 安装软件包</span>
2476+
</code></pre></div>
2477+
<h4 id="nixos-config">使用配置文件<a class="headerlink" href="#nixos-config" title="Permanent link">&para;</a></h4>
2478+
<p>将以下 Nix 代码添加到你的 NixOS 配置文件中,该文件通常位于 <code>/etc/nixos/configuration.nix</code></p>
2479+
<div class="highlight"><pre><span></span><code>environment<span class="o">.</span><span class="ss">systemPackages</span> <span class="o">=</span> <span class="p">[</span>
2480+
pkgs<span class="o">.</span>firefox
2481+
<span class="p">];</span>
2482+
</code></pre></div>
2483+
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo<span class="w"> </span>nixos-rebuild<span class="w"> </span>switch<span class="w"> </span><span class="c1"># 在配置文件中添加软件包(推荐方式),编辑 /etc/nixos/configuration.nix,然后运行</span>
24182484
</code></pre></div>
24192485
<h4 id="nixos-config-management">配置文件管理<a class="headerlink" href="#nixos-config-management" title="Permanent link">&para;</a></h4>
24202486
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo<span class="w"> </span>nixos-rebuild<span class="w"> </span>switch<span class="w"> </span><span class="c1"># 应用配置更改</span>
2421-
24222487
<span class="gp">$ </span>sudo<span class="w"> </span>nixos-rebuild<span class="w"> </span><span class="nb">test</span><span class="w"> </span><span class="c1"># 测试配置(不应用)</span>
2423-
24242488
<span class="gp">$ </span>sudo<span class="w"> </span>nixos-rebuild<span class="w"> </span>boot<span class="w"> </span><span class="c1"># 启动到新配置</span>
2425-
24262489
<span class="gp">$ </span>sudo<span class="w"> </span>nixos-rebuild<span class="w"> </span>switch<span class="w"> </span>--rollback<span class="w"> </span><span class="c1"># 回滚到上一个配置</span>
24272490
</code></pre></div>
24282491
<h3 id="nixos-rollback">系统回滚<a class="headerlink" href="#nixos-rollback" title="Permanent link">&para;</a></h3>
24292492
<p>NixOS 的回滚功能是其最强大的特性之一:</p>
24302493
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo<span class="w"> </span>nix-env<span class="w"> </span>--list-generations<span class="w"> </span>--profile<span class="w"> </span>/nix/var/nix/profiles/system<span class="w"> </span><span class="c1"># 查看可用的系统配置</span>
2431-
24322494
<span class="gp">$ </span>sudo<span class="w"> </span>nixos-rebuild<span class="w"> </span>switch<span class="w"> </span>--rollback<span class="w"> </span><span class="c1"># 回滚到上一个配置</span>
2433-
24342495
<span class="gp">$ </span>sudo<span class="w"> </span>nixos-rebuild<span class="w"> </span>switch<span class="w"> </span>--option<span class="w"> </span>system-profiles<span class="w"> </span>/nix/var/nix/profiles/system-123-link<span class="w"> </span><span class="c1"># 回滚到特定配置</span>
24352496
</code></pre></div>
24362497
<h3 id="nixos-channels">频道 (Channels)<a class="headerlink" href="#nixos-channels" title="Permanent link">&para;</a></h3>
24372498
<p>NixOS 使用频道来管理软件包集合:</p>
24382499
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>nix-channel<span class="w"> </span>--list<span class="w"> </span><span class="c1"># 查看当前频道</span>
2439-
24402500
<span class="gp">$ </span>sudo<span class="w"> </span>nix-channel<span class="w"> </span>--update<span class="w"> </span><span class="c1"># 更新频道</span>
2441-
24422501
<span class="gp">$ </span>sudo<span class="w"> </span>nix-channel<span class="w"> </span>--add<span class="w"> </span>https://nixos.org/channels/nixos-unstable<span class="w"> </span>nixos<span class="w"> </span><span class="c1"># 切换到不稳定频道</span>
24432502
</code></pre></div>
24442503
<h3 id="nixos-flakes">Nix Flakes<a class="headerlink" href="#nixos-flakes" title="Permanent link">&para;</a></h3>
@@ -2458,9 +2517,8 @@ <h3 id="nixos-flakes">Nix Flakes<a class="headerlink" href="#nixos-flakes" title
24582517
<span class="p">}</span>
24592518
</code></pre></div>
24602519
<h3 id="nixos-development">开发环境<a class="headerlink" href="#nixos-development" title="Permanent link">&para;</a></h3>
2461-
<p>NixOS 提供了强大的开发环境管理:</p>
2520+
<p>NixOS 提供了强大的开发环境管理[^2]</p>
24622521
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>nix-shell<span class="w"> </span>-p<span class="w"> </span>python3<span class="w"> </span>nodejs<span class="w"> </span><span class="c1"># 进入包含特定软件包的 shell</span>
2463-
24642522
<span class="gp">$ </span>nix-shell<span class="w"> </span><span class="c1"># 使用 shell.nix 文件定义开发环境</span>
24652523
</code></pre></div>
24662524
<h3 id="nixos-differences">与其他发行版的主要区别<a class="headerlink" href="#nixos-differences" title="Permanent link">&para;</a></h3>
@@ -2483,6 +2541,7 @@ <h3 id="nixos-resources">学习资源<a class="headerlink" href="#nixos-resource
24832541
<li><a href="https://viperml.github.io/wrapper-manager/">wrapper-manager</a></li>
24842542
</ul>
24852543
<p>NixOS 的学习曲线相对陡峭,但一旦掌握,它提供了传统发行版无法比拟的系统管理体验。特别适合需要可重现环境、频繁实验或需要强系统一致性的用户。</p>
2544+
<p><a href="https://nixos.wiki/wiki/Development_environment_with_nix-shell">^2</a></p>
24862545
<div class="footnote">
24872546
<hr />
24882547
<ol>

search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

sitemap.xml

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,142 +2,142 @@
22
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
33
<url>
44
<loc>https://101.lug.ustc.edu.cn/</loc>
5-
<lastmod>2025-10-06</lastmod>
5+
<lastmod>2025-10-08</lastmod>
66
</url>
77
<url>
88
<loc>https://101.lug.ustc.edu.cn/credits/</loc>
9-
<lastmod>2025-10-06</lastmod>
9+
<lastmod>2025-10-08</lastmod>
1010
</url>
1111
<url>
1212
<loc>https://101.lug.ustc.edu.cn/notations/</loc>
13-
<lastmod>2025-10-06</lastmod>
13+
<lastmod>2025-10-08</lastmod>
1414
</url>
1515
<url>
1616
<loc>https://101.lug.ustc.edu.cn/postface/</loc>
17-
<lastmod>2025-10-06</lastmod>
17+
<lastmod>2025-10-08</lastmod>
1818
</url>
1919
<url>
2020
<loc>https://101.lug.ustc.edu.cn/preface/</loc>
21-
<lastmod>2025-10-06</lastmod>
21+
<lastmod>2025-10-08</lastmod>
2222
</url>
2323
<url>
2424
<loc>https://101.lug.ustc.edu.cn/Appendix/distribution/</loc>
25-
<lastmod>2025-10-06</lastmod>
25+
<lastmod>2025-10-08</lastmod>
2626
</url>
2727
<url>
2828
<loc>https://101.lug.ustc.edu.cn/Appendix/man/</loc>
29-
<lastmod>2025-10-06</lastmod>
29+
<lastmod>2025-10-08</lastmod>
3030
</url>
3131
<url>
3232
<loc>https://101.lug.ustc.edu.cn/Appendix/markdown/</loc>
33-
<lastmod>2025-10-06</lastmod>
33+
<lastmod>2025-10-08</lastmod>
3434
</url>
3535
<url>
3636
<loc>https://101.lug.ustc.edu.cn/Ch01/</loc>
37-
<lastmod>2025-10-06</lastmod>
37+
<lastmod>2025-10-08</lastmod>
3838
</url>
3939
<url>
4040
<loc>https://101.lug.ustc.edu.cn/Ch01/solution/</loc>
41-
<lastmod>2025-10-06</lastmod>
41+
<lastmod>2025-10-08</lastmod>
4242
</url>
4343
<url>
4444
<loc>https://101.lug.ustc.edu.cn/Ch01/supplement/</loc>
45-
<lastmod>2025-10-06</lastmod>
45+
<lastmod>2025-10-08</lastmod>
4646
</url>
4747
<url>
4848
<loc>https://101.lug.ustc.edu.cn/Ch02/</loc>
49-
<lastmod>2025-10-06</lastmod>
49+
<lastmod>2025-10-08</lastmod>
5050
</url>
5151
<url>
5252
<loc>https://101.lug.ustc.edu.cn/Ch02/solution/</loc>
53-
<lastmod>2025-10-06</lastmod>
53+
<lastmod>2025-10-08</lastmod>
5454
</url>
5555
<url>
5656
<loc>https://101.lug.ustc.edu.cn/Ch02/supplement/</loc>
57-
<lastmod>2025-10-06</lastmod>
57+
<lastmod>2025-10-08</lastmod>
5858
</url>
5959
<url>
6060
<loc>https://101.lug.ustc.edu.cn/Ch03/</loc>
61-
<lastmod>2025-10-06</lastmod>
61+
<lastmod>2025-10-08</lastmod>
6262
</url>
6363
<url>
6464
<loc>https://101.lug.ustc.edu.cn/Ch03/solution/</loc>
65-
<lastmod>2025-10-06</lastmod>
65+
<lastmod>2025-10-08</lastmod>
6666
</url>
6767
<url>
6868
<loc>https://101.lug.ustc.edu.cn/Ch03/supplement/</loc>
69-
<lastmod>2025-10-06</lastmod>
69+
<lastmod>2025-10-08</lastmod>
7070
</url>
7171
<url>
7272
<loc>https://101.lug.ustc.edu.cn/Ch04/</loc>
73-
<lastmod>2025-10-06</lastmod>
73+
<lastmod>2025-10-08</lastmod>
7474
</url>
7575
<url>
7676
<loc>https://101.lug.ustc.edu.cn/Ch04/solution/</loc>
77-
<lastmod>2025-10-06</lastmod>
77+
<lastmod>2025-10-08</lastmod>
7878
</url>
7979
<url>
8080
<loc>https://101.lug.ustc.edu.cn/Ch04/supplement/</loc>
81-
<lastmod>2025-10-06</lastmod>
81+
<lastmod>2025-10-08</lastmod>
8282
</url>
8383
<url>
8484
<loc>https://101.lug.ustc.edu.cn/Ch05/</loc>
85-
<lastmod>2025-10-06</lastmod>
85+
<lastmod>2025-10-08</lastmod>
8686
</url>
8787
<url>
8888
<loc>https://101.lug.ustc.edu.cn/Ch05/solution/</loc>
89-
<lastmod>2025-10-06</lastmod>
89+
<lastmod>2025-10-08</lastmod>
9090
</url>
9191
<url>
9292
<loc>https://101.lug.ustc.edu.cn/Ch05/supplement/</loc>
93-
<lastmod>2025-10-06</lastmod>
93+
<lastmod>2025-10-08</lastmod>
9494
</url>
9595
<url>
9696
<loc>https://101.lug.ustc.edu.cn/Ch06/</loc>
97-
<lastmod>2025-10-06</lastmod>
97+
<lastmod>2025-10-08</lastmod>
9898
</url>
9999
<url>
100100
<loc>https://101.lug.ustc.edu.cn/Ch06/solution/</loc>
101-
<lastmod>2025-10-06</lastmod>
101+
<lastmod>2025-10-08</lastmod>
102102
</url>
103103
<url>
104104
<loc>https://101.lug.ustc.edu.cn/Ch06/supplement/</loc>
105-
<lastmod>2025-10-06</lastmod>
105+
<lastmod>2025-10-08</lastmod>
106106
</url>
107107
<url>
108108
<loc>https://101.lug.ustc.edu.cn/Ch07/</loc>
109-
<lastmod>2025-10-06</lastmod>
109+
<lastmod>2025-10-08</lastmod>
110110
</url>
111111
<url>
112112
<loc>https://101.lug.ustc.edu.cn/Ch07/supplement/</loc>
113-
<lastmod>2025-10-06</lastmod>
113+
<lastmod>2025-10-08</lastmod>
114114
</url>
115115
<url>
116116
<loc>https://101.lug.ustc.edu.cn/Ch08/</loc>
117-
<lastmod>2025-10-06</lastmod>
117+
<lastmod>2025-10-08</lastmod>
118118
</url>
119119
<url>
120120
<loc>https://101.lug.ustc.edu.cn/Ch08/supplement/</loc>
121-
<lastmod>2025-10-06</lastmod>
121+
<lastmod>2025-10-08</lastmod>
122122
</url>
123123
<url>
124124
<loc>https://101.lug.ustc.edu.cn/Ch09/</loc>
125-
<lastmod>2025-10-06</lastmod>
125+
<lastmod>2025-10-08</lastmod>
126126
</url>
127127
<url>
128128
<loc>https://101.lug.ustc.edu.cn/Ch09/supplement/</loc>
129-
<lastmod>2025-10-06</lastmod>
129+
<lastmod>2025-10-08</lastmod>
130130
</url>
131131
<url>
132132
<loc>https://101.lug.ustc.edu.cn/Ch10/</loc>
133-
<lastmod>2025-10-06</lastmod>
133+
<lastmod>2025-10-08</lastmod>
134134
</url>
135135
<url>
136136
<loc>https://101.lug.ustc.edu.cn/Spec/slide/</loc>
137-
<lastmod>2025-10-06</lastmod>
137+
<lastmod>2025-10-08</lastmod>
138138
</url>
139139
<url>
140140
<loc>https://101.lug.ustc.edu.cn/Spec/writing/</loc>
141-
<lastmod>2025-10-06</lastmod>
141+
<lastmod>2025-10-08</lastmod>
142142
</url>
143143
</urlset>

sitemap.xml.gz

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)