Corrected flake.nix

This commit is contained in:
2026-02-22 22:25:00 +01:00
parent d74aea2395
commit 7e5f373a24
4 changed files with 259 additions and 247 deletions
+235 -238
View File
@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2026-02-22 zo 22:22 -->
<!-- 2026-02-22 zo 22:24 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title>
@@ -200,119 +200,119 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orgf7c8907">1. Introduction</a></li>
<li><a href="#orgd7ab32d">2. Pre-requisites to edit this setup</a></li>
<li><a href="#orgb7e8559">3. machine1 — template machine</a></li>
<li><a href="#org96c3d36">4. <code>flake.lock</code> for pinning input versions.</a></li>
<li><a href="#org922bd89">5. <code>assets/*</code> for non-Nix-managed artifacts such as images and wallpapers.</a>
<li><a href="#org0c4dbc8">1. Introduction</a></li>
<li><a href="#orge3c3347">2. Pre-requisites to edit this setup</a></li>
<li><a href="#orgb070420">3. machine1 — template machine</a></li>
<li><a href="#org593b198">4. <code>flake.lock</code> for pinning input versions.</a></li>
<li><a href="#orgd1b4ce2">5. <code>assets/*</code> for non-Nix-managed artifacts such as images and wallpapers.</a>
<ul>
<li><a href="#org0e868ed">5.1. Emacs + Org + Tangle</a></li>
<li><a href="#org86a4d08">5.1. Emacs + Org + Tangle</a></li>
</ul>
</li>
<li><a href="#org48d2c7e">6. [Emacs](https://www.gnu.org/software/emacs/][Emacs) is used as the editor and execution environment for this literate configuration.</a></li>
<li><a href="#org0e19a1f">7. [Org](https://orgmode.org/][Org) mode provides the document structure and the source block execution model used here.</a></li>
<li><a href="#orgf9378d7">8. Tangling exports source blocks from this Org document into the corresponding configuration files.</a>
<li><a href="#org5918990">6. [Emacs](https://www.gnu.org/software/emacs/][Emacs) is used as the editor and execution environment for this literate configuration.</a></li>
<li><a href="#orgbbf0b4b">7. [Org](https://orgmode.org/][Org) mode provides the document structure and the source block execution model used here.</a></li>
<li><a href="#orgda01bc5">8. Tangling exports source blocks from this Org document into the corresponding configuration files.</a>
<ul>
<li><a href="#orgf16ab29">8.1. Nix &amp; NixOS</a></li>
<li><a href="#orga954346">8.1. Nix &amp; NixOS</a></li>
</ul>
</li>
<li><a href="#org905251e">9. [Nix](https://nix.dev/][Nix) is used to define packages, environments, and configuration as pure expressions.</a></li>
<li><a href="#orgb4092ad">10. [NixOS](https://nixos.org/][NixOS) evaluates Nix expressions into a complete system configuration that can be applied by rebuild operations.</a>
<li><a href="#org620712f">9. [Nix](https://nix.dev/][Nix) is used to define packages, environments, and configuration as pure expressions.</a></li>
<li><a href="#org13b3ecf">10. [NixOS](https://nixos.org/][NixOS) evaluates Nix expressions into a complete system configuration that can be applied by rebuild operations.</a>
<ul>
<li><a href="#org0709377">10.1. Repository layout and folder conventions</a></li>
<li><a href="#org713e8d7">10.2. Shared domain folders</a></li>
<li><a href="#org11a5076">10.3. Full tree (including unchanged parts)</a></li>
<li><a href="#org758aedd">10.4. Notes</a></li>
<li><a href="#orgcc9c636">10.1. Repository layout and folder conventions</a></li>
<li><a href="#org057172e">10.2. Shared domain folders</a></li>
<li><a href="#orge9fa7e6">10.3. Full tree (including unchanged parts)</a></li>
<li><a href="#orgdd6fee9">10.4. Notes</a></li>
</ul>
</li>
<li><a href="#org746daea">11. TLDR App List</a></li>
<li><a href="#org3525a43">12. Configuration Variables</a></li>
<li><a href="#org2cdd515">13. Flake Inputs</a></li>
<li><a href="#org834b1aa">14. Flake Output</a>
<li><a href="#orgbca3d8f">11. TLDR App List</a></li>
<li><a href="#org4002248">12. Configuration Variables</a></li>
<li><a href="#orgefb5386">13. Flake Inputs</a></li>
<li><a href="#org5267a56">14. Flake Output</a>
<ul>
<li><a href="#orgf2cad7c">14.1. Envrc + Direnv</a></li>
<li><a href="#org2162118">14.1. Envrc + Direnv</a></li>
</ul>
</li>
<li><a href="#orgab84c6c">15. Machines</a>
<li><a href="#org163581d">15. Machines</a>
<ul>
<li>
<ul>
<li><a href="#org85dc18a">15.0.1. Other Utils</a></li>
<li><a href="#orgc623fb0">15.0.1. Other Utils</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgee6df44">16. Hardware</a></li>
<li><a href="#org1dc7aa5">17. Configuration</a>
<li><a href="#orge7ae7d0">16. Hardware</a></li>
<li><a href="#orgc225dc9">17. Configuration</a>
<ul>
<li><a href="#orgb29aebf">17.1. Apps section</a></li>
<li><a href="#orgb750651">17.2. install<sub>packages.nix</sub></a></li>
<li><a href="#org7924770">17.3. install<sub>flatpaks.nix</sub></a></li>
<li><a href="#org1728049">17.4. Nix Settings</a></li>
<li><a href="#org3b4f93f">17.5. Boot</a></li>
<li><a href="#org0600b54">17.6. Login</a></li>
<li><a href="#org3e56b62">17.7. Tuigreet</a></li>
<li><a href="#orgf9d3de6">17.8. LightDM</a></li>
<li><a href="#org856d4db">17.9. Terminal (default system)</a></li>
<li><a href="#org04a7142">17.10. Files</a></li>
<li><a href="#orgf255620">17.11. Locale</a></li>
<li><a href="#org7237386">17.12. Networking</a></li>
<li><a href="#orgd79b3e8">17.13. Hyprland</a></li>
<li><a href="#org2337e34">17.14. Services</a></li>
<li><a href="#org0d54645">17.15. Audio</a></li>
<li><a href="#org346e030">17.16. Miscellaneous Packages and Programs</a></li>
<li><a href="#org59aec3c">17.17. Fonts</a></li>
<li><a href="#org09b0198">17.18. User Config</a></li>
<li><a href="#org3e5d60d">17.1. Apps section</a></li>
<li><a href="#org4dba20e">17.2. install<sub>packages.nix</sub></a></li>
<li><a href="#orgec01e07">17.3. install<sub>flatpaks.nix</sub></a></li>
<li><a href="#org71af932">17.4. Nix Settings</a></li>
<li><a href="#org8c79d10">17.5. Boot</a></li>
<li><a href="#org74b9229">17.6. Login</a></li>
<li><a href="#org9d2af35">17.7. Tuigreet</a></li>
<li><a href="#org181b0a1">17.8. LightDM</a></li>
<li><a href="#orgc0ef22a">17.9. Terminal (default system)</a></li>
<li><a href="#org6f061db">17.10. Files</a></li>
<li><a href="#orga55e4d5">17.11. Locale</a></li>
<li><a href="#org8ea6ca7">17.12. Networking</a></li>
<li><a href="#org77abe85">17.13. Hyprland</a></li>
<li><a href="#orge6782b9">17.14. Services</a></li>
<li><a href="#org6115aee">17.15. Audio</a></li>
<li><a href="#org385d690">17.16. Miscellaneous Packages and Programs</a></li>
<li><a href="#orgb07552e">17.17. Fonts</a></li>
<li><a href="#org672b373">17.18. User Config</a></li>
</ul>
</li>
<li><a href="#org1caa28a">18. Home</a>
<li><a href="#orged17de7">18. Home</a>
<ul>
<li><a href="#orgb7e711b">18.1. default.nix</a></li>
<li><a href="#orga9a8337">18.2. Wallpaper</a></li>
<li><a href="#org40c0f22">18.3. Waybar</a></li>
<li><a href="#orgcbd5305">18.4. Lock Screen</a></li>
<li><a href="#org080295b">18.5. Idle Screen</a></li>
<li><a href="#org5def49f">18.6. Hyprshell</a></li>
<li><a href="#org5a27ea6">18.7. Hyprland</a></li>
<li><a href="#org9570ace">18.8. Walker</a></li>
<li><a href="#orgc823d34">18.9. Theme</a></li>
<li><a href="#org7a61555">18.10. Default-apps</a></li>
<li><a href="#org107dfb3">18.11. Hyperexpo</a></li>
<li><a href="#org48130ed">18.12. Alacritty</a></li>
<li><a href="#orga524c66">18.13. Dev Tools</a></li>
<li><a href="#orgc5ef12d">18.14. Kitty</a></li>
<li><a href="#orgb6c6997">18.15. Shells</a></li>
<li><a href="#org090a4f4">18.16. Zsh</a></li>
<li><a href="#org25562f8">18.17. Starship</a></li>
<li><a href="#org7fec533">18.18. Other Settings</a>
<li><a href="#org2296788">18.1. default.nix</a></li>
<li><a href="#org0da11c8">18.2. Wallpaper</a></li>
<li><a href="#orgbe28643">18.3. Waybar</a></li>
<li><a href="#org6b3036d">18.4. Lock Screen</a></li>
<li><a href="#org5548609">18.5. Idle Screen</a></li>
<li><a href="#org47491e5">18.6. Hyprshell</a></li>
<li><a href="#org19659e7">18.7. Hyprland</a></li>
<li><a href="#orgfb820c7">18.8. Walker</a></li>
<li><a href="#orgc718277">18.9. Theme</a></li>
<li><a href="#org0ae1c57">18.10. Default-apps</a></li>
<li><a href="#org9664df0">18.11. Hyperexpo</a></li>
<li><a href="#orge0c12cd">18.12. Alacritty</a></li>
<li><a href="#org8af15df">18.13. Dev Tools</a></li>
<li><a href="#org1f8dcc1">18.14. Kitty</a></li>
<li><a href="#orgc106517">18.15. Shells</a></li>
<li><a href="#org4e7df57">18.16. Zsh</a></li>
<li><a href="#orge88c228">18.17. Starship</a></li>
<li><a href="#org0ed5831">18.18. Other Settings</a>
<ul>
<li><a href="#orgeb97b37">18.18.1. Home User</a></li>
<li><a href="#orge97a713">18.18.1. Home User</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org0914f40">19. Emacs</a>
<li><a href="#org4cd30c3">19. Emacs</a>
<ul>
<li><a href="#org2cc1680">19.1. Early Initialization</a></li>
<li><a href="#org4895179">19.2. Initialization</a></li>
<li><a href="#orgb2ff316">19.1. Early Initialization</a></li>
<li><a href="#orgd43865d">19.2. Initialization</a></li>
</ul>
</li>
<li><a href="#orgc37e4d6">20. Machines</a>
<li><a href="#orgf72af5a">20. Machines</a>
<ul>
<li><a href="#org9bdebd6">20.1. Traveldroid</a>
<li><a href="#org4b6f086">20.1. Traveldroid</a>
<ul>
<li><a href="#org3a418c5">20.1.1. System Level</a></li>
<li><a href="#org6c1849a">20.1.2. Hardware</a></li>
<li><a href="#org7d76d86">20.1.3. Home</a></li>
<li><a href="#orged1412c">20.1.1. System Level</a></li>
<li><a href="#org19d0562">20.1.2. Hardware</a></li>
<li><a href="#org531cc42">20.1.3. Home</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org9f5e82d">21. README Utils</a>
<li><a href="#org23f52e0">21. README Utils</a>
<ul>
<li>
<ul>
<li><a href="#org87e7721">21.0.1. Headers</a></li>
<li><a href="#org3cb2d93">21.0.1. Headers</a></li>
</ul>
</li>
</ul>
@@ -348,8 +348,8 @@ gf#+OPTIONS: toc:nil broken-links:t
</a>
</div>
</div>
<div id="outline-container-orgf7c8907" class="outline-2">
<h2 id="orgf7c8907"><span class="section-number-2">1.</span> Introduction</h2>
<div id="outline-container-org0c4dbc8" class="outline-2">
<h2 id="org0c4dbc8"><span class="section-number-2">1.</span> Introduction</h2>
<div class="outline-text-2" id="text-1">
<div align="center"><img src="./.github/images/need to create screenshot.png" width="100%" alt="Screenshot" /></div>
@@ -375,8 +375,8 @@ Before proceeding with installation, it is strongly recommended to read this doc
</p>
</div>
</div>
<div id="outline-container-orgd7ab32d" class="outline-2">
<h2 id="orgd7ab32d"><span class="section-number-2">2.</span> Pre-requisites to edit this setup</h2>
<div id="outline-container-orge3c3347" class="outline-2">
<h2 id="orge3c3347"><span class="section-number-2">2.</span> Pre-requisites to edit this setup</h2>
<div class="outline-text-2" id="text-2">
<ul class="org-ul">
<li>a NIXOS system installed (can be bare-bones)</li>
@@ -405,8 +405,8 @@ nmcli device status
</div>
</div>
</div>
<div id="outline-container-orgb7e8559" class="outline-2">
<h2 id="orgb7e8559"><span class="section-number-2">3.</span> machine1 — template machine</h2>
<div id="outline-container-orgb070420" class="outline-2">
<h2 id="orgb070420"><span class="section-number-2">3.</span> machine1 — template machine</h2>
<div class="outline-text-2" id="text-3">
<p>
To generate the Nix files:
@@ -463,46 +463,46 @@ Other files in this repo include:
</p>
</div>
</div>
<div id="outline-container-org96c3d36" class="outline-2">
<h2 id="org96c3d36"><span class="section-number-2">4.</span> <code>flake.lock</code> for pinning input versions.</h2>
<div id="outline-container-org593b198" class="outline-2">
<h2 id="org593b198"><span class="section-number-2">4.</span> <code>flake.lock</code> for pinning input versions.</h2>
</div>
<div id="outline-container-org922bd89" class="outline-2">
<h2 id="org922bd89"><span class="section-number-2">5.</span> <code>assets/*</code> for non-Nix-managed artifacts such as images and wallpapers.</h2>
<div id="outline-container-orgd1b4ce2" class="outline-2">
<h2 id="orgd1b4ce2"><span class="section-number-2">5.</span> <code>assets/*</code> for non-Nix-managed artifacts such as images and wallpapers.</h2>
<div class="outline-text-2" id="text-5">
<p>
Generated outputs should not be edited directly. A CI workflow can tangle and commit generated outputs when they differ.
</p>
</div>
<div id="outline-container-org0e868ed" class="outline-3">
<h3 id="org0e868ed"><span class="section-number-3">5.1.</span> Emacs + Org + Tangle</h3>
<div id="outline-container-org86a4d08" class="outline-3">
<h3 id="org86a4d08"><span class="section-number-3">5.1.</span> Emacs + Org + Tangle</h3>
</div>
</div>
<div id="outline-container-org48d2c7e" class="outline-2">
<h2 id="org48d2c7e"><span class="section-number-2">6.</span> [<a href="https://www.gnu.org/software/emacs/">Emacs](https://www.gnu.org/software/emacs/][Emacs)</a> is used as the editor and execution environment for this literate configuration.</h2>
<div id="outline-container-org5918990" class="outline-2">
<h2 id="org5918990"><span class="section-number-2">6.</span> [<a href="https://www.gnu.org/software/emacs/">Emacs](https://www.gnu.org/software/emacs/][Emacs)</a> is used as the editor and execution environment for this literate configuration.</h2>
</div>
<div id="outline-container-org0e19a1f" class="outline-2">
<h2 id="org0e19a1f"><span class="section-number-2">7.</span> [<a href="https://orgmode.org/">Org](https://orgmode.org/][Org) mode</a> provides the document structure and the source block execution model used here.</h2>
<div id="outline-container-orgbbf0b4b" class="outline-2">
<h2 id="orgbbf0b4b"><span class="section-number-2">7.</span> [<a href="https://orgmode.org/">Org](https://orgmode.org/][Org) mode</a> provides the document structure and the source block execution model used here.</h2>
</div>
<div id="outline-container-orgf9378d7" class="outline-2">
<h2 id="orgf9378d7"><span class="section-number-2">8.</span> Tangling exports source blocks from this Org document into the corresponding configuration files.</h2>
<div id="outline-container-orgda01bc5" class="outline-2">
<h2 id="orgda01bc5"><span class="section-number-2">8.</span> Tangling exports source blocks from this Org document into the corresponding configuration files.</h2>
<div class="outline-text-2" id="text-8">
<ul class="org-ul">
<li>References of the form <code>&lt;&lt;code-id&gt;&gt;</code> are noweb placeholders that are expanded from other blocks during tangling.</li>
</ul>
</div>
<div id="outline-container-orgf16ab29" class="outline-3">
<h3 id="orgf16ab29"><span class="section-number-3">8.1.</span> Nix &amp; NixOS</h3>
<div id="outline-container-orga954346" class="outline-3">
<h3 id="orga954346"><span class="section-number-3">8.1.</span> Nix &amp; NixOS</h3>
</div>
</div>
<div id="outline-container-org905251e" class="outline-2">
<h2 id="org905251e"><span class="section-number-2">9.</span> [<a href="https://nix.dev/">Nix](https://nix.dev/][Nix)</a> is used to define packages, environments, and configuration as pure expressions.</h2>
<div id="outline-container-org620712f" class="outline-2">
<h2 id="org620712f"><span class="section-number-2">9.</span> [<a href="https://nix.dev/">Nix](https://nix.dev/][Nix)</a> is used to define packages, environments, and configuration as pure expressions.</h2>
</div>
<div id="outline-container-orgb4092ad" class="outline-2">
<h2 id="orgb4092ad"><span class="section-number-2">10.</span> [<a href="https://nixos.org/">NixOS](https://nixos.org/][NixOS)</a> evaluates Nix expressions into a complete system configuration that can be applied by rebuild operations.</h2>
<div id="outline-container-org13b3ecf" class="outline-2">
<h2 id="org13b3ecf"><span class="section-number-2">10.</span> [<a href="https://nixos.org/">NixOS](https://nixos.org/][NixOS)</a> evaluates Nix expressions into a complete system configuration that can be applied by rebuild operations.</h2>
<div class="outline-text-2" id="text-10">
</div>
<div id="outline-container-org0709377" class="outline-3">
<h3 id="org0709377"><span class="section-number-3">10.1.</span> Repository layout and folder conventions</h3>
<div id="outline-container-orgcc9c636" class="outline-3">
<h3 id="orgcc9c636"><span class="section-number-3">10.1.</span> Repository layout and folder conventions</h3>
<div class="outline-text-3" id="text-10-1">
<p>
This repository contains system modules, user modules, and configuration fragments. The following directories are treated as separate layers:
@@ -513,8 +513,8 @@ To keep navigation consistent, the same internal substructure is used in all thr
</p>
</div>
</div>
<div id="outline-container-org713e8d7" class="outline-3">
<h3 id="org713e8d7"><span class="section-number-3">10.2.</span> Shared domain folders</h3>
<div id="outline-container-org057172e" class="outline-3">
<h3 id="org057172e"><span class="section-number-3">10.2.</span> Shared domain folders</h3>
<div class="outline-text-3" id="text-10-2">
<ul>
<li><code>core/</code> base settings and common infrastructure</li>
@@ -526,8 +526,8 @@ To keep navigation consistent, the same internal substructure is used in all thr
</ul>
</div>
</div>
<div id="outline-container-org11a5076" class="outline-3">
<h3 id="org11a5076"><span class="section-number-3">10.3.</span> Full tree (including unchanged parts)</h3>
<div id="outline-container-orge9fa7e6" class="outline-3">
<h3 id="orge9fa7e6"><span class="section-number-3">10.3.</span> Full tree (including unchanged parts)</h3>
<div class="outline-text-3" id="text-10-3">
<p>
The tree below shows the full repository layout, with the standardized internal structure applied only inside
@@ -643,8 +643,8 @@ The tree below shows the full repository layout, with the standardized internal
</code></pre>
</div>
</div>
<div id="outline-container-org758aedd" class="outline-3">
<h3 id="org758aedd"><span class="section-number-3">10.4.</span> Notes</h3>
<div id="outline-container-orgdd6fee9" class="outline-3">
<h3 id="orgdd6fee9"><span class="section-number-3">10.4.</span> Notes</h3>
<div class="outline-text-3" id="text-10-4">
<ul>
<li>Only the internal layout of <code>configuration/</code>, <code>home/</code>, and <code>assets/conf/</code> is standardized; all other paths remain as currently organized.</li>
@@ -675,8 +675,8 @@ This prevents unwanted and surprise updates when rebuilding without changing the
</div>
</div>
</div>
<div id="outline-container-org746daea" class="outline-2">
<h2 id="org746daea"><span class="section-number-2">11.</span> TLDR App List</h2>
<div id="outline-container-orgbca3d8f" class="outline-2">
<h2 id="orgbca3d8f"><span class="section-number-2">11.</span> TLDR App List</h2>
<div class="outline-text-2" id="text-11">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@@ -755,8 +755,8 @@ This prevents unwanted and surprise updates when rebuilding without changing the
</table>
</div>
</div>
<div id="outline-container-org3525a43" class="outline-2">
<h2 id="org3525a43"><span class="section-number-2">12.</span> Configuration Variables</h2>
<div id="outline-container-org4002248" class="outline-2">
<h2 id="org4002248"><span class="section-number-2">12.</span> Configuration Variables</h2>
<div class="outline-text-2" id="text-12">
<p>
I have a bunch of constant strings that I would rather put in a file. Thats what <code>user.nix</code> is.
@@ -773,8 +773,8 @@ The values are imported at the beginning and are available to almost all the fun
</div>
</div>
</div>
<div id="outline-container-org2cdd515" class="outline-2">
<h2 id="org2cdd515"><span class="section-number-2">13.</span> Flake Inputs</h2>
<div id="outline-container-orgefb5386" class="outline-2">
<h2 id="orgefb5386"><span class="section-number-2">13.</span> Flake Inputs</h2>
<div class="outline-text-2" id="text-13">
<p>
The inputs for my system's configuration are very simple
@@ -801,10 +801,7 @@ Sometimes pinned to a specific commit because unstable broke something and the f
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin = {
url = "github:catppuccin/nix";zen-browser = {
url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {
@@ -818,8 +815,8 @@ Sometimes pinned to a specific commit because unstable broke something and the f
</div>
</div>
</div>
<div id="outline-container-org834b1aa" class="outline-2">
<h2 id="org834b1aa"><span class="section-number-2">14.</span> Flake Output</h2>
<div id="outline-container-org5267a56" class="outline-2">
<h2 id="org5267a56"><span class="section-number-2">14.</span> Flake Output</h2>
<div class="outline-text-2" id="text-14">
<p>
Now that the inputs are ready, the outputs define what the system will actually look like. I also define the machines that this configuration specifies early on. Finally, I iterate over the <code>machines</code> list and pull files from <code>/.machines/${name}</code> subdirectory. This allows me to have configuration that has machine specific configuration limited to those files while also keeping a modular reusable base.
@@ -827,7 +824,7 @@ We also add a devshell that makes editing this repository easier in emacs.
</p>
<div class="org-src-container">
<pre class="src src-nix" id="org5ba4398">outputs = inputs@{
<pre class="src src-nix" id="orgec29bf6">outputs = inputs@{
nixpkgs,
home-manager,
emacs-overlay,
@@ -888,7 +885,7 @@ Overlays are a special nix way to override existing packages within a repository
</p>
<div class="org-src-container">
<pre class="src src-nix" id="org9cb459b">({ ... }: {
<pre class="src src-nix" id="org2a7fa11">({ ... }: {
nixpkgs.overlays = [ emacs-overlay.overlays.default ];
})
</pre>
@@ -898,7 +895,7 @@ Overlays are a special nix way to override existing packages within a repository
Then the machine specific configuration, in this case, just "traveldroid".
</p>
<div class="org-src-container">
<pre class="src src-nix" id="orgcfea82b">./machines/${machine}/configuration.nix
<pre class="src src-nix" id="org8dd8eee">./machines/${machine}/configuration.nix
</pre>
</div></li>
@@ -908,7 +905,7 @@ This can be initialized and managed on its own but I'd rather use the <code>nixo
</p>
<div class="org-src-container">
<pre class="src src-nix" id="orgc1c63e5">home-manager.nixosModules.home-manager
<pre class="src src-nix" id="org62a46df">home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
@@ -951,8 +948,8 @@ Finally I pull in the machine specific home configuration. Along with the overri
</div></li>
</ol>
</div>
<div id="outline-container-orgf2cad7c" class="outline-3">
<h3 id="orgf2cad7c"><span class="section-number-3">14.1.</span> Envrc + Direnv</h3>
<div id="outline-container-org2162118" class="outline-3">
<h3 id="org2162118"><span class="section-number-3">14.1.</span> Envrc + Direnv</h3>
<div class="outline-text-3" id="text-14-1">
<p>
Editing this file will be much nicer if we have the dev environment configured.
@@ -973,14 +970,14 @@ fi
</div>
</div>
</div>
<div id="outline-container-orgab84c6c" class="outline-2">
<h2 id="orgab84c6c"><span class="section-number-2">15.</span> Machines</h2>
<div id="outline-container-org163581d" class="outline-2">
<h2 id="org163581d"><span class="section-number-2">15.</span> Machines</h2>
<div class="outline-text-2" id="text-15">
<p>
The individual machines subdirectory is configured as follows :-
</p>
<div class="org-src-container">
<pre class="src src-ditaa" id="org3876f6e">+--machine
<pre class="src src-ditaa" id="org93ffbe3">+--machine
| +--configuration.nix
| +--home.nix
| +--hardware-configuration.nix
@@ -1001,12 +998,12 @@ This imported object (or function result) is just trivially merged into a common
We can take a look at that the common hardware options I have for all my machines.
</p>
</div>
<div id="outline-container-org85dc18a" class="outline-4">
<h4 id="org85dc18a"><span class="section-number-4">15.0.1.</span> Other Utils</h4>
<div id="outline-container-orgc623fb0" class="outline-4">
<h4 id="orgc623fb0"><span class="section-number-4">15.0.1.</span> Other Utils</h4>
<div class="outline-text-4" id="text-15-0-1">
</div>
<ol class="org-ol">
<li><a id="org922dc37"></a>Updates<br />
<li><a id="org2f4e89d"></a>Updates<br />
<div class="outline-text-5" id="text-15-0-1-1">
<p>
To update the computer, I just need to update the <code>flake.lock</code> file to have references to the latest repository. This is done with :-
@@ -1020,8 +1017,8 @@ To update the computer, I just need to update the <code>flake.lock</code> file t
</ol>
</div>
</div>
<div id="outline-container-orgee6df44" class="outline-2">
<h2 id="orgee6df44"><span class="section-number-2">16.</span> Hardware</h2>
<div id="outline-container-orge7ae7d0" class="outline-2">
<h2 id="orge7ae7d0"><span class="section-number-2">16.</span> Hardware</h2>
<div class="outline-text-2" id="text-16">
<p>
I'll let the code comments explain the file here.
@@ -1055,8 +1052,8 @@ I'll let the code comments explain the file here.
</div>
</div>
</div>
<div id="outline-container-org1dc7aa5" class="outline-2">
<h2 id="org1dc7aa5"><span class="section-number-2">17.</span> Configuration</h2>
<div id="outline-container-orgc225dc9" class="outline-2">
<h2 id="orgc225dc9"><span class="section-number-2">17.</span> Configuration</h2>
<div class="outline-text-2" id="text-17">
<p>
This section describes the main system configuration for the computers that I have. Nix will look for a <code>default.nix</code> file if you give it a path to a folder to import. And <code>default.nix</code> looks as follows :-
@@ -1099,16 +1096,16 @@ This section describes the main system configuration for the computers that I ha
</pre>
</div>
</div>
<div id="outline-container-orgb29aebf" class="outline-3">
<h3 id="orgb29aebf"><span class="section-number-3">17.1.</span> Apps section</h3>
<div id="outline-container-org3e5d60d" class="outline-3">
<h3 id="org3e5d60d"><span class="section-number-3">17.1.</span> Apps section</h3>
<div class="outline-text-3" id="text-17-1">
<p>
This section describes a way of installing packages, either through nixpkgs orr flatpak. What apps to instal is decided in the files ./assets/conf/apps/packages.conf and flatpaks.conf
</p>
</div>
</div>
<div id="outline-container-orgb750651" class="outline-3">
<h3 id="orgb750651"><span class="section-number-3">17.2.</span> install<sub>packages.nix</sub></h3>
<div id="outline-container-org4dba20e" class="outline-3">
<h3 id="org4dba20e"><span class="section-number-3">17.2.</span> install<sub>packages.nix</sub></h3>
<div class="outline-text-3" id="text-17-2">
<div class="org-src-container">
<pre class="src src-nix">{ config, lib, pkgs, flakeRoot, inputs, ... }:
@@ -1168,8 +1165,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org7924770" class="outline-3">
<h3 id="org7924770"><span class="section-number-3">17.3.</span> install<sub>flatpaks.nix</sub></h3>
<div id="outline-container-orgec01e07" class="outline-3">
<h3 id="orgec01e07"><span class="section-number-3">17.3.</span> install<sub>flatpaks.nix</sub></h3>
<div class="outline-text-3" id="text-17-3">
<div class="org-src-container">
<pre class="src src-nix">{ config, pkgs, lib, flakeRoot, ... }:
@@ -1280,8 +1277,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org1728049" class="outline-3">
<h3 id="org1728049"><span class="section-number-3">17.4.</span> Nix Settings</h3>
<div id="outline-container-org71af932" class="outline-3">
<h3 id="org71af932"><span class="section-number-3">17.4.</span> Nix Settings</h3>
<div class="outline-text-3" id="text-17-4">
<p>
These are global nix settings that configure the settings for the actual tool.
@@ -1330,8 +1327,8 @@ These are global nix settings that configure the settings for the actual tool.
</div>
</div>
</div>
<div id="outline-container-org3b4f93f" class="outline-3">
<h3 id="org3b4f93f"><span class="section-number-3">17.5.</span> Boot</h3>
<div id="outline-container-org8c79d10" class="outline-3">
<h3 id="org8c79d10"><span class="section-number-3">17.5.</span> Boot</h3>
<div class="outline-text-3" id="text-17-5">
<p>
This file has most of the settings the control how the computer boots up.
@@ -1369,16 +1366,16 @@ This file has most of the settings the control how the computer boots up.
</div>
</div>
</div>
<div id="outline-container-org0600b54" class="outline-3">
<h3 id="org0600b54"><span class="section-number-3">17.6.</span> Login</h3>
<div id="outline-container-org74b9229" class="outline-3">
<h3 id="org74b9229"><span class="section-number-3">17.6.</span> Login</h3>
<div class="outline-text-3" id="text-17-6">
<p>
Here we control what the login screen would look like. In configuration/default.nix you can choose whether to use tuigreet (very minimalistic) or LightDM (nicer, themeable)
</p>
</div>
</div>
<div id="outline-container-org3e56b62" class="outline-3">
<h3 id="org3e56b62"><span class="section-number-3">17.7.</span> Tuigreet</h3>
<div id="outline-container-org9d2af35" class="outline-3">
<h3 id="org9d2af35"><span class="section-number-3">17.7.</span> Tuigreet</h3>
<div class="outline-text-3" id="text-17-7">
<p>
Doesn't match the rest of the aesthetic of the system (with hyprland), but I like its simplicity.
@@ -1403,8 +1400,8 @@ Doesn't match the rest of the aesthetic of the system (with hyprland), but I lik
</div>
</div>
</div>
<div id="outline-container-orgf9d3de6" class="outline-3">
<h3 id="orgf9d3de6"><span class="section-number-3">17.8.</span> LightDM</h3>
<div id="outline-container-org181b0a1" class="outline-3">
<h3 id="org181b0a1"><span class="section-number-3">17.8.</span> LightDM</h3>
<div class="outline-text-3" id="text-17-8">
<div class="org-src-container">
<pre class="src src-nix">{ config, pkgs, lib, ... }:
@@ -1551,8 +1548,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org856d4db" class="outline-3">
<h3 id="org856d4db"><span class="section-number-3">17.9.</span> Terminal (default system)</h3>
<div id="outline-container-orgc0ef22a" class="outline-3">
<h3 id="orgc0ef22a"><span class="section-number-3">17.9.</span> Terminal (default system)</h3>
<div class="outline-text-3" id="text-17-9">
<p>
This is the initial system level configuration for the terminal that I use on this machine. Its just <a href="https://ohmyz.sh/">zsh</a>.
@@ -1571,8 +1568,8 @@ This is the initial system level configuration for the terminal that I use on th
</div>
</div>
</div>
<div id="outline-container-org04a7142" class="outline-3">
<h3 id="org04a7142"><span class="section-number-3">17.10.</span> Files</h3>
<div id="outline-container-org6f061db" class="outline-3">
<h3 id="org6f061db"><span class="section-number-3">17.10.</span> Files</h3>
<div class="outline-text-3" id="text-17-10">
<p>
I use Thunar as the file explorer. Also setup a few plugins for <a href="https://docs.xfce.org/xfce/thunar/start">Thunar</a> in this config.
@@ -1613,8 +1610,8 @@ Along with that, a few other utilities like zip and enabling services to automou
</div>
</div>
</div>
<div id="outline-container-orgf255620" class="outline-3">
<h3 id="orgf255620"><span class="section-number-3">17.11.</span> Locale</h3>
<div id="outline-container-orga55e4d5" class="outline-3">
<h3 id="orga55e4d5"><span class="section-number-3">17.11.</span> Locale</h3>
<div class="outline-text-3" id="text-17-11">
<p>
I live in Netherlands and would like all my locale and timezone settings to match. Except my default locale.
@@ -1648,8 +1645,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org7237386" class="outline-3">
<h3 id="org7237386"><span class="section-number-3">17.12.</span> Networking</h3>
<div id="outline-container-org8ea6ca7" class="outline-3">
<h3 id="org8ea6ca7"><span class="section-number-3">17.12.</span> Networking</h3>
<div class="outline-text-3" id="text-17-12">
<p>
Not much to see here. I want networking to be enabled. I want firewall as well.
@@ -1680,8 +1677,8 @@ Not much to see here. I want networking to be enabled. I want firewall as well.
</div>
</div>
</div>
<div id="outline-container-orgd79b3e8" class="outline-3">
<h3 id="orgd79b3e8"><span class="section-number-3">17.13.</span> Hyprland</h3>
<div id="outline-container-org77abe85" class="outline-3">
<h3 id="org77abe85"><span class="section-number-3">17.13.</span> Hyprland</h3>
<div class="outline-text-3" id="text-17-13">
<p>
This is a big one because the DE needs so much configuration. This section mostly installs <a href="https://hyprland.org/">Hyprland</a>.
@@ -1752,8 +1749,8 @@ The configuration is done in the home manager section.
</div>
</div>
</div>
<div id="outline-container-org2337e34" class="outline-3">
<h3 id="org2337e34"><span class="section-number-3">17.14.</span> Services</h3>
<div id="outline-container-orge6782b9" class="outline-3">
<h3 id="orge6782b9"><span class="section-number-3">17.14.</span> Services</h3>
<div class="outline-text-3" id="text-17-14">
<p>
These are some of the services that I enable at the system level. Explanation in the comments.
@@ -1786,8 +1783,8 @@ These are some of the services that I enable at the system level. Explanation in
</div>
</div>
</div>
<div id="outline-container-org0d54645" class="outline-3">
<h3 id="org0d54645"><span class="section-number-3">17.15.</span> Audio</h3>
<div id="outline-container-org6115aee" class="outline-3">
<h3 id="org6115aee"><span class="section-number-3">17.15.</span> Audio</h3>
<div class="outline-text-3" id="text-17-15">
<div class="org-src-container">
<pre class="src src-nix">{ config, pkgs, lib, ... }:
@@ -1865,11 +1862,11 @@ These are some of the services that I enable at the system level. Explanation in
</div>
</div>
</div>
<div id="outline-container-org346e030" class="outline-3">
<h3 id="org346e030"><span class="section-number-3">17.16.</span> Miscellaneous Packages and Programs</h3>
<div id="outline-container-org385d690" class="outline-3">
<h3 id="org385d690"><span class="section-number-3">17.16.</span> Miscellaneous Packages and Programs</h3>
<div class="outline-text-3" id="text-17-16">
<div class="org-src-container">
<pre class="src src-nix" id="org3a3d7cb">environment.systemPackages = with pkgs; [
<pre class="src src-nix" id="org612e98e">environment.systemPackages = with pkgs; [
wget # fetch utility
curl # more fetch utility
binutils # executable utilities, like ld
@@ -1897,7 +1894,7 @@ programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
</div>
<div class="org-src-container">
<pre class="src src-nix" id="orgcab0f70">programs = {
<pre class="src src-nix" id="orga28e8b3">programs = {
nix-ld.enable = true; # helps with linking troubles with dynamic libraries
appimage.enable = true; # allow appimage installations
dconf.enable = true; # to save user settings
@@ -1913,14 +1910,14 @@ programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
</div>
</div>
</div>
<div id="outline-container-org59aec3c" class="outline-3">
<h3 id="org59aec3c"><span class="section-number-3">17.17.</span> Fonts</h3>
<div id="outline-container-orgb07552e" class="outline-3">
<h3 id="orgb07552e"><span class="section-number-3">17.17.</span> Fonts</h3>
<div class="outline-text-3" id="text-17-17">
<p>
Nothing much to see here. I love <a href="https://protesilaos.com/codelog/2025-02-12-aporetic-fonts-version-1-1-0/">Aporetic</a>, and I use it everywhere.
</p>
<div class="org-src-container">
<pre class="src src-nix" id="org5d739a4">fonts.packages = with pkgs; [
<pre class="src src-nix" id="org5a08325">fonts.packages = with pkgs; [
aporetic
nerd-fonts.iosevka
];
@@ -1928,14 +1925,14 @@ Nothing much to see here. I love <a href="https://protesilaos.com/codelog/2025-0
</div>
</div>
</div>
<div id="outline-container-org09b0198" class="outline-3">
<h3 id="org09b0198"><span class="section-number-3">17.18.</span> User Config</h3>
<div id="outline-container-org672b373" class="outline-3">
<h3 id="org672b373"><span class="section-number-3">17.18.</span> User Config</h3>
<div class="outline-text-3" id="text-17-18">
<p>
This creates the user profile that I login with. Initially created during install.
</p>
<div class="org-src-container">
<pre class="src src-nix" id="orgb57213b">users.users.${user.username} = {
<pre class="src src-nix" id="org8b2a987">users.users.${user.username} = {
isNormalUser = true;
description = "henrov";
extraGroups = [
@@ -1950,8 +1947,8 @@ This creates the user profile that I login with. Initially created during instal
</div>
</div>
</div>
<div id="outline-container-org1caa28a" class="outline-2">
<h2 id="org1caa28a"><span class="section-number-2">18.</span> Home</h2>
<div id="outline-container-orged17de7" class="outline-2">
<h2 id="orged17de7"><span class="section-number-2">18.</span> Home</h2>
<div class="outline-text-2" id="text-18">
<p>
I use home-manager to manage my user level dotfiles and configurations.
@@ -1959,8 +1956,8 @@ Most of the "theme" of the system is decided here.
I also use it to install programs that are okay with being installed at the user level instead of the system.
</p>
</div>
<div id="outline-container-orgb7e711b" class="outline-3">
<h3 id="orgb7e711b"><span class="section-number-3">18.1.</span> default.nix</h3>
<div id="outline-container-org2296788" class="outline-3">
<h3 id="org2296788"><span class="section-number-3">18.1.</span> default.nix</h3>
<div class="outline-text-3" id="text-18-1">
<p>
This module will import all necessities.
@@ -1996,8 +1993,8 @@ This module will import all necessities.
</div>
</div>
</div>
<div id="outline-container-orga9a8337" class="outline-3">
<h3 id="orga9a8337"><span class="section-number-3">18.2.</span> Wallpaper</h3>
<div id="outline-container-org0da11c8" class="outline-3">
<h3 id="org0da11c8"><span class="section-number-3">18.2.</span> Wallpaper</h3>
<div class="outline-text-3" id="text-18-2">
<p>
wallpaper.nix installs wpaperd and deploys your wallpaper files from the repo (./assets/conf/desktop/wallpaper/pictures/) into ~/conf/desktop/wallpaper/pictures. It also deploys the default wallpaper configuration from assets/conf/desktop/wallpaper/wallpaper.conf into ~/conf/desktop/wallpaper/wallpaper.conf, which is the file you can edit as a user override.
@@ -2051,11 +2048,11 @@ in
</div>
</div>
</div>
<div id="outline-container-org40c0f22" class="outline-3">
<h3 id="org40c0f22"><span class="section-number-3">18.3.</span> Waybar</h3>
<div id="outline-container-orgbe28643" class="outline-3">
<h3 id="orgbe28643"><span class="section-number-3">18.3.</span> Waybar</h3>
<div class="outline-text-3" id="text-18-3">
<div id="orga8554a1" class="figure">
<div id="org94d2220" class="figure">
<p><img src="./.github/images/waybar.png" alt="waybar.png" />
</p>
</div>
@@ -2092,8 +2089,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orgcbd5305" class="outline-3">
<h3 id="orgcbd5305"><span class="section-number-3">18.4.</span> Lock Screen</h3>
<div id="outline-container-org6b3036d" class="outline-3">
<h3 id="org6b3036d"><span class="section-number-3">18.4.</span> Lock Screen</h3>
<div class="outline-text-3" id="text-18-4">
<p>
The lock screen configured using <a href="https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/">hyprlock</a>.
@@ -2115,8 +2112,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org080295b" class="outline-3">
<h3 id="org080295b"><span class="section-number-3">18.5.</span> Idle Screen</h3>
<div id="outline-container-org5548609" class="outline-3">
<h3 id="org5548609"><span class="section-number-3">18.5.</span> Idle Screen</h3>
<div class="outline-text-3" id="text-18-5">
<p>
&lt;henro: needs instruction&gt;
@@ -2134,8 +2131,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org5def49f" class="outline-3">
<h3 id="org5def49f"><span class="section-number-3">18.6.</span> Hyprshell</h3>
<div id="outline-container-org47491e5" class="outline-3">
<h3 id="org47491e5"><span class="section-number-3">18.6.</span> Hyprshell</h3>
<div class="outline-text-3" id="text-18-6">
<p>
For nice task-starting and -switching
@@ -2175,8 +2172,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org5a27ea6" class="outline-3">
<h3 id="org5a27ea6"><span class="section-number-3">18.7.</span> Hyprland</h3>
<div id="outline-container-org19659e7" class="outline-3">
<h3 id="org19659e7"><span class="section-number-3">18.7.</span> Hyprland</h3>
<div class="outline-text-3" id="text-18-7">
<p>
This configures the desktop environment along with the peripherals. The comments should explain whats happening.
@@ -2226,8 +2223,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org9570ace" class="outline-3">
<h3 id="org9570ace"><span class="section-number-3">18.8.</span> Walker</h3>
<div id="outline-container-orgfb820c7" class="outline-3">
<h3 id="orgfb820c7"><span class="section-number-3">18.8.</span> Walker</h3>
<div class="outline-text-3" id="text-18-8">
<p>
<a href="https://github.com/abenz1267/walker">This</a> is how I launch applications. It is bound to Win+Space in the ./asstes/conf/desktop/hypr/bindings.conf.
@@ -2328,8 +2325,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orgc823d34" class="outline-3">
<h3 id="orgc823d34"><span class="section-number-3">18.9.</span> Theme</h3>
<div id="outline-container-orgc718277" class="outline-3">
<h3 id="orgc718277"><span class="section-number-3">18.9.</span> Theme</h3>
<div class="outline-text-3" id="text-18-9">
<p>
I use the <a href="https://catppuccin.com/">Catppuccin</a> almost everywhere. The nix module integrates almost automatically everywhere (except gtk).
@@ -2362,8 +2359,8 @@ You'll notice the color values in multiple places outside this as well.
</div>
</div>
</div>
<div id="outline-container-org7a61555" class="outline-3">
<h3 id="org7a61555"><span class="section-number-3">18.10.</span> Default-apps</h3>
<div id="outline-container-org0ae1c57" class="outline-3">
<h3 id="org0ae1c57"><span class="section-number-3">18.10.</span> Default-apps</h3>
<div class="outline-text-3" id="text-18-10">
<p>
This is where you can set defaults
@@ -2382,8 +2379,8 @@ This is where you can set defaults
</div>
</div>
</div>
<div id="outline-container-org107dfb3" class="outline-3">
<h3 id="org107dfb3"><span class="section-number-3">18.11.</span> Hyperexpo</h3>
<div id="outline-container-org9664df0" class="outline-3">
<h3 id="org9664df0"><span class="section-number-3">18.11.</span> Hyperexpo</h3>
<div class="outline-text-3" id="text-18-11">
<p>
hyprexpo gets installed and configured
@@ -2423,8 +2420,8 @@ hyprexpo gets installed and configured
</div>
</div>
</div>
<div id="outline-container-org48130ed" class="outline-3">
<h3 id="org48130ed"><span class="section-number-3">18.12.</span> Alacritty</h3>
<div id="outline-container-orge0c12cd" class="outline-3">
<h3 id="orge0c12cd"><span class="section-number-3">18.12.</span> Alacritty</h3>
<div class="outline-text-3" id="text-18-12">
<p>
Alacritty gets installed and configured
@@ -2446,8 +2443,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orga524c66" class="outline-3">
<h3 id="orga524c66"><span class="section-number-3">18.13.</span> Dev Tools</h3>
<div id="outline-container-org8af15df" class="outline-3">
<h3 id="org8af15df"><span class="section-number-3">18.13.</span> Dev Tools</h3>
<div class="outline-text-3" id="text-18-13">
<p>
All the miscellaneous dev tools on this computer.
@@ -2506,8 +2503,8 @@ All the miscellaneous dev tools on this computer.
</div>
</div>
</div>
<div id="outline-container-orgc5ef12d" class="outline-3">
<h3 id="orgc5ef12d"><span class="section-number-3">18.14.</span> Kitty</h3>
<div id="outline-container-org1f8dcc1" class="outline-3">
<h3 id="org1f8dcc1"><span class="section-number-3">18.14.</span> Kitty</h3>
<div class="outline-text-3" id="text-18-14">
<p>
Kitty gets installed and configured
@@ -2531,8 +2528,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orgb6c6997" class="outline-3">
<h3 id="orgb6c6997"><span class="section-number-3">18.15.</span> Shells</h3>
<div id="outline-container-orgc106517" class="outline-3">
<h3 id="orgc106517"><span class="section-number-3">18.15.</span> Shells</h3>
<div class="outline-text-3" id="text-18-15">
<p>
The aliases mentioned in ./assets/conf/dev/terminal/shells.conf will be added to enabled shells
@@ -2755,8 +2752,8 @@ EOF
</div>
</div>
</div>
<div id="outline-container-org090a4f4" class="outline-3">
<h3 id="org090a4f4"><span class="section-number-3">18.16.</span> Zsh</h3>
<div id="outline-container-org4e7df57" class="outline-3">
<h3 id="org4e7df57"><span class="section-number-3">18.16.</span> Zsh</h3>
<div class="outline-text-3" id="text-18-16">
<p>
Zsh gets installed and configured
@@ -2799,8 +2796,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org25562f8" class="outline-3">
<h3 id="org25562f8"><span class="section-number-3">18.17.</span> Starship</h3>
<div id="outline-container-orge88c228" class="outline-3">
<h3 id="orge88c228"><span class="section-number-3">18.17.</span> Starship</h3>
<div class="outline-text-3" id="text-18-17">
<p>
The configuration mentioned in ./assets/conf/dev/terminal/starship.toml will be added to enabled shells
@@ -2832,18 +2829,18 @@ in
</div>
</div>
</div>
<div id="outline-container-org7fec533" class="outline-3">
<h3 id="org7fec533"><span class="section-number-3">18.18.</span> Other Settings</h3>
<div id="outline-container-org0ed5831" class="outline-3">
<h3 id="org0ed5831"><span class="section-number-3">18.18.</span> Other Settings</h3>
<div class="outline-text-3" id="text-18-18">
<p>
Some repeated info from the configuration.
</p>
</div>
<div id="outline-container-orgeb97b37" class="outline-4">
<h4 id="orgeb97b37"><span class="section-number-4">18.18.1.</span> Home User</h4>
<div id="outline-container-orge97a713" class="outline-4">
<h4 id="orge97a713"><span class="section-number-4">18.18.1.</span> Home User</h4>
<div class="outline-text-4" id="text-18-18-1">
<div class="org-src-container">
<pre class="src src-nix" id="org90c66f2">home.username = "${user.username}";
<pre class="src src-nix" id="org512a1fc">home.username = "${user.username}";
home.homeDirectory = pkgs.lib.mkDefault "/home/${user.username}";
home.stateVersion = user.stateVersion;
</pre>
@@ -2852,8 +2849,8 @@ home.stateVersion = user.stateVersion;
</div>
</div>
</div>
<div id="outline-container-org0914f40" class="outline-2">
<h2 id="org0914f40"><span class="section-number-2">19.</span> Emacs</h2>
<div id="outline-container-org4cd30c3" class="outline-2">
<h2 id="org4cd30c3"><span class="section-number-2">19.</span> Emacs</h2>
<div class="outline-text-2" id="text-19">
<p>
I practically live inside emacs. The configuration for it is a mix between init.el and the nix configuration.
@@ -2932,8 +2929,8 @@ Comments describe the emacs package and what it does.
</pre>
</div>
</div>
<div id="outline-container-org2cc1680" class="outline-3">
<h3 id="org2cc1680"><span class="section-number-3">19.1.</span> Early Initialization</h3>
<div id="outline-container-orgb2ff316" class="outline-3">
<h3 id="orgb2ff316"><span class="section-number-3">19.1.</span> Early Initialization</h3>
<div class="outline-text-3" id="text-19-1">
<p>
There are some emacs settings that can be configured before the gui shows up.
@@ -3038,8 +3035,8 @@ These are listed here.
</div>
</div>
</div>
<div id="outline-container-org4895179" class="outline-3">
<h3 id="org4895179"><span class="section-number-3">19.2.</span> Initialization</h3>
<div id="outline-container-orgd43865d" class="outline-3">
<h3 id="orgd43865d"><span class="section-number-3">19.2.</span> Initialization</h3>
<div class="outline-text-3" id="text-19-2">
<p>
Now starts the main emacs configuration.
@@ -3451,22 +3448,22 @@ ting a file within such a
</div>
</div>
</div>
<div id="outline-container-orgc37e4d6" class="outline-2">
<h2 id="orgc37e4d6"><span class="section-number-2">20.</span> Machines</h2>
<div id="outline-container-orgf72af5a" class="outline-2">
<h2 id="orgf72af5a"><span class="section-number-2">20.</span> Machines</h2>
<div class="outline-text-2" id="text-20">
<p>
Only a few more things left. Specifically the machine level extra settings.
</p>
</div>
<div id="outline-container-org9bdebd6" class="outline-3">
<h3 id="org9bdebd6"><span class="section-number-3">20.1.</span> Traveldroid</h3>
<div id="outline-container-org4b6f086" class="outline-3">
<h3 id="org4b6f086"><span class="section-number-3">20.1.</span> Traveldroid</h3>
<div class="outline-text-3" id="text-20-1">
<p>
The configuration for the laptop does not change much. Most changes are because the hardware is different.
</p>
</div>
<div id="outline-container-org3a418c5" class="outline-4">
<h4 id="org3a418c5"><span class="section-number-4">20.1.1.</span> System Level</h4>
<div id="outline-container-orged1412c" class="outline-4">
<h4 id="orged1412c"><span class="section-number-4">20.1.1.</span> System Level</h4>
<div class="outline-text-4" id="text-20-1-1">
<p>
Nothing specific for the laptop.
@@ -3484,8 +3481,8 @@ Nothing specific for the laptop.
</div>
</div>
</div>
<div id="outline-container-org6c1849a" class="outline-4">
<h4 id="org6c1849a"><span class="section-number-4">20.1.2.</span> Hardware</h4>
<div id="outline-container-org19d0562" class="outline-4">
<h4 id="org19d0562"><span class="section-number-4">20.1.2.</span> Hardware</h4>
<div class="outline-text-4" id="text-20-1-2">
<p>
This is the most different. Mostly taken from hardware-configuration.nix setup at first install.
@@ -3534,8 +3531,8 @@ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistr
</div>
</div>
</div>
<div id="outline-container-org7d76d86" class="outline-4">
<h4 id="org7d76d86"><span class="section-number-4">20.1.3.</span> Home</h4>
<div id="outline-container-org531cc42" class="outline-4">
<h4 id="org531cc42"><span class="section-number-4">20.1.3.</span> Home</h4>
<div class="outline-text-4" id="text-20-1-3">
<p>
This is mostly about configuring the monitor. And laptop specific utilities.
@@ -3562,18 +3559,18 @@ This is mostly about configuring the monitor. And laptop specific utilities.
</div>
</div>
</div>
<div id="outline-container-org9f5e82d" class="outline-2">
<h2 id="org9f5e82d"><span class="section-number-2">21.</span> README Utils</h2>
<div id="outline-container-org23f52e0" class="outline-2">
<h2 id="org23f52e0"><span class="section-number-2">21.</span> README Utils</h2>
<div class="outline-text-2" id="text-21">
</div>
<div id="outline-container-org87e7721" class="outline-4">
<h4 id="org87e7721"><span class="section-number-4">21.0.1.</span> Headers</h4>
<div id="outline-container-org3cb2d93" class="outline-4">
<h4 id="org3cb2d93"><span class="section-number-4">21.0.1.</span> Headers</h4>
<div class="outline-text-4" id="text-21-0-1">
<p>
This script adds a <code>DO NOT MODIFY</code> header to all the generated nix files.
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp" id="org2af262a">(progn
<pre class="src src-emacs-lisp" id="org9f8c8de">(progn
(defun add-tangle-headers ()
(message "running in %s" (buffer-file-name))
(when (string= (file-name-extension (buffer-file-name)) "nix")
@@ -3590,7 +3587,7 @@ This script adds a <code>DO NOT MODIFY</code> header to all the generated nix fi
</div>
<div id="postamble" class="status">
<p class="author">Author: henrov</p>
<p class="date">Created: 2026-02-22 zo 22:22</p>
<p class="date">Created: 2026-02-22 zo 22:24</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
+1 -4
View File
@@ -322,10 +322,7 @@ The inputs for my system's configuration are very simple
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin = {
url = "github:catppuccin/nix";zen-browser = {
url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {
+22 -1
View File
@@ -98,7 +98,28 @@
"catppuccin": "catppuccin",
"emacs-overlay": "emacs-overlay",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"zen-browser": "zen-browser"
}
},
"zen-browser": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1771735013,
"narHash": "sha256-QAh0iw/AgjcaNvBE5OIZstxVxagLVK0RAuH7EhIL/N8=",
"owner": "youwen5",
"repo": "zen-browser-flake",
"rev": "32b69f03007507fc012be9203efdd414f4bc0d66",
"type": "github"
},
"original": {
"owner": "youwen5",
"repo": "zen-browser-flake",
"type": "github"
}
}
},
+1 -4
View File
@@ -11,10 +11,7 @@
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin = {
url = "github:catppuccin/nix";zen-browser = {
url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {