summary refs log tree commit diff stats
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/hm/sils/default.nix7
-rw-r--r--modules/hm/sils/fastfetch.nix16
-rw-r--r--modules/hm/sils/fd.nix17
-rw-r--r--modules/hm/sils/firefox/default.nix5
-rw-r--r--modules/hm/sils/ghostty.nix15
-rw-r--r--modules/hm/sils/git.nix4
-rw-r--r--modules/hm/sils/hyfetch.nix31
-rw-r--r--modules/hm/sils/hyprland.nix37
-rw-r--r--modules/hm/sils/iamb.nix38
-rw-r--r--modules/hm/sils/mail.nix4
-rw-r--r--modules/hm/sils/theming.nix24
-rw-r--r--modules/hm/sils/zellij.nix14
-rw-r--r--modules/nixos/sils/default.nix2
-rw-r--r--modules/nixos/sils/docker.nix24
-rw-r--r--modules/nixos/sils/impermanence.nix6
-rw-r--r--modules/nixos/sils/printing.nix23
-rw-r--r--modules/nixos/sils/roles.nix3
-rw-r--r--modules/nixos/sils/sound.nix20
18 files changed, 271 insertions, 19 deletions
diff --git a/modules/hm/sils/default.nix b/modules/hm/sils/default.nix
index a3ff1ed..03cfaef 100644
--- a/modules/hm/sils/default.nix
+++ b/modules/hm/sils/default.nix
@@ -3,16 +3,23 @@
     ./bat.nix
     ./direnv.nix
     ./etesync-dav.nix
+    ./fd.nix
+    ./fastfetch.nix
     ./firefox
     ./foot.nix
+    ./ghostty.nix
     ./git.nix
+    ./hyfetch.nix
     ./hyprland.nix
+    ./iamb.nix
     ./jameica.nix
     ./kdeconnect.nix
     ./mail.nix
     ./nextcloud.nix
     ./sway.nix
+    ./theming.nix
     ./yt-dlp.nix
     ./zathura.nix
+    ./zellij.nix
   ];
 }
