Compare commits
2
Commits
eff27bef6c
...
0781321e32
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0781321e32 | ||
|
|
b431bffe11 |
@@ -67,6 +67,7 @@
|
|||||||
murmur.enable = true;
|
murmur.enable = true;
|
||||||
anki-sync-server.enable = true;
|
anki-sync-server.enable = true;
|
||||||
vaultwarden.enable = true;
|
vaultwarden.enable = true;
|
||||||
|
beets.enable = true;
|
||||||
servarr = {
|
servarr = {
|
||||||
enable = true;
|
enable = true;
|
||||||
prowlarr.enable = true;
|
prowlarr.enable = true;
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
syd/kanagawa
|
syd/kanagawa
|
||||||
syd/comint
|
syd/comint
|
||||||
syd/evil
|
syd/evil
|
||||||
|
syd/wasm
|
||||||
syd/scrolling
|
syd/scrolling
|
||||||
syd/fonts
|
syd/fonts
|
||||||
syd/frame
|
syd/frame
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
;; -*- lexical-binding: t; -*-
|
;; -*- lexical-binding: t; -*-
|
||||||
(require 'syd/base)
|
(require 'syd/base)
|
||||||
(require 'syd/handle)
|
(require 'syd/handle)
|
||||||
|
(require 'syd/wasm)
|
||||||
|
|
||||||
(defun syd-haskell-open-repl ()
|
(defun syd-haskell-open-repl ()
|
||||||
"Open a Haskell REPL."
|
"Open a Haskell REPL."
|
||||||
@@ -56,7 +57,10 @@
|
|||||||
[remap evil-open-above] #'syd-haskell-evil-open-above
|
[remap evil-open-above] #'syd-haskell-evil-open-above
|
||||||
[remap evil-open-below] #'syd-haskell-evil-open-below)
|
[remap evil-open-below] #'syd-haskell-evil-open-below)
|
||||||
:config
|
: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
|
(use-package lsp-haskell
|
||||||
:defer t
|
: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)
|
||||||
@@ -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";
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
"slskd"
|
"slskd"
|
||||||
# Can access Nixarr's media.
|
# Can access Nixarr's media.
|
||||||
"media"
|
"media"
|
||||||
|
"beets"
|
||||||
];
|
];
|
||||||
initialHashedPassword =
|
initialHashedPassword =
|
||||||
"$y$j9T$aEFDDwdTZbAc6VQRXrkBJ0$K8wxTGTWDihyX1wxJ.ZMH//wmQFfrGGUkLkxIU0Lyq8";
|
"$y$j9T$aEFDDwdTZbAc6VQRXrkBJ0$K8wxTGTWDihyX1wxJ.ZMH//wmQFfrGGUkLkxIU0Lyq8";
|
||||||
|
|||||||
Reference in New Issue
Block a user