about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/common/common/nix/default.nix1
-rw-r--r--modules/common/emacs/default.nix7
-rw-r--r--modules/common/emacs/doom/config.el49
-rw-r--r--modules/common/emacs/doom/init.el6
-rw-r--r--modules/common/fonts.nix7
-rw-r--r--modules/common/mpv.nix79
-rw-r--r--modules/common/zathura.nix5
-rw-r--r--modules/nixos/default.nix2
-rw-r--r--modules/nixos/firefox/userContent.css1
-rw-r--r--modules/nixos/fonts.nix55
-rw-r--r--modules/nixos/monitoring/default.nix5
-rw-r--r--modules/nixos/mpv.nix89
-rw-r--r--modules/nixos/zathura.nix15
13 files changed, 186 insertions, 135 deletions
diff --git a/modules/common/common/nix/default.nix b/modules/common/common/nix/default.nix
index ad7e706..370667c 100644
--- a/modules/common/common/nix/default.nix
+++ b/modules/common/common/nix/default.nix
@@ -190,6 +190,7 @@ with lib; {
           this = my.configurations.${hostname};
           inherit (local) config;
           inherit (local.config.system.build) toplevel vm vmWithBootLoader manual;
+          pretty = expr: lib.trace (lib.generators.toPretty {} expr) {};
         } // configurations // local._module.args
       '';
 
diff --git a/modules/common/emacs/default.nix b/modules/common/emacs/default.nix
index dfc657c..e7597ad 100644
--- a/modules/common/emacs/default.nix
+++ b/modules/common/emacs/default.nix
@@ -83,6 +83,8 @@ in {
                     gnumake # :term vterm
                     gnuplot # :lang (org +gnuplot)
                     gnutls # doom!
+                    go # :lang go org
+                    gocode # :lang go org
                     gomodifytags # :lang go
                     gopls # :lang (go +lsp)
                     gore # :lang go
@@ -154,7 +156,10 @@ in {
                       circe-default-user circe-default-nick)
 
                 ;; :lang plantuml
-                (setq org-plantuml-jar-path "${pkgs.plantuml}/lib/plantuml.jar")
+                (setq plantuml-jar-path "${pkgs.plantuml}/lib/plantuml.jar"
+                      plantuml-executable-path "${pkgs.plantuml}/bin/plantuml"
+                      org-plantuml-jar-path plantuml-jar-path
+                      org-plantuml-executable-path plantuml-executable-path)
 
                 ;; :input japanese
                 (setq migemo-dictionary "${pkgs.cmigemo}/share/migemo/utf-8/migemo-dict")
diff --git a/modules/common/emacs/doom/config.el b/modules/common/emacs/doom/config.el
index 493a79a..df8b82e 100644
--- a/modules/common/emacs/doom/config.el
+++ b/modules/common/emacs/doom/config.el
@@ -50,7 +50,6 @@
                                  ("WAIT" . +org-todo-onhold)
                                  ("HOLD" . +org-todo-onhold)
                                  ("PROJ" . +org-todo-project)
-                                 ("NO"   . +org-todo-cancel)
                                  ("KILL" . +org-todo-cancel))
         org-capture-templates '(("t" "Personal todo" entry
                                  (file+headline +org-capture-todo-file "Inbox")
@@ -62,13 +61,13 @@
                                  (file+olp+datetree +org-capture-journal-file)
                                  "* %U %?\n%i\n%a" :prepend t)
                                 ("p" "Templates for projects")
