mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
feat: add temperature hwmon as module
This commit is contained in:
parent
414ff779b6
commit
e468436cce
8 changed files with 268 additions and 189 deletions
|
|
@ -2098,6 +2098,11 @@ My new main machine.
|
||||||
home-manager.users.swarsel.swarselsystems = {
|
home-manager.users.swarsel.swarselsystems = {
|
||||||
isLaptop = true;
|
isLaptop = true;
|
||||||
isNixos = true;
|
isNixos = true;
|
||||||
|
temperatureHwmon = {
|
||||||
|
isAbsolutePath = true;
|
||||||
|
path = "/sys/devices/platform/thinkpad_hwmon/hwmon/";
|
||||||
|
input-filename = "temp1_input";
|
||||||
|
};
|
||||||
monitors = {
|
monitors = {
|
||||||
main = {
|
main = {
|
||||||
name = "California Institute of Technology 0x1407 Unknown";
|
name = "California Institute of Technology 0x1407 Unknown";
|
||||||
|
|
@ -2257,15 +2262,6 @@ This is basically just adjusted to the core count, path to the =hwmon= (this was
|
||||||
{ config, pkgs, lib, ... }: with lib;
|
{ config, pkgs, lib, ... }: with lib;
|
||||||
{
|
{
|
||||||
|
|
||||||
# waybar config - TEMPLATE - update for cores and temp
|
|
||||||
programs.waybar.settings.mainBar = {
|
|
||||||
# temperature.hwmon-path = "/sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon4/temp1_input";
|
|
||||||
temperature.hwmon-path.abs = "/sys/devices/platform/thinkpad_hwmon/hwmon/";
|
|
||||||
temperature.input-filename = "temp1_input";
|
|
||||||
};
|
|
||||||
|
|
||||||
<<waybarlaptop>>
|
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
config = rec {
|
config = rec {
|
||||||
# update for actual inputs here,
|
# update for actual inputs here,
|
||||||
|
|
@ -4470,6 +4466,22 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
middle_emulation = "enabled";
|
middle_emulation = "enabled";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
config.swarselsystems.waybarModules = lib.mkIf config.swarselsystems.isLaptop [
|
||||||
|
"custom/outer-left-arrow-dark"
|
||||||
|
"mpris"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"group/hardware"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -4483,6 +4495,15 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
type = lib.types.int;
|
type = lib.types.int;
|
||||||
default = 8;
|
default = 8;
|
||||||
};
|
};
|
||||||
|
options.swarselsystems.temperatureHwmon.isAbsolutePath = lib.mkEnableOption "absolute temperature path";
|
||||||
|
options.swarselsystems.temperatureHwmon.path = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
options.swarselsystems.temperatureHwmon.input-filename = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -4501,6 +4522,26 @@ in
|
||||||
description = "The generated icons string for use by Waybar.";
|
description = "The generated icons string for use by Waybar.";
|
||||||
internal = true;
|
internal = true;
|
||||||
};
|
};
|
||||||
|
options.swarselsystems.waybarModules = lib.mkOption {
|
||||||
|
type = lib.types.listOf lib.types.str;
|
||||||
|
default = [
|
||||||
|
"custom/outer-left-arrow-dark"
|
||||||
|
"mpris"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"custom/pseudobat"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"group/hardware"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -6829,7 +6870,7 @@ The rest of this configuration is found here:
|
||||||
|
|
||||||
#+begin_src nix :tangle profiles/common/home/waybar.nix
|
#+begin_src nix :tangle profiles/common/home/waybar.nix
|
||||||
|
|
||||||
{ config, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
|
|
||||||
|
|
@ -6845,6 +6886,13 @@ The rest of this configuration is found here:
|
||||||
format = "<span style=\"italic\" font-weight=\"bold\">{}</span>";
|
format = "<span style=\"italic\" font-weight=\"bold\">{}</span>";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
modules-right = config.swarselsystems.waybarModules;
|
||||||
|
|
||||||
|
"custom/pseudobat" = lib.mkIf (!config.swarselsystems.isLaptop) {
|
||||||
|
format = "";
|
||||||
|
on-click-right = "wlogout -p layer-shell";
|
||||||
|
};
|
||||||
|
|
||||||
"custom/configwarn" = {
|
"custom/configwarn" = {
|
||||||
exec = "bash ~/.dotfiles/scripts/checkconfigstatus.sh";
|
exec = "bash ~/.dotfiles/scripts/checkconfigstatus.sh";
|
||||||
interval = 60;
|
interval = 60;
|
||||||
|
|
@ -6882,6 +6930,9 @@ The rest of this configuration is found here:
|
||||||
};
|
};
|
||||||
|
|
||||||
temperature = {
|
temperature = {
|
||||||
|
hwmon-path = lib.mkIf (!config.swarselsystems.temperatureHwmon.isAbsolutePath) config.swarselsystems.temperatureHwmon.path ;
|
||||||
|
hwmon-path-abs = lib.mkIf config.swarselsystems.temperatureHwmon.isAbsolutePath config.swarselsystems.temperatureHwmon.path ;
|
||||||
|
input-filename = lib.mkIf config.swarselsystems.temperatureHwmon.isAbsolutePath config.swarselsystems.temperatureHwmon.input-filename;
|
||||||
critical-threshold = 80;
|
critical-threshold = 80;
|
||||||
format-critical = " {temperatureC}°C";
|
format-critical = " {temperatureC}°C";
|
||||||
format = " {temperatureC}°C";
|
format = " {temperatureC}°C";
|
||||||
|
|
|
||||||
275
index.html
275
index.html
|
|
@ -3,7 +3,7 @@
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||||
<head>
|
<head>
|
||||||
<!-- 2024-07-24 Mi 20:15 -->
|
<!-- 2024-07-25 Do 15:13 -->
|
||||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<title>SwarselSystems: NixOS + Emacs Configuration</title>
|
<title>SwarselSystems: NixOS + Emacs Configuration</title>
|
||||||
|
|
@ -223,7 +223,7 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#h:8a411ee2-a58e-4b5b-99bd-4ba772f8f0a2">2.3.1. Inputs</a></li>
|
<li><a href="#h:8a411ee2-a58e-4b5b-99bd-4ba772f8f0a2">2.3.1. Inputs</a></li>
|
||||||
<li><a href="#h:df0072bc-853f-438f-bd85-bfc869501015">2.3.2. let</a></li>
|
<li><a href="#h:df0072bc-853f-438f-bd85-bfc869501015">2.3.2. let</a></li>
|
||||||
<li><a href="#org013dc00">2.3.3. General (outputs)</a></li>
|
<li><a href="#org7206b04">2.3.3. General (outputs)</a></li>
|
||||||
<li><a href="#h:9c9b9e3b-8771-44fa-ba9e-5056ae809655">2.3.4. nixosConfigurations</a></li>
|
<li><a href="#h:9c9b9e3b-8771-44fa-ba9e-5056ae809655">2.3.4. nixosConfigurations</a></li>
|
||||||
<li><a href="#h:f881aa05-a670-48dd-a57b-2916abdcb692">2.3.5. homeConfigurations</a></li>
|
<li><a href="#h:f881aa05-a670-48dd-a57b-2916abdcb692">2.3.5. homeConfigurations</a></li>
|
||||||
<li><a href="#h:5f6ef553-59f9-4239-b6f3-63d33b57f335">2.3.6. nixOnDroidConfigurations</a></li>
|
<li><a href="#h:5f6ef553-59f9-4239-b6f3-63d33b57f335">2.3.6. nixOnDroidConfigurations</a></li>
|
||||||
|
|
@ -241,11 +241,11 @@
|
||||||
<li><a href="#h:4dc59747-9598-4029-aa7d-92bf186d6c06">3.1.3. Virtual hosts</a></li>
|
<li><a href="#h:4dc59747-9598-4029-aa7d-92bf186d6c06">3.1.3. Virtual hosts</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#orgb2fc641">3.2. Overlays, packages, and modules</a>
|
<li><a href="#org01e96bc">3.2. Overlays, packages, and modules</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#org4fa151b">3.2.1. Packages</a></li>
|
<li><a href="#org3005a05">3.2.1. Packages</a></li>
|
||||||
<li><a href="#org50d51a5">3.2.2. Overlays</a></li>
|
<li><a href="#org465daff">3.2.2. Overlays</a></li>
|
||||||
<li><a href="#orgd5ae4b9">3.2.3. Modules</a></li>
|
<li><a href="#org6e2448e">3.2.3. Modules</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#h:1c1250cd-e9b4-4715-8d9f-eb09e64bfc7f">3.3. Common NixOS</a>
|
<li><a href="#h:1c1250cd-e9b4-4715-8d9f-eb09e64bfc7f">3.3. Common NixOS</a>
|
||||||
|
|
@ -253,7 +253,7 @@
|
||||||
<li><a href="#h:45e4315b-0929-4c47-b65a-c8f0a685f4df">3.3.1. Imports, enable home-manager module</a></li>
|
<li><a href="#h:45e4315b-0929-4c47-b65a-c8f0a685f4df">3.3.1. Imports, enable home-manager module</a></li>
|
||||||
<li><a href="#h:5a114da6-ef8d-404d-b31b-b51472908e77">3.3.2. General</a></li>
|
<li><a href="#h:5a114da6-ef8d-404d-b31b-b51472908e77">3.3.2. General</a></li>
|
||||||
<li><a href="#h:d87d80fd-2ac7-4f29-b338-0518d06b4deb">3.3.3. sops</a></li>
|
<li><a href="#h:d87d80fd-2ac7-4f29-b338-0518d06b4deb">3.3.3. sops</a></li>
|
||||||
<li><a href="#orga4d670b">3.3.4. Theme (stylix)</a></li>
|
<li><a href="#orgd1aacc7">3.3.4. Theme (stylix)</a></li>
|
||||||
<li><a href="#h:0e7e8bea-ec58-499c-9731-09dddfc39532">3.3.5. System Packages</a></li>
|
<li><a href="#h:0e7e8bea-ec58-499c-9731-09dddfc39532">3.3.5. System Packages</a></li>
|
||||||
<li><a href="#h:2bbf5f31-246d-4738-925f-eca40681f7b6">3.3.6. Programs (including zsh setup)</a></li>
|
<li><a href="#h:2bbf5f31-246d-4738-925f-eca40681f7b6">3.3.6. Programs (including zsh setup)</a></li>
|
||||||
<li><a href="#h:79f3258f-ed9d-434d-b50a-e58d57ade2a7">3.3.7. Services</a></li>
|
<li><a href="#h:79f3258f-ed9d-434d-b50a-e58d57ade2a7">3.3.7. Services</a></li>
|
||||||
|
|
@ -263,7 +263,7 @@
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#h:f0a6b5e0-2157-4522-b5e1-3f0abd91c05e">3.4. Common Home-Manager</a>
|
<li><a href="#h:f0a6b5e0-2157-4522-b5e1-3f0abd91c05e">3.4. Common Home-Manager</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#orgd53e977">3.4.1. Imports</a></li>
|
<li><a href="#org3243e56">3.4.1. Imports</a></li>
|
||||||
<li><a href="#h:893a7f33-7715-415b-a895-2687ded31c18">3.4.2. Installed packages</a></li>
|
<li><a href="#h:893a7f33-7715-415b-a895-2687ded31c18">3.4.2. Installed packages</a></li>
|
||||||
<li><a href="#h:d87d80fd-2ac7-4f29-b338-0518d06b4deb">3.4.3. sops</a></li>
|
<li><a href="#h:d87d80fd-2ac7-4f29-b338-0518d06b4deb">3.4.3. sops</a></li>
|
||||||
<li><a href="#h:edd6720e-1f90-40bf-b6f9-30a19d4cae08">3.4.4. SSH Machines</a></li>
|
<li><a href="#h:edd6720e-1f90-40bf-b6f9-30a19d4cae08">3.4.4. SSH Machines</a></li>
|
||||||
|
|
@ -272,7 +272,7 @@
|
||||||
<li><a href="#h:5ef03803-e150-41bc-b603-e80d60d96efc">3.4.7. Linking dotfiles</a></li>
|
<li><a href="#h:5ef03803-e150-41bc-b603-e80d60d96efc">3.4.7. Linking dotfiles</a></li>
|
||||||
<li><a href="#h:4486b02f-4fb8-432b-bfa2-2e786206341d">3.4.8. Sourcing environment variables</a></li>
|
<li><a href="#h:4486b02f-4fb8-432b-bfa2-2e786206341d">3.4.8. Sourcing environment variables</a></li>
|
||||||
<li><a href="#h:070a75ce-e209-4cda-aa25-e979bbf75d47">3.4.9. Programs</a></li>
|
<li><a href="#h:070a75ce-e209-4cda-aa25-e979bbf75d47">3.4.9. Programs</a></li>
|
||||||
<li><a href="#orgfa5fcac">3.4.10. nix-index</a></li>
|
<li><a href="#org53eed6c">3.4.10. nix-index</a></li>
|
||||||
<li><a href="#h:ac0e5e62-0dbf-4782-9a96-9e558eae86ae">3.4.11. password-store</a></li>
|
<li><a href="#h:ac0e5e62-0dbf-4782-9a96-9e558eae86ae">3.4.11. password-store</a></li>
|
||||||
<li><a href="#h:1ab84307-b3fb-4c32-9def-4b89a53a8547">3.4.12. direnv</a></li>
|
<li><a href="#h:1ab84307-b3fb-4c32-9def-4b89a53a8547">3.4.12. direnv</a></li>
|
||||||
<li><a href="#h:1bd6b0c7-f201-43e2-9624-6c50de00a1f6">3.4.13. eza</a></li>
|
<li><a href="#h:1bd6b0c7-f201-43e2-9624-6c50de00a1f6">3.4.13. eza</a></li>
|
||||||
|
|
@ -287,6 +287,7 @@
|
||||||
<li><a href="#h:fbec0bd4-690b-4f79-8b2b-a40263760a96">3.4.22. Firefox</a></li>
|
<li><a href="#h:fbec0bd4-690b-4f79-8b2b-a40263760a96">3.4.22. Firefox</a></li>
|
||||||
<li><a href="#h:387c3a82-1fb1-4c0f-8051-874e2acb8804">3.4.23. Services</a></li>
|
<li><a href="#h:387c3a82-1fb1-4c0f-8051-874e2acb8804">3.4.23. Services</a></li>
|
||||||
<li><a href="#h:02df9dfc-d1af-4a37-a7a0-d8da0af96a20">3.4.24. Sway</a></li>
|
<li><a href="#h:02df9dfc-d1af-4a37-a7a0-d8da0af96a20">3.4.24. Sway</a></li>
|
||||||
|
<li><a href="#org9aea842">3.4.25. gpg-agent</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#h:aee5ec75-7ca6-40d8-b6ac-a3e7e33a474b">3.5. flake.nix template</a>
|
<li><a href="#h:aee5ec75-7ca6-40d8-b6ac-a3e7e33a474b">3.5. flake.nix template</a>
|
||||||
|
|
@ -339,7 +340,7 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#h:99544398-72af-4382-b8e1-01b2221baff4">4.4.1. Org Mode</a></li>
|
<li><a href="#h:99544398-72af-4382-b8e1-01b2221baff4">4.4.1. Org Mode</a></li>
|
||||||
<li><a href="#h:406c2ecc-0e3e-4d9f-9ae3-3eb1f8b87d1b">4.4.2. Nix Mode</a></li>
|
<li><a href="#h:406c2ecc-0e3e-4d9f-9ae3-3eb1f8b87d1b">4.4.2. Nix Mode</a></li>
|
||||||
<li><a href="#org3ad700c">4.4.3. nixpkgs-fmt</a></li>
|
<li><a href="#org87ac3f4">4.4.3. nixpkgs-fmt</a></li>
|
||||||
<li><a href="#h:50327461-a11b-4e81-830a-90febc720cfa">4.4.4. Markdown Mode</a></li>
|
<li><a href="#h:50327461-a11b-4e81-830a-90febc720cfa">4.4.4. Markdown Mode</a></li>
|
||||||
<li><a href="#h:65e69741-9860-4ed0-bbed-7b7be9a2a9d6">4.4.5. Olivetti</a></li>
|
<li><a href="#h:65e69741-9860-4ed0-bbed-7b7be9a2a9d6">4.4.5. Olivetti</a></li>
|
||||||
<li><a href="#h:94d4a0dc-b0d7-4702-b760-beeaa6da2b8f">4.4.6. darkroom</a></li>
|
<li><a href="#h:94d4a0dc-b0d7-4702-b760-beeaa6da2b8f">4.4.6. darkroom</a></li>
|
||||||
|
|
@ -399,7 +400,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
<b>This file has 42479 words spanning 11466 lines and was last revised on 2024-07-24 20:15:51 +0200.</b>
|
<b>This file has 42658 words spanning 11524 lines and was last revised on 2024-07-25 15:13:17 +0200.</b>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|
@ -449,7 +450,7 @@ This section defines my Emacs configuration. For a while, I considered to use ry
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2024-07-24 20:15:51 +0200)
|
My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2024-07-25 15:13:17 +0200)
|
||||||
</p></li>
|
</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
@ -715,18 +716,6 @@ I also enable the extra socket here for ssh agent forwarding. But I have not ful
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">
|
<pre class="src src-nix">
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSshSupport = true;
|
|
||||||
enableExtraSocket = true;
|
|
||||||
pinentryPackage = pkgs.pinentry.gtk2;
|
|
||||||
defaultCacheTtl = 600;
|
|
||||||
maxCacheTtl = 7200;
|
|
||||||
extraConfig = ''
|
|
||||||
allow-loopback-pinentry
|
|
||||||
allow-emacs-pinentry
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1071,8 +1060,8 @@ mixedModules = [
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org013dc00" class="outline-4">
|
<div id="outline-container-org7206b04" class="outline-4">
|
||||||
<h4 id="org013dc00"><span class="section-number-4">2.3.3.</span> General (outputs)</h4>
|
<h4 id="org7206b04"><span class="section-number-4">2.3.3.</span> General (outputs)</h4>
|
||||||
<div class="outline-text-4" id="text-2-3-3">
|
<div class="outline-text-4" id="text-2-3-3">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">
|
<pre class="src src-nix">
|
||||||
|
|
@ -1474,18 +1463,6 @@ No matter what you do, check the initial /etc/nixos/configuration.nix for notabl
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSshSupport = true;
|
|
||||||
enableExtraSocket = true;
|
|
||||||
pinentryPackage = pkgs.pinentry.gtk2;
|
|
||||||
defaultCacheTtl = 600;
|
|
||||||
maxCacheTtl = 7200;
|
|
||||||
extraConfig = ''
|
|
||||||
allow-loopback-pinentry
|
|
||||||
allow-emacs-pinentry
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
username = "TEMPLATE";
|
username = "TEMPLATE";
|
||||||
|
|
@ -2463,7 +2440,7 @@ in
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="org675821e"></a>Home-manager only<br />
|
<li><a id="orgac39b9e"></a>Home-manager only<br />
|
||||||
<ol class="org-ol">
|
<ol class="org-ol">
|
||||||
<li><a id="h:483a26b5-5a40-4417-9ffb-67cc2cf07161"></a>Home manager<br />
|
<li><a id="h:483a26b5-5a40-4417-9ffb-67cc2cf07161"></a>Home manager<br />
|
||||||
<div class="outline-text-6" id="text-h:483a26b5-5a40-4417-9ffb-67cc2cf07161">
|
<div class="outline-text-6" id="text-h:483a26b5-5a40-4417-9ffb-67cc2cf07161">
|
||||||
|
|
@ -2749,18 +2726,6 @@ New setup for the SP3, this time using NixOS - another machine will take over th
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSshSupport = true;
|
|
||||||
enableExtraSocket = true;
|
|
||||||
pinentryPackage = pkgs.pinentry.gtk2;
|
|
||||||
defaultCacheTtl = 600;
|
|
||||||
maxCacheTtl = 7200;
|
|
||||||
extraConfig = ''
|
|
||||||
allow-loopback-pinentry
|
|
||||||
allow-emacs-pinentry
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
|
|
@ -2902,6 +2867,11 @@ My new main machine.
|
||||||
home-manager.users.swarsel.swarselsystems = {
|
home-manager.users.swarsel.swarselsystems = {
|
||||||
isLaptop = true;
|
isLaptop = true;
|
||||||
isNixos = true;
|
isNixos = true;
|
||||||
|
temperatureHwmon = {
|
||||||
|
isAbsolutePath = true;
|
||||||
|
path = "/sys/devices/platform/thinkpad_hwmon/hwmon/";
|
||||||
|
input-filename = "temp1_input";
|
||||||
|
};
|
||||||
monitors = {
|
monitors = {
|
||||||
main = {
|
main = {
|
||||||
name = "California Institute of Technology 0x1407 Unknown";
|
name = "California Institute of Technology 0x1407 Unknown";
|
||||||
|
|
@ -2958,7 +2928,6 @@ Mostly just sets some opened ports for several games, enables virtualbox (which
|
||||||
# kernelPackages = pkgs.linuxPackages_latest;
|
# kernelPackages = pkgs.linuxPackages_latest;
|
||||||
};
|
};
|
||||||
|
|
||||||
sops.age.sshKeyPaths = [ "${config.users.users.swarsel.home}/.ssh/sops" ];
|
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "fourside"; # Define your hostname.
|
hostName = "fourside"; # Define your hostname.
|
||||||
|
|
@ -3064,49 +3033,6 @@ This is basically just adjusted to the core count, path to the <code>hwmon</code
|
||||||
<pre class="src src-nix">{ config, pkgs, lib, ... }: with lib;
|
<pre class="src src-nix">{ config, pkgs, lib, ... }: with lib;
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSshSupport = true;
|
|
||||||
enableExtraSocket = true;
|
|
||||||
pinentryPackage = pkgs.pinentry.gtk2;
|
|
||||||
defaultCacheTtl = 600;
|
|
||||||
maxCacheTtl = 7200;
|
|
||||||
extraConfig = ''
|
|
||||||
allow-loopback-pinentry
|
|
||||||
allow-emacs-pinentry
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
sops.age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/sops" ];
|
|
||||||
|
|
||||||
# waybar config - TEMPLATE - update for cores and temp
|
|
||||||
programs.waybar.settings.mainBar = {
|
|
||||||
# temperature.hwmon-path = "/sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon4/temp1_input";
|
|
||||||
temperature.hwmon-path.abs = "/sys/devices/platform/thinkpad_hwmon/hwmon/";
|
|
||||||
temperature.input-filename = "temp1_input";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
programs.waybar.settings.mainBar.modules-right = [
|
|
||||||
"custom/outer-left-arrow-dark"
|
|
||||||
"mpris"
|
|
||||||
"custom/left-arrow-light"
|
|
||||||
"network"
|
|
||||||
"custom/left-arrow-dark"
|
|
||||||
"pulseaudio"
|
|
||||||
"custom/left-arrow-light"
|
|
||||||
"custom/pseudobat"
|
|
||||||
"battery"
|
|
||||||
"custom/left-arrow-dark"
|
|
||||||
"group/hardware"
|
|
||||||
"custom/left-arrow-light"
|
|
||||||
"clock#2"
|
|
||||||
"custom/left-arrow-dark"
|
|
||||||
"clock#1"
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
config = rec {
|
config = rec {
|
||||||
# update for actual inputs here,
|
# update for actual inputs here,
|
||||||
|
|
@ -3320,18 +3246,6 @@ TODO: Adjust <code>hwmon</code> path, I/O modules and XF86 keys once laptop arri
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSshSupport = true;
|
|
||||||
enableExtraSocket = true;
|
|
||||||
pinentryPackage = pkgs.pinentry.gtk2;
|
|
||||||
defaultCacheTtl = 600;
|
|
||||||
maxCacheTtl = 7200;
|
|
||||||
extraConfig = ''
|
|
||||||
allow-loopback-pinentry
|
|
||||||
allow-emacs-pinentry
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
username = "swarsel";
|
username = "swarsel";
|
||||||
|
|
@ -5536,8 +5450,8 @@ in
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgb2fc641" class="outline-3">
|
<div id="outline-container-org01e96bc" class="outline-3">
|
||||||
<h3 id="orgb2fc641"><span class="section-number-3">3.2.</span> Overlays, packages, and modules</h3>
|
<h3 id="org01e96bc"><span class="section-number-3">3.2.</span> Overlays, packages, and modules</h3>
|
||||||
<div class="outline-text-3" id="text-3-2">
|
<div class="outline-text-3" id="text-3-2">
|
||||||
<p>
|
<p>
|
||||||
In this section I define packages that I manually want to nixpkgs. This can be useful for packages that are currently awaiting a PR or public packages that I do not want to maintain.
|
In this section I define packages that I manually want to nixpkgs. This can be useful for packages that are currently awaiting a PR or public packages that I do not want to maintain.
|
||||||
|
|
@ -5556,8 +5470,8 @@ These are for packages that are on nixpkgs, but do not fit my usecase, meaning I
|
||||||
This is simply a mirror of the most recent stable branch of nixpkgs. Useful for packages that are broken on nixpkgs, but do not need to be on bleeding edge anyways.</li>
|
This is simply a mirror of the most recent stable branch of nixpkgs. Useful for packages that are broken on nixpkgs, but do not need to be on bleeding edge anyways.</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org4fa151b" class="outline-4">
|
<div id="outline-container-org3005a05" class="outline-4">
|
||||||
<h4 id="org4fa151b"><span class="section-number-4">3.2.1.</span> Packages</h4>
|
<h4 id="org3005a05"><span class="section-number-4">3.2.1.</span> Packages</h4>
|
||||||
<div class="outline-text-4" id="text-3-2-1">
|
<div class="outline-text-4" id="text-3-2-1">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">
|
<pre class="src src-nix">
|
||||||
|
|
@ -5567,8 +5481,8 @@ _ : rec { }
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org50d51a5" class="outline-4">
|
<div id="outline-container-org465daff" class="outline-4">
|
||||||
<h4 id="org50d51a5"><span class="section-number-4">3.2.2.</span> Overlays</h4>
|
<h4 id="org465daff"><span class="section-number-4">3.2.2.</span> Overlays</h4>
|
||||||
<div class="outline-text-4" id="text-3-2-2">
|
<div class="outline-text-4" id="text-3-2-2">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">
|
<pre class="src src-nix">
|
||||||
|
|
@ -5601,15 +5515,15 @@ _ : rec { }
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgd5ae4b9" class="outline-4">
|
<div id="outline-container-org6e2448e" class="outline-4">
|
||||||
<h4 id="orgd5ae4b9"><span class="section-number-4">3.2.3.</span> Modules</h4>
|
<h4 id="org6e2448e"><span class="section-number-4">3.2.3.</span> Modules</h4>
|
||||||
<div class="outline-text-4" id="text-3-2-3">
|
<div class="outline-text-4" id="text-3-2-3">
|
||||||
<p>
|
<p>
|
||||||
In this section I define custom modules under the <code>swarsel</code> attribute. These are mostly used to define settings specific to a host. I keep these settings confined to either home-manager or nixos to maintain compatibility with non-NixOS machines.
|
In this section I define custom modules under the <code>swarsel</code> attribute. These are mostly used to define settings specific to a host. I keep these settings confined to either home-manager or nixos to maintain compatibility with non-NixOS machines.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<ol class="org-ol">
|
<ol class="org-ol">
|
||||||
<li><a id="orgfd4a627"></a>NixOS<br />
|
<li><a id="orgc558f7c"></a>NixOS<br />
|
||||||
<div class="outline-text-5" id="text-3-2-3-1">
|
<div class="outline-text-5" id="text-3-2-3-1">
|
||||||
<p>
|
<p>
|
||||||
Modules that need to be loaded on the NixOS level. Note that these will not be available on systems that are not running NixOS
|
Modules that need to be loaded on the NixOS level. Note that these will not be available on systems that are not running NixOS
|
||||||
|
|
@ -5623,7 +5537,7 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="org9fff1fc"></a>home-manager<br />
|
<li><a id="org980cd9f"></a>home-manager<br />
|
||||||
<div class="outline-text-5" id="text-3-2-3-2">
|
<div class="outline-text-5" id="text-3-2-3-2">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">{
|
<pre class="src src-nix">{
|
||||||
|
|
@ -5639,7 +5553,7 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ol class="org-ol">
|
<ol class="org-ol">
|
||||||
<li><a id="orgee6c692"></a>Laptop<br />
|
<li><a id="org72f0b54"></a>Laptop<br />
|
||||||
<div class="outline-text-6" id="text-3-2-3-2-1">
|
<div class="outline-text-6" id="text-3-2-3-2-1">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">{ lib, config, ... }:
|
<pre class="src src-nix">{ lib, config, ... }:
|
||||||
|
|
@ -5653,12 +5567,28 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
middle_emulation = "enabled";
|
middle_emulation = "enabled";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
config.swarselsystems.waybarModules = lib.mkIf config.swarselsystems.isLaptop [
|
||||||
|
"custom/outer-left-arrow-dark"
|
||||||
|
"mpris"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"group/hardware"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="orgab64810"></a>Hardware<br />
|
<li><a id="org6193a40"></a>Hardware<br />
|
||||||
<div class="outline-text-6" id="text-3-2-3-2-2">
|
<div class="outline-text-6" id="text-3-2-3-2-2">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">{ lib, ... }:
|
<pre class="src src-nix">{ lib, ... }:
|
||||||
|
|
@ -5668,12 +5598,21 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
type = lib.types.int;
|
type = lib.types.int;
|
||||||
default = 8;
|
default = 8;
|
||||||
};
|
};
|
||||||
|
options.swarselsystems.temperatureHwmon.isAbsolutePath = lib.mkEnableOption "absolute temperature path";
|
||||||
|
options.swarselsystems.temperatureHwmon.path = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
options.swarselsystems.temperatureHwmon.input-filename = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="org51a27e6"></a>Waybar<br />
|
<li><a id="org51e8747"></a>Waybar<br />
|
||||||
<div class="outline-text-6" id="text-3-2-3-2-3">
|
<div class="outline-text-6" id="text-3-2-3-2-3">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix"> { lib, config, ... }:
|
<pre class="src src-nix"> { lib, config, ... }:
|
||||||
|
|
@ -5688,12 +5627,32 @@ in
|
||||||
description = "The generated icons string for use by Waybar.";
|
description = "The generated icons string for use by Waybar.";
|
||||||
internal = true;
|
internal = true;
|
||||||
};
|
};
|
||||||
|
options.swarselsystems.waybarModules = lib.mkOption {
|
||||||
|
type = lib.types.listOf lib.types.str;
|
||||||
|
default = [
|
||||||
|
"custom/outer-left-arrow-dark"
|
||||||
|
"mpris"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"custom/pseudobat"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"group/hardware"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="orgfa63069"></a>Monitors<br />
|
<li><a id="org9f2b34f"></a>Monitors<br />
|
||||||
<div class="outline-text-6" id="text-3-2-3-2-4">
|
<div class="outline-text-6" id="text-3-2-3-2-4">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">{ lib, config, ... }:
|
<pre class="src src-nix">{ lib, config, ... }:
|
||||||
|
|
@ -5710,7 +5669,7 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="org4cc013e"></a>Input<br />
|
<li><a id="org23cd7cb"></a>Input<br />
|
||||||
<div class="outline-text-6" id="text-3-2-3-2-5">
|
<div class="outline-text-6" id="text-3-2-3-2-5">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">{ lib, config, ... }:
|
<pre class="src src-nix">{ lib, config, ... }:
|
||||||
|
|
@ -5746,7 +5705,7 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="orgbc312da"></a>Nixos<br />
|
<li><a id="orgde02c7b"></a>Nixos<br />
|
||||||
<div class="outline-text-6" id="text-3-2-3-2-6">
|
<div class="outline-text-6" id="text-3-2-3-2-6">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">{ lib, config, ... }:
|
<pre class="src src-nix">{ lib, config, ... }:
|
||||||
|
|
@ -5768,7 +5727,7 @@ in
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="orgaf02f27"></a>System startup<br />
|
<li><a id="org232f993"></a>System startup<br />
|
||||||
<div class="outline-text-6" id="text-3-2-3-2-7">
|
<div class="outline-text-6" id="text-3-2-3-2-7">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">{ lib, config, ... }:
|
<pre class="src src-nix">{ lib, config, ... }:
|
||||||
|
|
@ -6311,6 +6270,7 @@ I use sops-nix to handle secrets that I want to have available on my machines at
|
||||||
{
|
{
|
||||||
sops = {
|
sops = {
|
||||||
|
|
||||||
|
age.sshKeyPaths = [ "${config.users.users.swarsel.home}/.ssh/sops" ];
|
||||||
defaultSopsFile = "${config.users.users.swarsel.home}/.dotfiles/secrets/general/secrets.yaml";
|
defaultSopsFile = "${config.users.users.swarsel.home}/.dotfiles/secrets/general/secrets.yaml";
|
||||||
validateSopsFiles = false;
|
validateSopsFiles = false;
|
||||||
|
|
||||||
|
|
@ -6343,8 +6303,8 @@ I use sops-nix to handle secrets that I want to have available on my machines at
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orga4d670b" class="outline-4">
|
<div id="outline-container-orgd1aacc7" class="outline-4">
|
||||||
<h4 id="orga4d670b"><span class="section-number-4">3.3.4.</span> Theme (stylix)</h4>
|
<h4 id="orgd1aacc7"><span class="section-number-4">3.3.4.</span> Theme (stylix)</h4>
|
||||||
<div class="outline-text-4" id="text-3-3-4">
|
<div class="outline-text-4" id="text-3-3-4">
|
||||||
<p>
|
<p>
|
||||||
By default, <a href="https://github.com/danth/stylix">stylix</a> wants to style GRUB as well. However, I think that looks horrible.
|
By default, <a href="https://github.com/danth/stylix">stylix</a> wants to style GRUB as well. However, I think that looks horrible.
|
||||||
|
|
@ -6526,7 +6486,7 @@ Some programs profit from being installed through dedicated NixOS settings on sy
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ol class="org-ol">
|
<ol class="org-ol">
|
||||||
<li><a id="org5acfafd"></a>zsh<br />
|
<li><a id="org469da79"></a>zsh<br />
|
||||||
<div class="outline-text-5" id="text-3-3-6-1">
|
<div class="outline-text-5" id="text-3-3-6-1">
|
||||||
<p>
|
<p>
|
||||||
Do not touch this.
|
Do not touch this.
|
||||||
|
|
@ -6544,7 +6504,7 @@ Do not touch this.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="org0cffac2"></a>syncthing<br />
|
<li><a id="org359251a"></a>syncthing<br />
|
||||||
<div class="outline-text-5" id="text-3-3-6-2">
|
<div class="outline-text-5" id="text-3-3-6-2">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">
|
<pre class="src src-nix">
|
||||||
|
|
@ -6622,7 +6582,7 @@ Enables the blueman service including the nice system tray icon.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="orgb2c4f50"></a>Network devices<br />
|
<li><a id="orgea77292"></a>Network devices<br />
|
||||||
<div class="outline-text-5" id="text-3-3-7-2">
|
<div class="outline-text-5" id="text-3-3-7-2">
|
||||||
<p>
|
<p>
|
||||||
In this section we enable compatibility with several network devices I have at home, mainly printers and scanners.
|
In this section we enable compatibility with several network devices I have at home, mainly printers and scanners.
|
||||||
|
|
@ -6674,7 +6634,7 @@ services.printing = {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="org11c528f"></a>Avahi (device discovery)<br />
|
<li><a id="orgd07deca"></a>Avahi (device discovery)<br />
|
||||||
<div class="outline-text-6" id="text-3-3-7-2-3">
|
<div class="outline-text-6" id="text-3-3-7-2-3">
|
||||||
<p>
|
<p>
|
||||||
Avahi is the service used for the network discovery.
|
Avahi is the service used for the network discovery.
|
||||||
|
|
@ -6828,8 +6788,8 @@ This section houses the greetd related settings. I do not really want to use a d
|
||||||
<h3 id="h:f0a6b5e0-2157-4522-b5e1-3f0abd91c05e"><span class="section-number-3">3.4.</span> Common Home-Manager</h3>
|
<h3 id="h:f0a6b5e0-2157-4522-b5e1-3f0abd91c05e"><span class="section-number-3">3.4.</span> Common Home-Manager</h3>
|
||||||
<div class="outline-text-3" id="text-h:f0a6b5e0-2157-4522-b5e1-3f0abd91c05e">
|
<div class="outline-text-3" id="text-h:f0a6b5e0-2157-4522-b5e1-3f0abd91c05e">
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgd53e977" class="outline-4">
|
<div id="outline-container-org3243e56" class="outline-4">
|
||||||
<h4 id="orgd53e977"><span class="section-number-4">3.4.1.</span> Imports</h4>
|
<h4 id="org3243e56"><span class="section-number-4">3.4.1.</span> Imports</h4>
|
||||||
<div class="outline-text-4" id="text-3-4-1">
|
<div class="outline-text-4" id="text-3-4-1">
|
||||||
<p>
|
<p>
|
||||||
This section sets up all the imports that are used in the home-manager section.
|
This section sets up all the imports that are used in the home-manager section.
|
||||||
|
|
@ -6864,6 +6824,7 @@ This section sets up all the imports that are used in the home-manager section.
|
||||||
./kdeconnect.nix
|
./kdeconnect.nix
|
||||||
./mako.nix
|
./mako.nix
|
||||||
./sway.nix
|
./sway.nix
|
||||||
|
./gpg-agent.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
|
@ -7268,6 +7229,7 @@ Since we are using the home-manager implementation here, we need to specify the
|
||||||
<pre class="src src-nix"> { config, ... }:
|
<pre class="src src-nix"> { config, ... }:
|
||||||
{
|
{
|
||||||
sops = {
|
sops = {
|
||||||
|
age.sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/sops" ];
|
||||||
defaultSopsFile = "${config.home.homeDirectory}/.dotfiles/secrets/general/secrets.yaml";
|
defaultSopsFile = "${config.home.homeDirectory}/.dotfiles/secrets/general/secrets.yaml";
|
||||||
validateSopsFiles = false;
|
validateSopsFiles = false;
|
||||||
secrets = {
|
secrets = {
|
||||||
|
|
@ -7637,8 +7599,8 @@ This section is for programs that require no further configuration. zsh Integrat
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-orgfa5fcac" class="outline-4">
|
<div id="outline-container-org53eed6c" class="outline-4">
|
||||||
<h4 id="orgfa5fcac"><span class="section-number-4">3.4.10.</span> nix-index</h4>
|
<h4 id="org53eed6c"><span class="section-number-4">3.4.10.</span> nix-index</h4>
|
||||||
<div class="outline-text-4" id="text-3-4-10">
|
<div class="outline-text-4" id="text-3-4-10">
|
||||||
<p>
|
<p>
|
||||||
nix-index provides a way to find out which packages are provided by which derivations. By default it also comes with a replacement for <code>command-not-found.sh</code>, however, the implementation is based on a channel based setup. I like consistency, so I replace the command with one that provides a flakes-based output.
|
nix-index provides a way to find out which packages are provided by which derivations. By default it also comes with a replacement for <code>command-not-found.sh</code>, however, the implementation is based on a channel based setup. I like consistency, so I replace the command with one that provides a flakes-based output.
|
||||||
|
|
@ -8257,7 +8219,7 @@ The rest of this configuration is found here:
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-nix">
|
<pre class="src src-nix">
|
||||||
{ config, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
|
|
||||||
|
|
@ -8273,6 +8235,13 @@ programs.waybar = {
|
||||||
format = "<span style=\"italic\" font-weight=\"bold\">{}</span>";
|
format = "<span style=\"italic\" font-weight=\"bold\">{}</span>";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
modules-right = config.swarselsystems.waybarModules;
|
||||||
|
|
||||||
|
"custom/pseudobat" = lib.mkIf (!config.swarselsystems.isLaptop) {
|
||||||
|
format = "";
|
||||||
|
on-click-right = "wlogout -p layer-shell";
|
||||||
|
};
|
||||||
|
|
||||||
"custom/configwarn" = {
|
"custom/configwarn" = {
|
||||||
exec = "bash ~/.dotfiles/scripts/checkconfigstatus.sh";
|
exec = "bash ~/.dotfiles/scripts/checkconfigstatus.sh";
|
||||||
interval = 60;
|
interval = 60;
|
||||||
|
|
@ -8310,6 +8279,9 @@ programs.waybar = {
|
||||||
};
|
};
|
||||||
|
|
||||||
temperature = {
|
temperature = {
|
||||||
|
hwmon-path = lib.mkIf (!config.swarselsystems.temperatureHwmon.isAbsolutePath) config.swarselsystems.temperatureHwmon.path ;
|
||||||
|
hwmon-path-abs = lib.mkIf config.swarselsystems.temperatureHwmon.isAbsolutePath config.swarselsystems.temperatureHwmon.path ;
|
||||||
|
input-filename = lib.mkIf config.swarselsystems.temperatureHwmon.isAbsolutePath config.swarselsystems.temperatureHwmon.input-filename;
|
||||||
critical-threshold = 80;
|
critical-threshold = 80;
|
||||||
format-critical = " {temperatureC}°C";
|
format-critical = " {temperatureC}°C";
|
||||||
format = " {temperatureC}°C";
|
format = " {temperatureC}°C";
|
||||||
|
|
@ -8969,6 +8941,29 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="outline-container-org9aea842" class="outline-4">
|
||||||
|
<h4 id="org9aea842"><span class="section-number-4">3.4.25.</span> gpg-agent</h4>
|
||||||
|
<div class="outline-text-4" id="text-3-4-25">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-nix">{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSshSupport = true;
|
||||||
|
enableExtraSocket = true;
|
||||||
|
pinentryPackage = pkgs.pinentry.gtk2;
|
||||||
|
defaultCacheTtl = 600;
|
||||||
|
maxCacheTtl = 7200;
|
||||||
|
extraConfig = ''
|
||||||
|
allow-loopback-pinentry
|
||||||
|
allow-emacs-pinentry
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-h:aee5ec75-7ca6-40d8-b6ac-a3e7e33a474b" class="outline-3">
|
<div id="outline-container-h:aee5ec75-7ca6-40d8-b6ac-a3e7e33a474b" class="outline-3">
|
||||||
<h3 id="h:aee5ec75-7ca6-40d8-b6ac-a3e7e33a474b"><span class="section-number-3">3.5.</span> flake.nix template</h3>
|
<h3 id="h:aee5ec75-7ca6-40d8-b6ac-a3e7e33a474b"><span class="section-number-3">3.5.</span> flake.nix template</h3>
|
||||||
|
|
@ -9982,7 +9977,7 @@ The standard Emacs behaviour for the Python process shell is a bit annoying. Thi
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="orgaf8afe3"></a>Nix common prefix bracketer<br />
|
<li><a id="org687bcdb"></a>Nix common prefix bracketer<br />
|
||||||
<div class="outline-text-5" id="text-4-2-1-15">
|
<div class="outline-text-5" id="text-4-2-1-15">
|
||||||
<p>
|
<p>
|
||||||
This function searches for common delimiters in region and removes them, summarizing all captured lines by it.
|
This function searches for common delimiters in region and removes them, summarizing all captured lines by it.
|
||||||
|
|
@ -10015,7 +10010,7 @@ This function searches for common delimiters in region and removes them, summari
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li><a id="org46226b9"></a>Nix formatters<br />
|
<li><a id="org1cc1a9f"></a>Nix formatters<br />
|
||||||
<div class="outline-text-5" id="text-4-2-1-16">
|
<div class="outline-text-5" id="text-4-2-1-16">
|
||||||
<p>
|
<p>
|
||||||
This formats the org code block at <code>point</code> in accordance to the <code>nixpkgs-fmt</code> formatter
|
This formats the org code block at <code>point</code> in accordance to the <code>nixpkgs-fmt</code> formatter
|
||||||
|
|
@ -11588,8 +11583,8 @@ This adds a rudimentary nix-mode to Emacs. I have not really tried this out, as
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="outline-container-org3ad700c" class="outline-4">
|
<div id="outline-container-org87ac3f4" class="outline-4">
|
||||||
<h4 id="org3ad700c"><span class="section-number-4">4.4.3.</span> nixpkgs-fmt</h4>
|
<h4 id="org87ac3f4"><span class="section-number-4">4.4.3.</span> nixpkgs-fmt</h4>
|
||||||
<div class="outline-text-4" id="text-4-4-3">
|
<div class="outline-text-4" id="text-4-4-3">
|
||||||
<p>
|
<p>
|
||||||
Adds functions for formatting nix code.
|
Adds functions for formatting nix code.
|
||||||
|
|
@ -13604,7 +13599,7 @@ My laptop, sadly soon to be replaced by a new one, since most basic functions ar
|
||||||
</div>
|
</div>
|
||||||
<div id="postamble" class="status">
|
<div id="postamble" class="status">
|
||||||
<p class="author">Author: Leon Schwarzäugl</p>
|
<p class="author">Author: Leon Schwarzäugl</p>
|
||||||
<p class="date">Created: 2024-07-24 Mi 20:15</p>
|
<p class="date">Created: 2024-07-25 Do 15:13</p>
|
||||||
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
|
|
@ -5,4 +5,13 @@
|
||||||
type = lib.types.int;
|
type = lib.types.int;
|
||||||
default = 8;
|
default = 8;
|
||||||
};
|
};
|
||||||
|
options.swarselsystems.temperatureHwmon.isAbsolutePath = lib.mkEnableOption "absolute temperature path";
|
||||||
|
options.swarselsystems.temperatureHwmon.path = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
options.swarselsystems.temperatureHwmon.input-filename = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,4 +9,20 @@
|
||||||
middle_emulation = "enabled";
|
middle_emulation = "enabled";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
config.swarselsystems.waybarModules = lib.mkIf config.swarselsystems.isLaptop [
|
||||||
|
"custom/outer-left-arrow-dark"
|
||||||
|
"mpris"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"group/hardware"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,4 +10,24 @@ in
|
||||||
description = "The generated icons string for use by Waybar.";
|
description = "The generated icons string for use by Waybar.";
|
||||||
internal = true;
|
internal = true;
|
||||||
};
|
};
|
||||||
|
options.swarselsystems.waybarModules = lib.mkOption {
|
||||||
|
type = lib.types.listOf lib.types.str;
|
||||||
|
default = [
|
||||||
|
"custom/outer-left-arrow-dark"
|
||||||
|
"mpris"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"network"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"custom/pseudobat"
|
||||||
|
"battery"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"group/hardware"
|
||||||
|
"custom/left-arrow-light"
|
||||||
|
"clock#2"
|
||||||
|
"custom/left-arrow-dark"
|
||||||
|
"clock#1"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
|
|
||||||
|
|
@ -14,6 +14,13 @@
|
||||||
format = "<span style=\"italic\" font-weight=\"bold\">{}</span>";
|
format = "<span style=\"italic\" font-weight=\"bold\">{}</span>";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
modules-right = config.swarselsystems.waybarModules;
|
||||||
|
|
||||||
|
"custom/pseudobat" = lib.mkIf (!config.swarselsystems.isLaptop) {
|
||||||
|
format = "";
|
||||||
|
on-click-right = "wlogout -p layer-shell";
|
||||||
|
};
|
||||||
|
|
||||||
"custom/configwarn" = {
|
"custom/configwarn" = {
|
||||||
exec = "bash ~/.dotfiles/scripts/checkconfigstatus.sh";
|
exec = "bash ~/.dotfiles/scripts/checkconfigstatus.sh";
|
||||||
interval = 60;
|
interval = 60;
|
||||||
|
|
@ -51,6 +58,9 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
temperature = {
|
temperature = {
|
||||||
|
hwmon-path = lib.mkIf (!config.swarselsystems.temperatureHwmon.isAbsolutePath) config.swarselsystems.temperatureHwmon.path;
|
||||||
|
hwmon-path-abs = lib.mkIf config.swarselsystems.temperatureHwmon.isAbsolutePath config.swarselsystems.temperatureHwmon.path;
|
||||||
|
input-filename = lib.mkIf config.swarselsystems.temperatureHwmon.isAbsolutePath config.swarselsystems.temperatureHwmon.input-filename;
|
||||||
critical-threshold = 80;
|
critical-threshold = 80;
|
||||||
format-critical = " {temperatureC}°C";
|
format-critical = " {temperatureC}°C";
|
||||||
format = " {temperatureC}°C";
|
format = " {temperatureC}°C";
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,11 @@
|
||||||
home-manager.users.swarsel.swarselsystems = {
|
home-manager.users.swarsel.swarselsystems = {
|
||||||
isLaptop = true;
|
isLaptop = true;
|
||||||
isNixos = true;
|
isNixos = true;
|
||||||
|
temperatureHwmon = {
|
||||||
|
isAbsolutePath = true;
|
||||||
|
path = "/sys/devices/platform/thinkpad_hwmon/hwmon/";
|
||||||
|
input-filename = "temp1_input";
|
||||||
|
};
|
||||||
monitors = {
|
monitors = {
|
||||||
main = {
|
main = {
|
||||||
name = "California Institute of Technology 0x1407 Unknown";
|
name = "California Institute of Technology 0x1407 Unknown";
|
||||||
|
|
|
||||||
|
|
@ -1,33 +1,6 @@
|
||||||
{ config, pkgs, lib, ... }: with lib;
|
{ config, pkgs, lib, ... }: with lib;
|
||||||
{
|
{
|
||||||
|
|
||||||
# waybar config - TEMPLATE - update for cores and temp
|
|
||||||
programs.waybar.settings.mainBar = {
|
|
||||||
# temperature.hwmon-path = "/sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon4/temp1_input";
|
|
||||||
temperature.hwmon-path.abs = "/sys/devices/platform/thinkpad_hwmon/hwmon/";
|
|
||||||
temperature.input-filename = "temp1_input";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
programs.waybar.settings.mainBar.modules-right = [
|
|
||||||
"custom/outer-left-arrow-dark"
|
|
||||||
"mpris"
|
|
||||||
"custom/left-arrow-light"
|
|
||||||
"network"
|
|
||||||
"custom/left-arrow-dark"
|
|
||||||
"pulseaudio"
|
|
||||||
"custom/left-arrow-light"
|
|
||||||
"custom/pseudobat"
|
|
||||||
"battery"
|
|
||||||
"custom/left-arrow-dark"
|
|
||||||
"group/hardware"
|
|
||||||
"custom/left-arrow-light"
|
|
||||||
"clock#2"
|
|
||||||
"custom/left-arrow-dark"
|
|
||||||
"clock#1"
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
config = rec {
|
config = rec {
|
||||||
# update for actual inputs here,
|
# update for actual inputs here,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue