diff --git a/SwarselSystems.org b/SwarselSystems.org index 67399e8..0b1bc8b 100644 --- a/SwarselSystems.org +++ b/SwarselSystems.org @@ -854,7 +854,8 @@ The rest of the outputs either define or help define the actual configurations: inputs.home-manager.nixosModules.home-manager inputs.stylix.nixosModules.stylix inputs.nswitch-rcm-nix.nixosModules.nswitch-rcm - inputs.swarsel-modules.nixosModules.default + # inputs.swarsel-modules.nixosModules.default + inputs.swarsel-nix.nixosModules.default inputs.niri-flake.nixosModules.niri inputs.microvm.nixosModules.host inputs.microvm.nixosModules.microvm @@ -4228,7 +4229,8 @@ We enable the use of =home-manager= as a NixoS module. A nice trick here is the inputs.nix-index-database.homeModules.nix-index inputs.sops-nix.homeManagerModules.sops inputs.spicetify-nix.homeManagerModules.default - inputs.swarsel-modules.homeModules.default + # inputs.swarsel-modules.homeModules.default + inputs.swarsel-nix.homeModules.default { imports = [ "${self}/profiles/home" @@ -13952,7 +13954,6 @@ Currently, I am too lazy to explain every option here, but most of it is very se swayfxSettings = config.swarselsystems.swayfxConfig; in " - exec_always autotiling set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\" mode $exit { @@ -13969,6 +13970,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se ${modifier}+Escape mode \"default\" } } + # exec_always autotiling exec systemctl --user import-environment exec swayidle -w diff --git a/flake.lock b/flake.lock index 942ab6b..ae80937 100644 --- a/flake.lock +++ b/flake.lock @@ -9596,11 +9596,11 @@ "systems": "systems_43" }, "locked": { - "lastModified": 1759958031, - "narHash": "sha256-rfwQQ42aQrzXYEzjQrqFA1NKoxgo9bqg/RIc2wKBsEQ=", + "lastModified": 1760190732, + "narHash": "sha256-Bxn/5+MCKOzR9LgUyHDhxCU3eejxz+hfsAT9Sqqz6B0=", "owner": "Swarsel", "repo": "swarsel-nix", - "rev": "ab8460e796c0694fe612a02817d8c290d0662188", + "rev": "f0ab1f68c94d777aa7d0a8f23745cb9aa8172fd4", "type": "github" }, "original": { diff --git a/hosts/nixos/pyramid/secrets/pii.nix.enc b/hosts/nixos/pyramid/secrets/pii.nix.enc index f5a735a..1cd9d41 100644 --- a/hosts/nixos/pyramid/secrets/pii.nix.enc +++ b/hosts/nixos/pyramid/secrets/pii.nix.enc @@ -1,5 +1,5 @@ { - "data": "ENC[AES256_GCM,data:p68IT8Bx7PKlHX5ZI5L0pU64WGA+q3byfbT9yOceKKq4BxD2ZX4zwxXrTsb1q6WOcxOfr7aqqJ8uzkSURKbSbjd1sImBrrzTh2BU80PnM7d8n2GuqJdj2TsiJ25MD5BNG2v0Ib3jDErI5cA6DWkQgzZV3gyfc486XpsFP8TZLjdHBqVO+FcDde/yqLMbAzaGfsOL/yvqsKgoCLQIsY9XyKVuVYuzreBRKo/kXUROCIB9wNFKvXvsMquCPGGDeumjVmcOvKqds3Gz4Ij3YjMiuLEcy4fJCl+Oqt9uKTAzETtxh+0G6UxqPc0IpS3ZzBGKVN+waOqbee0EgZys187qDVkg57L2QZ8I5An7EsMpo7T4KQDhxE8ZU4aLvwS/fobHaFW/9pSjqnH1v1O7gVpPS1T+GDTBHUDvlFVA3EtmTaXT2P3JHpFZCGex9AuyqQPOggwC2CVedmeWEc5osbGJhJjWjHvqkfcfLjIJB8bvp5y3FBXodJAEX9lW+Kbhe3121JU5pAlDp9QWG7a9wHdTSLbhC3qJXAtovOrOqrPTUD/LkSVMYDI+MaN+kw1kgCXH/ZXZmE8WCu7e8g7Vh4XEuRwhwAloGN6KyU+0LUP1SaMRTktur6sUtTIGdWdkaIVXn5sHMiLFYmwXy07uSZ3bGQ8nb3D0yInLkxCH/C/czS+bW3GFACo+bx9GcmDCPYXT1ay4HNFicCwcFNseDnbJMhs9SmI/EXQs1f7AaojMTnBmRpZLvAa++s5cW+GGYjoqZXn7CpGS9bPyv16MLv+81Is2zg1yXYTAwZyGjDrqYYBgsC0I1VgY1sDf1MRZtucL46GMaveIgrx8nlNB2vWkN9pky3GeZL9YvQgw6WEd32pnDxH2d7In83wqPjzk2Ce1fUG24nCBS/GLMEeE+DGud0jMaRbOkR4JmYGw9ej3En+52HHn+Nwy7nQy9gpvf0jOpzPyImCDbtIa+SgFm81nj3Di2SEcxhzqzY3oJbWdNmhbJzacxik73qi+PvY+s5eEr5/Xav8yUltWJHof7vCxw6qejBYa6gb01GOuWfyVVwMpmycrt7bbnWJQ1cULXnChwX3RaktMn1gYAO1kXpgOAEzGE0c/nIqnNWYdzQnfPmFUrBUSLj0SyymsGzBsTc8AmCk0ue8K8Z2lGYgSwHVRgvspWX4W3fvyL0AYwCureXh2MyqohNOEilKqolxQjNIM2B1hDNBWqN3dO6NnJKSE4XicfXHfd/6VVmpNVquWMq3SpcWMhiG3ZWMEWsJ8tTARlCg45uWCKq1iONd8baXLV3C+lutzQ86By5jmEGVYerSLvTsDN1t/VENaNqGCeJPNY5uLuhhoC55C/6zRYNQvzppWru7L+dMh/+t4i9cAgEgsVej5nJKnBPFlUFd2ZaaSoMf1Od1JjJSp3XdaQiXmAS2SUPPU3pLjM2xkpSSK0l1W7EKeQN2CA+dX3Whz3zBmRl8=,iv:DftbkwcfZYce8u+4APA0Od/J6gijDN1c35rBobS7kB4=,tag:IpqjdivPHQrjK/7oRx6spw==,type:str]", + "data": "ENC[AES256_GCM,data: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,iv:Fu+GmDArq6JSpODMPTJ7boKT/N33l57UbHqdTwpYuxA=,tag:gi/VuS3QTzeOiUsZBfm7BQ==,type:str]", "sops": { "age": [ { @@ -11,8 +11,8 @@ "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0Z2tONmQxTUhZUW12Z2Jm\nUnoxSnpYcnZDNGNzSko1ckl2RDh3NG1VS2dFCmIwUXhmSk1OUk02S0JPVDR5UWJ4\na0gwWlg0V005ZWxYa29PZ0laS2VqM0kKLS0tIHN5SU9pQ090eHljeXJGWm5hRFQ4\nZ001Nzkyb29RYkNUMDNDNlo4YnVQeTQK34bNIBgxId2+DHKQNVV3Iro3KGkE03Sp\niB1+dADT6nRvGvoyPqnLq/NYfw7eQ6XqYt55zkdCta8v6L1UNUkw8g==\n-----END AGE ENCRYPTED FILE-----\n" } ], - "lastmodified": "2025-08-09T20:09:09Z", - "mac": "ENC[AES256_GCM,data:s+LaqADPYV1UjsYZlxh6LGqaTwGzDYWyfcxPXakVUEmCe0YHfphSyRmhWwlr7WWM3w6BsZESq+PKYKtL7UunoolPh0KVEcobsvp7K/ZEPzDOH14ddOGiXDEpYRNqVYZtprR9pvrydOCPJbXO+klpLl0o3mm6j9VX2tIQdx3HNiA=,iv:rI2MG8OJUM6RNkJ3GsSYedOnRBTa+tbpporHC337unE=,tag:SY4yi5T7sFTIV02I8BbISg==,type:str]", + "lastmodified": "2025-10-11T08:44:45Z", + "mac": "ENC[AES256_GCM,data:pNbRA83NQcfWwTjgowEaFlfZVbZntWb1alGKdaX3IqjBlZEmYfJGKaxkbiL1uoMFNmrc5HtQUQLz0QVUpQ87ggH/HEUtdVcHnT65hxWjX3NWg3G2C9cbPqe3SiLv+UWPUsN70gu/xAJUuaiM9tsQoHkpNdefT3t382/uxF+Cb3M=,iv:1njSCqZFoCX46IhiowRqUteG8VJ5EEHDxricjMd4l58=,tag:9WBBXfUUW+7wmXy3zksMKQ==,type:str]", "pgp": [ { "created_at": "2025-06-14T22:31:01Z", @@ -21,6 +21,6 @@ } ], "unencrypted_suffix": "_unencrypted", - "version": "3.10.2" + "version": "3.11.0" } } diff --git a/index.html b/index.html index 82e30e2..58c47ec 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +-This file has 94619 words spanning 24340 lines and was last revised on 2025-10-09 02:38:15 +0200. +This file has 95685 words spanning 24730 lines and was last revised on 2025-10-11 21:49:58 +0200.
@@ -895,7 +905,7 @@ This section defines my Emacs configuration. For a while, I considered to use ry
-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: 2025-10-09 02:38: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: 2025-10-11 21:49:58 +0200)
home-manager as a NixoS module. A nice trick h
inputs.nix-index-database.homeModules.nix-index
inputs.sops-nix.homeManagerModules.sops
inputs.spicetify-nix.homeManagerModules.default
- inputs.swarsel-modules.homeModules.default
+ # inputs.swarsel-modules.homeModules.default
+ inputs.swarsel-nix.homeModules.default
{
imports = [
"${self}/profiles/home"
@@ -5817,7 +5829,7 @@ Mostly used to install some compilers and lsp's that I want to have available wh
# pinentry
dbus
- swaylock-effects
+ # swaylock-effects
syncthingtray-minimal
swayosd
@@ -12103,8 +12115,8 @@ in
-Some standard options that should be set for every microvm host. @@ -12130,8 +12142,8 @@ Some standard options that should be set for every microvm host.
Some standard options that should be set vor every microvm guest. We set the default @@ -12327,7 +12339,14 @@ in nixpkgs.overlays = lib.mkIf config.swarselsystems.isNixos (lib.mkForce null); - programs.home-manager.enable = lib.mkIf (!config.swarselsystems.isNixos) true; + programs = { + home-manager.enable = lib.mkIf (!config.swarselsystems.isNixos) true; + man = { + enable = true; + generateCaches = true; + }; + }; + targets.genericLinux.enable = lib.mkIf (!config.swarselsystems.isNixos) true; home = { @@ -12338,6 +12357,11 @@ in sessionVariables = { FLAKE = "/home/${mainUser}/.dotfiles"; }; + extraOutputsToInstall = [ + "doc" + "info" + "devdoc" + ]; }; }; @@ -12490,7 +12514,7 @@ This holds packages that I can use as provided, or with small modifications (as restic # "big" programs - obs-studio + # obs-studio gimp inkscape zoom-us @@ -12499,14 +12523,13 @@ This holds packages that I can use as provided, or with small modifications (as xournalpp # obsidian # spotify - vesktop # discord client + # vesktop # discord client # nextcloud-client # enables a systemd service that I do not want - spotify-player - element-desktop + # spotify-player + # element-desktop nicotine-plus stable.transmission_3 mktorrent - hexchat hugo # kyria @@ -12996,7 +13019,7 @@ Also in firefox `about:config > toolkit.legacyUserProfileCustomizations.style "tridactyl/tridactylrc".source = self + /files/firefox/tridactyl/tridactylrc; "tridactyl/themes/base16-codeschool.css".source = self + /files/firefox/tridactyl/themes/base16-codeschool.css; "tridactyl/themes/swarsel.css".source = self + /files/firefox/tridactyl/themes/swarsel.css; - "swayidle/config".source = self + /files/swayidle/config; + # "swayidle/config".source = self + /files/swayidle/config; }; }; } @@ -13053,7 +13076,7 @@ in
This section is for programs that require no further configuration. zsh Integration is enabled by default for these. @@ -13065,26 +13088,30 @@ This section is for programs that require no further configuration. zsh Integrat options.swarselmodules.programs = lib.mkEnableOption "programs settings"; config = lib.mkIf config.swarselmodules.programs { programs = { - bottom.enable = true; - imv.enable = true; - sioyek.enable = true; bat = { enable = true; extraPackages = with pkgs.bat-extras; [ batdiff batman batgrep batwatch ]; }; + bottom.enable = true; carapace.enable = true; - wlogout.enable = true; - swayr.enable = true; - yt-dlp.enable = true; - mpv.enable = true; - jq.enable = true; - ripgrep.enable = true; - pandoc.enable = true; fzf = { enable = true; enableBashIntegration = false; enableZshIntegration = false; }; + imv.enable = true; + jq.enable = true; + less.enable = true; + lesspipe.enable = true; + mpv.enable = true; + pandoc.enable = true; + rclone.enable = true; + ripgrep.enable = true; + sioyek.enable = true; + swayr.enable = true; + timidity.enable = true; + wlogout.enable = true; + yt-dlp.enable = true; zoxide = { enable = true; enableZshIntegration = true; @@ -13135,8 +13162,29 @@ nix-index provides a way to find out which packages are provided by which deriva
{ self, lib, config, pkgs, ... }:
+let
+ moduleName = "nix-your-shell";
+in
+{
+ options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
+ config = lib.mkIf config.swarselmodules.${moduleName} {
+ programs.${moduleName} = {
+ enable = true;
+ enableZshIntegration = true;
+ };
+ };
+}
+
+
Enables password store with the pass-otp extension which allows me to store and generate one-time-passwords.
@@ -13161,7 +13209,7 @@ Enables password store with the pass-otp extension which allows me
Enables direnv, which I use for nearly all of my nix dev flakes. @@ -13184,7 +13232,7 @@ Enables direnv, which I use for nearly all of my nix dev flakes.
Eza provides me with a better ls command and some other useful aliases.
@@ -13211,7 +13259,7 @@ Eza provides me with a better ls command and some other useful alia
{ lib, config, globals, ... }:
@@ -13237,7 +13285,7 @@ in
Here I set up my git config, automatic signing of commits, useful aliases for my ost used commands (for when I am not using Magit) as well as a git template defined in Linking dotfiles. @@ -13298,7 +13346,7 @@ in
Here I only need to set basic layout options - the rest is being managed by stylix. @@ -13327,7 +13375,7 @@ Here I only need to set basic layout options - the rest is being managed by styl
Starship makes my zsh look cooler! I have symbols for most programming languages and toolchains, also I build my own powerline.
@@ -13463,7 +13511,7 @@ Starship makes my zsh look cooler! I have symbols for most programm
Kitty is the terminal emulator of choice for me, it is nice to configure using nix, fast, and has a nice style. @@ -13494,7 +13542,7 @@ The theme is handled by stylix.
zsh is the most convenient shell for me and it happens to be super neat to configure within home manager. @@ -13682,7 +13730,7 @@ in
{ self, lib, config, pkgs, ... }:
@@ -13710,7 +13758,7 @@ in
{ lib, config, pkgs, ... }:
@@ -13819,7 +13867,7 @@ in
Normally I use 4 mail accounts - here I set them all up. Three of them are Google accounts (sadly), which are a chore to setup. The last is just a sender account that I setup SMTP for here. @@ -14022,7 +14070,7 @@ in
By using the emacs-overlay NixOS module, I can install all Emacs packages that I want to use right through NixOS. This is done by passing my init.el file to the configuration which will then be parsed upon system rebuild, looking for use-package sections in the Elisp code. Also I define here the style of Emacs that I want to run - I am going with native Wayland Emacs here (emacs-pgtk). All of the nice options such as tree-sitter support are enabled by default, so I do not need to adjust the build process.
@@ -14133,7 +14181,7 @@ in
Again I am just using the first bar option here that I was able to find good understandable documentation for. Of note is that the `cpu` section's `format` is not defined here, but in section 1 (since not every machine has the same number of cores) @@ -14489,7 +14537,7 @@ in
Setting up firefox along with some policies that are important to me (mostly disabling telemetry related stuff as well as Pocket). I also enable some integrations that enable super useful packages, namely tridactyl and browserpass.
@@ -14668,14 +14716,14 @@ I used to build the firefox addon bypass-paywalls-clean myself here
Services that can be defined through home-manager should be defined here.
Used for storing sessions in e.g. Nextcloud @@ -14696,7 +14744,7 @@ Used for storing sessions in e.g. Nextcloud
This enables phone/computer communication, including sending clipboard, files etc. Sadly on Wayland many of the features are broken (like remote control). @@ -14719,7 +14767,7 @@ This enables phone/computer communication, including sending clipboard, files et
Desktop notifications! @@ -14770,7 +14818,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
{ lib, pkgs, config, ... }:
@@ -14789,7 +14837,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
{ lib, config, pkgs, ... }:
@@ -14828,9 +14876,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
{ lib, config, ... }:
{
@@ -14843,9 +14891,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
{ lib, config, ... }:
{
@@ -14859,9 +14907,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
{ lib, config, ... }:
{
@@ -14894,9 +14942,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
{ lib, config, ... }:
{
@@ -14933,9 +14981,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
{ lib, config, pkgs, ... }:
{
@@ -14968,9 +15016,9 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
{ lib, config, pkgs, ... }:
{
@@ -15005,7 +15053,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
I am currently using SwayFX, which adds some nice effects to sway, like rounded corners and hiding the separator between title and content of a window. @@ -15167,8 +15215,9 @@ Currently, I am too lazy to explain every option here, but most of it is very se "${modifier}+Shift+p" = "exec pass-fuzzel --type"; "${modifier}+Shift+o" = "exec pass-fuzzel --otp --type"; "${modifier}+Ctrl+p" = "exec 1password --quick-acces"; - "${modifier}+Escape" = "mode $exit"; + # "${modifier}+Escape" = "mode $exit"; "${modifier}+Shift+Escape" = "exec kitty -o confirm_os_window_close=0 btm"; + "${modifier}+Escape" = "exec wlogout"; "${modifier}+h" = "exec hyprpicker | wl-copy"; "${modifier}+s" = "exec grim -g \"$(slurp)\" -t png - | wl-copy -t image/png"; "${modifier}+Shift+s" = "exec slurp | grim -g - Pictures/Screenshots/$(date +'screenshot_%Y-%m-%d-%H%M%S.png')"; @@ -15261,9 +15310,10 @@ Currently, I am too lazy to explain every option here, but most of it is very se { command = "sleep 60; kitty -T spotifytui -o confirm_os_window_close=0 spotify_player"; } ]; seat = { - "*" = { - hide_cursor = "when-typing enable"; - }; + "*" = [ + { hide_cursor = "when-typing enable"; } + { hide_cursor = "2000"; } + ]; }; window = { border = 1; @@ -15409,28 +15459,28 @@ Currently, I am too lazy to explain every option here, but most of it is very se swayfxSettings = config.swarselsystems.swayfxConfig; in " -exec_always autotiling - set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\" +# exec_always autotiling + # set $exit \"exit: [s]leep, [l]ock, [p]oweroff, [r]eboot, [u]ser logout\" - mode $exit { - bindsym --to-code { - s exec \"systemctl suspend\", mode \"default\" - h exec \"systemctl hibernate\", mode \"default\" - l exec \"swaylock --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2 --daemonize\", mode \"default\ - p exec \"systemctl poweroff\" - r exec \"systemctl reboot\" - u exec \"swaymsg exit\" + # mode $exit { + # bindsym --to-code { + # s exec \"systemctl suspend\", mode \"default\" + # h exec \"systemctl hibernate\", mode \"default\" + # l exec \"swaylock --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2 --daemonize\", mode \"default\ + # p exec \"systemctl poweroff\" + # r exec \"systemctl reboot\" + # u exec \"swaymsg exit\" - Return mode \"default\" - Escape mode \"default\" - ${modifier}+Escape mode \"default\" - } - } + # Return mode \"default\" + # Escape mode \"default\" + # ${modifier}+Escape mode \"default\" + # } + # } exec systemctl --user import-environment - exec swayidle -w + # exec swayidle -w - seat * hide_cursor 2000 + # seat * hide_cursor 2000 exec_always kill -1 $(pidof kanshi) @@ -15447,7 +15497,7 @@ exec_always autotiling
{ config, pkgs, lib, vars, ... }:
@@ -15659,7 +15709,7 @@ exec_always autotiling
{ self, lib, pkgs, config, ... }:
@@ -15766,7 +15816,7 @@ exec_always autotiling
Settinfs that are needed for the gpg-agent. Also we are enabling emacs support for unlocking my Yubikey here. @@ -15823,7 +15873,7 @@ in
This service changes the screen hue at night. I am not sure if that really does something, but I like the color anyways. @@ -15849,7 +15899,7 @@ in
{ inputs, lib, config, pkgs, ... }:
@@ -15879,9 +15929,9 @@ in
{ lib, config, pkgs, nixosConfig ? config, ... }:
let
@@ -16019,11 +16069,11 @@ in
{ inputs, lib, config, pkgs, globals, nixosConfig ? config, ... }:
+{ lib, config, pkgs, globals, nixosConfig ? config, ... }:
let
moduleName = "anki";
inherit (config.swarselsystems) isPublic isNixos;
@@ -16050,7 +16100,7 @@ in
spacebarRatesCard = true;
# videoDriver = "opengl";
sync = {
- autoSync = true;
+ autoSync = false; # sync on profile close will delay system shutdown
syncMedia = true;
url = "https://${globals.services.ankisync.domain}";
usernameFile = nixosConfig.sops.secrets.anki-user.path;
@@ -16086,6 +16136,312 @@ in
};
};
+}
+
+{ lib, config, ... }:
+let
+ moduleName = "element-desktop";
+ inherit (config.swarselsystems) isPublic isNixos;
+in
+{
+ options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
+ config = lib.mkIf config.swarselmodules.${moduleName} {
+ programs.element-desktop = {
+ enable = true;
+ settings = {
+ default_server_config = {
+ "m.homeserver" = {
+ base_url = "https://swatrix.swarsel.win/";
+ };
+ };
+ UIFeature = {
+ feedback = false;
+ voip = false;
+ widgets = false;
+ shareSocial = false;
+ registration = false;
+ passwordReset = false;
+ deactivate = false;
+ };
+ };
+ };
+ };
+
+}
+
+{ lib, config, nixosConfig ? config, ... }:
+let
+ moduleName = "hexchat";
+ inherit (nixosConfig.repo.secrets.common.irc) irc_nick1;
+in
+{
+ options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
+ config = lib.mkIf config.swarselmodules.${moduleName} {
+ programs.${moduleName} = {
+ enable = true;
+ settings = {
+ inherit irc_nick1;
+ };
+ };
+ };
+
+ }
+
+{ lib, config, ... }:
+let
+ moduleName = "obs-studio";
+in
+{
+ options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
+ config = lib.mkIf config.swarselmodules.${moduleName} {
+ programs.${moduleName} = {
+ enable = true;
+ };
+ };
+
+ }
+
+{ lib, config, nixosConfig ? config, ... }:
+let
+ moduleName = "spotify-player";
+ inherit (nixosConfig.repo.secrets.common.irc) irc_nick1;
+in
+{
+ options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
+ config = lib.mkIf config.swarselmodules.${moduleName} {
+ programs.${moduleName} = {
+ enable = true;
+ };
+ };
+
+ }
+
+{ lib, config, ... }:
+let
+ moduleName = "vesktop";
+in
+ {
+ options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
+ config = lib.mkIf config.swarselmodules.${moduleName} {
+ programs.${moduleName} = {
+ enable = true;
+ settings = {
+ appBadge = false;
+ arRPC = false;
+ checkUpdates = false;
+ customTitleBar = false;
+ disableMinSize = true;
+ minimizeToTray = true;
+ tray = true;
+ staticTitle = true;
+ hardwareAcceleration = true;
+ discordBranch = "stable";
+ };
+ vencord = {
+ useSystem = true;
+ settings = {
+ autoUpdate = false;
+ autoUpdateNotification = false;
+ enableReactDevtools = false;
+ frameless = false;
+ transparent = false;
+ winCtrlQ = false;
+ notifyAboutUpdates = false;
+ useQuickCss = true;
+ disableMinSize = true;
+ winNativeTitleBar = false;
+ plugins = {
+ MessageLogger = {
+ enabled = true;
+ ignoreSelf = true;
+ };
+ ChatInputButtonAPI = {
+ enabled = false;
+ };
+ CommandsAPI = {
+ enabled = true;
+ };
+ MemberListDecoratorsAPI = {
+ enabled = false;
+ };
+ MessageAccessoriesAPI = {
+ enabled = true;
+ };
+ MessageDecorationsAPI = {
+ enabled = false;
+ };
+ MessageEventsAPI = {
+ enabled = false;
+ };
+ MessagePopoverAPI = {
+ enabled = false;
+ };
+ MessageUpdaterAPI = {
+ enabled = false;
+ };
+ ServerListAPI = {
+ enabled = false;
+ };
+ UserSettingsAPI = {
+ enabled = true;
+ };
+ FakeNitro = {
+ enabled = true;
+ };
+ };
+ };
+ };
+ };
+ };
+
+}
+
+{ lib, config, ... }:
+let
+ moduleName = "batsignal";
+in
+{
+ options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
+ config = lib.mkIf config.swarselmodules.${moduleName} {
+ services.${moduleName} = {
+ enable = true;
+ };
+ };
+
+}
+
+{ lib, config, ... }:
+let
+ moduleName = "autotiling";
+in
+{
+ options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
+ config = lib.mkIf config.swarselmodules.${moduleName} {
+ swarselservices.${moduleName} = {
+ enable = true;
+ systemdTarget = config.wayland.systemd.target;
+ };
+ };
+
+}
+
+{ lib, config, pkgs, ... }:
+let
+ moduleName = "swayidle";
+in
+{
+ options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
+ config = lib.mkIf config.swarselmodules.${moduleName} {
+ services.${moduleName} =
+ let
+ brightnessctl = "${lib.getExe pkgs.brightnessctl}";
+ swaylock = "${lib.getExe pkgs.swaylock-effects}";
+ suspend = "${pkgs.systemd}/bin/systemctl";
+ in
+ {
+ enable = true;
+ systemdTarget = config.wayland.systemd.target;
+ extraArgs = [ "-w" ];
+ timeouts = [
+ { timeout = 60; command = "${brightnessctl} -s; ${brightnessctl} set 80%-"; resumeCommand = "${brightnessctl} -r"; }
+ # { timeout = 300; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
+ { timeout = 300; command = "${swaylock} -f"; }
+ # { timeout = 600; command = ''${pkgs.sway}/bin/swaymsg "output * dpms off"; resumeCommand = "${pkgs.sway}/bin/swaymsg output * dpms on''; }
+ { timeout = 600; command = "${suspend}"; }
+ ];
+ events = [
+ # { event = "before-sleep"; command = "${lib.getExe pkgs.swaylock-effects} -f --screenshots --clock --effect-blur 7x5 --effect-vignette 0.5:0.5 --fade-in 0.2"; }
+ { event = "before-sleep"; command = "${swaylock} -f "; }
+ { event = "lock"; command = "${swaylock} -f "; }
+ ];
+ };
+ };
+
+}
+
+{ lib, config, pkgs, ... }:
+let
+ moduleName = "swaylock";
+in
+{
+ options.swarselmodules.${moduleName} = lib.mkEnableOption "enable ${moduleName} and settings";
+ config = lib.mkIf config.swarselmodules.${moduleName} {
+ programs.${moduleName} = {
+ enable = true;
+ package = pkgs.swaylock-effects;
+ settings = {
+ screenshots = true;
+ clock = true;
+ effect-blur = "7x5";
+ effect-vignette = "0.5:0.5";
+ fade-in = "0.2";
+ };
+ };
+ };
+
}
Sometimes my DE crashes after putting it to suspend - to be precise, it happens when I put it into suspend when I have multiple screens plugged in. I have never taken the time to debug the issue, but instead just switch to a different TTY and then use this script to kill the hanging session. @@ -19289,52 +19683,52 @@ in options.swarselprofiles.personal = lib.mkEnableOption "is this a personal host"; config = lib.mkIf config.swarselprofiles.personal { swarselmodules = { - packages = lib.mkDefault true; - pii = lib.mkDefault true; - general = lib.mkDefault true; - home-manager = lib.mkDefault true; - xserver = lib.mkDefault true; - users = lib.mkDefault true; - env = lib.mkDefault true; - security = lib.mkDefault true; - systemdTimeout = lib.mkDefault true; - hardware = lib.mkDefault true; - pulseaudio = lib.mkDefault true; - pipewire = lib.mkDefault true; - network = lib.mkDefault true; - time = lib.mkDefault true; - sops = lib.mkDefault true; - stylix = lib.mkDefault true; - programs = lib.mkDefault true; - zsh = lib.mkDefault true; - syncthing = lib.mkDefault true; - blueman = lib.mkDefault true; - networkDevices = lib.mkDefault true; - gvfs = lib.mkDefault true; - interceptionTools = lib.mkDefault true; # keyd = lib.mkDefault true; - swayosd = lib.mkDefault true; - ppd = lib.mkDefault true; - yubikey = lib.mkDefault true; - ledger = lib.mkDefault true; - keyboards = lib.mkDefault true; - login = lib.mkDefault true; - nix-ld = lib.mkDefault true; - impermanence = lib.mkDefault true; - nvd = lib.mkDefault true; - gnome-keyring = lib.mkDefault true; - uwsm = lib.mkDefault true; - sway = lib.mkDefault true; - niri = lib.mkDefault true; - xdg-portal = lib.mkDefault true; - distrobox = lib.mkDefault true; appimage = lib.mkDefault true; - lid = lib.mkDefault true; - lowBattery = lib.mkDefault true; - lanzaboote = lib.mkDefault true; autologin = lib.mkDefault true; + blueman = lib.mkDefault true; boot = lib.mkDefault true; btrfs = lib.mkDefault true; + distrobox = lib.mkDefault true; + env = lib.mkDefault true; + general = lib.mkDefault true; + gnome-keyring = lib.mkDefault true; + gvfs = lib.mkDefault true; + hardware = lib.mkDefault true; + home-manager = lib.mkDefault true; + impermanence = lib.mkDefault true; + interceptionTools = lib.mkDefault true; + keyboards = lib.mkDefault true; + lanzaboote = lib.mkDefault true; + ledger = lib.mkDefault true; + lid = lib.mkDefault true; + login = lib.mkDefault true; + lowBattery = lib.mkDefault false; + network = lib.mkDefault true; + networkDevices = lib.mkDefault true; + niri = lib.mkDefault true; + nix-ld = lib.mkDefault true; + nvd = lib.mkDefault true; + packages = lib.mkDefault true; + pii = lib.mkDefault true; + pipewire = lib.mkDefault true; + ppd = lib.mkDefault true; + programs = lib.mkDefault true; + pulseaudio = lib.mkDefault true; + security = lib.mkDefault true; + sops = lib.mkDefault true; + stylix = lib.mkDefault true; + sway = lib.mkDefault true; + swayosd = lib.mkDefault true; + syncthing = lib.mkDefault true; + systemdTimeout = lib.mkDefault true; + time = lib.mkDefault true; + users = lib.mkDefault true; + uwsm = lib.mkDefault true; + xdg-portal = lib.mkDefault true; + xserver = lib.mkDefault true; + yubikey = lib.mkDefault true; + zsh = lib.mkDefault true; }; home-manager.users."${config.swarselsystems.mainUser}" = { @@ -19389,8 +19783,8 @@ in
{ lib, config, ... }:
@@ -19620,53 +20014,63 @@ in
options.swarselprofiles.personal = lib.mkEnableOption "is this a personal host";
config = lib.mkIf config.swarselprofiles.personal {
swarselmodules = {
- packages = lib.mkDefault true;
- ownpackages = lib.mkDefault true;
- general = lib.mkDefault true;
- nixgl = lib.mkDefault true;
- sops = lib.mkDefault false;
- yubikey = lib.mkDefault false;
- ssh = lib.mkDefault true;
- stylix = lib.mkDefault true;
- desktop = lib.mkDefault true;
- symlink = lib.mkDefault true;
- env = lib.mkDefault true;
- programs = lib.mkDefault true;
- nix-index = lib.mkDefault true;
- passwordstore = lib.mkDefault true;
- direnv = lib.mkDefault true;
- eza = lib.mkDefault true;
- atuin = lib.mkDefault true;
- git = lib.mkDefault true;
- fuzzel = lib.mkDefault true;
- starship = lib.mkDefault true;
- kitty = lib.mkDefault true;
- zsh = lib.mkDefault true;
- zellij = lib.mkDefault true;
- tmux = lib.mkDefault true;
- mail = lib.mkDefault true;
- emacs = lib.mkDefault true;
- waybar = lib.mkDefault true;
- firefox = lib.mkDefault true;
- gnome-keyring = lib.mkDefault true;
- kdeconnect = lib.mkDefault true;
- mako = lib.mkDefault true;
- swayosd = lib.mkDefault true;
- yubikeytouch = lib.mkDefault true;
- sway = lib.mkDefault true;
- niri = lib.mkDefault true;
- kanshi = lib.mkDefault true;
- gpgagent = lib.mkDefault true;
- gammastep = lib.mkDefault true;
- spicetify = lib.mkDefault true;
- blueman-applet = lib.mkDefault true;
- nm-applet = lib.mkDefault true;
- obsidian-tray = lib.mkDefault true;
- obsidian = lib.mkDefault true;
- anki-tray = lib.mkDefault true;
- element-tray = lib.mkDefault true;
- vesktop-tray = lib.mkDefault true;
anki = lib.mkDefault true;
+ anki-tray = lib.mkDefault true;
+ atuin = lib.mkDefault true;
+ autotiling = lib.mkDefault true;
+ batsignal = lib.mkDefault true;
+ blueman-applet = lib.mkDefault true;
+ desktop = lib.mkDefault true;
+ direnv = lib.mkDefault true;
+ element-desktop = lib.mkDefault true;
+ element-tray = lib.mkDefault true;
+ emacs = lib.mkDefault true;
+ env = lib.mkDefault true;
+ eza = lib.mkDefault true;
+ firefox = lib.mkDefault true;
+ fuzzel = lib.mkDefault true;
+ gammastep = lib.mkDefault true;
+ general = lib.mkDefault true;
+ git = lib.mkDefault true;
+ gnome-keyring = lib.mkDefault true;
+ gpgagent = lib.mkDefault true;
+ hexchat = lib.mkDefault true;
+ kanshi = lib.mkDefault true;
+ kdeconnect = lib.mkDefault true;
+ kitty = lib.mkDefault true;
+ mail = lib.mkDefault true;
+ mako = lib.mkDefault true;
+ niri = lib.mkDefault true;
+ nix-index = lib.mkDefault true;
+ nixgl = lib.mkDefault true;
+ nix-your-shell = lib.mkDefault true;
+ nm-applet = lib.mkDefault true;
+ obs-studio = lib.mkDefault true;
+ obsidian = lib.mkDefault true;
+ obsidian-tray = lib.mkDefault true;
+ ownpackages = lib.mkDefault true;
+ packages = lib.mkDefault true;
+ passwordstore = lib.mkDefault true;
+ programs = lib.mkDefault true;
+ sops = lib.mkDefault false;
+ spicetify = lib.mkDefault true;
+ spotify-player = lib.mkDefault true;
+ ssh = lib.mkDefault true;
+ starship = lib.mkDefault true;
+ stylix = lib.mkDefault true;
+ sway = lib.mkDefault true;
+ swayidle = lib.mkDefault true;
+ swaylock = lib.mkDefault true;
+ swayosd = lib.mkDefault true;
+ symlink = lib.mkDefault true;
+ tmux = lib.mkDefault true;
+ vesktop = lib.mkDefault true;
+ vesktop-tray = lib.mkDefault true;
+ waybar = lib.mkDefault true;
+ yubikey = lib.mkDefault false;
+ yubikeytouch = lib.mkDefault true;
+ zellij = lib.mkDefault true;
+ zsh = lib.mkDefault true;
};
};
@@ -23705,7 +24109,6 @@ bind gwe tab_or_tabopen_local exivity.vbc.ac.at
bind gwg tab_or_tabopen_local github.com
bind gwG tab_or_tabopen_local goc.egi.eu
bind gwh tab_or_tabopen_local jupyterhub.vbc.ac.at
-bind gwH tab_or_tabopen_local test-jupyterhub.vbc.ac.at
bind gwj tab_or_tabopen_local jenkins.vbc.ac.at
bind gwJ tab_or_tabopen_local test-jenkins.vbc.ac.at
bind gwl tab_or_tabopen_local lucid.app
@@ -23719,6 +24122,20 @@ bind gwt tab_or_tabopen_local tower.vbc.ac.at
bind gwv tab_or_tabopen_local vc-impimba-1.m.imp.ac.at/ui
bind gwx tab_or_tabopen_local xclarity.vbc.ac.at
+unbind --mode=normal gh
+bind ghp tab_or_tabopen_local https://github.com/pulls
+bind ghi tab_or_tabopen_local https://github.com/issues/assigned?q=is%3Aissue%20state%3Aopen%20archived%3Afalse%20(assignee%3A%40me%20OR%20author%3A%40me)%20sort%3Aupdated-desc
+bind ghv tab_or_tabopen_local github.com/orgs/vbc-it/repositories
+bind ghc tab_or_tabopen_local github.com/orgs/CLIP-HPC/repositories
+bind ghd tab_or_tabopen_local github.com/Swarsel/.dotfiles
+bind ghni tab_or_tabopen_local github.com/NixOS/nixpkgs/issues
+bind ghnp tab_or_tabopen_local github.com/NixOS/nixpkgs/pulls
+
+unbind --mode=normal gp
+bind gprn tab_or_tabopen_local www.reddit.com/r/NixOS/
+bind gpd tab_or_tabopen_local discourse.nixos.org/
+bind gpp tab_or_tabopen_local parkour.wien/categories
+
" Search in page
set findcase smart
bind / fillcmdline find
@@ -23773,6 +24190,15 @@ set hintdelay 100
" Some pages like github break on the tridactyl quick search. have this as a fallback
unbind <C-f>
+" Do not let websites steal sitefocus
+set allowautofocus false
+
+" whitelist sites
+" :seturl [URL regex for sites with text editors you use] allowautofocus true
+
+" stronger blacklist for specific sites
+seturl vbc.atlassian.net preventautofocusjackhammer true
+
" Subconfig Settings
seturl www.google.com followpagepatterns.next Next
seturl www.google.com followpagepatterns.prev Previous
@@ -26449,7 +26875,7 @@ similarly, there exists an version that starts from the right.