summaryrefslogtreecommitdiff
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"
+ ];
+ };
+}