Working on portals

This commit is contained in:
2026-02-22 21:47:14 +01:00
parent 61fdf46094
commit 76814385c5
3 changed files with 234 additions and 249 deletions
+234 -239
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 21:43 -->
<!-- 2026-02-22 zo 21:47 -->
<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="#orgb2a0ba5">1. Introduction</a></li>
<li><a href="#org10b017d">2. Pre-requisites to edit this setup</a></li>
<li><a href="#org472ce06">3. machine1 — template machine</a></li>
<li><a href="#org82c7096">4. <code>flake.lock</code> for pinning input versions.</a></li>
<li><a href="#org1368a06">5. <code>assets/*</code> for non-Nix-managed artifacts such as images and wallpapers.</a>
<li><a href="#orgb7ca771">1. Introduction</a></li>
<li><a href="#org6dde71b">2. Pre-requisites to edit this setup</a></li>
<li><a href="#orge3011ed">3. machine1 — template machine</a></li>
<li><a href="#org0401db1">4. <code>flake.lock</code> for pinning input versions.</a></li>
<li><a href="#org7ae03ad">5. <code>assets/*</code> for non-Nix-managed artifacts such as images and wallpapers.</a>
<ul>
<li><a href="#org5ec848c">5.1. Emacs + Org + Tangle</a></li>
<li><a href="#orga9eca28">5.1. Emacs + Org + Tangle</a></li>
</ul>
</li>
<li><a href="#orgfbb09ea">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="#orgabfd6a3">7. [Org](https://orgmode.org/][Org) mode provides the document structure and the source block execution model used here.</a></li>
<li><a href="#org3938ba4">8. Tangling exports source blocks from this Org document into the corresponding configuration files.</a>
<li><a href="#orgbeb8e1e">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="#org9d2041d">7. [Org](https://orgmode.org/][Org) mode provides the document structure and the source block execution model used here.</a></li>
<li><a href="#org766ce6b">8. Tangling exports source blocks from this Org document into the corresponding configuration files.</a>
<ul>
<li><a href="#orgf0eaeb9">8.1. Nix &amp; NixOS</a></li>
<li><a href="#orgafcf283">8.1. Nix &amp; NixOS</a></li>
</ul>
</li>
<li><a href="#org3bb7626">9. [Nix](https://nix.dev/][Nix) is used to define packages, environments, and configuration as pure expressions.</a></li>
<li><a href="#orga199f76">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="#org7cb47b8">9. [Nix](https://nix.dev/][Nix) is used to define packages, environments, and configuration as pure expressions.</a></li>
<li><a href="#org4574a1a">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="#org61f7428">10.1. Repository layout and folder conventions</a></li>
<li><a href="#org732f3e4">10.2. Shared domain folders</a></li>
<li><a href="#orga68e06e">10.3. Full tree (including unchanged parts)</a></li>
<li><a href="#org5d71a25">10.4. Notes</a></li>
<li><a href="#org48074b8">10.1. Repository layout and folder conventions</a></li>
<li><a href="#orgbab6886">10.2. Shared domain folders</a></li>
<li><a href="#orgde6c935">10.3. Full tree (including unchanged parts)</a></li>
<li><a href="#orgcd629d7">10.4. Notes</a></li>
</ul>
</li>
<li><a href="#org73f4690">11. TLDR App List</a></li>
<li><a href="#orga4e0cb6">12. Configuration Variables</a></li>
<li><a href="#org9a69af1">13. Flake Inputs</a></li>
<li><a href="#org95c3529">14. Flake Output</a>
<li><a href="#org8f306b1">11. TLDR App List</a></li>
<li><a href="#org2376b5a">12. Configuration Variables</a></li>
<li><a href="#org3bb8fa4">13. Flake Inputs</a></li>
<li><a href="#org6d04d37">14. Flake Output</a>
<ul>
<li><a href="#orgd5c4ba2">14.1. Envrc + Direnv</a></li>
<li><a href="#orged84f31">14.1. Envrc + Direnv</a></li>
</ul>
</li>
<li><a href="#org85a993c">15. Machines</a>
<li><a href="#orgcc7e6ac">15. Machines</a>
<ul>
<li>
<ul>
<li><a href="#orgf2cd157">15.0.1. Other Utils</a></li>
<li><a href="#org40cf4b3">15.0.1. Other Utils</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orga609181">16. Hardware</a></li>
<li><a href="#orgb24bb77">17. Configuration</a>
<li><a href="#orgec80f4e">16. Hardware</a></li>
<li><a href="#org346b150">17. Configuration</a>
<ul>
<li><a href="#orga697833">17.1. Apps section</a></li>
<li><a href="#orga759628">17.2. install<sub>packages.nix</sub></a></li>
<li><a href="#org97aa439">17.3. install<sub>flatpaks.nix</sub></a></li>
<li><a href="#org06f08ce">17.4. Nix Settings</a></li>
<li><a href="#org665cab1">17.5. Boot</a></li>
<li><a href="#org4ea341f">17.6. Login</a></li>
<li><a href="#org571f2b5">17.7. Tuigreet</a></li>
<li><a href="#orgd7aa1ce">17.8. LightDM</a></li>
<li><a href="#orgafa460c">17.9. Terminal (default system)</a></li>
<li><a href="#orgc5dce59">17.10. Files</a></li>
<li><a href="#org105d167">17.11. Locale</a></li>
<li><a href="#org9771a2c">17.12. Networking</a></li>
<li><a href="#org52fa255">17.13. Hyprland</a></li>
<li><a href="#org1b291e7">17.14. Services</a></li>
<li><a href="#org94cf8ee">17.15. Audio</a></li>
<li><a href="#org0880e78">17.16. Miscellaneous Packages and Programs</a></li>
<li><a href="#org0be3b3b">17.17. Fonts</a></li>
<li><a href="#org59c3d76">17.18. User Config</a></li>
<li><a href="#orgc27a670">17.1. Apps section</a></li>
<li><a href="#org1e99272">17.2. install<sub>packages.nix</sub></a></li>
<li><a href="#orgb012ec8">17.3. install<sub>flatpaks.nix</sub></a></li>
<li><a href="#org977a203">17.4. Nix Settings</a></li>
<li><a href="#org5132193">17.5. Boot</a></li>
<li><a href="#org5d95a98">17.6. Login</a></li>
<li><a href="#orgd4081c5">17.7. Tuigreet</a></li>
<li><a href="#org992ea18">17.8. LightDM</a></li>
<li><a href="#org6591de4">17.9. Terminal (default system)</a></li>
<li><a href="#orgf1481a4">17.10. Files</a></li>
<li><a href="#orgfe2fa40">17.11. Locale</a></li>
<li><a href="#org133fa6a">17.12. Networking</a></li>
<li><a href="#org1740f89">17.13. Hyprland</a></li>
<li><a href="#org4446b5e">17.14. Services</a></li>
<li><a href="#orge9f1a3b">17.15. Audio</a></li>
<li><a href="#orge5ac77f">17.16. Miscellaneous Packages and Programs</a></li>
<li><a href="#org608b444">17.17. Fonts</a></li>
<li><a href="#org0e6d462">17.18. User Config</a></li>
</ul>
</li>
<li><a href="#org5cb42d5">18. Home</a>
<li><a href="#org622f8c2">18. Home</a>
<ul>
<li><a href="#org64a050f">18.1. default.nix</a></li>
<li><a href="#org40592c8">18.2. Wallpaper</a></li>
<li><a href="#orgb80b5a0">18.3. Waybar</a></li>
<li><a href="#org6ff492c">18.4. Lock Screen</a></li>
<li><a href="#orgd62b72c">18.5. Idle Screen</a></li>
<li><a href="#orgfb07332">18.6. Hyprshell</a></li>
<li><a href="#orgf243bd8">18.7. Hyprland</a></li>
<li><a href="#org4d23efe">18.8. Walker</a></li>
<li><a href="#orgae9de88">18.9. Theme</a></li>
<li><a href="#org656044b">18.10. Default-apps</a></li>
<li><a href="#orge4752bb">18.11. Hyperexpo</a></li>
<li><a href="#org69661e1">18.12. Alacritty</a></li>
<li><a href="#orgfb49aa3">18.13. Dev Tools</a></li>
<li><a href="#org9fe634b">18.14. Kitty</a></li>
<li><a href="#orgb5bba99">18.15. Shells</a></li>
<li><a href="#org9a64938">18.16. Zsh</a></li>
<li><a href="#org9327fa8">18.17. Starship</a></li>
<li><a href="#org5109e66">18.18. Other Settings</a>
<li><a href="#orgd92c5f8">18.1. default.nix</a></li>
<li><a href="#orgeb76d62">18.2. Wallpaper</a></li>
<li><a href="#org298bccb">18.3. Waybar</a></li>
<li><a href="#org3d3dca5">18.4. Lock Screen</a></li>
<li><a href="#org88ac10e">18.5. Idle Screen</a></li>
<li><a href="#org1574549">18.6. Hyprshell</a></li>
<li><a href="#org68e0aa4">18.7. Hyprland</a></li>
<li><a href="#org2bb08ed">18.8. Walker</a></li>
<li><a href="#org7d3a46b">18.9. Theme</a></li>
<li><a href="#org6bd3f1f">18.10. Default-apps</a></li>
<li><a href="#org102f1f0">18.11. Hyperexpo</a></li>
<li><a href="#org2ddba07">18.12. Alacritty</a></li>
<li><a href="#orge353b0e">18.13. Dev Tools</a></li>
<li><a href="#org0749cc4">18.14. Kitty</a></li>
<li><a href="#org802f7df">18.15. Shells</a></li>
<li><a href="#orgee6bf81">18.16. Zsh</a></li>
<li><a href="#org45b9338">18.17. Starship</a></li>
<li><a href="#org9d17119">18.18. Other Settings</a>
<ul>
<li><a href="#org059df7c">18.18.1. Home User</a></li>
<li><a href="#orgad2b542">18.18.1. Home User</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org01ba22d">19. Emacs</a>
<li><a href="#org8b96155">19. Emacs</a>
<ul>
<li><a href="#org5d1980d">19.1. Early Initialization</a></li>
<li><a href="#org38ec2a4">19.2. Initialization</a></li>
<li><a href="#orga5bdccd">19.1. Early Initialization</a></li>
<li><a href="#orgc3d8b0f">19.2. Initialization</a></li>
</ul>
</li>
<li><a href="#orgaf283dc">20. Machines</a>
<li><a href="#orgba2982e">20. Machines</a>
<ul>
<li><a href="#org52a2ba0">20.1. Traveldroid</a>
<li><a href="#org0c2192a">20.1. Traveldroid</a>
<ul>
<li><a href="#orgf867a71">20.1.1. System Level</a></li>
<li><a href="#org37bf028">20.1.2. Hardware</a></li>
<li><a href="#orgc1151a9">20.1.3. Home</a></li>
<li><a href="#org177ab84">20.1.1. System Level</a></li>
<li><a href="#org972a09e">20.1.2. Hardware</a></li>
<li><a href="#org17a2acf">20.1.3. Home</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org023d916">21. README Utils</a>
<li><a href="#orgd0fe4d4">21. README Utils</a>
<ul>
<li>
<ul>
<li><a href="#orgb596328">21.0.1. Headers</a></li>
<li><a href="#org718551f">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-orgb2a0ba5" class="outline-2">
<h2 id="orgb2a0ba5"><span class="section-number-2">1.</span> Introduction</h2>
<div id="outline-container-orgb7ca771" class="outline-2">
<h2 id="orgb7ca771"><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-org10b017d" class="outline-2">
<h2 id="org10b017d"><span class="section-number-2">2.</span> Pre-requisites to edit this setup</h2>
<div id="outline-container-org6dde71b" class="outline-2">
<h2 id="org6dde71b"><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-org472ce06" class="outline-2">
<h2 id="org472ce06"><span class="section-number-2">3.</span> machine1 — template machine</h2>
<div id="outline-container-orge3011ed" class="outline-2">
<h2 id="orge3011ed"><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-org82c7096" class="outline-2">
<h2 id="org82c7096"><span class="section-number-2">4.</span> <code>flake.lock</code> for pinning input versions.</h2>
<div id="outline-container-org0401db1" class="outline-2">
<h2 id="org0401db1"><span class="section-number-2">4.</span> <code>flake.lock</code> for pinning input versions.</h2>
</div>
<div id="outline-container-org1368a06" class="outline-2">
<h2 id="org1368a06"><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-org7ae03ad" class="outline-2">
<h2 id="org7ae03ad"><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-org5ec848c" class="outline-3">
<h3 id="org5ec848c"><span class="section-number-3">5.1.</span> Emacs + Org + Tangle</h3>
<div id="outline-container-orga9eca28" class="outline-3">
<h3 id="orga9eca28"><span class="section-number-3">5.1.</span> Emacs + Org + Tangle</h3>
</div>
</div>
<div id="outline-container-orgfbb09ea" class="outline-2">
<h2 id="orgfbb09ea"><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-orgbeb8e1e" class="outline-2">
<h2 id="orgbeb8e1e"><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-orgabfd6a3" class="outline-2">
<h2 id="orgabfd6a3"><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-org9d2041d" class="outline-2">
<h2 id="org9d2041d"><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-org3938ba4" class="outline-2">
<h2 id="org3938ba4"><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-org766ce6b" class="outline-2">
<h2 id="org766ce6b"><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-orgf0eaeb9" class="outline-3">
<h3 id="orgf0eaeb9"><span class="section-number-3">8.1.</span> Nix &amp; NixOS</h3>
<div id="outline-container-orgafcf283" class="outline-3">
<h3 id="orgafcf283"><span class="section-number-3">8.1.</span> Nix &amp; NixOS</h3>
</div>
</div>
<div id="outline-container-org3bb7626" class="outline-2">
<h2 id="org3bb7626"><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-org7cb47b8" class="outline-2">
<h2 id="org7cb47b8"><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-orga199f76" class="outline-2">
<h2 id="orga199f76"><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-org4574a1a" class="outline-2">
<h2 id="org4574a1a"><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-org61f7428" class="outline-3">
<h3 id="org61f7428"><span class="section-number-3">10.1.</span> Repository layout and folder conventions</h3>
<div id="outline-container-org48074b8" class="outline-3">
<h3 id="org48074b8"><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-org732f3e4" class="outline-3">
<h3 id="org732f3e4"><span class="section-number-3">10.2.</span> Shared domain folders</h3>
<div id="outline-container-orgbab6886" class="outline-3">
<h3 id="orgbab6886"><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-orga68e06e" class="outline-3">
<h3 id="orga68e06e"><span class="section-number-3">10.3.</span> Full tree (including unchanged parts)</h3>
<div id="outline-container-orgde6c935" class="outline-3">
<h3 id="orgde6c935"><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-org5d71a25" class="outline-3">
<h3 id="org5d71a25"><span class="section-number-3">10.4.</span> Notes</h3>
<div id="outline-container-orgcd629d7" class="outline-3">
<h3 id="orgcd629d7"><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-org73f4690" class="outline-2">
<h2 id="org73f4690"><span class="section-number-2">11.</span> TLDR App List</h2>
<div id="outline-container-org8f306b1" class="outline-2">
<h2 id="org8f306b1"><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-orga4e0cb6" class="outline-2">
<h2 id="orga4e0cb6"><span class="section-number-2">12.</span> Configuration Variables</h2>
<div id="outline-container-org2376b5a" class="outline-2">
<h2 id="org2376b5a"><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-org9a69af1" class="outline-2">
<h2 id="org9a69af1"><span class="section-number-2">13.</span> Flake Inputs</h2>
<div id="outline-container-org3bb8fa4" class="outline-2">
<h2 id="org3bb8fa4"><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
@@ -811,8 +811,8 @@ Sometimes pinned to a specific commit because unstable broke something and the f
</div>
</div>
</div>
<div id="outline-container-org95c3529" class="outline-2">
<h2 id="org95c3529"><span class="section-number-2">14.</span> Flake Output</h2>
<div id="outline-container-org6d04d37" class="outline-2">
<h2 id="org6d04d37"><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.
@@ -820,7 +820,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="orge201182">outputs = inputs@{
<pre class="src src-nix" id="org1e491da">outputs = inputs@{
nixpkgs,
home-manager,
emacs-overlay,
@@ -881,7 +881,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="org55b2814">({ ... }: {
<pre class="src src-nix" id="orgf45aecb">({ ... }: {
nixpkgs.overlays = [ emacs-overlay.overlays.default ];
})
</pre>
@@ -891,7 +891,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="org7ab5e63">./machines/${machine}/configuration.nix
<pre class="src src-nix" id="orgfaf10cf">./machines/${machine}/configuration.nix
</pre>
</div></li>
@@ -901,7 +901,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="orgbc96705">home-manager.nixosModules.home-manager
<pre class="src src-nix" id="org7395892">home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
@@ -944,8 +944,8 @@ Finally I pull in the machine specific home configuration. Along with the overri
</div></li>
</ol>
</div>
<div id="outline-container-orgd5c4ba2" class="outline-3">
<h3 id="orgd5c4ba2"><span class="section-number-3">14.1.</span> Envrc + Direnv</h3>
<div id="outline-container-orged84f31" class="outline-3">
<h3 id="orged84f31"><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.
@@ -966,14 +966,14 @@ fi
</div>
</div>
</div>
<div id="outline-container-org85a993c" class="outline-2">
<h2 id="org85a993c"><span class="section-number-2">15.</span> Machines</h2>
<div id="outline-container-orgcc7e6ac" class="outline-2">
<h2 id="orgcc7e6ac"><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="org6b70237">+--machine
<pre class="src src-ditaa" id="org61057a7">+--machine
| +--configuration.nix
| +--home.nix
| +--hardware-configuration.nix
@@ -994,12 +994,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-orgf2cd157" class="outline-4">
<h4 id="orgf2cd157"><span class="section-number-4">15.0.1.</span> Other Utils</h4>
<div id="outline-container-org40cf4b3" class="outline-4">
<h4 id="org40cf4b3"><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="org1b1d933"></a>Updates<br />
<li><a id="org8cd67cc"></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 :-
@@ -1013,8 +1013,8 @@ To update the computer, I just need to update the <code>flake.lock</code> file t
</ol>
</div>
</div>
<div id="outline-container-orga609181" class="outline-2">
<h2 id="orga609181"><span class="section-number-2">16.</span> Hardware</h2>
<div id="outline-container-orgec80f4e" class="outline-2">
<h2 id="orgec80f4e"><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.
@@ -1048,8 +1048,8 @@ I'll let the code comments explain the file here.
</div>
</div>
</div>
<div id="outline-container-orgb24bb77" class="outline-2">
<h2 id="orgb24bb77"><span class="section-number-2">17.</span> Configuration</h2>
<div id="outline-container-org346b150" class="outline-2">
<h2 id="org346b150"><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 :-
@@ -1092,16 +1092,16 @@ This section describes the main system configuration for the computers that I ha
</pre>
</div>
</div>
<div id="outline-container-orga697833" class="outline-3">
<h3 id="orga697833"><span class="section-number-3">17.1.</span> Apps section</h3>
<div id="outline-container-orgc27a670" class="outline-3">
<h3 id="orgc27a670"><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-orga759628" class="outline-3">
<h3 id="orga759628"><span class="section-number-3">17.2.</span> install<sub>packages.nix</sub></h3>
<div id="outline-container-org1e99272" class="outline-3">
<h3 id="org1e99272"><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, ... }:
@@ -1156,8 +1156,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org97aa439" class="outline-3">
<h3 id="org97aa439"><span class="section-number-3">17.3.</span> install<sub>flatpaks.nix</sub></h3>
<div id="outline-container-orgb012ec8" class="outline-3">
<h3 id="orgb012ec8"><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, ... }:
@@ -1268,8 +1268,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org06f08ce" class="outline-3">
<h3 id="org06f08ce"><span class="section-number-3">17.4.</span> Nix Settings</h3>
<div id="outline-container-org977a203" class="outline-3">
<h3 id="org977a203"><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.
@@ -1318,8 +1318,8 @@ These are global nix settings that configure the settings for the actual tool.
</div>
</div>
</div>
<div id="outline-container-org665cab1" class="outline-3">
<h3 id="org665cab1"><span class="section-number-3">17.5.</span> Boot</h3>
<div id="outline-container-org5132193" class="outline-3">
<h3 id="org5132193"><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.
@@ -1357,16 +1357,16 @@ This file has most of the settings the control how the computer boots up.
</div>
</div>
</div>
<div id="outline-container-org4ea341f" class="outline-3">
<h3 id="org4ea341f"><span class="section-number-3">17.6.</span> Login</h3>
<div id="outline-container-org5d95a98" class="outline-3">
<h3 id="org5d95a98"><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-org571f2b5" class="outline-3">
<h3 id="org571f2b5"><span class="section-number-3">17.7.</span> Tuigreet</h3>
<div id="outline-container-orgd4081c5" class="outline-3">
<h3 id="orgd4081c5"><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.
@@ -1391,8 +1391,8 @@ Doesn't match the rest of the aesthetic of the system (with hyprland), but I lik
</div>
</div>
</div>
<div id="outline-container-orgd7aa1ce" class="outline-3">
<h3 id="orgd7aa1ce"><span class="section-number-3">17.8.</span> LightDM</h3>
<div id="outline-container-org992ea18" class="outline-3">
<h3 id="org992ea18"><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, ... }:
@@ -1539,8 +1539,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orgafa460c" class="outline-3">
<h3 id="orgafa460c"><span class="section-number-3">17.9.</span> Terminal (default system)</h3>
<div id="outline-container-org6591de4" class="outline-3">
<h3 id="org6591de4"><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>.
@@ -1559,8 +1559,8 @@ This is the initial system level configuration for the terminal that I use on th
</div>
</div>
</div>
<div id="outline-container-orgc5dce59" class="outline-3">
<h3 id="orgc5dce59"><span class="section-number-3">17.10.</span> Files</h3>
<div id="outline-container-orgf1481a4" class="outline-3">
<h3 id="orgf1481a4"><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.
@@ -1601,8 +1601,8 @@ Along with that, a few other utilities like zip and enabling services to automou
</div>
</div>
</div>
<div id="outline-container-org105d167" class="outline-3">
<h3 id="org105d167"><span class="section-number-3">17.11.</span> Locale</h3>
<div id="outline-container-orgfe2fa40" class="outline-3">
<h3 id="orgfe2fa40"><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.
@@ -1636,8 +1636,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org9771a2c" class="outline-3">
<h3 id="org9771a2c"><span class="section-number-3">17.12.</span> Networking</h3>
<div id="outline-container-org133fa6a" class="outline-3">
<h3 id="org133fa6a"><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.
@@ -1668,8 +1668,8 @@ Not much to see here. I want networking to be enabled. I want firewall as well.
</div>
</div>
</div>
<div id="outline-container-org52fa255" class="outline-3">
<h3 id="org52fa255"><span class="section-number-3">17.13.</span> Hyprland</h3>
<div id="outline-container-org1740f89" class="outline-3">
<h3 id="org1740f89"><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>.
@@ -1703,11 +1703,6 @@ The configuration is done in the home manager section.
];
config.common.default = [ "hyprland" "gtk" ];
};
# Hyprland alleen voor screensharing / remote desktop
config.hyprland = {
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
"org.freedesktop.impl.portal.RemoteDesktop" = [ "hyprland" ];
};
environment.systemPackages = with pkgs; [
walker
uwsm
@@ -1745,8 +1740,8 @@ The configuration is done in the home manager section.
</div>
</div>
</div>
<div id="outline-container-org1b291e7" class="outline-3">
<h3 id="org1b291e7"><span class="section-number-3">17.14.</span> Services</h3>
<div id="outline-container-org4446b5e" class="outline-3">
<h3 id="org4446b5e"><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.
@@ -1779,8 +1774,8 @@ These are some of the services that I enable at the system level. Explanation in
</div>
</div>
</div>
<div id="outline-container-org94cf8ee" class="outline-3">
<h3 id="org94cf8ee"><span class="section-number-3">17.15.</span> Audio</h3>
<div id="outline-container-orge9f1a3b" class="outline-3">
<h3 id="orge9f1a3b"><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, ... }:
@@ -1858,11 +1853,11 @@ These are some of the services that I enable at the system level. Explanation in
</div>
</div>
</div>
<div id="outline-container-org0880e78" class="outline-3">
<h3 id="org0880e78"><span class="section-number-3">17.16.</span> Miscellaneous Packages and Programs</h3>
<div id="outline-container-orge5ac77f" class="outline-3">
<h3 id="orge5ac77f"><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="orgf9d8aab">environment.systemPackages = with pkgs; [
<pre class="src src-nix" id="orge22eca2">environment.systemPackages = with pkgs; [
wget # fetch utility
curl # more fetch utility
binutils # executable utilities, like ld
@@ -1890,7 +1885,7 @@ programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
</div>
<div class="org-src-container">
<pre class="src src-nix" id="org9784dd3">programs = {
<pre class="src src-nix" id="orgd877d68">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
@@ -1906,14 +1901,14 @@ programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
</div>
</div>
</div>
<div id="outline-container-org0be3b3b" class="outline-3">
<h3 id="org0be3b3b"><span class="section-number-3">17.17.</span> Fonts</h3>
<div id="outline-container-org608b444" class="outline-3">
<h3 id="org608b444"><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="org52699bc">fonts.packages = with pkgs; [
<pre class="src src-nix" id="orgfc11cf8">fonts.packages = with pkgs; [
aporetic
nerd-fonts.iosevka
];
@@ -1921,14 +1916,14 @@ Nothing much to see here. I love <a href="https://protesilaos.com/codelog/2025-0
</div>
</div>
</div>
<div id="outline-container-org59c3d76" class="outline-3">
<h3 id="org59c3d76"><span class="section-number-3">17.18.</span> User Config</h3>
<div id="outline-container-org0e6d462" class="outline-3">
<h3 id="org0e6d462"><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="org76201a7">users.users.${user.username} = {
<pre class="src src-nix" id="orgf7b118c">users.users.${user.username} = {
isNormalUser = true;
description = "henrov";
extraGroups = [
@@ -1943,8 +1938,8 @@ This creates the user profile that I login with. Initially created during instal
</div>
</div>
</div>
<div id="outline-container-org5cb42d5" class="outline-2">
<h2 id="org5cb42d5"><span class="section-number-2">18.</span> Home</h2>
<div id="outline-container-org622f8c2" class="outline-2">
<h2 id="org622f8c2"><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.
@@ -1952,8 +1947,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-org64a050f" class="outline-3">
<h3 id="org64a050f"><span class="section-number-3">18.1.</span> default.nix</h3>
<div id="outline-container-orgd92c5f8" class="outline-3">
<h3 id="orgd92c5f8"><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.
@@ -1989,8 +1984,8 @@ This module will import all necessities.
</div>
</div>
</div>
<div id="outline-container-org40592c8" class="outline-3">
<h3 id="org40592c8"><span class="section-number-3">18.2.</span> Wallpaper</h3>
<div id="outline-container-orgeb76d62" class="outline-3">
<h3 id="orgeb76d62"><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.
@@ -2044,11 +2039,11 @@ in
</div>
</div>
</div>
<div id="outline-container-orgb80b5a0" class="outline-3">
<h3 id="orgb80b5a0"><span class="section-number-3">18.3.</span> Waybar</h3>
<div id="outline-container-org298bccb" class="outline-3">
<h3 id="org298bccb"><span class="section-number-3">18.3.</span> Waybar</h3>
<div class="outline-text-3" id="text-18-3">
<div id="org0145221" class="figure">
<div id="org2fc02d5" class="figure">
<p><img src="./.github/images/waybar.png" alt="waybar.png" />
</p>
</div>
@@ -2085,8 +2080,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org6ff492c" class="outline-3">
<h3 id="org6ff492c"><span class="section-number-3">18.4.</span> Lock Screen</h3>
<div id="outline-container-org3d3dca5" class="outline-3">
<h3 id="org3d3dca5"><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>.
@@ -2108,8 +2103,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orgd62b72c" class="outline-3">
<h3 id="orgd62b72c"><span class="section-number-3">18.5.</span> Idle Screen</h3>
<div id="outline-container-org88ac10e" class="outline-3">
<h3 id="org88ac10e"><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;
@@ -2127,8 +2122,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orgfb07332" class="outline-3">
<h3 id="orgfb07332"><span class="section-number-3">18.6.</span> Hyprshell</h3>
<div id="outline-container-org1574549" class="outline-3">
<h3 id="org1574549"><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
@@ -2168,8 +2163,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orgf243bd8" class="outline-3">
<h3 id="orgf243bd8"><span class="section-number-3">18.7.</span> Hyprland</h3>
<div id="outline-container-org68e0aa4" class="outline-3">
<h3 id="org68e0aa4"><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.
@@ -2219,8 +2214,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org4d23efe" class="outline-3">
<h3 id="org4d23efe"><span class="section-number-3">18.8.</span> Walker</h3>
<div id="outline-container-org2bb08ed" class="outline-3">
<h3 id="org2bb08ed"><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.
@@ -2321,8 +2316,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orgae9de88" class="outline-3">
<h3 id="orgae9de88"><span class="section-number-3">18.9.</span> Theme</h3>
<div id="outline-container-org7d3a46b" class="outline-3">
<h3 id="org7d3a46b"><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).
@@ -2355,8 +2350,8 @@ You'll notice the color values in multiple places outside this as well.
</div>
</div>
</div>
<div id="outline-container-org656044b" class="outline-3">
<h3 id="org656044b"><span class="section-number-3">18.10.</span> Default-apps</h3>
<div id="outline-container-org6bd3f1f" class="outline-3">
<h3 id="org6bd3f1f"><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
@@ -2375,8 +2370,8 @@ This is where you can set defaults
</div>
</div>
</div>
<div id="outline-container-orge4752bb" class="outline-3">
<h3 id="orge4752bb"><span class="section-number-3">18.11.</span> Hyperexpo</h3>
<div id="outline-container-org102f1f0" class="outline-3">
<h3 id="org102f1f0"><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
@@ -2416,8 +2411,8 @@ hyprexpo gets installed and configured
</div>
</div>
</div>
<div id="outline-container-org69661e1" class="outline-3">
<h3 id="org69661e1"><span class="section-number-3">18.12.</span> Alacritty</h3>
<div id="outline-container-org2ddba07" class="outline-3">
<h3 id="org2ddba07"><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
@@ -2439,8 +2434,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orgfb49aa3" class="outline-3">
<h3 id="orgfb49aa3"><span class="section-number-3">18.13.</span> Dev Tools</h3>
<div id="outline-container-orge353b0e" class="outline-3">
<h3 id="orge353b0e"><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.
@@ -2499,8 +2494,8 @@ All the miscellaneous dev tools on this computer.
</div>
</div>
</div>
<div id="outline-container-org9fe634b" class="outline-3">
<h3 id="org9fe634b"><span class="section-number-3">18.14.</span> Kitty</h3>
<div id="outline-container-org0749cc4" class="outline-3">
<h3 id="org0749cc4"><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
@@ -2524,8 +2519,8 @@ in
</div>
</div>
</div>
<div id="outline-container-orgb5bba99" class="outline-3">
<h3 id="orgb5bba99"><span class="section-number-3">18.15.</span> Shells</h3>
<div id="outline-container-org802f7df" class="outline-3">
<h3 id="org802f7df"><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
@@ -2748,8 +2743,8 @@ EOF
</div>
</div>
</div>
<div id="outline-container-org9a64938" class="outline-3">
<h3 id="org9a64938"><span class="section-number-3">18.16.</span> Zsh</h3>
<div id="outline-container-orgee6bf81" class="outline-3">
<h3 id="orgee6bf81"><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
@@ -2792,8 +2787,8 @@ in
</div>
</div>
</div>
<div id="outline-container-org9327fa8" class="outline-3">
<h3 id="org9327fa8"><span class="section-number-3">18.17.</span> Starship</h3>
<div id="outline-container-org45b9338" class="outline-3">
<h3 id="org45b9338"><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
@@ -2825,18 +2820,18 @@ in
</div>
</div>
</div>
<div id="outline-container-org5109e66" class="outline-3">
<h3 id="org5109e66"><span class="section-number-3">18.18.</span> Other Settings</h3>
<div id="outline-container-org9d17119" class="outline-3">
<h3 id="org9d17119"><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-org059df7c" class="outline-4">
<h4 id="org059df7c"><span class="section-number-4">18.18.1.</span> Home User</h4>
<div id="outline-container-orgad2b542" class="outline-4">
<h4 id="orgad2b542"><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="org5c1e468">home.username = "${user.username}";
<pre class="src src-nix" id="org50ed74f">home.username = "${user.username}";
home.homeDirectory = pkgs.lib.mkDefault "/home/${user.username}";
home.stateVersion = user.stateVersion;
</pre>
@@ -2845,8 +2840,8 @@ home.stateVersion = user.stateVersion;
</div>
</div>
</div>
<div id="outline-container-org01ba22d" class="outline-2">
<h2 id="org01ba22d"><span class="section-number-2">19.</span> Emacs</h2>
<div id="outline-container-org8b96155" class="outline-2">
<h2 id="org8b96155"><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.
@@ -2925,8 +2920,8 @@ Comments describe the emacs package and what it does.
</pre>
</div>
</div>
<div id="outline-container-org5d1980d" class="outline-3">
<h3 id="org5d1980d"><span class="section-number-3">19.1.</span> Early Initialization</h3>
<div id="outline-container-orga5bdccd" class="outline-3">
<h3 id="orga5bdccd"><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.
@@ -3031,8 +3026,8 @@ These are listed here.
</div>
</div>
</div>
<div id="outline-container-org38ec2a4" class="outline-3">
<h3 id="org38ec2a4"><span class="section-number-3">19.2.</span> Initialization</h3>
<div id="outline-container-orgc3d8b0f" class="outline-3">
<h3 id="orgc3d8b0f"><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.
@@ -3444,22 +3439,22 @@ ting a file within such a
</div>
</div>
</div>
<div id="outline-container-orgaf283dc" class="outline-2">
<h2 id="orgaf283dc"><span class="section-number-2">20.</span> Machines</h2>
<div id="outline-container-orgba2982e" class="outline-2">
<h2 id="orgba2982e"><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-org52a2ba0" class="outline-3">
<h3 id="org52a2ba0"><span class="section-number-3">20.1.</span> Traveldroid</h3>
<div id="outline-container-org0c2192a" class="outline-3">
<h3 id="org0c2192a"><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-orgf867a71" class="outline-4">
<h4 id="orgf867a71"><span class="section-number-4">20.1.1.</span> System Level</h4>
<div id="outline-container-org177ab84" class="outline-4">
<h4 id="org177ab84"><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.
@@ -3477,8 +3472,8 @@ Nothing specific for the laptop.
</div>
</div>
</div>
<div id="outline-container-org37bf028" class="outline-4">
<h4 id="org37bf028"><span class="section-number-4">20.1.2.</span> Hardware</h4>
<div id="outline-container-org972a09e" class="outline-4">
<h4 id="org972a09e"><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.
@@ -3527,8 +3522,8 @@ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistr
</div>
</div>
</div>
<div id="outline-container-orgc1151a9" class="outline-4">
<h4 id="orgc1151a9"><span class="section-number-4">20.1.3.</span> Home</h4>
<div id="outline-container-org17a2acf" class="outline-4">
<h4 id="org17a2acf"><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.
@@ -3555,18 +3550,18 @@ This is mostly about configuring the monitor. And laptop specific utilities.
</div>
</div>
</div>
<div id="outline-container-org023d916" class="outline-2">
<h2 id="org023d916"><span class="section-number-2">21.</span> README Utils</h2>
<div id="outline-container-orgd0fe4d4" class="outline-2">
<h2 id="orgd0fe4d4"><span class="section-number-2">21.</span> README Utils</h2>
<div class="outline-text-2" id="text-21">
</div>
<div id="outline-container-orgb596328" class="outline-4">
<h4 id="orgb596328"><span class="section-number-4">21.0.1.</span> Headers</h4>
<div id="outline-container-org718551f" class="outline-4">
<h4 id="org718551f"><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="org84f5f8a">(progn
<pre class="src src-emacs-lisp" id="orgaa62b94">(progn
(defun add-tangle-headers ()
(message "running in %s" (buffer-file-name))
(when (string= (file-name-extension (buffer-file-name)) "nix")
@@ -3583,7 +3578,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 21:43</p>
<p class="date">Created: 2026-02-22 zo 21:47</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
-5
View File
@@ -1094,11 +1094,6 @@ The configuration is done in the home manager section.
];
config.common.default = [ "hyprland" "gtk" ];
};
# Hyprland alleen voor screensharing / remote desktop
config.hyprland = {
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
"org.freedesktop.impl.portal.RemoteDesktop" = [ "hyprland" ];
};
environment.systemPackages = with pkgs; [
walker
uwsm
@@ -25,11 +25,6 @@
];
config.common.default = [ "hyprland" "gtk" ];
};
# Hyprland alleen voor screensharing / remote desktop
config.hyprland = {
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
"org.freedesktop.impl.portal.RemoteDesktop" = [ "hyprland" ];
};
environment.systemPackages = with pkgs; [
walker
uwsm