Compare commits

...
2 Commits
Author SHA1 Message Date
msyds 0781321e32 feat(beats): init
build / build (push) Successful in 3m10s
2026-08-06 17:56:25 -06:00
msyds b431bffe11 feat(emacs): wat-mode 2026-07-18 16:27:24 -06:00
6 changed files with 89 additions and 1 deletions
+1
View File
@@ -67,6 +67,7 @@
murmur.enable = true;
anki-sync-server.enable = true;
vaultwarden.enable = true;
beets.enable = true;
servarr = {
enable = true;
prowlarr.enable = true;
+1
View File
@@ -17,6 +17,7 @@
syd/kanagawa
syd/comint
syd/evil
syd/wasm
syd/scrolling
syd/fonts
syd/frame
@@ -1,6 +1,7 @@
;; -*- lexical-binding: t; -*-
(require 'syd/base)
(require 'syd/handle)
(require 'syd/wasm)
(defun syd-haskell-open-repl ()
"Open a Haskell REPL."
@@ -56,7 +57,10 @@
[remap evil-open-above] #'syd-haskell-evil-open-above
[remap evil-open-below] #'syd-haskell-evil-open-below)
:config
(add-to-list 'completion-ignored-extensions ".hi"))
(add-to-list 'completion-ignored-extensions ".hi")
(add-to-list 'haskell-font-lock-quasi-quote-modes '("wat" . wat-mode))
(add-to-list 'haskell-font-lock-quasi-quote-modes '("wats" . wat-mode))
(add-to-list 'haskell-font-lock-quasi-quote-modes '("expr" . wat-mode)))
(use-package lsp-haskell
:defer t
@@ -0,0 +1,14 @@
;; -*- lexical-binding: t; -*-
(require 'syd/base)
(require 'syd/lisp)
(use-package wat-mode
:mode "\\.wat\\'"
:straight (:type git
:host nil
:repo "https://git.deertopia.net/msyds/wat-mode.git")
:config
(add-hook 'wat-mode-hook #'syd-lisp-mode))
(provide 'syd/wasm)
+67
View File
@@ -0,0 +1,67 @@
{ config, lib, pkgs, ... }:
let cfg = config.sydnix.deertopia.beets;
in {
options.sydnix.deertopia.beets = {
enable = lib.mkEnableOption "Beets";
user = lib.mkOption {
default = "beets";
type = lib.types.str;
description = ''
Name of the user which owns the Beets database.
'';
};
group = lib.mkOption {
default = "beets";
type = lib.types.str;
description = ''
Name of the group which owns the Beets database.
'';
};
};
config = lib.mkIf cfg.enable {
users.users.${cfg.user} = {
description = "Beets";
isSystemUser = true;
inherit (cfg) group;
};
users.groups.${cfg.group} = {};
# Persist allowed directories.
sydnix.impermanence.directories = [
{
directory = "/var/lib/beets";
inherit (cfg) user group;
mode = "u=rwx,g=rwx,o=";
}
];
environment.systemPackages = [
pkgs.beets
];
environment.sessionVariables.BEETSDIR = "/var/lib/beets";
systemd.tmpfiles.settings."50-var-lib-beets-beets-yaml" = {
"/var/lib/beets/beets.yaml"."L+".argument =
lib.toString
(pkgs.writeText
"beets.yaml"
(lib.toJSON {
directory = "/media/library/music";
library = "/var/lib/beets/beets.db";
import = {
copy = true;
write = true;
incremental = true;
};
paths = {
default = "$albumartist/$album%aunique{} ($year)/$track $title";
singleton = "Non-Album/$artist/$title";
comp = "Compilations/$album%aunique{} ($year)/$title";
};
}));
};
};
}
+1
View File
@@ -18,6 +18,7 @@
"slskd"
# Can access Nixarr's media.
"media"
"beets"
];
initialHashedPassword =
"$y$j9T$aEFDDwdTZbAc6VQRXrkBJ0$K8wxTGTWDihyX1wxJ.ZMH//wmQFfrGGUkLkxIU0Lyq8";