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": {
"locked": {
"lastModified": 1783856661,
"narHash": "sha256-ZGP04e+Q6WyQJGA9ZvI5CL6+heGQldbAG9U1T9NGvmU=",
"lastModified": 1784011430,
"narHash": "sha256-lDebytrYdd47IBLwvNOD+6AGeoqZ78CIKlp70hzW280=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "569d578509928497eddc3fdbf94a799027050be4",
"rev": "8eeec934ae0dbeca3d7868c059568a65c08b2fc3",
"type": "github"
},
"original": {
@ -39,11 +39,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1783776592,
"narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=",
"lastModified": 1784007870,
"narHash": "sha256-djcLt/JJphyNt4eDY9XTly+/WbCK5lqWq9lSgCmJkkQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3",
"rev": "18b9261cb3294b6d2a06d03f96872827b8fe2698",
"type": "github"
},
"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()">
<section>
<h1>asnev's NixOS configuration</h1>
<a name="1:1"><div class="section"><h4>1. table of contents</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>
<a name="1:1"><div class="section"><h4>1. introduction</h4></a>
<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>,
a ThinkPad L14 Gen 1, to use flakes, Home Manager, a global nixpkgs-unstable
@ -96,7 +69,7 @@ out there!<br><br>
</p>
</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
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
@ -133,12 +106,12 @@ flake-enabled NixOS system is present and ready to go.
</p>
</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>
<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">
{
description = "asnev's NixOS configuration";
@ -163,7 +136,7 @@ flake-enabled NixOS system is present and ready to go.
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>
@ -177,13 +150,13 @@ one NixOS module, so it is structured thusly:
</p>
<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">
nixosConfigurations.phostron = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [
<span class="nocode pln"> {phostron-configuration, <a href="nixos.html#1:6">6</a>}</span>
<span class="nocode pln"> {coyote-configuration, <a href="nixos.html#1:8">8</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:7">7</a>}</span>
];
};
</pre>
@ -197,7 +170,7 @@ nixosConfigurations.phostron = nixpkgs.lib.nixosSystem {
</p>
</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
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
@ -205,22 +178,22 @@ pattern here...
</p>
<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">
({ 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>
<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>
<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>,
</p>
<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">
nix.settings.experimental-features = ["nix-command" "flakes"];
nix.settings.auto-optimise-store = true;
@ -236,7 +209,7 @@ Home Manager. plus, some additional tweaks for Lix.
</p>
<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">
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [
@ -265,7 +238,7 @@ on.
</p>
<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">
boot = {
loader.systemd-boot.enable = true;
@ -286,7 +259,7 @@ boot = {
</p>
<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">
time.timeZone = "Asia/Jakarta";
i18n.defaultLocale = "en_GB.UTF-8";
@ -299,7 +272,7 @@ i18n.defaultLocale = "en_GB.UTF-8";
</p>
<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">
services = {
fwupd.enable = true;
@ -323,7 +296,7 @@ services = {
</p>
<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">
security.rtkit.enable = true;
</pre>
@ -336,7 +309,7 @@ packages!
</p>
<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">
environment.systemPackages = with pkgs; [
nh alejandra literate
@ -361,7 +334,7 @@ globally maybe?)
</p>
<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">
environment.shellAliases = {
l = "eza --grid --all";
@ -380,10 +353,10 @@ environment.shellAliases = {
</p>
<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">
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>
@ -397,11 +370,11 @@ programs = {
</p>
</blockquote>
<p>yes, the lambda (λ) as a terminal prompt character absolutely counts towards
style points. (joke)
style points.
</p>
<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">
fish.enable = true;
@ -434,7 +407,7 @@ if they existed there, but they don't, so, oh well.
</p>
<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">
obs-studio.enableVirtualCamera = true;
ssh.startAgent = true;
@ -449,7 +422,7 @@ repository, hence the sparse <code>libraries</code> pkgs list, lol.
</p>
<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">
nix-ld.enable = true;
nix-ld.libraries = with pkgs; [
@ -465,7 +438,7 @@ nix-ld.libraries = with pkgs; [
</p>
<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">
fonts.packages = with pkgs; [
# GUI fonts
@ -485,7 +458,7 @@ fonts.packages = with pkgs; [
</p>
<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">
fonts.fontconfig.antialias = true;
fonts.fontconfig.subpixel.rgba = "rgb";
@ -499,7 +472,7 @@ they're here so here they are.
</p>
<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">
xdg.portal.enable = true;
xdg.portal.config.common.default = ["gtk"];
@ -515,20 +488,20 @@ xdg.portal.extraPortals = with pkgs; [xdg-desktop-portal-wlr];
</p>
</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
of one's preferred graphical interface.
</p>
<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">
<span class="nocode pln">{nixos-configuration, <a href="nixos.html#1:5">5</a>}</span>
<span class="nocode pln">{kde-plasma-configuration, <a href="nixos.html#1:7">7</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:6">6</a>}</span>
</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>
<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
@ -536,23 +509,23 @@ is basically half done here.
</p>
<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">
({ 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-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:5">5</a>}</span>
})
</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>
<p>i'll copy over said file verbatim (excluding the pre-generated comment blurb at
the beginning of the file).
</p>
<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">
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
@ -585,7 +558,7 @@ hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistrib
</p>
<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">
system.stateVersion = "26.05"; # I didn't read the comment. :)
@ -596,7 +569,7 @@ networking.firewall.enable = true;
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = false;
</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>
@ -604,13 +577,13 @@ hardware.bluetooth.powerOnBoot = false;
</p>
</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
have some additional apps to boot.
</p>
<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">
({pkgs, ...}: {
services.displayManager.sddm.enable = true;
@ -621,35 +594,35 @@ have some additional apps to boot.
</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>
<blockquote><p> "Discover? Where we're going... we don't need Discover."
</p>
</blockquote>
<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">
environment.plasma6.excludePackages = [pkgs.kdePackages.discover];
})
</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>
<p>i've set some additional options in how i'd like SDDM to look for <code>phostron</code>
specifically.
</p>
<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">
services.displayManager.sddm.settings.Theme.Font = "Inter";
services.displayManager.sddm.settings.Theme.CursorSize = 18;
</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>
<p>(TODO: consider adding the <code>plasma-manager</code> flake module in the future?)
</p>
@ -657,7 +630,7 @@ services.displayManager.sddm.settings.Theme.CursorSize = 18;
</p>
</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>
<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>
<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">
({ 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 {
<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>
<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>
<p>let's get the user-specific NixOS options out of the way. basic user management
stuff and setting the default shell of choice.
</p>
<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">
USER_ID = 1000;
</pre>
@ -692,7 +665,7 @@ USER_ID = 1000;
</div>
<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">
users.users.coyote = {
isNormalUser = true;
@ -713,7 +686,7 @@ can't remember--i think i stole this from GitHub somewhere...<br><br>
</p>
<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">
KEY_FILE = "id_ed25519";
</pre>
@ -723,7 +696,7 @@ KEY_FILE = "id_ed25519";
</div>
<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">
environment.sessionVariables.SSH_AUTH_SOCK = "/run/user/${builtins.toString USER_ID}/ssh-agent";
@ -749,7 +722,7 @@ systemd.user.services.ssh-add-key = {
</p>
</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>
<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>
<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">
home-manager.nixosModules.home-manager
{
@ -766,25 +739,25 @@ home-manager.nixosModules.home-manager
home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.users.coyote.imports = [
({ 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>
<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>
<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.
</p>
<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">
<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 = {
<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>
@ -795,7 +768,7 @@ programs = {
</p>
<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">
home.stateVersion = "26.05"; # Nope, didn't read the comment either.
home.username = "coyote";
@ -810,7 +783,7 @@ home.shell.enableShellIntegration = true;
</p>
<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">
home.packages = with pkgs; [
# TUI
@ -841,11 +814,11 @@ bunch of others.
</p>
<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">
<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-vim, <a href="nixos.html#1:9">9</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-general, <a href="nixos.html#1:8">8</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:8">8</a>}</span>
</pre>
@ -856,7 +829,7 @@ LibreWolf profiles.)
</p>
<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">
tmux = {
enable = true;
@ -914,7 +887,7 @@ obs-studio.plugins = with pkgs.obs-studio-plugins; [
</p>
<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">
vim.enable = true;
vim.packageConfigurable = pkgs.unstable.vim-full;
@ -942,10 +915,10 @@ in
</p>
<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">
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>
@ -957,7 +930,7 @@ options,
</p>
<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">
set nocompatible
set encoding=utf-8
@ -1000,7 +973,7 @@ set smartcase
</p>
<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">
inoremap &lt;C-l&gt; λ
</pre>
@ -1012,7 +985,7 @@ inoremap &lt;C-l&gt; λ
</p>
<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">
set termguicolors
set background=dark
@ -1027,7 +1000,7 @@ let g:terminal_ansi_colors = ['#282828', '#cc241d', '#98971a', '#d79921', '#4585
</p>
<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">
let g:rainbow_active = 1
</pre>
@ -1045,7 +1018,7 @@ dotfiles generation into <code>~/.vim/after/ftplugin/</code>.<br><br>
</p>
<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">
home.file = let
mkVimAfterFtplugin = content: langs:
@ -1063,7 +1036,7 @@ mkVimAfterFtplugin = content: langs:
</p>
<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">
tab2Vim = ''
setlocal expandtab
@ -1105,7 +1078,7 @@ the <code>.vim</code> files get generated automatically!
</p>
<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">
in
lib.mkMerge [
@ -1127,7 +1100,7 @@ one of the preset settings but with a minified distro logo.
</p>
<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">
fastfetch.enable = true;
fastfetch.settings = {
@ -1165,13 +1138,13 @@ fastfetch.settings = {
</p>
</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
read below.
</p>
<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">
MIT License

View file

@ -4,21 +4,6 @@
@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
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)
yes, the lambda (λ) as a terminal prompt character absolutely counts towards
style points. (joke)
style points.
--- nixos-configuration-programs-contents
fish.enable = true;