Added binds for Zen and default browser

This commit is contained in:
2026-02-22 22:58:39 +01:00
parent ffecfd38ce
commit dd139a736b
2 changed files with 237 additions and 236 deletions
+234 -234
View File
@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2026-02-22 zo 22:30 --> <!-- 2026-02-22 zo 22:58 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title> <title>&lrm;</title>
@@ -200,119 +200,119 @@
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc"> <div id="text-table-of-contents" role="doc-toc">
<ul> <ul>
<li><a href="#org320e121">1. Introduction</a></li> <li><a href="#org9280d6c">1. Introduction</a></li>
<li><a href="#org0392383">2. Pre-requisites to edit this setup</a></li> <li><a href="#orgd945fb3">2. Pre-requisites to edit this setup</a></li>
<li><a href="#org51eba2c">3. machine1 — template machine</a></li> <li><a href="#org6f4040d">3. machine1 — template machine</a></li>
<li><a href="#orgc512ae3">4. <code>flake.lock</code> for pinning input versions.</a></li> <li><a href="#orgc8ea581">4. <code>flake.lock</code> for pinning input versions.</a></li>
<li><a href="#org69ccd0b">5. <code>assets/*</code> for non-Nix-managed artifacts such as images and wallpapers.</a> <li><a href="#org5891f87">5. <code>assets/*</code> for non-Nix-managed artifacts such as images and wallpapers.</a>
<ul> <ul>
<li><a href="#orgec63dfb">5.1. Emacs + Org + Tangle</a></li> <li><a href="#orgb6b80ac">5.1. Emacs + Org + Tangle</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgf11d1b9">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="#orgd170c0d">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="#orgee8ed29">7. [Org](https://orgmode.org/][Org) mode provides the document structure and the source block execution model used here.</a></li> <li><a href="#orgd5b1c82">7. [Org](https://orgmode.org/][Org) mode provides the document structure and the source block execution model used here.</a></li>
<li><a href="#orgda7498c">8. Tangling exports source blocks from this Org document into the corresponding configuration files.</a> <li><a href="#org0278ea4">8. Tangling exports source blocks from this Org document into the corresponding configuration files.</a>
<ul> <ul>
<li><a href="#orgfc21a8d">8.1. Nix &amp; NixOS</a></li> <li><a href="#org6385dc4">8.1. Nix &amp; NixOS</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgbefd3f5">9. [Nix](https://nix.dev/][Nix) is used to define packages, environments, and configuration as pure expressions.</a></li> <li><a href="#orga0c6b98">9. [Nix](https://nix.dev/][Nix) is used to define packages, environments, and configuration as pure expressions.</a></li>
<li><a href="#org12c4d96">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="#orga126578">10. [NixOS](https://nixos.org/][NixOS) evaluates Nix expressions into a complete system configuration that can be applied by rebuild operations.</a>
<ul> <ul>
<li><a href="#orge1c7e80">10.1. Repository layout and folder conventions</a></li> <li><a href="#orgdeaa6a9">10.1. Repository layout and folder conventions</a></li>
<li><a href="#orgc18c511">10.2. Shared domain folders</a></li> <li><a href="#org3c0a305">10.2. Shared domain folders</a></li>
<li><a href="#org3dc2735">10.3. Full tree (including unchanged parts)</a></li> <li><a href="#org00c9390">10.3. Full tree (including unchanged parts)</a></li>
<li><a href="#org7077070">10.4. Notes</a></li> <li><a href="#orgd0e16e7">10.4. Notes</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org24f61d2">11. TLDR App List</a></li> <li><a href="#orgb7a57c1">11. TLDR App List</a></li>
<li><a href="#org5d62326">12. Configuration Variables</a></li> <li><a href="#org021dc4c">12. Configuration Variables</a></li>
<li><a href="#org2e40dee">13. Flake Inputs</a></li> <li><a href="#org424ccd9">13. Flake Inputs</a></li>
<li><a href="#orgf5e5567">14. Flake Output</a> <li><a href="#org328eae6">14. Flake Output</a>
<ul> <ul>
<li><a href="#org30ef274">14.1. Envrc + Direnv</a></li> <li><a href="#org224ce16">14.1. Envrc + Direnv</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org6e8c7c0">15. Machines</a> <li><a href="#org8496baa">15. Machines</a>
<ul> <ul>
<li> <li>
<ul> <ul>
<li><a href="#org98ac68c">15.0.1. Other Utils</a></li> <li><a href="#org5ba8043">15.0.1. Other Utils</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#org9e79eca">16. Hardware</a></li> <li><a href="#org1671ff2">16. Hardware</a></li>
<li><a href="#org54240a9">17. Configuration</a> <li><a href="#org40069b1">17. Configuration</a>
<ul> <ul>
<li><a href="#orgd17ed5c">17.1. Apps section</a></li> <li><a href="#orgc0201cb">17.1. Apps section</a></li>
<li><a href="#orgbc30501">17.2. install<sub>packages.nix</sub></a></li> <li><a href="#org9a57809">17.2. install<sub>packages.nix</sub></a></li>
<li><a href="#org96fef7b">17.3. install<sub>flatpaks.nix</sub></a></li> <li><a href="#org0163497">17.3. install<sub>flatpaks.nix</sub></a></li>
<li><a href="#org5967475">17.4. Nix Settings</a></li> <li><a href="#org0c2a9cb">17.4. Nix Settings</a></li>
<li><a href="#org1b26fa8">17.5. Boot</a></li> <li><a href="#orged85431">17.5. Boot</a></li>
<li><a href="#orga7f5562">17.6. Login</a></li> <li><a href="#org53515f1">17.6. Login</a></li>
<li><a href="#orga811c65">17.7. Tuigreet</a></li> <li><a href="#org60bf684">17.7. Tuigreet</a></li>
<li><a href="#orga3d403c">17.8. LightDM</a></li> <li><a href="#orgcba290b">17.8. LightDM</a></li>
<li><a href="#org7570460">17.9. Terminal (default system)</a></li> <li><a href="#orge799763">17.9. Terminal (default system)</a></li>
<li><a href="#orgd54eb0e">17.10. Files</a></li> <li><a href="#orgb1df1d0">17.10. Files</a></li>
<li><a href="#orge982512">17.11. Locale</a></li> <li><a href="#org1c01e9d">17.11. Locale</a></li>
<li><a href="#org46c4da9">17.12. Networking</a></li> <li><a href="#orge1450d6">17.12. Networking</a></li>
<li><a href="#org9492d72">17.13. Hyprland</a></li> <li><a href="#org5cf4e9c">17.13. Hyprland</a></li>
<li><a href="#org85d5888">17.14. Services</a></li> <li><a href="#org6c43ae1">17.14. Services</a></li>
<li><a href="#orgbbc613c">17.15. Audio</a></li> <li><a href="#org55cecaf">17.15. Audio</a></li>
<li><a href="#org5e14ba7">17.16. Miscellaneous Packages and Programs</a></li> <li><a href="#orgc7eb4a8">17.16. Miscellaneous Packages and Programs</a></li>
<li><a href="#orga741f27">17.17. Fonts</a></li> <li><a href="#orgeec058b">17.17. Fonts</a></li>
<li><a href="#orga90761e">17.18. User Config</a></li> <li><a href="#org2c3810c">17.18. User Config</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgc7b0fb9">18. Home</a> <li><a href="#org6bce4a7">18. Home</a>
<ul> <ul>
<li><a href="#org3065b02">18.1. default.nix</a></li> <li><a href="#org34df6c1">18.1. default.nix</a></li>
<li><a href="#org35c0470">18.2. Wallpaper</a></li> <li><a href="#org9501319">18.2. Wallpaper</a></li>
<li><a href="#orgdf28eea">18.3. Waybar</a></li> <li><a href="#orgc37cfd9">18.3. Waybar</a></li>
<li><a href="#org1c7956a">18.4. Lock Screen</a></li> <li><a href="#orgdd2e2f3">18.4. Lock Screen</a></li>
<li><a href="#orge50fd5f">18.5. Idle Screen</a></li> <li><a href="#org9da1bd3">18.5. Idle Screen</a></li>
<li><a href="#org1d711c6">18.6. Hyprshell</a></li> <li><a href="#org4e76176">18.6. Hyprshell</a></li>
<li><a href="#org894fb0e">18.7. Hyprland</a></li> <li><a href="#orgcf72c81">18.7. Hyprland</a></li>
<li><a href="#orgab61835">18.8. Walker</a></li> <li><a href="#orge23437d">18.8. Walker</a></li>
<li><a href="#org13f7082">18.9. Theme</a></li> <li><a href="#org48bc7eb">18.9. Theme</a></li>
<li><a href="#org3cf354d">18.10. Default-apps</a></li> <li><a href="#org8e640b8">18.10. Default-apps</a></li>
<li><a href="#org2eeb5a5">18.11. Hyperexpo</a></li> <li><a href="#org788b0db">18.11. Hyperexpo</a></li>
<li><a href="#orgb4f9a98">18.12. Alacritty</a></li> <li><a href="#orgf02f619">18.12. Alacritty</a></li>
<li><a href="#orgf7dddd1">18.13. Dev Tools</a></li> <li><a href="#org2e9b31c">18.13. Dev Tools</a></li>
<li><a href="#orgabe09e8">18.14. Kitty</a></li> <li><a href="#org8f11b60">18.14. Kitty</a></li>
<li><a href="#org7c953d1">18.15. Shells</a></li> <li><a href="#org635df2a">18.15. Shells</a></li>
<li><a href="#orgda23904">18.16. Zsh</a></li> <li><a href="#org4c0f0b4">18.16. Zsh</a></li>
<li><a href="#orgc733b7d">18.17. Starship</a></li> <li><a href="#org8fcbf95">18.17. Starship</a></li>
<li><a href="#org1ff108b">18.18. Other Settings</a> <li><a href="#org43ff089">18.18. Other Settings</a>
<ul> <ul>
<li><a href="#orgf3e97ab">18.18.1. Home User</a></li> <li><a href="#orgf27759a">18.18.1. Home User</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#orgc0c3420">19. Emacs</a> <li><a href="#org6b13d24">19. Emacs</a>
<ul> <ul>
<li><a href="#orga09742f">19.1. Early Initialization</a></li> <li><a href="#org1bd82df">19.1. Early Initialization</a></li>
<li><a href="#org7fe803f">19.2. Initialization</a></li> <li><a href="#orgf6bfe8e">19.2. Initialization</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgbdbf5cb">20. Machines</a> <li><a href="#org3e224ff">20. Machines</a>
<ul> <ul>
<li><a href="#orgb8116cf">20.1. Traveldroid</a> <li><a href="#orgc7fc279">20.1. Traveldroid</a>
<ul> <ul>
<li><a href="#orgf840d7d">20.1.1. System Level</a></li> <li><a href="#org801feb7">20.1.1. System Level</a></li>
<li><a href="#orgfb2b3e4">20.1.2. Hardware</a></li> <li><a href="#orgdab52fc">20.1.2. Hardware</a></li>
<li><a href="#org78202f9">20.1.3. Home</a></li> <li><a href="#org561a593">20.1.3. Home</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#orgfa2962f">21. README Utils</a> <li><a href="#orge29e6ee">21. README Utils</a>
<ul> <ul>
<li> <li>
<ul> <ul>
<li><a href="#org3f75708">21.0.1. Headers</a></li> <li><a href="#orgf9be9f6">21.0.1. Headers</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -348,8 +348,8 @@ gf#+OPTIONS: toc:nil broken-links:t
</a> </a>
</div> </div>
</div> </div>
<div id="outline-container-org320e121" class="outline-2"> <div id="outline-container-org9280d6c" class="outline-2">
<h2 id="org320e121"><span class="section-number-2">1.</span> Introduction</h2> <h2 id="org9280d6c"><span class="section-number-2">1.</span> Introduction</h2>
<div class="outline-text-2" id="text-1"> <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> <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> </p>
</div> </div>
</div> </div>
<div id="outline-container-org0392383" class="outline-2"> <div id="outline-container-orgd945fb3" class="outline-2">
<h2 id="org0392383"><span class="section-number-2">2.</span> Pre-requisites to edit this setup</h2> <h2 id="orgd945fb3"><span class="section-number-2">2.</span> Pre-requisites to edit this setup</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<ul class="org-ul"> <ul class="org-ul">
<li>a NIXOS system installed (can be bare-bones)</li> <li>a NIXOS system installed (can be bare-bones)</li>
@@ -405,8 +405,8 @@ nmcli device status
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org51eba2c" class="outline-2"> <div id="outline-container-org6f4040d" class="outline-2">
<h2 id="org51eba2c"><span class="section-number-2">3.</span> machine1 — template machine</h2> <h2 id="org6f4040d"><span class="section-number-2">3.</span> machine1 — template machine</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
<p> <p>
To generate the Nix files: To generate the Nix files:
@@ -463,46 +463,46 @@ Other files in this repo include:
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-orgc512ae3" class="outline-2"> <div id="outline-container-orgc8ea581" class="outline-2">
<h2 id="orgc512ae3"><span class="section-number-2">4.</span> <code>flake.lock</code> for pinning input versions.</h2> <h2 id="orgc8ea581"><span class="section-number-2">4.</span> <code>flake.lock</code> for pinning input versions.</h2>
</div> </div>
<div id="outline-container-org69ccd0b" class="outline-2"> <div id="outline-container-org5891f87" class="outline-2">
<h2 id="org69ccd0b"><span class="section-number-2">5.</span> <code>assets/*</code> for non-Nix-managed artifacts such as images and wallpapers.</h2> <h2 id="org5891f87"><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"> <div class="outline-text-2" id="text-5">
<p> <p>
Generated outputs should not be edited directly. A CI workflow can tangle and commit generated outputs when they differ. Generated outputs should not be edited directly. A CI workflow can tangle and commit generated outputs when they differ.
</p> </p>
</div> </div>
<div id="outline-container-orgec63dfb" class="outline-3"> <div id="outline-container-orgb6b80ac" class="outline-3">
<h3 id="orgec63dfb"><span class="section-number-3">5.1.</span> Emacs + Org + Tangle</h3> <h3 id="orgb6b80ac"><span class="section-number-3">5.1.</span> Emacs + Org + Tangle</h3>
</div> </div>
</div> </div>
<div id="outline-container-orgf11d1b9" class="outline-2"> <div id="outline-container-orgd170c0d" class="outline-2">
<h2 id="orgf11d1b9"><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> <h2 id="orgd170c0d"><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>
<div id="outline-container-orgee8ed29" class="outline-2"> <div id="outline-container-orgd5b1c82" class="outline-2">
<h2 id="orgee8ed29"><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> <h2 id="orgd5b1c82"><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>
<div id="outline-container-orgda7498c" class="outline-2"> <div id="outline-container-org0278ea4" class="outline-2">
<h2 id="orgda7498c"><span class="section-number-2">8.</span> Tangling exports source blocks from this Org document into the corresponding configuration files.</h2> <h2 id="org0278ea4"><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"> <div class="outline-text-2" id="text-8">
<ul class="org-ul"> <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> <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> </ul>
</div> </div>
<div id="outline-container-orgfc21a8d" class="outline-3"> <div id="outline-container-org6385dc4" class="outline-3">
<h3 id="orgfc21a8d"><span class="section-number-3">8.1.</span> Nix &amp; NixOS</h3> <h3 id="org6385dc4"><span class="section-number-3">8.1.</span> Nix &amp; NixOS</h3>
</div> </div>
</div> </div>
<div id="outline-container-orgbefd3f5" class="outline-2"> <div id="outline-container-orga0c6b98" class="outline-2">
<h2 id="orgbefd3f5"><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> <h2 id="orga0c6b98"><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>
<div id="outline-container-org12c4d96" class="outline-2"> <div id="outline-container-orga126578" class="outline-2">
<h2 id="org12c4d96"><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> <h2 id="orga126578"><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 class="outline-text-2" id="text-10">
</div> </div>
<div id="outline-container-orge1c7e80" class="outline-3"> <div id="outline-container-orgdeaa6a9" class="outline-3">
<h3 id="orge1c7e80"><span class="section-number-3">10.1.</span> Repository layout and folder conventions</h3> <h3 id="orgdeaa6a9"><span class="section-number-3">10.1.</span> Repository layout and folder conventions</h3>
<div class="outline-text-3" id="text-10-1"> <div class="outline-text-3" id="text-10-1">
<p> <p>
This repository contains system modules, user modules, and configuration fragments. The following directories are treated as separate layers: 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> </p>
</div> </div>
</div> </div>
<div id="outline-container-orgc18c511" class="outline-3"> <div id="outline-container-org3c0a305" class="outline-3">
<h3 id="orgc18c511"><span class="section-number-3">10.2.</span> Shared domain folders</h3> <h3 id="org3c0a305"><span class="section-number-3">10.2.</span> Shared domain folders</h3>
<div class="outline-text-3" id="text-10-2"> <div class="outline-text-3" id="text-10-2">
<ul> <ul>
<li><code>core/</code> base settings and common infrastructure</li> <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> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org3dc2735" class="outline-3"> <div id="outline-container-org00c9390" class="outline-3">
<h3 id="org3dc2735"><span class="section-number-3">10.3.</span> Full tree (including unchanged parts)</h3> <h3 id="org00c9390"><span class="section-number-3">10.3.</span> Full tree (including unchanged parts)</h3>
<div class="outline-text-3" id="text-10-3"> <div class="outline-text-3" id="text-10-3">
<p> <p>
The tree below shows the full repository layout, with the standardized internal structure applied only inside 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> </code></pre>
</div> </div>
</div> </div>
<div id="outline-container-org7077070" class="outline-3"> <div id="outline-container-orgd0e16e7" class="outline-3">
<h3 id="org7077070"><span class="section-number-3">10.4.</span> Notes</h3> <h3 id="orgd0e16e7"><span class="section-number-3">10.4.</span> Notes</h3>
<div class="outline-text-3" id="text-10-4"> <div class="outline-text-3" id="text-10-4">
<ul> <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> <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>
</div> </div>
<div id="outline-container-org24f61d2" class="outline-2"> <div id="outline-container-orgb7a57c1" class="outline-2">
<h2 id="org24f61d2"><span class="section-number-2">11.</span> TLDR App List</h2> <h2 id="orgb7a57c1"><span class="section-number-2">11.</span> TLDR App List</h2>
<div class="outline-text-2" id="text-11"> <div class="outline-text-2" id="text-11">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <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> </table>
</div> </div>
</div> </div>
<div id="outline-container-org5d62326" class="outline-2"> <div id="outline-container-org021dc4c" class="outline-2">
<h2 id="org5d62326"><span class="section-number-2">12.</span> Configuration Variables</h2> <h2 id="org021dc4c"><span class="section-number-2">12.</span> Configuration Variables</h2>
<div class="outline-text-2" id="text-12"> <div class="outline-text-2" id="text-12">
<p> <p>
I have a bunch of constant strings that I would rather put in a file. Thats what <code>user.nix</code> is. 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>
</div> </div>
<div id="outline-container-org2e40dee" class="outline-2"> <div id="outline-container-org424ccd9" class="outline-2">
<h2 id="org2e40dee"><span class="section-number-2">13.</span> Flake Inputs</h2> <h2 id="org424ccd9"><span class="section-number-2">13.</span> Flake Inputs</h2>
<div class="outline-text-2" id="text-13"> <div class="outline-text-2" id="text-13">
<p> <p>
The inputs for my system's configuration are very simple The inputs for my system's configuration are very simple
@@ -815,8 +815,8 @@ Sometimes pinned to a specific commit because unstable broke something and the f
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgf5e5567" class="outline-2"> <div id="outline-container-org328eae6" class="outline-2">
<h2 id="orgf5e5567"><span class="section-number-2">14.</span> Flake Output</h2> <h2 id="org328eae6"><span class="section-number-2">14.</span> Flake Output</h2>
<div class="outline-text-2" id="text-14"> <div class="outline-text-2" id="text-14">
<p> <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. 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.
@@ -824,7 +824,7 @@ We also add a devshell that makes editing this repository easier in emacs.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix" id="org8c76ba6">outputs = inputs@{ <pre class="src src-nix" id="org0e3e12b">outputs = inputs@{
nixpkgs, nixpkgs,
home-manager, home-manager,
emacs-overlay, emacs-overlay,
@@ -885,7 +885,7 @@ Overlays are a special nix way to override existing packages within a repository
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix" id="org9c57a16">({ ... }: { <pre class="src src-nix" id="orga0a6796">({ ... }: {
nixpkgs.overlays = [ emacs-overlay.overlays.default ]; nixpkgs.overlays = [ emacs-overlay.overlays.default ];
}) })
</pre> </pre>
@@ -895,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". Then the machine specific configuration, in this case, just "traveldroid".
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix" id="orgee05f55">./machines/${machine}/configuration.nix <pre class="src src-nix" id="orgc064f09">./machines/${machine}/configuration.nix
</pre> </pre>
</div></li> </div></li>
@@ -905,7 +905,7 @@ This can be initialized and managed on its own but I'd rather use the <code>nixo
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix" id="org3def473">home-manager.nixosModules.home-manager <pre class="src src-nix" id="orga892817">home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
@@ -948,8 +948,8 @@ Finally I pull in the machine specific home configuration. Along with the overri
</div></li> </div></li>
</ol> </ol>
</div> </div>
<div id="outline-container-org30ef274" class="outline-3"> <div id="outline-container-org224ce16" class="outline-3">
<h3 id="org30ef274"><span class="section-number-3">14.1.</span> Envrc + Direnv</h3> <h3 id="org224ce16"><span class="section-number-3">14.1.</span> Envrc + Direnv</h3>
<div class="outline-text-3" id="text-14-1"> <div class="outline-text-3" id="text-14-1">
<p> <p>
Editing this file will be much nicer if we have the dev environment configured. Editing this file will be much nicer if we have the dev environment configured.
@@ -970,14 +970,14 @@ fi
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org6e8c7c0" class="outline-2"> <div id="outline-container-org8496baa" class="outline-2">
<h2 id="org6e8c7c0"><span class="section-number-2">15.</span> Machines</h2> <h2 id="org8496baa"><span class="section-number-2">15.</span> Machines</h2>
<div class="outline-text-2" id="text-15"> <div class="outline-text-2" id="text-15">
<p> <p>
The individual machines subdirectory is configured as follows :- The individual machines subdirectory is configured as follows :-
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-ditaa" id="org25d0cc4">+--machine <pre class="src src-ditaa" id="org54e0cfe">+--machine
| +--configuration.nix | +--configuration.nix
| +--home.nix | +--home.nix
| +--hardware-configuration.nix | +--hardware-configuration.nix
@@ -998,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. We can take a look at that the common hardware options I have for all my machines.
</p> </p>
</div> </div>
<div id="outline-container-org98ac68c" class="outline-4"> <div id="outline-container-org5ba8043" class="outline-4">
<h4 id="org98ac68c"><span class="section-number-4">15.0.1.</span> Other Utils</h4> <h4 id="org5ba8043"><span class="section-number-4">15.0.1.</span> Other Utils</h4>
<div class="outline-text-4" id="text-15-0-1"> <div class="outline-text-4" id="text-15-0-1">
</div> </div>
<ol class="org-ol"> <ol class="org-ol">
<li><a id="orgfd25732"></a>Updates<br /> <li><a id="org7a2fa53"></a>Updates<br />
<div class="outline-text-5" id="text-15-0-1-1"> <div class="outline-text-5" id="text-15-0-1-1">
<p> <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 :- 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 :-
@@ -1017,8 +1017,8 @@ To update the computer, I just need to update the <code>flake.lock</code> file t
</ol> </ol>
</div> </div>
</div> </div>
<div id="outline-container-org9e79eca" class="outline-2"> <div id="outline-container-org1671ff2" class="outline-2">
<h2 id="org9e79eca"><span class="section-number-2">16.</span> Hardware</h2> <h2 id="org1671ff2"><span class="section-number-2">16.</span> Hardware</h2>
<div class="outline-text-2" id="text-16"> <div class="outline-text-2" id="text-16">
<p> <p>
I'll let the code comments explain the file here. I'll let the code comments explain the file here.
@@ -1052,8 +1052,8 @@ I'll let the code comments explain the file here.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org54240a9" class="outline-2"> <div id="outline-container-org40069b1" class="outline-2">
<h2 id="org54240a9"><span class="section-number-2">17.</span> Configuration</h2> <h2 id="org40069b1"><span class="section-number-2">17.</span> Configuration</h2>
<div class="outline-text-2" id="text-17"> <div class="outline-text-2" id="text-17">
<p> <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 :- 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 :-
@@ -1096,16 +1096,16 @@ This section describes the main system configuration for the computers that I ha
</pre> </pre>
</div> </div>
</div> </div>
<div id="outline-container-orgd17ed5c" class="outline-3"> <div id="outline-container-orgc0201cb" class="outline-3">
<h3 id="orgd17ed5c"><span class="section-number-3">17.1.</span> Apps section</h3> <h3 id="orgc0201cb"><span class="section-number-3">17.1.</span> Apps section</h3>
<div class="outline-text-3" id="text-17-1"> <div class="outline-text-3" id="text-17-1">
<p> <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 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> </p>
</div> </div>
</div> </div>
<div id="outline-container-orgbc30501" class="outline-3"> <div id="outline-container-org9a57809" class="outline-3">
<h3 id="orgbc30501"><span class="section-number-3">17.2.</span> install<sub>packages.nix</sub></h3> <h3 id="org9a57809"><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="outline-text-3" id="text-17-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix">{ config, lib, pkgs, flakeRoot, inputs, ... }: <pre class="src src-nix">{ config, lib, pkgs, flakeRoot, inputs, ... }:
@@ -1165,8 +1165,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org96fef7b" class="outline-3"> <div id="outline-container-org0163497" class="outline-3">
<h3 id="org96fef7b"><span class="section-number-3">17.3.</span> install<sub>flatpaks.nix</sub></h3> <h3 id="org0163497"><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="outline-text-3" id="text-17-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix">{ config, pkgs, lib, flakeRoot, ... }: <pre class="src src-nix">{ config, pkgs, lib, flakeRoot, ... }:
@@ -1277,8 +1277,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org5967475" class="outline-3"> <div id="outline-container-org0c2a9cb" class="outline-3">
<h3 id="org5967475"><span class="section-number-3">17.4.</span> Nix Settings</h3> <h3 id="org0c2a9cb"><span class="section-number-3">17.4.</span> Nix Settings</h3>
<div class="outline-text-3" id="text-17-4"> <div class="outline-text-3" id="text-17-4">
<p> <p>
These are global nix settings that configure the settings for the actual tool. These are global nix settings that configure the settings for the actual tool.
@@ -1327,8 +1327,8 @@ These are global nix settings that configure the settings for the actual tool.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org1b26fa8" class="outline-3"> <div id="outline-container-orged85431" class="outline-3">
<h3 id="org1b26fa8"><span class="section-number-3">17.5.</span> Boot</h3> <h3 id="orged85431"><span class="section-number-3">17.5.</span> Boot</h3>
<div class="outline-text-3" id="text-17-5"> <div class="outline-text-3" id="text-17-5">
<p> <p>
This file has most of the settings the control how the computer boots up. This file has most of the settings the control how the computer boots up.
@@ -1366,16 +1366,16 @@ This file has most of the settings the control how the computer boots up.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orga7f5562" class="outline-3"> <div id="outline-container-org53515f1" class="outline-3">
<h3 id="orga7f5562"><span class="section-number-3">17.6.</span> Login</h3> <h3 id="org53515f1"><span class="section-number-3">17.6.</span> Login</h3>
<div class="outline-text-3" id="text-17-6"> <div class="outline-text-3" id="text-17-6">
<p> <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) 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> </p>
</div> </div>
</div> </div>
<div id="outline-container-orga811c65" class="outline-3"> <div id="outline-container-org60bf684" class="outline-3">
<h3 id="orga811c65"><span class="section-number-3">17.7.</span> Tuigreet</h3> <h3 id="org60bf684"><span class="section-number-3">17.7.</span> Tuigreet</h3>
<div class="outline-text-3" id="text-17-7"> <div class="outline-text-3" id="text-17-7">
<p> <p>
Doesn't match the rest of the aesthetic of the system (with hyprland), but I like its simplicity. Doesn't match the rest of the aesthetic of the system (with hyprland), but I like its simplicity.
@@ -1400,8 +1400,8 @@ Doesn't match the rest of the aesthetic of the system (with hyprland), but I lik
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orga3d403c" class="outline-3"> <div id="outline-container-orgcba290b" class="outline-3">
<h3 id="orga3d403c"><span class="section-number-3">17.8.</span> LightDM</h3> <h3 id="orgcba290b"><span class="section-number-3">17.8.</span> LightDM</h3>
<div class="outline-text-3" id="text-17-8"> <div class="outline-text-3" id="text-17-8">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix">{ config, pkgs, lib, ... }: <pre class="src src-nix">{ config, pkgs, lib, ... }:
@@ -1548,8 +1548,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org7570460" class="outline-3"> <div id="outline-container-orge799763" class="outline-3">
<h3 id="org7570460"><span class="section-number-3">17.9.</span> Terminal (default system)</h3> <h3 id="orge799763"><span class="section-number-3">17.9.</span> Terminal (default system)</h3>
<div class="outline-text-3" id="text-17-9"> <div class="outline-text-3" id="text-17-9">
<p> <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>. 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>.
@@ -1568,8 +1568,8 @@ This is the initial system level configuration for the terminal that I use on th
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgd54eb0e" class="outline-3"> <div id="outline-container-orgb1df1d0" class="outline-3">
<h3 id="orgd54eb0e"><span class="section-number-3">17.10.</span> Files</h3> <h3 id="orgb1df1d0"><span class="section-number-3">17.10.</span> Files</h3>
<div class="outline-text-3" id="text-17-10"> <div class="outline-text-3" id="text-17-10">
<p> <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. 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.
@@ -1610,8 +1610,8 @@ Along with that, a few other utilities like zip and enabling services to automou
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orge982512" class="outline-3"> <div id="outline-container-org1c01e9d" class="outline-3">
<h3 id="orge982512"><span class="section-number-3">17.11.</span> Locale</h3> <h3 id="org1c01e9d"><span class="section-number-3">17.11.</span> Locale</h3>
<div class="outline-text-3" id="text-17-11"> <div class="outline-text-3" id="text-17-11">
<p> <p>
I live in Netherlands and would like all my locale and timezone settings to match. Except my default locale. I live in Netherlands and would like all my locale and timezone settings to match. Except my default locale.
@@ -1645,8 +1645,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org46c4da9" class="outline-3"> <div id="outline-container-orge1450d6" class="outline-3">
<h3 id="org46c4da9"><span class="section-number-3">17.12.</span> Networking</h3> <h3 id="orge1450d6"><span class="section-number-3">17.12.</span> Networking</h3>
<div class="outline-text-3" id="text-17-12"> <div class="outline-text-3" id="text-17-12">
<p> <p>
Not much to see here. I want networking to be enabled. I want firewall as well. Not much to see here. I want networking to be enabled. I want firewall as well.
@@ -1677,8 +1677,8 @@ Not much to see here. I want networking to be enabled. I want firewall as well.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org9492d72" class="outline-3"> <div id="outline-container-org5cf4e9c" class="outline-3">
<h3 id="org9492d72"><span class="section-number-3">17.13.</span> Hyprland</h3> <h3 id="org5cf4e9c"><span class="section-number-3">17.13.</span> Hyprland</h3>
<div class="outline-text-3" id="text-17-13"> <div class="outline-text-3" id="text-17-13">
<p> <p>
This is a big one because the DE needs so much configuration. This section mostly installs <a href="https://hyprland.org/">Hyprland</a>. This is a big one because the DE needs so much configuration. This section mostly installs <a href="https://hyprland.org/">Hyprland</a>.
@@ -1749,8 +1749,8 @@ The configuration is done in the home manager section.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org85d5888" class="outline-3"> <div id="outline-container-org6c43ae1" class="outline-3">
<h3 id="org85d5888"><span class="section-number-3">17.14.</span> Services</h3> <h3 id="org6c43ae1"><span class="section-number-3">17.14.</span> Services</h3>
<div class="outline-text-3" id="text-17-14"> <div class="outline-text-3" id="text-17-14">
<p> <p>
These are some of the services that I enable at the system level. Explanation in the comments. These are some of the services that I enable at the system level. Explanation in the comments.
@@ -1783,8 +1783,8 @@ These are some of the services that I enable at the system level. Explanation in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgbbc613c" class="outline-3"> <div id="outline-container-org55cecaf" class="outline-3">
<h3 id="orgbbc613c"><span class="section-number-3">17.15.</span> Audio</h3> <h3 id="org55cecaf"><span class="section-number-3">17.15.</span> Audio</h3>
<div class="outline-text-3" id="text-17-15"> <div class="outline-text-3" id="text-17-15">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix">{ config, pkgs, lib, ... }: <pre class="src src-nix">{ config, pkgs, lib, ... }:
@@ -1862,11 +1862,11 @@ These are some of the services that I enable at the system level. Explanation in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org5e14ba7" class="outline-3"> <div id="outline-container-orgc7eb4a8" class="outline-3">
<h3 id="org5e14ba7"><span class="section-number-3">17.16.</span> Miscellaneous Packages and Programs</h3> <h3 id="orgc7eb4a8"><span class="section-number-3">17.16.</span> Miscellaneous Packages and Programs</h3>
<div class="outline-text-3" id="text-17-16"> <div class="outline-text-3" id="text-17-16">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix" id="org50e9222">environment.systemPackages = with pkgs; [ <pre class="src src-nix" id="org8422f2a">environment.systemPackages = with pkgs; [
wget # fetch utility wget # fetch utility
curl # more fetch utility curl # more fetch utility
binutils # executable utilities, like ld binutils # executable utilities, like ld
@@ -1894,7 +1894,7 @@ programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
</div> </div>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix" id="orgb1a6fbd">programs = { <pre class="src src-nix" id="org60c607b">programs = {
nix-ld.enable = true; # helps with linking troubles with dynamic libraries nix-ld.enable = true; # helps with linking troubles with dynamic libraries
appimage.enable = true; # allow appimage installations appimage.enable = true; # allow appimage installations
dconf.enable = true; # to save user settings dconf.enable = true; # to save user settings
@@ -1910,14 +1910,14 @@ programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orga741f27" class="outline-3"> <div id="outline-container-orgeec058b" class="outline-3">
<h3 id="orga741f27"><span class="section-number-3">17.17.</span> Fonts</h3> <h3 id="orgeec058b"><span class="section-number-3">17.17.</span> Fonts</h3>
<div class="outline-text-3" id="text-17-17"> <div class="outline-text-3" id="text-17-17">
<p> <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. 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> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix" id="org431d1c7">fonts.packages = with pkgs; [ <pre class="src src-nix" id="orgaafc3b1">fonts.packages = with pkgs; [
aporetic aporetic
nerd-fonts.iosevka nerd-fonts.iosevka
]; ];
@@ -1925,14 +1925,14 @@ Nothing much to see here. I love <a href="https://protesilaos.com/codelog/2025-0
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orga90761e" class="outline-3"> <div id="outline-container-org2c3810c" class="outline-3">
<h3 id="orga90761e"><span class="section-number-3">17.18.</span> User Config</h3> <h3 id="org2c3810c"><span class="section-number-3">17.18.</span> User Config</h3>
<div class="outline-text-3" id="text-17-18"> <div class="outline-text-3" id="text-17-18">
<p> <p>
This creates the user profile that I login with. Initially created during install. This creates the user profile that I login with. Initially created during install.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix" id="org17acd1a">users.users.${user.username} = { <pre class="src src-nix" id="orgdef86cc">users.users.${user.username} = {
isNormalUser = true; isNormalUser = true;
description = "henrov"; description = "henrov";
extraGroups = [ extraGroups = [
@@ -1947,8 +1947,8 @@ This creates the user profile that I login with. Initially created during instal
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgc7b0fb9" class="outline-2"> <div id="outline-container-org6bce4a7" class="outline-2">
<h2 id="orgc7b0fb9"><span class="section-number-2">18.</span> Home</h2> <h2 id="org6bce4a7"><span class="section-number-2">18.</span> Home</h2>
<div class="outline-text-2" id="text-18"> <div class="outline-text-2" id="text-18">
<p> <p>
I use home-manager to manage my user level dotfiles and configurations. I use home-manager to manage my user level dotfiles and configurations.
@@ -1956,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. I also use it to install programs that are okay with being installed at the user level instead of the system.
</p> </p>
</div> </div>
<div id="outline-container-org3065b02" class="outline-3"> <div id="outline-container-org34df6c1" class="outline-3">
<h3 id="org3065b02"><span class="section-number-3">18.1.</span> default.nix</h3> <h3 id="org34df6c1"><span class="section-number-3">18.1.</span> default.nix</h3>
<div class="outline-text-3" id="text-18-1"> <div class="outline-text-3" id="text-18-1">
<p> <p>
This module will import all necessities. This module will import all necessities.
@@ -1993,8 +1993,8 @@ This module will import all necessities.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org35c0470" class="outline-3"> <div id="outline-container-org9501319" class="outline-3">
<h3 id="org35c0470"><span class="section-number-3">18.2.</span> Wallpaper</h3> <h3 id="org9501319"><span class="section-number-3">18.2.</span> Wallpaper</h3>
<div class="outline-text-3" id="text-18-2"> <div class="outline-text-3" id="text-18-2">
<p> <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. 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.
@@ -2048,11 +2048,11 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgdf28eea" class="outline-3"> <div id="outline-container-orgc37cfd9" class="outline-3">
<h3 id="orgdf28eea"><span class="section-number-3">18.3.</span> Waybar</h3> <h3 id="orgc37cfd9"><span class="section-number-3">18.3.</span> Waybar</h3>
<div class="outline-text-3" id="text-18-3"> <div class="outline-text-3" id="text-18-3">
<div id="orga3e8d81" class="figure"> <div id="orgb791bdc" class="figure">
<p><img src="./.github/images/waybar.png" alt="waybar.png" /> <p><img src="./.github/images/waybar.png" alt="waybar.png" />
</p> </p>
</div> </div>
@@ -2089,8 +2089,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org1c7956a" class="outline-3"> <div id="outline-container-orgdd2e2f3" class="outline-3">
<h3 id="org1c7956a"><span class="section-number-3">18.4.</span> Lock Screen</h3> <h3 id="orgdd2e2f3"><span class="section-number-3">18.4.</span> Lock Screen</h3>
<div class="outline-text-3" id="text-18-4"> <div class="outline-text-3" id="text-18-4">
<p> <p>
The lock screen configured using <a href="https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/">hyprlock</a>. The lock screen configured using <a href="https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/">hyprlock</a>.
@@ -2112,8 +2112,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orge50fd5f" class="outline-3"> <div id="outline-container-org9da1bd3" class="outline-3">
<h3 id="orge50fd5f"><span class="section-number-3">18.5.</span> Idle Screen</h3> <h3 id="org9da1bd3"><span class="section-number-3">18.5.</span> Idle Screen</h3>
<div class="outline-text-3" id="text-18-5"> <div class="outline-text-3" id="text-18-5">
<p> <p>
&lt;henro: needs instruction&gt; &lt;henro: needs instruction&gt;
@@ -2131,8 +2131,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org1d711c6" class="outline-3"> <div id="outline-container-org4e76176" class="outline-3">
<h3 id="org1d711c6"><span class="section-number-3">18.6.</span> Hyprshell</h3> <h3 id="org4e76176"><span class="section-number-3">18.6.</span> Hyprshell</h3>
<div class="outline-text-3" id="text-18-6"> <div class="outline-text-3" id="text-18-6">
<p> <p>
For nice task-starting and -switching For nice task-starting and -switching
@@ -2172,8 +2172,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org894fb0e" class="outline-3"> <div id="outline-container-orgcf72c81" class="outline-3">
<h3 id="org894fb0e"><span class="section-number-3">18.7.</span> Hyprland</h3> <h3 id="orgcf72c81"><span class="section-number-3">18.7.</span> Hyprland</h3>
<div class="outline-text-3" id="text-18-7"> <div class="outline-text-3" id="text-18-7">
<p> <p>
This configures the desktop environment along with the peripherals. The comments should explain whats happening. This configures the desktop environment along with the peripherals. The comments should explain whats happening.
@@ -2223,8 +2223,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgab61835" class="outline-3"> <div id="outline-container-orge23437d" class="outline-3">
<h3 id="orgab61835"><span class="section-number-3">18.8.</span> Walker</h3> <h3 id="orge23437d"><span class="section-number-3">18.8.</span> Walker</h3>
<div class="outline-text-3" id="text-18-8"> <div class="outline-text-3" id="text-18-8">
<p> <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. <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.
@@ -2325,8 +2325,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org13f7082" class="outline-3"> <div id="outline-container-org48bc7eb" class="outline-3">
<h3 id="org13f7082"><span class="section-number-3">18.9.</span> Theme</h3> <h3 id="org48bc7eb"><span class="section-number-3">18.9.</span> Theme</h3>
<div class="outline-text-3" id="text-18-9"> <div class="outline-text-3" id="text-18-9">
<p> <p>
I use the <a href="https://catppuccin.com/">Catppuccin</a> almost everywhere. The nix module integrates almost automatically everywhere (except gtk). I use the <a href="https://catppuccin.com/">Catppuccin</a> almost everywhere. The nix module integrates almost automatically everywhere (except gtk).
@@ -2359,8 +2359,8 @@ You'll notice the color values in multiple places outside this as well.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org3cf354d" class="outline-3"> <div id="outline-container-org8e640b8" class="outline-3">
<h3 id="org3cf354d"><span class="section-number-3">18.10.</span> Default-apps</h3> <h3 id="org8e640b8"><span class="section-number-3">18.10.</span> Default-apps</h3>
<div class="outline-text-3" id="text-18-10"> <div class="outline-text-3" id="text-18-10">
<p> <p>
This is where you can set defaults This is where you can set defaults
@@ -2379,8 +2379,8 @@ This is where you can set defaults
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org2eeb5a5" class="outline-3"> <div id="outline-container-org788b0db" class="outline-3">
<h3 id="org2eeb5a5"><span class="section-number-3">18.11.</span> Hyperexpo</h3> <h3 id="org788b0db"><span class="section-number-3">18.11.</span> Hyperexpo</h3>
<div class="outline-text-3" id="text-18-11"> <div class="outline-text-3" id="text-18-11">
<p> <p>
hyprexpo gets installed and configured hyprexpo gets installed and configured
@@ -2420,8 +2420,8 @@ hyprexpo gets installed and configured
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgb4f9a98" class="outline-3"> <div id="outline-container-orgf02f619" class="outline-3">
<h3 id="orgb4f9a98"><span class="section-number-3">18.12.</span> Alacritty</h3> <h3 id="orgf02f619"><span class="section-number-3">18.12.</span> Alacritty</h3>
<div class="outline-text-3" id="text-18-12"> <div class="outline-text-3" id="text-18-12">
<p> <p>
Alacritty gets installed and configured Alacritty gets installed and configured
@@ -2443,8 +2443,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgf7dddd1" class="outline-3"> <div id="outline-container-org2e9b31c" class="outline-3">
<h3 id="orgf7dddd1"><span class="section-number-3">18.13.</span> Dev Tools</h3> <h3 id="org2e9b31c"><span class="section-number-3">18.13.</span> Dev Tools</h3>
<div class="outline-text-3" id="text-18-13"> <div class="outline-text-3" id="text-18-13">
<p> <p>
All the miscellaneous dev tools on this computer. All the miscellaneous dev tools on this computer.
@@ -2503,8 +2503,8 @@ All the miscellaneous dev tools on this computer.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgabe09e8" class="outline-3"> <div id="outline-container-org8f11b60" class="outline-3">
<h3 id="orgabe09e8"><span class="section-number-3">18.14.</span> Kitty</h3> <h3 id="org8f11b60"><span class="section-number-3">18.14.</span> Kitty</h3>
<div class="outline-text-3" id="text-18-14"> <div class="outline-text-3" id="text-18-14">
<p> <p>
Kitty gets installed and configured Kitty gets installed and configured
@@ -2528,8 +2528,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org7c953d1" class="outline-3"> <div id="outline-container-org635df2a" class="outline-3">
<h3 id="org7c953d1"><span class="section-number-3">18.15.</span> Shells</h3> <h3 id="org635df2a"><span class="section-number-3">18.15.</span> Shells</h3>
<div class="outline-text-3" id="text-18-15"> <div class="outline-text-3" id="text-18-15">
<p> <p>
The aliases mentioned in ./assets/conf/dev/terminal/shells.conf will be added to enabled shells The aliases mentioned in ./assets/conf/dev/terminal/shells.conf will be added to enabled shells
@@ -2752,8 +2752,8 @@ EOF
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgda23904" class="outline-3"> <div id="outline-container-org4c0f0b4" class="outline-3">
<h3 id="orgda23904"><span class="section-number-3">18.16.</span> Zsh</h3> <h3 id="org4c0f0b4"><span class="section-number-3">18.16.</span> Zsh</h3>
<div class="outline-text-3" id="text-18-16"> <div class="outline-text-3" id="text-18-16">
<p> <p>
Zsh gets installed and configured Zsh gets installed and configured
@@ -2796,8 +2796,8 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgc733b7d" class="outline-3"> <div id="outline-container-org8fcbf95" class="outline-3">
<h3 id="orgc733b7d"><span class="section-number-3">18.17.</span> Starship</h3> <h3 id="org8fcbf95"><span class="section-number-3">18.17.</span> Starship</h3>
<div class="outline-text-3" id="text-18-17"> <div class="outline-text-3" id="text-18-17">
<p> <p>
The configuration mentioned in ./assets/conf/dev/terminal/starship.toml will be added to enabled shells The configuration mentioned in ./assets/conf/dev/terminal/starship.toml will be added to enabled shells
@@ -2829,18 +2829,18 @@ in
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org1ff108b" class="outline-3"> <div id="outline-container-org43ff089" class="outline-3">
<h3 id="org1ff108b"><span class="section-number-3">18.18.</span> Other Settings</h3> <h3 id="org43ff089"><span class="section-number-3">18.18.</span> Other Settings</h3>
<div class="outline-text-3" id="text-18-18"> <div class="outline-text-3" id="text-18-18">
<p> <p>
Some repeated info from the configuration. Some repeated info from the configuration.
</p> </p>
</div> </div>
<div id="outline-container-orgf3e97ab" class="outline-4"> <div id="outline-container-orgf27759a" class="outline-4">
<h4 id="orgf3e97ab"><span class="section-number-4">18.18.1.</span> Home User</h4> <h4 id="orgf27759a"><span class="section-number-4">18.18.1.</span> Home User</h4>
<div class="outline-text-4" id="text-18-18-1"> <div class="outline-text-4" id="text-18-18-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-nix" id="orgfa97e85">home.username = "${user.username}"; <pre class="src src-nix" id="org8d5e5bc">home.username = "${user.username}";
home.homeDirectory = pkgs.lib.mkDefault "/home/${user.username}"; home.homeDirectory = pkgs.lib.mkDefault "/home/${user.username}";
home.stateVersion = user.stateVersion; home.stateVersion = user.stateVersion;
</pre> </pre>
@@ -2849,8 +2849,8 @@ home.stateVersion = user.stateVersion;
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgc0c3420" class="outline-2"> <div id="outline-container-org6b13d24" class="outline-2">
<h2 id="orgc0c3420"><span class="section-number-2">19.</span> Emacs</h2> <h2 id="org6b13d24"><span class="section-number-2">19.</span> Emacs</h2>
<div class="outline-text-2" id="text-19"> <div class="outline-text-2" id="text-19">
<p> <p>
I practically live inside emacs. The configuration for it is a mix between init.el and the nix configuration. I practically live inside emacs. The configuration for it is a mix between init.el and the nix configuration.
@@ -2929,8 +2929,8 @@ Comments describe the emacs package and what it does.
</pre> </pre>
</div> </div>
</div> </div>
<div id="outline-container-orga09742f" class="outline-3"> <div id="outline-container-org1bd82df" class="outline-3">
<h3 id="orga09742f"><span class="section-number-3">19.1.</span> Early Initialization</h3> <h3 id="org1bd82df"><span class="section-number-3">19.1.</span> Early Initialization</h3>
<div class="outline-text-3" id="text-19-1"> <div class="outline-text-3" id="text-19-1">
<p> <p>
There are some emacs settings that can be configured before the gui shows up. There are some emacs settings that can be configured before the gui shows up.
@@ -3035,8 +3035,8 @@ These are listed here.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org7fe803f" class="outline-3"> <div id="outline-container-orgf6bfe8e" class="outline-3">
<h3 id="org7fe803f"><span class="section-number-3">19.2.</span> Initialization</h3> <h3 id="orgf6bfe8e"><span class="section-number-3">19.2.</span> Initialization</h3>
<div class="outline-text-3" id="text-19-2"> <div class="outline-text-3" id="text-19-2">
<p> <p>
Now starts the main emacs configuration. Now starts the main emacs configuration.
@@ -3448,22 +3448,22 @@ ting a file within such a
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgbdbf5cb" class="outline-2"> <div id="outline-container-org3e224ff" class="outline-2">
<h2 id="orgbdbf5cb"><span class="section-number-2">20.</span> Machines</h2> <h2 id="org3e224ff"><span class="section-number-2">20.</span> Machines</h2>
<div class="outline-text-2" id="text-20"> <div class="outline-text-2" id="text-20">
<p> <p>
Only a few more things left. Specifically the machine level extra settings. Only a few more things left. Specifically the machine level extra settings.
</p> </p>
</div> </div>
<div id="outline-container-orgb8116cf" class="outline-3"> <div id="outline-container-orgc7fc279" class="outline-3">
<h3 id="orgb8116cf"><span class="section-number-3">20.1.</span> Traveldroid</h3> <h3 id="orgc7fc279"><span class="section-number-3">20.1.</span> Traveldroid</h3>
<div class="outline-text-3" id="text-20-1"> <div class="outline-text-3" id="text-20-1">
<p> <p>
The configuration for the laptop does not change much. Most changes are because the hardware is different. The configuration for the laptop does not change much. Most changes are because the hardware is different.
</p> </p>
</div> </div>
<div id="outline-container-orgf840d7d" class="outline-4"> <div id="outline-container-org801feb7" class="outline-4">
<h4 id="orgf840d7d"><span class="section-number-4">20.1.1.</span> System Level</h4> <h4 id="org801feb7"><span class="section-number-4">20.1.1.</span> System Level</h4>
<div class="outline-text-4" id="text-20-1-1"> <div class="outline-text-4" id="text-20-1-1">
<p> <p>
Nothing specific for the laptop. Nothing specific for the laptop.
@@ -3481,8 +3481,8 @@ Nothing specific for the laptop.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgfb2b3e4" class="outline-4"> <div id="outline-container-orgdab52fc" class="outline-4">
<h4 id="orgfb2b3e4"><span class="section-number-4">20.1.2.</span> Hardware</h4> <h4 id="orgdab52fc"><span class="section-number-4">20.1.2.</span> Hardware</h4>
<div class="outline-text-4" id="text-20-1-2"> <div class="outline-text-4" id="text-20-1-2">
<p> <p>
This is the most different. Mostly taken from hardware-configuration.nix setup at first install. This is the most different. Mostly taken from hardware-configuration.nix setup at first install.
@@ -3531,8 +3531,8 @@ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistr
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org78202f9" class="outline-4"> <div id="outline-container-org561a593" class="outline-4">
<h4 id="org78202f9"><span class="section-number-4">20.1.3.</span> Home</h4> <h4 id="org561a593"><span class="section-number-4">20.1.3.</span> Home</h4>
<div class="outline-text-4" id="text-20-1-3"> <div class="outline-text-4" id="text-20-1-3">
<p> <p>
This is mostly about configuring the monitor. And laptop specific utilities. This is mostly about configuring the monitor. And laptop specific utilities.
@@ -3559,18 +3559,18 @@ This is mostly about configuring the monitor. And laptop specific utilities.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgfa2962f" class="outline-2"> <div id="outline-container-orge29e6ee" class="outline-2">
<h2 id="orgfa2962f"><span class="section-number-2">21.</span> README Utils</h2> <h2 id="orge29e6ee"><span class="section-number-2">21.</span> README Utils</h2>
<div class="outline-text-2" id="text-21"> <div class="outline-text-2" id="text-21">
</div> </div>
<div id="outline-container-org3f75708" class="outline-4"> <div id="outline-container-orgf9be9f6" class="outline-4">
<h4 id="org3f75708"><span class="section-number-4">21.0.1.</span> Headers</h4> <h4 id="orgf9be9f6"><span class="section-number-4">21.0.1.</span> Headers</h4>
<div class="outline-text-4" id="text-21-0-1"> <div class="outline-text-4" id="text-21-0-1">
<p> <p>
This script adds a <code>DO NOT MODIFY</code> header to all the generated nix files. This script adds a <code>DO NOT MODIFY</code> header to all the generated nix files.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp" id="orgbed1bf4">(progn <pre class="src src-emacs-lisp" id="org4dce5a8">(progn
(defun add-tangle-headers () (defun add-tangle-headers ()
(message "running in %s" (buffer-file-name)) (message "running in %s" (buffer-file-name))
(when (string= (file-name-extension (buffer-file-name)) "nix") (when (string= (file-name-extension (buffer-file-name)) "nix")
@@ -3587,7 +3587,7 @@ This script adds a <code>DO NOT MODIFY</code> header to all the generated nix fi
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: henrov</p> <p class="author">Author: henrov</p>
<p class="date">Created: 2026-02-22 zo 22:30</p> <p class="date">Created: 2026-02-22 zo 22:58</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>
@@ -163,7 +163,8 @@ bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/lid-restore.sh
######################### #########################
bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
bind = CTRL ALT, S, exec, spotify bind = CTRL ALT, S, exec, spotify
bind = CTRL ALT, z, exec, flatpak run app.zen_browser.zen --filesystem=home bind = CTRL ALT, z, exec, run zen
bind = CTRL ALT, k, exec, kate bind = CTRL ALT, k, exec, kate
bind = $mainMOd, w, exec xdg-open https://nextcloud.data-pro.nu
q