about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/by-name/ma/mako/module.nix81
-rw-r--r--modules/common/default.nix1
-rw-r--r--modules/home.legacy/conf/default.nix1
-rw-r--r--modules/home.legacy/conf/mako/default.nix49
4 files changed, 82 insertions, 50 deletions
diff --git a/modules/by-name/ma/mako/module.nix b/modules/by-name/ma/mako/module.nix
new file mode 100644
index 00000000..1630d2d0
--- /dev/null
+++ b/modules/by-name/ma/mako/module.nix
@@ -0,0 +1,81 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: let
+  cfg = config.soispha.services.mako;
+
+  iconPath = "${pkgs.gruvbox-dark-icons-gtk.overrideAttrs (prev: final: {
+    # Remove unused dependencies
+    propagatedBuildInputs = [];
+  })}/share/icons/oomox-gruvbox-dark";
+in {
+  options.soispha.services.mako = {
+    enable = lib.mkEnableOption "mako";
+  };
+
+  config = lib.mkIf cfg.enable {
+    home-manager.users.soispha = {
+      services.mako = {
+        enable = true;
+
+        # See mako(5)
+        settings = {
+          max-history = 5;
+          sort = "-time";
+
+          background-color = "#2e3440";
+          border-color = "#88c0d0";
+          border-radius = 25;
+          border-size = 2;
+          default-timeout = 5000;
+          font = "Source Code Pro 10";
+          group-by = "body";
+          height = 500;
+          icon-path = iconPath;
+          icons = true;
+          ignore-timeout = false;
+          layer = "overlay";
+          markup = true;
+          max-icon-size = 64;
+          width = 500;
+
+          "urgency=low" = {
+            border-color = "#cccccc";
+          };
+
+          "urgency=normal" = {
+            border-color = "#d08770";
+          };
+
+          "urgency=high" = {
+            border-size = 3;
+            border-color = "#bf616a";
+            default-timeout = 0;
+          };
+
+          "urgency=critical" = {
+            border-size = 4;
+            border-color = "#bf616a";
+            default-timeout = 0;
+          };
+
+          "category=mpd" = {
+            default-timeout = 2000;
+            group-by = "category";
+          };
+        };
+      };
+    };
+  };
+}
diff --git a/modules/common/default.nix b/modules/common/default.nix
index bfc574e4..60b6668e 100644
--- a/modules/common/default.nix
+++ b/modules/common/default.nix
@@ -54,6 +54,7 @@
         };
       };
       fwupd.enable = true;
+      mako.enable = true;
       mpd = {
         enable = true;
         directories = let
diff --git a/modules/home.legacy/conf/default.nix b/modules/home.legacy/conf/default.nix
index 22bf50b6..622f32d5 100644
--- a/modules/home.legacy/conf/default.nix
+++ b/modules/home.legacy/conf/default.nix
@@ -21,7 +21,6 @@
     ./keepassxc
     ./latexindent
     ./mail
-    ./mako
     ./mbsync
     ./mumble
     ./neomutt
diff --git a/modules/home.legacy/conf/mako/default.nix b/modules/home.legacy/conf/mako/default.nix
deleted file mode 100644
index 60400987..00000000
--- a/modules/home.legacy/conf/mako/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-{...}: {
-  services.mako = {
-    enable = true;
-    backgroundColor = "#2e3440";
-    borderColor = "#88c0d0";
-    borderRadius = 25;
-    borderSize = 2;
-    defaultTimeout = 5000;
-    font = "Source Code Pro 10";
-    width = 500;
-    height = 500;
-    icons = true;
-    ignoreTimeout = true;
-    layer = "overlay";
-    markup = true; # TODO:
-    maxIconSize = 64;
-    sort = "-time";
-    extraConfig = ''
-      [urgency=low]
-      border-color=#cccccc
-
-      [urgency=normal]
-      border-color=#d08770
-
-      [urgency=high]
-      border-size=3
-      border-color=#bf616a
-      default-timeout=0
-
-      [urgency=critical]
-      border-size=4
-      border-color=#bf616a
-      default-timeout=0
-
-      [category=mpd]
-      default-timeout=2000
-      group-by=category
-    '';
-  };
-}