Archived
Watch
1
0
Fork
You've already forked nixos
0

flake update

both 26.05 and unstable :-o
This commit is contained in:
asnev 2026-07-15 17:23:23 +07:00
commit 730d59e64b
Signed by: asnev
SSH key fingerprint: SHA256:8hagYq9hDUuS5clQ78FKhIoQDvg5crdkYMHX+3g7wB4
3 changed files with 92 additions and 134 deletions

12
flake.lock generated
View file

@ -23,11 +23,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1783856661, "lastModified": 1784011430,
"narHash": "sha256-ZGP04e+Q6WyQJGA9ZvI5CL6+heGQldbAG9U1T9NGvmU=", "narHash": "sha256-lDebytrYdd47IBLwvNOD+6AGeoqZ78CIKlp70hzW280=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "569d578509928497eddc3fdbf94a799027050be4", "rev": "8eeec934ae0dbeca3d7868c059568a65c08b2fc3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -39,11 +39,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1783776592, "lastModified": 1784007870,
"narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=", "narHash": "sha256-djcLt/JJphyNt4eDY9XTly+/WbCK5lqWq9lSgCmJkkQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3", "rev": "18b9261cb3294b6d2a06d03f96872827b8fe2698",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -43,34 +43,7 @@ body{min-width:200px;max-width:780px;margin:0 auto;padding:30px;font-family:Inte
<body onload="prettyPrint()"> <body onload="prettyPrint()">
<section> <section>
<h1>asnev's NixOS configuration</h1> <h1>asnev's NixOS configuration</h1>
<a name="1:1"><div class="section"><h4>1. table of contents</h4></a> <a name="1:1"><div class="section"><h4>1. introduction</h4></a>
<ul>
<li><a href="#1:1">table of contents</a>
</li>
<li><a href="#1:2">introduction</a>
</li>
<li><a href="#1:3">limitations</a>
</li>
<li><a href="#1:4">flake structure</a>
</li>
<li><a href="#1:5">global NixOS options</a>
</li>
<li><a href="#1:6">host configuration: phostron</a>
</li>
<li><a href="#1:7">desktop configuration: KDE Plasma</a>
</li>
<li><a href="#1:8">user configuration: coyote</a>
</li>
<li><a href="#1:9">Home Manager configuration: coyote</a>
</li>
<li><a href="#1:10">licence</a>
</li>
</ul>
<p><hr>
</p>
</div>
<a name="1:2"><div class="section"><h4>2. introduction</h4></a>
<p>welcome! this page is the literate configuration for my NixOS setup. here, <p>welcome! this page is the literate configuration for my NixOS setup. here,
declarations are set to configure my (currently) only host system, <code>phostron</code>, declarations are set to configure my (currently) only host system, <code>phostron</code>,
a ThinkPad L14 Gen 1, to use flakes, Home Manager, a global nixpkgs-unstable a ThinkPad L14 Gen 1, to use flakes, Home Manager, a global nixpkgs-unstable
@ -96,7 +69,7 @@ out there!<br><br>
</p> </p>
</div> </div>
<a name="1:3"><div class="section"><h4>3. limitations</h4></a> <a name="1:2"><div class="section"><h4>2. limitations</h4></a>
<p>this is a simple configuration. i don't have immediate plans in declaratively <p>this is a simple configuration. i don't have immediate plans in declaratively
configuring absolutely <em>everything</em> there is on my system. as someone who still configuring absolutely <em>everything</em> there is on my system. as someone who still
has many things to learn about Nix(OS), my current rationale is to configure has many things to learn about Nix(OS), my current rationale is to configure
@ -133,12 +106,12 @@ flake-enabled NixOS system is present and ready to go.
</p> </p>
</div> </div>
<a name="1:4"><div class="section"><h4>4. flake structure</h4></a> <a name="1:3"><div class="section"><h4>3. flake structure</h4></a>
<p>we'll outline a basic flake for the system(s)... <p>we'll outline a basic flake for the system(s)...
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{<strong>flake.nix</strong> <a href="nixos.html#1:4">4</a>}</span> <span class="codeblock_name">{<strong>flake.nix</strong> <a href="nixos.html#1:3">3</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
{ {
description = "asnev's NixOS configuration"; description = "asnev's NixOS configuration";
@ -163,7 +136,7 @@ flake-enabled NixOS system is present and ready to go.
home-manager, home-manager,
... ...
}: { }: {
<span class="nocode pln"> {flake-modules, <a href="nixos.html#1:4">4</a>}</span> <span class="nocode pln"> {flake-modules, <a href="nixos.html#1:3">3</a>}</span>
}; };
} }
</pre> </pre>
@ -177,13 +150,13 @@ one NixOS module, so it is structured thusly:
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{flake-modules <a href="nixos.html#1:4">4</a>}</span> <span class="codeblock_name">{flake-modules <a href="nixos.html#1:3">3</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
nixosConfigurations.phostron = nixpkgs.lib.nixosSystem { nixosConfigurations.phostron = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;}; specialArgs = {inherit inputs;};
modules = [ modules = [
<span class="nocode pln"> {phostron-configuration, <a href="nixos.html#1:6">6</a>}</span> <span class="nocode pln"> {phostron-configuration, <a href="nixos.html#1:5">5</a>}</span>
<span class="nocode pln"> {coyote-configuration, <a href="nixos.html#1:8">8</a>}</span> <span class="nocode pln"> {coyote-configuration, <a href="nixos.html#1:7">7</a>}</span>
]; ];
}; };
</pre> </pre>
@ -197,7 +170,7 @@ nixosConfigurations.phostron = nixpkgs.lib.nixosSystem {
</p> </p>
</div> </div>
<a name="1:5"><div class="section"><h4>5. global NixOS options</h4></a> <a name="1:4"><div class="section"><h4>4. global NixOS options</h4></a>
<p>before getting into the host-specific configurations, here we set options that <p>before getting into the host-specific configurations, here we set options that
get applied to <em>all</em> NixOS systems, regardless of machine. we'll start by get applied to <em>all</em> NixOS systems, regardless of machine. we'll start by
declaring the initial attribute set arguments, which will soon be a familiar declaring the initial attribute set arguments, which will soon be a familiar
@ -205,22 +178,22 @@ pattern here...
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration <a href="nixos.html#1:5">5</a>}</span> <span class="codeblock_name">{nixos-configuration <a href="nixos.html#1:4">4</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
({ config, lib, pkgs, inputs, ... }: { ({ config, lib, pkgs, inputs, ... }: {
<span class="nocode pln"> {nixos-configuration-contents, <a href="nixos.html#1:5">5</a>}</span> <span class="nocode pln"> {nixos-configuration-contents, <a href="nixos.html#1:4">4</a>}</span>
}) })
</pre> </pre>
<p class="seealso">Used in section <a href="nixos.html#1:6">6</a></p> <p class="seealso">Used in section <a href="nixos.html#1:5">5</a></p>
</div> </div>
<p>...then we set Nix-related declarations since we'd like to declare the system <p>...then we set Nix-related declarations since we'd like to declare the system
to use flakes, and, to utilise <a href="https://lix.systems">Lix</a>, to use flakes, and, to utilise <a href="https://lix.systems">Lix</a>,
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>}</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
nix.settings.experimental-features = ["nix-command" "flakes"]; nix.settings.experimental-features = ["nix-command" "flakes"];
nix.settings.auto-optimise-store = true; nix.settings.auto-optimise-store = true;
@ -236,7 +209,7 @@ Home Manager. plus, some additional tweaks for Lix.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [ nixpkgs.overlays = [
@ -265,7 +238,7 @@ on.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
boot = { boot = {
loader.systemd-boot.enable = true; loader.systemd-boot.enable = true;
@ -286,7 +259,7 @@ boot = {
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
time.timeZone = "Asia/Jakarta"; time.timeZone = "Asia/Jakarta";
i18n.defaultLocale = "en_GB.UTF-8"; i18n.defaultLocale = "en_GB.UTF-8";
@ -299,7 +272,7 @@ i18n.defaultLocale = "en_GB.UTF-8";
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
services = { services = {
fwupd.enable = true; fwupd.enable = true;
@ -323,7 +296,7 @@ services = {
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
security.rtkit.enable = true; security.rtkit.enable = true;
</pre> </pre>
@ -336,7 +309,7 @@ packages!
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nh alejandra literate nh alejandra literate
@ -361,7 +334,7 @@ globally maybe?)
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
environment.shellAliases = { environment.shellAliases = {
l = "eza --grid --all"; l = "eza --grid --all";
@ -380,10 +353,10 @@ environment.shellAliases = {
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
programs = { programs = {
<span class="nocode pln"> {nixos-configuration-programs-contents, <a href="nixos.html#1:5">5</a>}</span> <span class="nocode pln"> {nixos-configuration-programs-contents, <a href="nixos.html#1:4">4</a>}</span>
}; };
</pre> </pre>
@ -397,11 +370,11 @@ programs = {
</p> </p>
</blockquote> </blockquote>
<p>yes, the lambda (λ) as a terminal prompt character absolutely counts towards <p>yes, the lambda (λ) as a terminal prompt character absolutely counts towards
style points. (joke) style points.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-programs-contents <a href="nixos.html#1:5">5</a>}</span> <span class="codeblock_name">{nixos-configuration-programs-contents <a href="nixos.html#1:4">4</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
fish.enable = true; fish.enable = true;
@ -434,7 +407,7 @@ if they existed there, but they don't, so, oh well.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-programs-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-programs-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
obs-studio.enableVirtualCamera = true; obs-studio.enableVirtualCamera = true;
ssh.startAgent = true; ssh.startAgent = true;
@ -449,7 +422,7 @@ repository, hence the sparse <code>libraries</code> pkgs list, lol.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-programs-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-programs-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
nix-ld.enable = true; nix-ld.enable = true;
nix-ld.libraries = with pkgs; [ nix-ld.libraries = with pkgs; [
@ -465,7 +438,7 @@ nix-ld.libraries = with pkgs; [
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
# GUI fonts # GUI fonts
@ -485,7 +458,7 @@ fonts.packages = with pkgs; [
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
fonts.fontconfig.antialias = true; fonts.fontconfig.antialias = true;
fonts.fontconfig.subpixel.rgba = "rgb"; fonts.fontconfig.subpixel.rgba = "rgb";
@ -499,7 +472,7 @@ they're here so here they are.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span> <span class="codeblock_name">{nixos-configuration-contents <a href="nixos.html#1:4">4</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
xdg.portal.enable = true; xdg.portal.enable = true;
xdg.portal.config.common.default = ["gtk"]; xdg.portal.config.common.default = ["gtk"];
@ -515,20 +488,20 @@ xdg.portal.extraPortals = with pkgs; [xdg-desktop-portal-wlr];
</p> </p>
</div> </div>
<a name="1:6"><div class="section"><h4>6. host configuration: phostron</h4></a> <a name="1:5"><div class="section"><h4>5. host configuration: phostron</h4></a>
<p>we make sure that we load in the global options we've set, alongside a choice <p>we make sure that we load in the global options we've set, alongside a choice
of one's preferred graphical interface. of one's preferred graphical interface.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{phostron-configuration <a href="nixos.html#1:6">6</a>}</span> <span class="codeblock_name">{phostron-configuration <a href="nixos.html#1:5">5</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
<span class="nocode pln">{nixos-configuration, <a href="nixos.html#1:5">5</a>}</span> <span class="nocode pln">{nixos-configuration, <a href="nixos.html#1:4">4</a>}</span>
<span class="nocode pln">{kde-plasma-configuration, <a href="nixos.html#1:7">7</a>}</span> <span class="nocode pln">{kde-plasma-configuration, <a href="nixos.html#1:6">6</a>}</span>
</pre> </pre>
<p class="seealso">Used in section <a href="nixos.html#1:4">4</a></p> <p class="seealso">Used in section <a href="nixos.html#1:3">3</a></p>
</div> </div>
<p>then we may start with configuring the machine specifically. with the NixOS <p>then we may start with configuring the machine specifically. with the NixOS
installer's automatically generated <code>hardware-configuration.nix</code> file, our job installer's automatically generated <code>hardware-configuration.nix</code> file, our job
@ -536,23 +509,23 @@ is basically half done here.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{phostron-configuration <a href="nixos.html#1:6">6</a>} +=</span> <span class="codeblock_name">{phostron-configuration <a href="nixos.html#1:5">5</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
({ config, lib, pkgs, modulesPath, ... }: { ({ config, lib, pkgs, modulesPath, ... }: {
<span class="nocode pln"> {phostron-hardware-configuration-contents, <a href="nixos.html#1:6">6</a>}</span> <span class="nocode pln"> {phostron-hardware-configuration-contents, <a href="nixos.html#1:5">5</a>}</span>
<span class="nocode pln"> {phostron-configuration-contents, <a href="nixos.html#1:6">6</a>}</span> <span class="nocode pln"> {phostron-configuration-contents, <a href="nixos.html#1:5">5</a>}</span>
}) })
</pre> </pre>
<p class="seealso">Used in section <a href="nixos.html#1:4">4</a></p> <p class="seealso">Used in section <a href="nixos.html#1:3">3</a></p>
</div> </div>
<p>i'll copy over said file verbatim (excluding the pre-generated comment blurb at <p>i'll copy over said file verbatim (excluding the pre-generated comment blurb at
the beginning of the file). the beginning of the file).
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{phostron-hardware-configuration-contents <a href="nixos.html#1:6">6</a>}</span> <span class="codeblock_name">{phostron-hardware-configuration-contents <a href="nixos.html#1:5">5</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
imports = [(modulesPath + "/installer/scan/not-detected.nix")]; imports = [(modulesPath + "/installer/scan/not-detected.nix")];
@ -585,7 +558,7 @@ hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistrib
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{phostron-configuration-contents <a href="nixos.html#1:6">6</a>}</span> <span class="codeblock_name">{phostron-configuration-contents <a href="nixos.html#1:5">5</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
system.stateVersion = "26.05"; # I didn't read the comment. :) system.stateVersion = "26.05"; # I didn't read the comment. :)
@ -596,7 +569,7 @@ networking.firewall.enable = true;
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = false; hardware.bluetooth.powerOnBoot = false;
</pre> </pre>
<p class="seealso">Added to in section <a href="nixos.html#1:7">7</a></p> <p class="seealso">Added to in section <a href="nixos.html#1:6">6</a></p>
</div> </div>
@ -604,13 +577,13 @@ hardware.bluetooth.powerOnBoot = false;
</p> </p>
</div> </div>
<a name="1:7"><div class="section"><h4>7. desktop configuration: KDE Plasma</h4></a> <a name="1:6"><div class="section"><h4>6. desktop configuration: KDE Plasma</h4></a>
<p>let's bring ourselves to the 90s with a proper graphical user interface! and <p>let's bring ourselves to the 90s with a proper graphical user interface! and
have some additional apps to boot. have some additional apps to boot.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{kde-plasma-configuration <a href="nixos.html#1:7">7</a>}</span> <span class="codeblock_name">{kde-plasma-configuration <a href="nixos.html#1:6">6</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
({pkgs, ...}: { ({pkgs, ...}: {
services.displayManager.sddm.enable = true; services.displayManager.sddm.enable = true;
@ -621,35 +594,35 @@ have some additional apps to boot.
</pre> </pre>
<p class="seealso">Used in section <a href="nixos.html#1:6">6</a></p> <p class="seealso">Used in section <a href="nixos.html#1:5">5</a></p>
</div> </div>
<blockquote><p> "Discover? Where we're going... we don't need Discover." <blockquote><p> "Discover? Where we're going... we don't need Discover."
</p> </p>
</blockquote> </blockquote>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{kde-plasma-configuration <a href="nixos.html#1:7">7</a>} +=</span> <span class="codeblock_name">{kde-plasma-configuration <a href="nixos.html#1:6">6</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
environment.plasma6.excludePackages = [pkgs.kdePackages.discover]; environment.plasma6.excludePackages = [pkgs.kdePackages.discover];
}) })
</pre> </pre>
<p class="seealso">Used in section <a href="nixos.html#1:6">6</a></p> <p class="seealso">Used in section <a href="nixos.html#1:5">5</a></p>
</div> </div>
<p>i've set some additional options in how i'd like SDDM to look for <code>phostron</code> <p>i've set some additional options in how i'd like SDDM to look for <code>phostron</code>
specifically. specifically.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{phostron-configuration-contents <a href="nixos.html#1:6">6</a>} +=</span> <span class="codeblock_name">{phostron-configuration-contents <a href="nixos.html#1:5">5</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
services.displayManager.sddm.settings.Theme.Font = "Inter"; services.displayManager.sddm.settings.Theme.Font = "Inter";
services.displayManager.sddm.settings.Theme.CursorSize = 18; services.displayManager.sddm.settings.Theme.CursorSize = 18;
</pre> </pre>
<p class="seealso">Used in section <a href="nixos.html#1:6">6</a></p> <p class="seealso">Used in section <a href="nixos.html#1:5">5</a></p>
</div> </div>
<p>(TODO: consider adding the <code>plasma-manager</code> flake module in the future?) <p>(TODO: consider adding the <code>plasma-manager</code> flake module in the future?)
</p> </p>
@ -657,7 +630,7 @@ services.displayManager.sddm.settings.Theme.CursorSize = 18;
</p> </p>
</div> </div>
<a name="1:8"><div class="section"><h4>8. user configuration: coyote</h4></a> <a name="1:7"><div class="section"><h4>7. user configuration: coyote</h4></a>
<p>that's me. <code>:3c</code><br><br> <p>that's me. <code>:3c</code><br><br>
</p> </p>
<p>not just NixOS options, but also any other modules loaded into the system via <p>not just NixOS options, but also any other modules loaded into the system via
@ -665,24 +638,24 @@ the flake, like Home Manager, as seen later.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-configuration <a href="nixos.html#1:8">8</a>}</span> <span class="codeblock_name">{coyote-configuration <a href="nixos.html#1:7">7</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
({ pkgs, config, ... }: let ({ pkgs, config, ... }: let
<span class="nocode pln"> {coyote-configuration-variables, <a href="nixos.html#1:8">8</a>}</span> <span class="nocode pln"> {coyote-configuration-variables, <a href="nixos.html#1:7">7</a>}</span>
in { in {
<span class="nocode pln"> {coyote-configuration-contents, <a href="nixos.html#1:8">8</a>}</span> <span class="nocode pln"> {coyote-configuration-contents, <a href="nixos.html#1:7">7</a>}</span>
}) })
</pre> </pre>
<p class="seealso">Added to in section <a href="nixos.html#1:9">9</a></p> <p class="seealso">Added to in section <a href="nixos.html#1:8">8</a></p>
<p class="seealso">Used in section <a href="nixos.html#1:4">4</a></p> <p class="seealso">Used in section <a href="nixos.html#1:3">3</a></p>
</div> </div>
<p>let's get the user-specific NixOS options out of the way. basic user management <p>let's get the user-specific NixOS options out of the way. basic user management
stuff and setting the default shell of choice. stuff and setting the default shell of choice.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-configuration-variables <a href="nixos.html#1:8">8</a>}</span> <span class="codeblock_name">{coyote-configuration-variables <a href="nixos.html#1:7">7</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
USER_ID = 1000; USER_ID = 1000;
</pre> </pre>
@ -692,7 +665,7 @@ USER_ID = 1000;
</div> </div>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-configuration-contents <a href="nixos.html#1:8">8</a>}</span> <span class="codeblock_name">{coyote-configuration-contents <a href="nixos.html#1:7">7</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
users.users.coyote = { users.users.coyote = {
isNormalUser = true; isNormalUser = true;
@ -713,7 +686,7 @@ can't remember--i think i stole this from GitHub somewhere...<br><br>
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-configuration-variables <a href="nixos.html#1:8">8</a>} +=</span> <span class="codeblock_name">{coyote-configuration-variables <a href="nixos.html#1:7">7</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
KEY_FILE = "id_ed25519"; KEY_FILE = "id_ed25519";
</pre> </pre>
@ -723,7 +696,7 @@ KEY_FILE = "id_ed25519";
</div> </div>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-configuration-contents <a href="nixos.html#1:8">8</a>} +=</span> <span class="codeblock_name">{coyote-configuration-contents <a href="nixos.html#1:7">7</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
environment.sessionVariables.SSH_AUTH_SOCK = "/run/user/${builtins.toString USER_ID}/ssh-agent"; environment.sessionVariables.SSH_AUTH_SOCK = "/run/user/${builtins.toString USER_ID}/ssh-agent";
@ -749,7 +722,7 @@ systemd.user.services.ssh-add-key = {
</p> </p>
</div> </div>
<a name="1:9"><div class="section"><h4>9. Home Manager configuration: coyote</h4></a> <a name="1:8"><div class="section"><h4>8. Home Manager configuration: coyote</h4></a>
<p>let's get into the <em>fun</em> fun stuff, <a href="https://youtu.be/SacogDL_4JU">yaeh</a>.<br><br> <p>let's get into the <em>fun</em> fun stuff, <a href="https://youtu.be/SacogDL_4JU">yaeh</a>.<br><br>
</p> </p>
<p>not forgetting to set the flake module for it first though. as mentioned in the <p>not forgetting to set the flake module for it first though. as mentioned in the
@ -757,7 +730,7 @@ beginning, my preference is to have it loaded as a NixOS module.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-configuration <a href="nixos.html#1:8">8</a>} +=</span> <span class="codeblock_name">{coyote-configuration <a href="nixos.html#1:7">7</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
@ -766,25 +739,25 @@ home-manager.nixosModules.home-manager
home-manager.extraSpecialArgs = {inherit inputs;}; home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.users.coyote.imports = [ home-manager.users.coyote.imports = [
({ pkgs, config, lib, inputs, ... }: { ({ pkgs, config, lib, inputs, ... }: {
<span class="nocode pln"> {coyote-home-manager-configuration, <a href="nixos.html#1:9">9</a>}</span> <span class="nocode pln"> {coyote-home-manager-configuration, <a href="nixos.html#1:8">8</a>}</span>
}) })
]; ];
} }
</pre> </pre>
<p class="seealso">Used in section <a href="nixos.html#1:4">4</a></p> <p class="seealso">Used in section <a href="nixos.html#1:3">3</a></p>
</div> </div>
<p>the basic contents structure is as follows. a separate section for programmes <p>the basic contents structure is as follows. a separate section for programmes
should make it easier for including more software configurations in the future. should make it easier for including more software configurations in the future.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-configuration <a href="nixos.html#1:9">9</a>}</span> <span class="codeblock_name">{coyote-home-manager-configuration <a href="nixos.html#1:8">8</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
<span class="nocode pln">{coyote-home-manager-configuration-contents, <a href="nixos.html#1:9">9</a>}</span> <span class="nocode pln">{coyote-home-manager-configuration-contents, <a href="nixos.html#1:8">8</a>}</span>
programs = { programs = {
<span class="nocode pln"> {coyote-home-manager-programs, <a href="nixos.html#1:9">9</a>}</span> <span class="nocode pln"> {coyote-home-manager-programs, <a href="nixos.html#1:8">8</a>}</span>
}; };
</pre> </pre>
@ -795,7 +768,7 @@ programs = {
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-configuration-contents <a href="nixos.html#1:9">9</a>}</span> <span class="codeblock_name">{coyote-home-manager-configuration-contents <a href="nixos.html#1:8">8</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
home.stateVersion = "26.05"; # Nope, didn't read the comment either. home.stateVersion = "26.05"; # Nope, didn't read the comment either.
home.username = "coyote"; home.username = "coyote";
@ -810,7 +783,7 @@ home.shell.enableShellIntegration = true;
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-configuration-contents <a href="nixos.html#1:9">9</a>} +=</span> <span class="codeblock_name">{coyote-home-manager-configuration-contents <a href="nixos.html#1:8">8</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
home.packages = with pkgs; [ home.packages = with pkgs; [
# TUI # TUI
@ -841,11 +814,11 @@ bunch of others.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-programs <a href="nixos.html#1:9">9</a>}</span> <span class="codeblock_name">{coyote-home-manager-programs <a href="nixos.html#1:8">8</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
<span class="nocode pln">{coyote-home-manager-programs-general, <a href="nixos.html#1:9">9</a>}</span> <span class="nocode pln">{coyote-home-manager-programs-general, <a href="nixos.html#1:8">8</a>}</span>
<span class="nocode pln">{coyote-home-manager-programs-vim, <a href="nixos.html#1:9">9</a>}</span> <span class="nocode pln">{coyote-home-manager-programs-vim, <a href="nixos.html#1:8">8</a>}</span>
<span class="nocode pln">{coyote-home-manager-programs-fastfetch, <a href="nixos.html#1:9">9</a>}</span> <span class="nocode pln">{coyote-home-manager-programs-fastfetch, <a href="nixos.html#1:8">8</a>}</span>
</pre> </pre>
@ -856,7 +829,7 @@ LibreWolf profiles.)
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-programs-general <a href="nixos.html#1:9">9</a>}</span> <span class="codeblock_name">{coyote-home-manager-programs-general <a href="nixos.html#1:8">8</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
tmux = { tmux = {
enable = true; enable = true;
@ -914,7 +887,7 @@ obs-studio.plugins = with pkgs.obs-studio-plugins; [
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-programs-vim <a href="nixos.html#1:9">9</a>}</span> <span class="codeblock_name">{coyote-home-manager-programs-vim <a href="nixos.html#1:8">8</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
vim.enable = true; vim.enable = true;
vim.packageConfigurable = pkgs.unstable.vim-full; vim.packageConfigurable = pkgs.unstable.vim-full;
@ -942,10 +915,10 @@ in
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-programs-vim <a href="nixos.html#1:9">9</a>} +=</span> <span class="codeblock_name">{coyote-home-manager-programs-vim <a href="nixos.html#1:8">8</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
vim.extraConfig = '' vim.extraConfig = ''
<span class="nocode pln"> {coyote-home-manager-programs-vim-vimrc, <a href="nixos.html#1:9">9</a>}</span> <span class="nocode pln"> {coyote-home-manager-programs-vim-vimrc, <a href="nixos.html#1:8">8</a>}</span>
''; '';
</pre> </pre>
@ -957,7 +930,7 @@ options,
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-programs-vim-vimrc <a href="nixos.html#1:9">9</a>}</span> <span class="codeblock_name">{coyote-home-manager-programs-vim-vimrc <a href="nixos.html#1:8">8</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
set nocompatible set nocompatible
set encoding=utf-8 set encoding=utf-8
@ -1000,7 +973,7 @@ set smartcase
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-programs-vim-vimrc <a href="nixos.html#1:9">9</a>} +=</span> <span class="codeblock_name">{coyote-home-manager-programs-vim-vimrc <a href="nixos.html#1:8">8</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
inoremap &lt;C-l&gt; λ inoremap &lt;C-l&gt; λ
</pre> </pre>
@ -1012,7 +985,7 @@ inoremap &lt;C-l&gt; λ
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-programs-vim-vimrc <a href="nixos.html#1:9">9</a>} +=</span> <span class="codeblock_name">{coyote-home-manager-programs-vim-vimrc <a href="nixos.html#1:8">8</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
set termguicolors set termguicolors
set background=dark set background=dark
@ -1027,7 +1000,7 @@ let g:terminal_ansi_colors = ['#282828', '#cc241d', '#98971a', '#d79921', '#4585
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-programs-vim-vimrc <a href="nixos.html#1:9">9</a>} +=</span> <span class="codeblock_name">{coyote-home-manager-programs-vim-vimrc <a href="nixos.html#1:8">8</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
let g:rainbow_active = 1 let g:rainbow_active = 1
</pre> </pre>
@ -1045,7 +1018,7 @@ dotfiles generation into <code>~/.vim/after/ftplugin/</code>.<br><br>
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-configuration-contents <a href="nixos.html#1:9">9</a>} +=</span> <span class="codeblock_name">{coyote-home-manager-configuration-contents <a href="nixos.html#1:8">8</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
home.file = let home.file = let
mkVimAfterFtplugin = content: langs: mkVimAfterFtplugin = content: langs:
@ -1063,7 +1036,7 @@ mkVimAfterFtplugin = content: langs:
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-configuration-contents <a href="nixos.html#1:9">9</a>} +=</span> <span class="codeblock_name">{coyote-home-manager-configuration-contents <a href="nixos.html#1:8">8</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
tab2Vim = '' tab2Vim = ''
setlocal expandtab setlocal expandtab
@ -1105,7 +1078,7 @@ the <code>.vim</code> files get generated automatically!
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-configuration-contents <a href="nixos.html#1:9">9</a>} +=</span> <span class="codeblock_name">{coyote-home-manager-configuration-contents <a href="nixos.html#1:8">8</a>} +=</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
in in
lib.mkMerge [ lib.mkMerge [
@ -1127,7 +1100,7 @@ one of the preset settings but with a minified distro logo.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{coyote-home-manager-programs-fastfetch <a href="nixos.html#1:9">9</a>}</span> <span class="codeblock_name">{coyote-home-manager-programs-fastfetch <a href="nixos.html#1:8">8</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
fastfetch.enable = true; fastfetch.enable = true;
fastfetch.settings = { fastfetch.settings = {
@ -1165,13 +1138,13 @@ fastfetch.settings = {
</p> </p>
</div> </div>
<a name="1:10"><div class="section"><h4>10. licence</h4></a> <a name="1:9"><div class="section"><h4>9. licence</h4></a>
<p>this configuration is provided under the MIT licence, a copy of which can be <p>this configuration is provided under the MIT licence, a copy of which can be
read below. read below.
</p> </p>
<div class="codeblock"> <div class="codeblock">
<span class="codeblock_name">{<strong>LICENSE</strong> <a href="nixos.html#1:10">10</a>}</span> <span class="codeblock_name">{<strong>LICENSE</strong> <a href="nixos.html#1:9">9</a>}</span>
<pre class="prettyprint lang-nix"> <pre class="prettyprint lang-nix">
MIT License MIT License

View file

@ -4,21 +4,6 @@
@title asnev's NixOS configuration @title asnev's NixOS configuration
@s table of contents
- [table of contents](#1:1)
- [introduction](#1:2)
- [limitations](#1:3)
- [flake structure](#1:4)
- [global NixOS options](#1:5)
- [host configuration: phostron](#1:6)
- [desktop configuration: KDE Plasma](#1:7)
- [user configuration: coyote](#1:8)
- [Home Manager configuration: coyote](#1:9)
- [licence](#1:10)
<hr>
@s introduction @s introduction
welcome! this page is the literate configuration for my NixOS setup. here, welcome! this page is the literate configuration for my NixOS setup. here,
@ -270,7 +255,7 @@ nothing much here, starting with a few options to prettify the terminal a bit.
> --[0atman](https://youtu.be/rWMQ-g2QDsI?t=117) > --[0atman](https://youtu.be/rWMQ-g2QDsI?t=117)
yes, the lambda (λ) as a terminal prompt character absolutely counts towards yes, the lambda (λ) as a terminal prompt character absolutely counts towards
style points. (joke) style points.
--- nixos-configuration-programs-contents --- nixos-configuration-programs-contents
fish.enable = true; fish.enable = true;