-                                ("pt" "Project-local todo" entry  ; {project-root}/todo.org
+                                ("pt" "Project-local todo" entry
                                  (file+headline +org-capture-project-todo-file "Inbox")
                                  "* TODO %?\n%i\n%a" :prepend t)
-                                ("pn" "Project-local notes" entry  ; {project-root}/notes.org
+                                ("pn" "Project-local notes" entry
                                  (file+headline +org-capture-project-notes-file "Inbox")
                                  "* %U %?\n%i\n%a" :prepend t)
-                                ("pc" "Project-local changelog" entry  ; {project-root}/changelog.org
+                                ("pc" "Project-local changelog" entry
                                  (file+headline +org-capture-project-changelog-file "Unreleased")
                                  "* %U %?\n%i\n%a" :prepend t)
                                 ("o" "Centralized templates for projects")
@@ -105,6 +104,13 @@
         org-roam-ui-open-on-start t))
 
 ;;
+;;; PlantUML
+;;
+
+(setq plantuml-default-exec-mode 'executable
+      org-plantuml-exec-mode 'plantuml)
+
+;;
 ;;; Elisp
 ;;
 
@@ -166,32 +172,15 @@
 ;;; Circe
 ;;
 
-(defun nixfiles/irc-bouncer-password-f (&rest _)
-  (+pass-get-secret "server/soju.manwe.shire.net/azahi"))
-
-(set-irc-server! "libera"
-  `(:host "shire.net"
-    :port 6667
-    :user "azahi/libera"
-    :pass nixfiles/irc-bouncer-password-f))
-
-(set-irc-server! "oftc"
-  `(:host "shire.net"
-    :port 6667
-    :user "azahi/oftc"
-    :pass nixfiles/irc-bouncer-password-f))
-
-(set-irc-server! "hackint"
-  `(:host "shire.net"
-    :port 6667
-    :user "azahi/hackint"
-    :pass nixfiles/irc-bouncer-password-f))
-
-(set-irc-server! "rizon"
-  `(:host "shire.net"
-    :port 6667
-    :user "azahi/rizon"
-    :pass nixfiles/irc-bouncer-password-f))
+(setq circe-network-options
+      (mapcar (lambda (server)
+                `(,server :server-buffer-name ,server
+                          :host "shire.net"
+                          :port 6667
+                          :user ,(concat circe-default-user "/" server)
+                          :pass ,(lambda (&rest _)
+                                   (+pass-get-secret "server/soju.manwe.shire.net/azahi"))))
+              '("libera" "oftc" "hackint" "rizon")))
 
 ;;
 ;;; Hledger
diff --git a/modules/common/emacs/doom/init.el b/modules/common/emacs/doom/init.el
index a76d0e3..3b26e0d 100644
--- a/modules/common/emacs/doom/init.el
+++ b/modules/common/emacs/doom/init.el
@@ -10,12 +10,12 @@
        doom
        ;; doom-dashboard
        ;; doom-quit
-       ;; emoji
+       (emoji +unicode)
        hl-todo
        hydra
        indent-guides
-       ;; ligatures
-       ;; modeline
+       (ligatures +extra)
+       (modeline +light)
        ;; nav-flash
        ophints
        (popup +defaults)
diff --git a/modules/common/fonts.nix b/modules/common/fonts.nix
index adf6a3f..1e204e5 100644
--- a/modules/common/fonts.nix
+++ b/modules/common/fonts.nix
@@ -24,6 +24,13 @@ with lib; {
         (iosevka-bin.override {variant = "etoile";})
         iosevka-bin
         sarasa-gothic
+        source-han-mono
+        source-han-sans
+        source-han-serif
+        noto-fonts
+        noto-fonts-emoji
+        twitter-color-emoji
+        font-awesome
       ];
     };
 
diff --git a/modules/common/mpv.nix b/modules/common/mpv.nix
index 757ccd8..37fbe4c 100644
--- a/modules/common/mpv.nix
+++ b/modules/common/mpv.nix
@@ -10,85 +10,6 @@ in {
   options.nixfiles.modules.mpv.enable = mkEnableOption "mpv";
 
   config = mkIf cfg.enable {
-    nixfiles.modules.common.xdg.defaultApplications.mpv = let
-      audio = [
-        "audio/aac"
-        "audio/ac3"
-        "audio/basic"
-        "audio/flac"
-        "audio/midi"
-        "audio/mp4"
-        "audio/mpeg"
-        "audio/ogg"
-        "audio/opus"
-        "audio/vnd.dts"
-        "audio/vnd.dts.hd"
-        "audio/webm"
-        "audio/x-adpcm"
-        "audio/x-aifc"
-        "audio/x-aiff"
-        "audio/x-ape"
-        "audio/x-flac+ogg"
-        "audio/x-m4b"
-        "audio/x-m4r"
-        "audio/x-matroska"
-        "audio/x-mpegurl"
-        "audio/x-musepack"
-        "audio/x-opus+ogg"
-        "audio/x-speex"
-        "audio/x-speex+ogg"
-        "audio/x-vorbis+ogg"
-        "audio/x-wav"
-        "audio/x-wavpack"
-        "x-content/audio-cdda"
-        "x-content/audio-dvd"
-      ];
-      video = [
-        "video/3gpp"
-        "video/3gpp2"
-        "video/mkv"
-        "video/mp2t"
-        "video/mp4"
-        "video/mpeg"
-        "video/ogg"
-        "video/quicktime"
-        "video/vnd.mpegurl"
-        "video/vnd.radgamettools.bink"
-        "video/vnd.radgamettools.smacker"
-        "video/wavelet"
-        "video/webm"
-        "video/x-matroska"
-        "video/x-matroska-3d"
-        "video/x-mjpeg"
-        "video/x-msvideo"
-        "video/x-ogm+ogg"
-        "video/x-theora+ogg"
-        "x-content/video-bluray"
-        "x-content/video-dvd"
-        "x-content/video-hddvd"
-        "x-content/video-svcd"
-        "x-content/video-vcd"
-      ];
-      image = [
-        "image/avif"
-        "image/bmp"
-        "image/gif"
-        "image/jp2"
-        "image/jpeg"
-        "image/jpg"
-        "image/jpm"
-        "image/jpx"
-        "image/jxl"
-        "image/png"
-        "image/tiff"
-        "image/vnd.microsoft.icon"
-        "image/webp"
-        "image/webp"
-        "image/x-tga"
-      ];
-    in
-      audio ++ video ++ image;
-
     hm.programs = {
       mpv = {
         enable = true;
diff --git a/modules/common/zathura.nix b/modules/common/zathura.nix
index 408f218..f78a9e9 100644
--- a/modules/common/zathura.nix
+++ b/modules/common/zathura.nix
@@ -10,11 +10,6 @@ in {
     mkEnableOption "Zathura PDF reader";
 
   config = mkIf cfg.enable {
-    nixfiles.modules.common.xdg.defaultApplications."org.pwmt.zathura" = [
-      "application/pdf"
-      "application/epub+zip"
-    ];
-
     hm.programs.zathura = with config.nixfiles.modules; {
       enable = true;
 
diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix
index 1b1ec75..35694f4 100644
--- a/modules/nixos/default.nix
+++ b/modules/nixos/default.nix
@@ -33,6 +33,7 @@ _: {
     ./matrix
     ./monitoring
     ./mpd.nix
+    ./mpv.nix
     ./murmur.nix
     ./nextcloud.nix
     ./nginx.nix
@@ -68,5 +69,6 @@ _: {
     ./wireguard.nix
     ./x11.nix
     ./xmonad.nix
+    ./zathura.nix
   ];
 }
diff --git a/modules/nixos/firefox/userContent.css b/modules/nixos/firefox/userContent.css
index 9d59704..8615990 100644
--- a/modules/nixos/firefox/userContent.css
+++ b/modules/nixos/firefox/userContent.css
@@ -54,7 +54,6 @@
     .js-user-status-item,
     .protip,
     .pt-3.mt-3.d-none.d-md-block, /* Profile achievements. */
-    .text-small.color-fg-muted, /* Useless tips. */
     .user-status-circle-badge-container,
     .user-status-container,
     a[href^="/account/choose?action=upgrade"],
diff --git a/modules/nixos/fonts.nix b/modules/nixos/fonts.nix
index f11a27d..f9624ec 100644
--- a/modules/nixos/fonts.nix
+++ b/modules/nixos/fonts.nix
@@ -1,6 +1,7 @@
 {
   config,
   lib,
+  pkgs,
   ...
 }:
 with lib; let
@@ -8,36 +9,58 @@ with lib; let
 in {
   config = mkMerge [
     (mkIf cfg.enable {
+      nixfiles.modules.common.nix.allowedUnfreePackages = ["symbola"];
       hm.fonts.fontconfig.enable = true;
       fonts = {
-        inherit (cfg) packages;
+        packages = cfg.packages ++ [pkgs.symbola];
 
         fontconfig = {
           enable = true;
 
           defaultFonts = {
-            monospace = [
+            emoji = mkForce [
+              "Twitter Color Emoji"
+              "Noto Color Emoji"
+              "Symbola"
+            ];
+            monospace = mkForce [
               "Iosevka"
-              "Sarasa Mono K"
-              "Sarasa Mono J"
-              "Sarasa Mono SC"
-              "Sarasa Mono CL"
+              "Sarasa Mono"
+              "Source Han Mono"
+              "Noto Sans Mono"
             ];
-            sansSerif = [
+            sansSerif = mkForce [
               "Iosevka Aile"
-              "Sarasa Gothic K"
-              "Sarasa Gothic J"
-              "Sarasa Gothic SC"
-              "Sarasa Gothic CL"
+              "Sarasa Gothic"
+              "Source Han Sans"
+              "Noto Sans"
             ];
-            serif = [
+            serif = mkForce [
               "Iosevka Etoile"
-              "Sarasa Gothic K"
-              "Sarasa Gothic J"
-              "Sarasa Gothic SC"
-              "Sarasa Gothic CL"
+              "Sarasa Gothic"
+              "Source Han Serif"
+              "Noto Serif"
             ];
           };
+
+          localConf = ''
+            <?xml version='1.0'?>
+            <!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
+            <fontconfig>
+              <alias binding="same">
+                <family>Helvetica</family>
+                <prefer>
+                  <family>sans-serif</family>
+                </prefer>
+              </alias>
+              <alias binding="same">
+                <family>Arial</family>
+                <prefer>
+                  <family>sans-serif</family>
+                </prefer>
+              </alias>
+            </fontconfig>
+          '';
         };
       };
     })
diff --git a/modules/nixos/monitoring/default.nix b/modules/nixos/monitoring/default.nix
index 7f62874..57adf1c 100644
--- a/modules/nixos/monitoring/default.nix
+++ b/modules/nixos/monitoring/default.nix
@@ -194,6 +194,11 @@ in {
               hosts = [manwe];
               inherit (config.services.prometheus.exporters.wireguard) port;
             };
+            # TODO Wait for https://github.com/NixOS/nixpkgs/pull/265696
+            exportarr-lidarr = {
+              hosts = [yavanna];
+              port = 9708;
+            };
           };
 
         ruleFiles = [
diff --git a/modules/nixos/mpv.nix b/modules/nixos/mpv.nix
new file mode 100644
index 0000000..efe1729
--- /dev/null
+++ b/modules/nixos/mpv.nix
@@ -0,0 +1,89 @@
+{
+  config,
+  lib,
+  ...
+}:
+with lib; let
+  cfg = config.nixfiles.modules.mpv;
+in {
+  config = mkIf cfg.enable {
+    nixfiles.modules.common.xdg.defaultApplications.mpv = let
+      audio = [
+        "audio/aac"
+        "audio/ac3"
+        "audio/basic"
+        "audio/flac"
+        "audio/midi"
+        "audio/mp4"
+        "audio/mpeg"
+        "audio/ogg"
+        "audio/opus"
+        "audio/vnd.dts"
+        "audio/vnd.dts.hd"
+        "audio/webm"
+        "audio/x-adpcm"
+        "audio/x-aifc"
+        "audio/x-aiff"
+        "audio/x-ape"
+        "audio/x-flac+ogg"
+        "audio/x-m4b"
+        "audio/x-m4r"
+        "audio/x-matroska"
+        "audio/x-mpegurl"
+        "audio/x-musepack"
+        "audio/x-opus+ogg"
+        "audio/x-speex"
+        "audio/x-speex+ogg"
+        "audio/x-vorbis+ogg"
+        "audio/x-wav"
+        "audio/x-wavpack"
+        "x-content/audio-cdda"
+        "x-content/audio-dvd"
+      ];
+      video = [
+        "video/3gpp"
+        "video/3gpp2"
+        "video/mkv"
+        "video/mp2t"
+        "video/mp4"
+        "video/mpeg"
+        "video/ogg"
+        "video/quicktime"
+        "video/vnd.mpegurl"
+        "video/vnd.radgamettools.bink"
+        "video/vnd.radgamettools.smacker"
+        "video/wavelet"
+        "video/webm"
+        "video/x-matroska"
+        "video/x-matroska-3d"
+        "video/x-mjpeg"
+        "video/x-msvideo"
+        "video/x-ogm+ogg"
+        "video/x-theora+ogg"
+        "x-content/video-bluray"
+        "x-content/video-dvd"
+        "x-content/video-hddvd"
+        "x-content/video-svcd"
+        "x-content/video-vcd"
+      ];
+      image = [
+        "image/avif"
+        "image/bmp"
+        "image/gif"
+        "image/jp2"
+        "image/jpeg"
+        "image/jpg"
+        "image/jpm"
+        "image/jpx"
+        "image/jxl"
+        "image/png"
+        "image/tiff"
+        "image/vnd.microsoft.icon"
+        "image/webp"
+        "image/webp"
+        "image/x-tga"
+      ];
+    in
+      audio ++ video ++ image;
+  };
+}
diff --git a/modules/nixos/zathura.nix b/modules/nixos/zathura.nix
new file mode 100644
index 0000000..e7d1415
--- /dev/null
+++ b/modules/nixos/zathura.nix
@@ -0,0 +1,15 @@
+{
+  config,
+  lib,
+  ...
+}:
+with lib; let
+  cfg = config.nixfiles.modules.zathura;
+in {
+  config = mkIf cfg.enable {
+    nixfiles.modules.common.xdg.defaultApplications."org.pwmt.zathura" = [
+      "application/pdf"
+      "application/epub+zip"
+    ];
+  };
+}

Consider giving Nix/NixOS a try! <3