mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
feat: add startup commands as module
This commit is contained in:
parent
956c260268
commit
5e2aae9558
7 changed files with 156 additions and 78 deletions
|
|
@ -2312,9 +2312,6 @@ This is basically just adjusted to the core count, path to the =hwmon= (this was
|
|||
"XF86AudioMute" = "pactl set-sink-mute alsa_output.pci-0000_08_00.6.HiFi__hw_Generic_1__sink toggle";
|
||||
};
|
||||
|
||||
startup = [
|
||||
<<startupnixos>>
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -4471,6 +4468,7 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
|||
input = import ./input.nix;
|
||||
nixos = import ./nixos.nix;
|
||||
waybar = import ./waybar.nix;
|
||||
startup = import ./startup.nix;
|
||||
}
|
||||
#+end_src
|
||||
|
||||
|
|
@ -4575,11 +4573,44 @@ in
|
|||
|
||||
|
||||
#+begin_src nix :noweb yes :tangle modules/home/nixos.nix
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.isNixos = lib.mkEnableOption "nixos host";
|
||||
config.swarselsystems.startup = lib.mkIf (!config.swarselsystems.isNixos) [
|
||||
{ command = "sleep 60 && nixGL nextcloud --background";
|
||||
}
|
||||
{ command = "sleep 60 && nixGL discord --start-minimized -enable-features=UseOzonePlatform -ozone-platform=wayland"; }
|
||||
{ command = "sleep 60 && nixGL syncthingtray --wait"; }
|
||||
{ command = "sleep 60 && ANKI_WAYLAND=1 nixGL anki"; }
|
||||
{ command = "nm-applet --indicator"; }
|
||||
{ command = "sleep 60 && OBSIDIAN_USE_WAYLAND=1 nixGL obsidian -enable-features=UseOzonePlatform -ozone-platform=wayland"; }
|
||||
{ command = "sleep 60 && element-desktop --hidden -enable-features=UseOzonePlatform -ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; }
|
||||
];
|
||||
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.isNixos = lib.mkEnableOption "nixos host";
|
||||
}
|
||||
}
|
||||
#+end_src
|
||||
|
||||
***** System startup
|
||||
|
||||
#+begin_src nix :tangle modules/home/startup.nix
|
||||
{ lib, config, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
|
||||
options.swarselsystems.startup = mkOption {
|
||||
type = types.listOf (types.attrsOf types.str);
|
||||
default = [
|
||||
{ command = "nextcloud --background"; }
|
||||
{ command = "discord --start-minimized"; }
|
||||
{ command = "element-desktop --hidden -enable-features=UseOzonePlatform -ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; }
|
||||
{ command = "ANKI_WAYLAND=1 anki"; }
|
||||
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; }
|
||||
{ command = "nm-applet"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
#+end_src
|
||||
|
||||
** Common NixOS
|
||||
|
|
@ -7331,7 +7362,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
|||
output = (mapAttrs' eachMonitor monitors);
|
||||
input = config.swarselsystems.standardinputs;
|
||||
workspaceOutputAssign = workplaceOutputs;
|
||||
startup = [
|
||||
startup = config.swarselsystems.startup ++ [
|
||||
{ command = "kitty -T kittyterm"; }
|
||||
{ command = "sleep 60; kitty -T spotifytui -o confirm_os_window_close=0 spotify_player"; }
|
||||
];
|
||||
|
|
|
|||
144
index.html
144
index.html
|
|
@ -3,7 +3,7 @@
|
|||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2024-07-24 Mi 19:48 -->
|
||||
<!-- 2024-07-24 Mi 20:15 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>SwarselSystems: NixOS + Emacs Configuration</title>
|
||||
|
|
@ -223,7 +223,7 @@
|
|||
<ul>
|
||||
<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="#org3ae2fbd">2.3.3. General (outputs)</a></li>
|
||||
<li><a href="#org013dc00">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: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>
|
||||
|
|
@ -241,11 +241,11 @@
|
|||
<li><a href="#h:4dc59747-9598-4029-aa7d-92bf186d6c06">3.1.3. Virtual hosts</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org15986c9">3.2. Overlays, packages, and modules</a>
|
||||
<li><a href="#orgb2fc641">3.2. Overlays, packages, and modules</a>
|
||||
<ul>
|
||||
<li><a href="#orgdc2a12f">3.2.1. Packages</a></li>
|
||||
<li><a href="#orgb9be189">3.2.2. Overlays</a></li>
|
||||
<li><a href="#org3b39c29">3.2.3. Modules</a></li>
|
||||
<li><a href="#org4fa151b">3.2.1. Packages</a></li>
|
||||
<li><a href="#org50d51a5">3.2.2. Overlays</a></li>
|
||||
<li><a href="#orgd5ae4b9">3.2.3. Modules</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<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: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="#org3183835">3.3.4. Theme (stylix)</a></li>
|
||||
<li><a href="#orga4d670b">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: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>
|
||||
|
|
@ -263,7 +263,7 @@
|
|||
</li>
|
||||
<li><a href="#h:f0a6b5e0-2157-4522-b5e1-3f0abd91c05e">3.4. Common Home-Manager</a>
|
||||
<ul>
|
||||
<li><a href="#org9ffbdac">3.4.1. Imports</a></li>
|
||||
<li><a href="#orgd53e977">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: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>
|
||||
|
|
@ -272,7 +272,7 @@
|
|||
<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:070a75ce-e209-4cda-aa25-e979bbf75d47">3.4.9. Programs</a></li>
|
||||
<li><a href="#org445cf6d">3.4.10. nix-index</a></li>
|
||||
<li><a href="#orgfa5fcac">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: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>
|
||||
|
|
@ -339,7 +339,7 @@
|
|||
<ul>
|
||||
<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="#orgf97ee02">4.4.3. nixpkgs-fmt</a></li>
|
||||
<li><a href="#org3ad700c">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: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>
|
||||
|
|
@ -399,7 +399,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<p>
|
||||
<b>This file has 42328 words spanning 11435 lines and was last revised on 2024-07-24 19:48:15 +0200.</b>
|
||||
<b>This file has 42479 words spanning 11466 lines and was last revised on 2024-07-24 20:15:51 +0200.</b>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
@ -449,7 +449,7 @@ This section defines my Emacs configuration. For a while, I considered to use ry
|
|||
</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 19:48:15 +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-24 20:15:51 +0200)
|
||||
</p></li>
|
||||
</ul>
|
||||
|
||||
|
|
@ -1071,8 +1071,8 @@ mixedModules = [
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3ae2fbd" class="outline-4">
|
||||
<h4 id="org3ae2fbd"><span class="section-number-4">2.3.3.</span> General (outputs)</h4>
|
||||
<div id="outline-container-org013dc00" class="outline-4">
|
||||
<h4 id="org013dc00"><span class="section-number-4">2.3.3.</span> General (outputs)</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">
|
||||
|
|
@ -2463,7 +2463,7 @@ in
|
|||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a id="org2b06229"></a>Home-manager only<br />
|
||||
<li><a id="org675821e"></a>Home-manager only<br />
|
||||
<ol class="org-ol">
|
||||
<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">
|
||||
|
|
@ -3137,16 +3137,6 @@ This is basically just adjusted to the core count, path to the <code>hwmon</code
|
|||
"XF86AudioMute" = "pactl set-sink-mute alsa_output.pci-0000_08_00.6.HiFi__hw_Generic_1__sink toggle";
|
||||
};
|
||||
|
||||
startup = [
|
||||
|
||||
{ command = "nextcloud --background"; }
|
||||
{ command = "discord --start-minimized"; }
|
||||
{ command = "element-desktop --hidden -enable-features=UseOzonePlatform -ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; }
|
||||
{ command = "ANKI_WAYLAND=1 anki"; }
|
||||
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; }
|
||||
{ command = "nm-applet"; }
|
||||
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -5546,8 +5536,8 @@ in
|
|||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org15986c9" class="outline-3">
|
||||
<h3 id="org15986c9"><span class="section-number-3">3.2.</span> Overlays, packages, and modules</h3>
|
||||
<div id="outline-container-orgb2fc641" class="outline-3">
|
||||
<h3 id="orgb2fc641"><span class="section-number-3">3.2.</span> Overlays, packages, and modules</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<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.
|
||||
|
|
@ -5566,8 +5556,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>
|
||||
</ol>
|
||||
</div>
|
||||
<div id="outline-container-orgdc2a12f" class="outline-4">
|
||||
<h4 id="orgdc2a12f"><span class="section-number-4">3.2.1.</span> Packages</h4>
|
||||
<div id="outline-container-org4fa151b" class="outline-4">
|
||||
<h4 id="org4fa151b"><span class="section-number-4">3.2.1.</span> Packages</h4>
|
||||
<div class="outline-text-4" id="text-3-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">
|
||||
|
|
@ -5577,8 +5567,8 @@ _ : rec { }
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb9be189" class="outline-4">
|
||||
<h4 id="orgb9be189"><span class="section-number-4">3.2.2.</span> Overlays</h4>
|
||||
<div id="outline-container-org50d51a5" class="outline-4">
|
||||
<h4 id="org50d51a5"><span class="section-number-4">3.2.2.</span> Overlays</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">
|
||||
|
|
@ -5611,15 +5601,15 @@ _ : rec { }
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3b39c29" class="outline-4">
|
||||
<h4 id="org3b39c29"><span class="section-number-4">3.2.3.</span> Modules</h4>
|
||||
<div id="outline-container-orgd5ae4b9" class="outline-4">
|
||||
<h4 id="orgd5ae4b9"><span class="section-number-4">3.2.3.</span> Modules</h4>
|
||||
<div class="outline-text-4" id="text-3-2-3">
|
||||
<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.
|
||||
</p>
|
||||
</div>
|
||||
<ol class="org-ol">
|
||||
<li><a id="org65881fd"></a>NixOS<br />
|
||||
<li><a id="orgfd4a627"></a>NixOS<br />
|
||||
<div class="outline-text-5" id="text-3-2-3-1">
|
||||
<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
|
||||
|
|
@ -5633,7 +5623,7 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="org41424f3"></a>home-manager<br />
|
||||
<li><a id="org9fff1fc"></a>home-manager<br />
|
||||
<div class="outline-text-5" id="text-3-2-3-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">{
|
||||
|
|
@ -5643,12 +5633,13 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
|||
input = import ./input.nix;
|
||||
nixos = import ./nixos.nix;
|
||||
waybar = import ./waybar.nix;
|
||||
startup = import ./startup.nix;
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<ol class="org-ol">
|
||||
<li><a id="org372363b"></a>Laptop<br />
|
||||
<li><a id="orgee6c692"></a>Laptop<br />
|
||||
<div class="outline-text-6" id="text-3-2-3-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">{ lib, config, ... }:
|
||||
|
|
@ -5667,7 +5658,7 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="org1a43836"></a>Hardware<br />
|
||||
<li><a id="orgab64810"></a>Hardware<br />
|
||||
<div class="outline-text-6" id="text-3-2-3-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">{ lib, ... }:
|
||||
|
|
@ -5682,7 +5673,7 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="orga3e535a"></a>Waybar<br />
|
||||
<li><a id="org51a27e6"></a>Waybar<br />
|
||||
<div class="outline-text-6" id="text-3-2-3-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix"> { lib, config, ... }:
|
||||
|
|
@ -5702,7 +5693,7 @@ in
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="org089282a"></a>Monitors<br />
|
||||
<li><a id="orgfa63069"></a>Monitors<br />
|
||||
<div class="outline-text-6" id="text-3-2-3-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">{ lib, config, ... }:
|
||||
|
|
@ -5719,7 +5710,7 @@ in
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="org2e08e81"></a>Input<br />
|
||||
<li><a id="org4cc013e"></a>Input<br />
|
||||
<div class="outline-text-6" id="text-3-2-3-2-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">{ lib, config, ... }:
|
||||
|
|
@ -5755,13 +5746,48 @@ in
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="orgdef4498"></a>Nixos<br />
|
||||
<li><a id="orgbc312da"></a>Nixos<br />
|
||||
<div class="outline-text-6" id="text-3-2-3-2-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">
|
||||
{ lib, config, ... }:
|
||||
<pre class="src src-nix">{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.isNixos = lib.mkEnableOption "nixos host";
|
||||
config.swarselsystems.startup = lib.mkIf (!config.swarselsystems.isNixos) [
|
||||
{ command = "sleep 60 && nixGL nextcloud --background";
|
||||
}
|
||||
{ command = "sleep 60 && nixGL discord --start-minimized -enable-features=UseOzonePlatform -ozone-platform=wayland"; }
|
||||
{ command = "sleep 60 && nixGL syncthingtray --wait"; }
|
||||
{ command = "sleep 60 && ANKI_WAYLAND=1 nixGL anki"; }
|
||||
{ command = "nm-applet --indicator"; }
|
||||
{ command = "sleep 60 && OBSIDIAN_USE_WAYLAND=1 nixGL obsidian -enable-features=UseOzonePlatform -ozone-platform=wayland"; }
|
||||
{ command = "sleep 60 && element-desktop --hidden -enable-features=UseOzonePlatform -ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; }
|
||||
];
|
||||
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="orgaf02f27"></a>System startup<br />
|
||||
<div class="outline-text-6" id="text-3-2-3-2-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">{ lib, config, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
|
||||
options.swarselsystems.startup = mkOption {
|
||||
type = types.listOf (types.attrsOf types.str);
|
||||
default = [
|
||||
{ command = "nextcloud --background"; }
|
||||
{ command = "discord --start-minimized"; }
|
||||
{ command = "element-desktop --hidden -enable-features=UseOzonePlatform -ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; }
|
||||
{ command = "ANKI_WAYLAND=1 anki"; }
|
||||
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; }
|
||||
{ command = "nm-applet"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
|
|
@ -6317,8 +6343,8 @@ I use sops-nix to handle secrets that I want to have available on my machines at
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3183835" class="outline-4">
|
||||
<h4 id="org3183835"><span class="section-number-4">3.3.4.</span> Theme (stylix)</h4>
|
||||
<div id="outline-container-orga4d670b" class="outline-4">
|
||||
<h4 id="orga4d670b"><span class="section-number-4">3.3.4.</span> Theme (stylix)</h4>
|
||||
<div class="outline-text-4" id="text-3-3-4">
|
||||
<p>
|
||||
By default, <a href="https://github.com/danth/stylix">stylix</a> wants to style GRUB as well. However, I think that looks horrible.
|
||||
|
|
@ -6500,7 +6526,7 @@ Some programs profit from being installed through dedicated NixOS settings on sy
|
|||
</div>
|
||||
</div>
|
||||
<ol class="org-ol">
|
||||
<li><a id="orgc391c14"></a>zsh<br />
|
||||
<li><a id="org5acfafd"></a>zsh<br />
|
||||
<div class="outline-text-5" id="text-3-3-6-1">
|
||||
<p>
|
||||
Do not touch this.
|
||||
|
|
@ -6518,7 +6544,7 @@ Do not touch this.
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="org7f4fe09"></a>syncthing<br />
|
||||
<li><a id="org0cffac2"></a>syncthing<br />
|
||||
<div class="outline-text-5" id="text-3-3-6-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-nix">
|
||||
|
|
@ -6596,7 +6622,7 @@ Enables the blueman service including the nice system tray icon.
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="orgc6e7436"></a>Network devices<br />
|
||||
<li><a id="orgb2c4f50"></a>Network devices<br />
|
||||
<div class="outline-text-5" id="text-3-3-7-2">
|
||||
<p>
|
||||
In this section we enable compatibility with several network devices I have at home, mainly printers and scanners.
|
||||
|
|
@ -6648,7 +6674,7 @@ services.printing = {
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="org592de33"></a>Avahi (device discovery)<br />
|
||||
<li><a id="org11c528f"></a>Avahi (device discovery)<br />
|
||||
<div class="outline-text-6" id="text-3-3-7-2-3">
|
||||
<p>
|
||||
Avahi is the service used for the network discovery.
|
||||
|
|
@ -6802,8 +6828,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>
|
||||
<div class="outline-text-3" id="text-h:f0a6b5e0-2157-4522-b5e1-3f0abd91c05e">
|
||||
</div>
|
||||
<div id="outline-container-org9ffbdac" class="outline-4">
|
||||
<h4 id="org9ffbdac"><span class="section-number-4">3.4.1.</span> Imports</h4>
|
||||
<div id="outline-container-orgd53e977" class="outline-4">
|
||||
<h4 id="orgd53e977"><span class="section-number-4">3.4.1.</span> Imports</h4>
|
||||
<div class="outline-text-4" id="text-3-4-1">
|
||||
<p>
|
||||
This section sets up all the imports that are used in the home-manager section.
|
||||
|
|
@ -7611,8 +7637,8 @@ This section is for programs that require no further configuration. zsh Integrat
|
|||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div id="outline-container-org445cf6d" class="outline-4">
|
||||
<h4 id="org445cf6d"><span class="section-number-4">3.4.10.</span> nix-index</h4>
|
||||
<div id="outline-container-orgfa5fcac" class="outline-4">
|
||||
<h4 id="orgfa5fcac"><span class="section-number-4">3.4.10.</span> nix-index</h4>
|
||||
<div class="outline-text-4" id="text-3-4-10">
|
||||
<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.
|
||||
|
|
@ -8771,7 +8797,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
|||
output = (mapAttrs' eachMonitor monitors);
|
||||
input = config.swarselsystems.standardinputs;
|
||||
workspaceOutputAssign = workplaceOutputs;
|
||||
startup = [
|
||||
startup = config.swarselsystems.startup ++ [
|
||||
{ command = "kitty -T kittyterm"; }
|
||||
{ command = "sleep 60; kitty -T spotifytui -o confirm_os_window_close=0 spotify_player"; }
|
||||
];
|
||||
|
|
@ -9956,7 +9982,7 @@ The standard Emacs behaviour for the Python process shell is a bit annoying. Thi
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="org368b69d"></a>Nix common prefix bracketer<br />
|
||||
<li><a id="orgaf8afe3"></a>Nix common prefix bracketer<br />
|
||||
<div class="outline-text-5" id="text-4-2-1-15">
|
||||
<p>
|
||||
This function searches for common delimiters in region and removes them, summarizing all captured lines by it.
|
||||
|
|
@ -9989,7 +10015,7 @@ This function searches for common delimiters in region and removes them, summari
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li><a id="org83549cd"></a>Nix formatters<br />
|
||||
<li><a id="org46226b9"></a>Nix formatters<br />
|
||||
<div class="outline-text-5" id="text-4-2-1-16">
|
||||
<p>
|
||||
This formats the org code block at <code>point</code> in accordance to the <code>nixpkgs-fmt</code> formatter
|
||||
|
|
@ -11562,8 +11588,8 @@ This adds a rudimentary nix-mode to Emacs. I have not really tried this out, as
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgf97ee02" class="outline-4">
|
||||
<h4 id="orgf97ee02"><span class="section-number-4">4.4.3.</span> nixpkgs-fmt</h4>
|
||||
<div id="outline-container-org3ad700c" class="outline-4">
|
||||
<h4 id="org3ad700c"><span class="section-number-4">4.4.3.</span> nixpkgs-fmt</h4>
|
||||
<div class="outline-text-4" id="text-4-4-3">
|
||||
<p>
|
||||
Adds functions for formatting nix code.
|
||||
|
|
@ -13578,7 +13604,7 @@ My laptop, sadly soon to be replaced by a new one, since most basic functions ar
|
|||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Leon Schwarzäugl</p>
|
||||
<p class="date">Created: 2024-07-24 Mi 19:48</p>
|
||||
<p class="date">Created: 2024-07-24 Mi 20:15</p>
|
||||
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -5,4 +5,5 @@
|
|||
input = import ./input.nix;
|
||||
nixos = import ./nixos.nix;
|
||||
waybar = import ./waybar.nix;
|
||||
startup = import ./startup.nix;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,16 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.isNixos = lib.mkEnableOption "nixos host";
|
||||
config.swarselsystems.startup = lib.mkIf (!config.swarselsystems.isNixos) [
|
||||
{
|
||||
command = "sleep 60 && nixGL nextcloud --background";
|
||||
}
|
||||
{ command = "sleep 60 && nixGL discord --start-minimized -enable-features=UseOzonePlatform -ozone-platform=wayland"; }
|
||||
{ command = "sleep 60 && nixGL syncthingtray --wait"; }
|
||||
{ command = "sleep 60 && ANKI_WAYLAND=1 nixGL anki"; }
|
||||
{ command = "nm-applet --indicator"; }
|
||||
{ command = "sleep 60 && OBSIDIAN_USE_WAYLAND=1 nixGL obsidian -enable-features=UseOzonePlatform -ozone-platform=wayland"; }
|
||||
{ command = "sleep 60 && element-desktop --hidden -enable-features=UseOzonePlatform -ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; }
|
||||
];
|
||||
|
||||
}
|
||||
|
|
|
|||
18
modules/home/startup.nix
Normal file
18
modules/home/startup.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{ lib, config, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
|
||||
options.swarselsystems.startup = mkOption {
|
||||
type = types.listOf (types.attrsOf types.str);
|
||||
default = [
|
||||
{ command = "nextcloud --background"; }
|
||||
{ command = "discord --start-minimized"; }
|
||||
{ command = "element-desktop --hidden -enable-features=UseOzonePlatform -ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; }
|
||||
{ command = "ANKI_WAYLAND=1 anki"; }
|
||||
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; }
|
||||
{ command = "nm-applet"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -114,7 +114,7 @@ in
|
|||
output = (mapAttrs' eachMonitor monitors);
|
||||
input = config.swarselsystems.standardinputs;
|
||||
workspaceOutputAssign = workplaceOutputs;
|
||||
startup = [
|
||||
startup = config.swarselsystems.startup ++ [
|
||||
{ command = "kitty -T kittyterm"; }
|
||||
{ command = "sleep 60; kitty -T spotifytui -o confirm_os_window_close=0 spotify_player"; }
|
||||
];
|
||||
|
|
|
|||
|
|
@ -74,16 +74,6 @@
|
|||
"XF86AudioMute" = "pactl set-sink-mute alsa_output.pci-0000_08_00.6.HiFi__hw_Generic_1__sink toggle";
|
||||
};
|
||||
|
||||
startup = [
|
||||
|
||||
{ command = "nextcloud --background"; }
|
||||
{ command = "discord --start-minimized"; }
|
||||
{ command = "element-desktop --hidden -enable-features=UseOzonePlatform -ozone-platform=wayland --disable-gpu-driver-bug-workarounds"; }
|
||||
{ command = "ANKI_WAYLAND=1 anki"; }
|
||||
{ command = "OBSIDIAN_USE_WAYLAND=1 obsidian"; }
|
||||
{ command = "nm-applet"; }
|
||||
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue