flake update
both 26.05 and unstable :-o
This commit is contained in:
parent
114a027932
commit
730d59e64b
3 changed files with 92 additions and 134 deletions
12
flake.lock
generated
12
flake.lock
generated
|
|
@ -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": {
|
||||
|
|
|
|||
197
nixos.html
197
nixos.html
|
|
@ -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 <C-l> λ
|
||||
</pre>
|
||||
|
|
@ -1012,7 +985,7 @@ inoremap <C-l> λ
|
|||
</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
|
||||
|
||||
|
|
|
|||
17
nixos.lit
17
nixos.lit
|
|
@ -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;
|
||||
|
|
|
|||
Reference in a new issue