diff --git a/modules/hm/sils/fastfetch.nix b/modules/hm/sils/fastfetch.nix
new file mode 100644
index 0000000..f3efcab
--- /dev/null
+++ b/modules/hm/sils/fastfetch.nix
@@ -0,0 +1,16 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.fastfetch;
+in {
+  options.sils.fastfetch = {
+    enable = lib.mkEnableOption "fastfetch";
+  };
+  config = lib.mkIf cfg.enable {
+    programs.fastfetch = {
+      enable = true;
+    };
+  };
+}
diff --git a/modules/hm/sils/fd.nix b/modules/hm/sils/fd.nix
new file mode 100644
index 0000000..7f8e35c
--- /dev/null
+++ b/modules/hm/sils/fd.nix
@@ -0,0 +1,17 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.fd;
+in {
+  options.sils.fd = {
+    enable = lib.mkEnableOption "fd, a fast find alternative";
+  };
+
+  config = lib.mkIf cfg.enable {
+    programs.fd = {
+      enable = true;
+    };
+  };
+}
diff --git a/modules/hm/sils/firefox/default.nix b/modules/hm/sils/firefox/default.nix
index b877c34..43d21b1 100644
--- a/modules/hm/sils/firefox/default.nix
+++ b/modules/hm/sils/firefox/default.nix
@@ -17,6 +17,7 @@ in {
     enable = lib.mkEnableOption "opinionated firefox configuration";
   };
   config = lib.mkIf cfg.enable {
+    stylix.targets.firefox.profileNames = ["default"];
     programs.firefox = {
       enable = true;
       profiles = {
@@ -38,8 +39,8 @@ in {
           isDefault = true;
           name = "default";
           search = {
-            default = "DuckDuckGo";
-            privateDefault = "DuckDuckGo";
+            default = "ddg";
+            privateDefault = "ddg";
             force = true;
           };
         };
diff --git a/modules/hm/sils/ghostty.nix b/modules/hm/sils/ghostty.nix
new file mode 100644
index 0000000..cd871bc
--- /dev/null
+++ b/modules/hm/sils/ghostty.nix
@@ -0,0 +1,15 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.ghostty;
+in {
+  options.sils.ghostty.enable = lib.mkEnableOption "the ghostty terminal emulator";
+  config = lib.mkIf cfg.enable {
+    programs.ghostty = {
+      enable = true;
+      enableZshIntegration = true;
+    };
+  };
+}
diff --git a/modules/hm/sils/git.nix b/modules/hm/sils/git.nix
index 5bd4dd2..61093ac 100644
--- a/modules/hm/sils/git.nix
+++ b/modules/hm/sils/git.nix
@@ -27,7 +27,7 @@ in {
       };
       signing = {
         key = "467B7D129EA73AC9";
-        signByDefault = true;
+        signByDefault = false;
       };
       extraConfig = {
         core = {
@@ -46,7 +46,7 @@ in {
           verbose = true;
         };
         sendemail = {
-          smtpserver = "server1.vhack.eu";
+          smtpserver = "mail.foss-syndicate.org";
           smtpuser = "sils@sils.li";
           smtpencryption = "ssl";
           smtpserverport = "465";
diff --git a/modules/hm/sils/hyfetch.nix b/modules/hm/sils/hyfetch.nix
new file mode 100644
index 0000000..c06d8b0
--- /dev/null
+++ b/modules/hm/sils/hyfetch.nix
@@ -0,0 +1,31 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.hyfetch;
+in {
+  options.sils.hyfetch = {
+    enable = lib.mkEnableOption "hyfetch";
+  };
+
+  config = lib.mkIf cfg.enable {
+    programs.hyfetch = {
+      enable = true;
+      settings = {
+        preset = "rainbow";
+        mode = "rgb";
+        light_dark = "dark";
+        lightness = 0.5;
+        color_align = {
+          mode = "horizontal";
+          custom_colors = [];
+          fore_back = null;
+        };
+        backend = "fastfetch";
+        distro = null;
+        pride_month_shown = [];
+      };
+    };
+  };
+}
diff --git a/modules/hm/sils/hyprland.nix b/modules/hm/sils/hyprland.nix
index 39f0920..4de6524 100644
--- a/modules/hm/sils/hyprland.nix
+++ b/modules/hm/sils/hyprland.nix
@@ -9,6 +9,14 @@
 in {
   options.sils.hyprland.enable = lib.mkEnableOption "sils hyprland config";
   config = lib.mkIf cfg.enable {
+    home.pointerCursor = {
+      enable = true;
+      name = "Adwaita";
+      gtk.enable = true;
+      x11.enable = true;
+      size = 24;
+      package = pkgs.adwaita-icon-theme;
+    };
     wayland.windowManager.hyprland = {
       enable = true;
       settings = {
@@ -23,6 +31,10 @@ in {
         # Source a file (multi-file configs)
         # source = ~/.config/hypr/myColors.conf
 
+        ecosystem = {
+          no_update_news = true;
+        };
+
         # Some default env vars.
         env = "XCURSOR_SIZE,24";
 
@@ -118,7 +130,7 @@ in {
 
         # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
         bind = [
-          "$mainMod, T, exec, foot"
+          "$mainMod, T, exec, ghostty"
           "$mainMod, C, killactive, "
           "$mainMod, M, exit, "
           "$mainMod, E, exec, dolphin "
@@ -138,16 +150,16 @@ in {
           "$mainMod, down, movefocus, d"
 
           # Switch workspaces with mainMod + [0-9]
-          "$mainMod, 1, focusworkspaceoncurrentmonitor, 1"
-          "$mainMod, 2, focusworkspaceoncurrentmonitor, 2"
-          "$mainMod, 3, focusworkspaceoncurrentmonitor, 3"
-          "$mainMod, 4, focusworkspaceoncurrentmonitor, 4"
-          "$mainMod, 5, focusworkspaceoncurrentmonitor, 5"
-          "$mainMod, 6, focusworkspaceoncurrentmonitor, 6"
-          "$mainMod, 7, focusworkspaceoncurrentmonitor, 7"
-          "$mainMod, 8, focusworkspaceoncurrentmonitor, 8"
-          "$mainMod, 9, focusworkspaceoncurrentmonitor, 9"
-          "$mainMod, 0, focusworkspaceoncurrentmonitor, 10"
+          "$mainMod, 1, workspace, 1"
+          "$mainMod, 2, workspace, 2"
+          "$mainMod, 3, workspace, 3"
+          "$mainMod, 4, workspace, 4"
+          "$mainMod, 5, workspace, 5"
+          "$mainMod, 6, workspace, 6"
+          "$mainMod, 7, workspace, 7"
+          "$mainMod, 8, workspace, 8"
+          "$mainMod, 9, workspace, 9"
+          "$mainMod, 0, workspace, 10"
 
           # Move active window to a workspace with mainMod + SHIFT + [0-9]
           "$mainMod SHIFT, 1, movetoworkspace, 1"
@@ -186,8 +198,9 @@ in {
         #exec-once=bash ~/.config/hypr/start.sh
         #exec-once=swww init &
         exec-once = [
+          "${pkgs.hyprland}/bin/hyprctl ${config.home.pointerCursor.name} ${toString config.home.pointerCursor.size}"
           #"${pkgs.nwg-panel}/bin/nwg-panel"
-          #"nm-applet --indicator"
+          "${pkgs.networkmanagerapplet}/bin/nm-applet --indicator"
           #"${pkgs.waybar}/bin/waybar"
           "${pkgs.mako}/bin/mako"
           "${pkgs.swaybg}/bin/swaybg -i ${self}/files/wallpaper.jpg"
diff --git a/modules/hm/sils/iamb.nix b/modules/hm/sils/iamb.nix
new file mode 100644
index 0000000..2c6932a
--- /dev/null
+++ b/modules/hm/sils/iamb.nix
@@ -0,0 +1,38 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.iamb;
+in {
+  options = {
+    sils.iamb.enable = lib.mkEnableOption "iamb, a matrix tui client";
+  };
+  config = lib.mkIf cfg.enable {
+    programs.iamb = {
+      enable = true;
+      settings = {
+        profiles = {
+          ljs = {
+            user_id = "@sils:linksjugend-solid.de";
+            url = "https://matrix.bak-it.de";
+          };
+          vhack = {
+            user_id = "@sils:vhack.eu";
+            url = "https://matrix.vhack.eu";
+          };
+        };
+        settings = {
+          notifications.enabled = true;
+          image_preview.protocol = {
+            type = "kitty";
+            size = {
+              height = 10;
+              width = 66;
+            };
+          };
+        };
+      };
+    };
+  };
+}
diff --git a/modules/hm/sils/mail.nix b/modules/hm/sils/mail.nix
index 06f6917..85583a2 100644
--- a/modules/hm/sils/mail.nix
+++ b/modules/hm/sils/mail.nix
@@ -6,11 +6,11 @@
 }: let
   cfg = config.sils.mail;
   vhackImap = {
-    host = "server1.vhack.eu";
+    host = "mail.foss-syndicate.org";
     port = 993;
   };
   vhackSmtp = {
-    host = "server1.vhack.eu";
+    host = "mail.foss-syndicate.org";
     port = 993;
   };
 in {
diff --git a/modules/hm/sils/theming.nix b/modules/hm/sils/theming.nix
new file mode 100644
index 0000000..958560d
--- /dev/null
+++ b/modules/hm/sils/theming.nix
@@ -0,0 +1,24 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: let
+  cfg = config.sils.theming;
+in {
+  options.sils.theming.enable = lib.mkEnableOption "theming";
+  config = lib.mkIf cfg.enable {
+    stylix = {
+      enable = true;
+      iconTheme = {
+        enable = true;
+        dark = "Papirus-dark";
+        light = "Papirus-light";
+        package = pkgs.catppuccin-papirus-folders.override {
+          flavor = "mocha";
+          accent = "mauve";
+        };
+      };
+    };
+  };
+}
diff --git a/modules/hm/sils/zellij.nix b/modules/hm/sils/zellij.nix
new file mode 100644
index 0000000..1038a0c
--- /dev/null
+++ b/modules/hm/sils/zellij.nix
@@ -0,0 +1,14 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.zellij;
+in {
+  options.sils.zellij.enable = lib.mkEnableOption "zellij";
+  config = lib.mkIf cfg.enable {
+    programs.zellij = {
+      enable = true;
+    };
+  };
+}
diff --git a/modules/nixos/sils/default.nix b/modules/nixos/sils/default.nix
index 0f714f7..01870c8 100644
--- a/modules/nixos/sils/default.nix
+++ b/modules/nixos/sils/default.nix
@@ -5,6 +5,7 @@
     ./bluetooth.nix
     ./bootloader.nix
     ./disks.nix
+    ./docker.nix
     ./environment.nix
     ./firejail.nix
     ./font.nix
@@ -19,6 +20,7 @@
     ./plymouth.nix
     ./printing.nix
     ./roles.nix
+    ./sound.nix
     ./sudo.nix
     ./sway.nix
     ./theming
diff --git a/modules/nixos/sils/docker.nix b/modules/nixos/sils/docker.nix
new file mode 100644
index 0000000..7d6f046
--- /dev/null
+++ b/modules/nixos/sils/docker.nix
@@ -0,0 +1,24 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.docker;
+in {
+  options.sils.docker.enable = lib.mkEnableOption "docker";
+  config = lib.mkIf cfg.enable {
+    virtualisation.docker = {
+      enable = true;
+      storageDriver = "btrfs";
+    };
+    users.users.sils.extraGroups = ["docker"];
+    environment.persistence."/srv".directories = [
+      {
+        directory = "/var/lib/docker";
+        user = "docker";
+        group = "docker";
+        mode = "0755";
+      }
+    ];
+  };
+}
diff --git a/modules/nixos/sils/impermanence.nix b/modules/nixos/sils/impermanence.nix
index 4acdc6f..cf67a91 100644
--- a/modules/nixos/sils/impermanence.nix
+++ b/modules/nixos/sils/impermanence.nix
@@ -32,6 +32,12 @@ in {
         group = "root";
         mode = "0755";
       }
+      {
+        directory = "/var/log";
+        user = "root";
+        group = "root";
+        mode = "0755";
+      }
     ];
   };
 }
diff --git a/modules/nixos/sils/printing.nix b/modules/nixos/sils/printing.nix
index d447255..9247146 100644
--- a/modules/nixos/sils/printing.nix
+++ b/modules/nixos/sils/printing.nix
@@ -11,12 +11,33 @@ in {
     services = {
       printing = {
         enable = true;
-        #drivers = with pkgs; [hplip]; # if building again: epson-escpr
+        startWhenNeeded = true;
+        webInterface = true;
+        stateless = true;
+        drivers = with pkgs; [epson-escpr epson-escpr2 hplip];
       };
       avahi = {
         enable = true;
+        nssmdns4 = true;
+        nssmdns6 = true;
         openFirewall = true;
       };
     };
+
+    hardware.printers = {
+      ensureDefaultPrinter = "EPSON_ET-2720_Series";
+      ensurePrinters = [
+        {
+          name = "EPSON_ET-2720_Series";
+          description = "EPSON ET-2720 Series";
+          model = "epson-inkjet-printer-escpr/Epson-ET-2720_Series-epson-escpr-en.ppd";
+          location = "Home Network";
+          deviceUri = "dnssd://EPSON%20ET-2720%20Series._ipp._tcp.local/?uuid=cfe92100-67c4-11d4-a45f-e0bb9edcdbb9";
+          ppdOptions = {
+            PageSize = "A4";
+          };
+        }
+      ];
+    };
   };
 }
diff --git a/modules/nixos/sils/roles.nix b/modules/nixos/sils/roles.nix
index cca3cf6..346149c 100644
--- a/modules/nixos/sils/roles.nix
+++ b/modules/nixos/sils/roles.nix
@@ -24,6 +24,7 @@ in {
       pamconfig.enable = lib.mkDefault true;
       plymouth.enable = lib.mkDefault true;
       printing.enable = lib.mkDefault true;
+      sound.enable = lib.mkDefault true;
       sway.enable = lib.mkDefault false;
       theming.enable = lib.mkDefault true;
     }
@@ -45,6 +46,7 @@ in {
       pamconfig.enable = lib.mkDefault true;
       plymouth.enable = lib.mkDefault false;
       printing.enable = lib.mkDefault true;
+      sound.enable = lib.mkDefault true;
       sway.enable = lib.mkDefault false;
       theming.enable = lib.mkDefault true;
     }
@@ -68,6 +70,7 @@ in {
       pamconfig.enable = lib.mkDefault true;
       plymouth.enable = lib.mkDefault false;
       printing.enable = lib.mkDefault true;
+      sound.enable = lib.mkDefault true;
       sway.enable = lib.mkDefault false;
       theming.enable = lib.mkDefault true;
     }
diff --git a/modules/nixos/sils/sound.nix b/modules/nixos/sils/sound.nix
new file mode 100644
index 0000000..3ad26fb
--- /dev/null
+++ b/modules/nixos/sils/sound.nix
@@ -0,0 +1,20 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.sils.sound;
+in {
+  options.sils.sound.enable = lib.mkEnableOption "sound config";
+  config = lib.mkIf cfg.enable {
+    services.pipewire = {
+      enable = true;
+      alsa = {
+        enable = true;
+        support32Bit = true;
+      };
+      pulse.enable = true;
+      jack.enable = true;
+    };
+  };
+}