mirror of
https://github.com/kmein/niveum
synced 2026-03-25 22:01:08 +01:00
Compare commits
57 Commits
feature/ha
...
c76c396342
| Author | SHA1 | Date | |
|---|---|---|---|
| c76c396342 | |||
| d60ac5de17 | |||
| d9c324c22d | |||
| aec50b5d84 | |||
| 7da1e6178d | |||
| 5fba7afd82 | |||
| 683a206c7b | |||
| 014cead444 | |||
|
|
5ca1312464 | ||
| 3b891aea90 | |||
| b096a1c1ae | |||
| a211650860 | |||
| 8f895f01a7 | |||
| 765a99d89f | |||
| c9cd49c3ac | |||
| 0f612ba72b | |||
| 0f6819f54a | |||
| 6ffed60aaf | |||
| 0a847dbb1e | |||
| 074a6b9434 | |||
| 229a48ac07 | |||
|
|
df508de28b | ||
| 05702d9917 | |||
| 98c0e744ce | |||
| 33770cdf63 | |||
| dbecace73b | |||
| 04738b91ee | |||
| d7c3e03c0f | |||
| 5811fa3921 | |||
| f435277463 | |||
| 587ec584c1 | |||
| 832b115a0d | |||
| 385a26ac9d | |||
| 1b92a35237 | |||
| 06805e5b2a | |||
| 3f50c45bed | |||
| 5a4d49e059 | |||
| 78eb463742 | |||
| 55f0484f93 | |||
| 75d19297ee | |||
| 084a56b0a1 | |||
| 3c5246b159 | |||
| 73ce1bc4b5 | |||
| 84b4e50e64 | |||
| ed160923c7 | |||
| 38c1dc8745 | |||
| 559a6cdc86 | |||
|
|
d4b208b620 | ||
| 51bbbc9e56 | |||
| 39e5653825 | |||
| 65dc602d67 | |||
| 333bf9e145 | |||
| 4052df257c | |||
|
|
1ca8827e91 | ||
| a4f3c98fae | |||
| f403319fea | |||
| d0b405fb15 |
@@ -4,7 +4,7 @@
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../lib/email.nix) defaults;
|
||||
inherit (import ../lib/email.nix) defaults thunderbirdProfile;
|
||||
in {
|
||||
age.secrets = {
|
||||
email-password-cock = {
|
||||
@@ -96,6 +96,26 @@ in {
|
||||
|
||||
# programs.himalaya.enable = true;
|
||||
|
||||
programs.thunderbird = {
|
||||
enable = true;
|
||||
settings = {
|
||||
};
|
||||
profiles.${thunderbirdProfile} = {
|
||||
isDefault = true;
|
||||
settings = {
|
||||
"mail.default_send_format" = 1;
|
||||
"msgcompose.default_colors" = false;
|
||||
"msgcompose.text_color" = config.lib.stylix.colors.withHashtag.base00;
|
||||
"msgcompose.background_color" = config.lib.stylix.colors.withHashtag.base05;
|
||||
};
|
||||
userChrome = ''
|
||||
'';
|
||||
userContent = ''
|
||||
'';
|
||||
withExternalGnupg = false;
|
||||
};
|
||||
};
|
||||
|
||||
programs.aerc = {
|
||||
enable = true;
|
||||
|
||||
@@ -227,19 +247,19 @@ in {
|
||||
general.pgp-provider = "gpg";
|
||||
viewer = {pager = "${pkgs.less}/bin/less -R";};
|
||||
compose = {
|
||||
address-book-cmd = "khard email --remove-first-line --parsable '%s'";
|
||||
no-attachment-warning = "(attach|attached|attachments?|anbei|Anhang|angehängt)";
|
||||
# address-book-cmd = "khard email --remove-first-line --parsable '%s'";
|
||||
no-attachment-warning = "(attach|attached|attachments?|anbei|Anhang|angehängt|beigefügt)";
|
||||
};
|
||||
filters = {
|
||||
"text/plain" = "${pkgs.gawk}/bin/awk -f ${pkgs.aerc}/share/aerc/filters/colorize";
|
||||
"text/calendar" = "${pkgs.gawk}/bin/awk -f ${pkgs.aerc}/share/aerc/filters/calendar";
|
||||
"text/html" = "${pkgs.aerc}/share/aerc/filters/html"; # Requires w3m, dante
|
||||
"text/plain" = "${pkgs.aerc}/libexec/aerc/filters/colorize";
|
||||
"text/calendar" = "${pkgs.aerc}/libexec/aerc/filters/calendar";
|
||||
"text/html" = "${pkgs.aerc}/libexec/aerc/filters/html"; # Requires w3m, dante
|
||||
# "text/html" =
|
||||
# "${pkgs.aerc}/share/aerc/filters/html | ${pkgs.aerc}/share/aerc/filters/colorize";
|
||||
# "text/*" =
|
||||
# ''${pkgs.bat}/bin/bat -fP --theme=ansi --file-name="$AERC_FILENAME "'';
|
||||
"message/delivery-status" = "${pkgs.gawk}/bin/awk -f ${pkgs.aerc}/share/aerc/filters/colorize";
|
||||
"message/rfc822" = "${pkgs.gawk}/bin/awk -f ${pkgs.aerc}/share/aerc/filters/colorize";
|
||||
"message/delivery-status" = "${pkgs.aerc}/libexec/aerc/filters/colorize";
|
||||
"message/rfc822" = "${pkgs.aerc}/libexec/aerc/filters/colorize";
|
||||
"application/x-sh" = "${pkgs.bat}/bin/bat -fP -l sh";
|
||||
};
|
||||
openers = let
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
{pkgs, ...}: {
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
settings.General.Enable =
|
||||
lib.concatStringsSep "," ["Source" "Sink" "Media" "Socket"];
|
||||
package = pkgs.bluez;
|
||||
settings.general = {
|
||||
enable = "Source,Sink,Media,Socket";
|
||||
};
|
||||
};
|
||||
|
||||
services.blueman.enable = true;
|
||||
|
||||
@@ -95,7 +95,7 @@ in {
|
||||
mode = "400";
|
||||
};
|
||||
|
||||
services.syncthing = rec {
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
user = "kfm";
|
||||
openDefaultPorts = true;
|
||||
@@ -103,21 +103,23 @@ in {
|
||||
dataDir = "/home/kfm/.config/syncthing";
|
||||
cert = config.age.secrets.syncthing-cert.path;
|
||||
key = config.age.secrets.syncthing-key.path;
|
||||
inherit ((import ../lib).syncthing) devices;
|
||||
folders = let
|
||||
cloud-dir = "${config.users.users.me.home}/cloud";
|
||||
in {
|
||||
"${cloud-dir}/syncthing/zotero".devices = ["kabsa" "manakish"];
|
||||
"${cloud-dir}/syncthing/common".devices = ["kabsa" "manakish"];
|
||||
"${cloud-dir}/syncthing/library".devices = ["kabsa" "manakish" "heym"];
|
||||
"${cloud-dir}/syncthing/mundoiu".devices = ["kabsa" "manakish" "heym"];
|
||||
"${cloud-dir}/syncthing/obsidian" = {
|
||||
devices = ["kabsa" "manakish" "heym"];
|
||||
id = "3r1hu-3barr";
|
||||
};
|
||||
"${cloud-dir}/syncthing/music" = {
|
||||
devices = ["kabsa" "manakish" "heym" "zaatar"];
|
||||
id = "music";
|
||||
settings = {
|
||||
inherit ((import ../lib).syncthing) devices;
|
||||
folders = let
|
||||
cloud-dir = "${config.users.users.me.home}/cloud";
|
||||
in {
|
||||
"${cloud-dir}/syncthing/zotero/storage".devices = ["kabsa" "manakish"];
|
||||
"${cloud-dir}/syncthing/common".devices = ["kabsa" "manakish"];
|
||||
"${cloud-dir}/syncthing/library".devices = ["kabsa" "manakish" "heym"];
|
||||
"${cloud-dir}/syncthing/mundoiu".devices = ["kabsa" "manakish" "heym"];
|
||||
"${cloud-dir}/syncthing/obsidian" = {
|
||||
devices = ["kabsa" "manakish" "heym"];
|
||||
id = "3r1hu-3barr";
|
||||
};
|
||||
"${cloud-dir}/syncthing/music" = {
|
||||
devices = ["kabsa" "manakish" "heym" "zaatar"];
|
||||
id = "music";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -25,6 +25,7 @@ in {
|
||||
};
|
||||
permittedInsecurePackages = [
|
||||
"qtwebkit-5.212.0-alpha4"
|
||||
"zotero-6.0.26"
|
||||
];
|
||||
};
|
||||
};
|
||||
@@ -81,7 +82,7 @@ in {
|
||||
users.users.me = {
|
||||
name = "kfm";
|
||||
description = kieran.name;
|
||||
passwordFile = config.age.secrets.kfm-password.path;
|
||||
hashedPasswordFile = config.age.secrets.kfm-password.path;
|
||||
isNormalUser = true;
|
||||
uid = 1000;
|
||||
};
|
||||
|
||||
@@ -52,9 +52,9 @@
|
||||
};
|
||||
in {
|
||||
fonts = {
|
||||
enableDefaultFonts = true;
|
||||
enableDefaultPackages = true;
|
||||
fontDir.enable = true;
|
||||
fonts = with pkgs; [
|
||||
packages = with pkgs; [
|
||||
alegreya
|
||||
alegreya-sans
|
||||
amiri
|
||||
@@ -109,7 +109,7 @@ in {
|
||||
fontconfig.defaultFonts = rec {
|
||||
monospace = ["Noto Sans Mono"] ++ emoji;
|
||||
serif = ["Noto Serif" "Noto Naskh Arabic" "Noto Serif Devanagari"];
|
||||
sansSerif = ["Noto Sans Display" "Noto Naskh Arabic" "Noto Sans Devanagari" "Noto Sans CJK JP" "Noto Sans Coptic"];
|
||||
sansSerif = ["Noto Sans Display" "Noto Naskh Arabic" "Noto Sans Hebrew" "Noto Sans Devanagari" "Noto Sans CJK JP" "Noto Sans Coptic"];
|
||||
emoji = ["Noto Color Emoji"];
|
||||
};
|
||||
# xelatex fails with woff files
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
...
|
||||
}: let
|
||||
username = "meinhak99";
|
||||
inherit (import ../lib/email.nix) defaults;
|
||||
inherit (import ../lib/email.nix) defaults pronouns;
|
||||
fu-defaults = rec {
|
||||
imap.host = "mail.zedat.fu-berlin.de";
|
||||
smtp.host = imap.host;
|
||||
@@ -33,6 +33,21 @@ in {
|
||||
address = "kieran.meinhardt@fu-berlin.de";
|
||||
aliases = ["${userName}@fu-berlin.de"];
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhak99.path}";
|
||||
aerc.extraAccounts.signature-file = toString (pkgs.writeText "signature" signature.text);
|
||||
signature = {
|
||||
showSignature = "append";
|
||||
text = ''
|
||||
${defaults.realName}
|
||||
${pronouns}
|
||||
|
||||
---
|
||||
Studentische Hilfskraft / ZODIAC
|
||||
Freie Universität Berlin
|
||||
|
||||
Telefon: +49 30 838 58118
|
||||
Arnimallee 10, Raum K011, 14195 Berlin
|
||||
'';
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
@@ -66,6 +81,35 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
# https://www.zedat.fu-berlin.de/tip4u_157.pdf
|
||||
fileSystems = let
|
||||
fu-berlin-cifs-options = [
|
||||
"uid=${toString config.users.users.me.uid}"
|
||||
"gid=${toString config.users.groups.users.gid}"
|
||||
"rw"
|
||||
"nounix"
|
||||
"domain=fu-berlin"
|
||||
"noauto"
|
||||
"x-systemd.automount"
|
||||
"x-systemd.device-timeout=1"
|
||||
"x-systemd.idle-timeout=1min"
|
||||
];
|
||||
in {
|
||||
"/media/fu-berlin/zodiac" = {
|
||||
device = "//trove.storage.fu-berlin.de/GESCHKULT";
|
||||
fsType = "cifs";
|
||||
options =
|
||||
fu-berlin-cifs-options
|
||||
++ [
|
||||
"credentials=${config.age.secrets.cifs-credentials-zodiac.path}"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
age.secrets = {
|
||||
cifs-credentials-zodiac.file = ../secrets/cifs-credentials-zodiac.age;
|
||||
};
|
||||
|
||||
systemd.services.fu-vpn = {
|
||||
enable = true;
|
||||
wants = ["network-online.target"];
|
||||
|
||||
@@ -2,18 +2,23 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
ledgerDirectory = "$HOME/projects/ledger";
|
||||
timeLedger = "${ledgerDirectory}/time.timeclock";
|
||||
hora = pkgs.writers.writeDashBin "hora" ''
|
||||
${pkgs.hledger}/bin/hledger -f "${timeLedger}" "$@"
|
||||
'';
|
||||
in {
|
||||
environment.systemPackages = let
|
||||
ledgerDirectory = "$HOME/projects/ledger";
|
||||
timeLedger = "${ledgerDirectory}/time.timeclock";
|
||||
git = "${pkgs.git}/bin/git -C ${ledgerDirectory}";
|
||||
in [
|
||||
pkgs.hledger
|
||||
(pkgs.writers.writeDashBin "hora-edit" ''
|
||||
$EDITOR + "${timeLedger}" && ${pkgs.git}/bin/git -C "$(${pkgs.coreutils}/bin/dirname ${timeLedger})" commit --all --message "$(${pkgs.coreutils}/bin/date -Im)"
|
||||
'')
|
||||
(pkgs.writers.writeDashBin "hora" ''
|
||||
${pkgs.hledger}/bin/hledger -f "${timeLedger}" "$@"
|
||||
hora
|
||||
(pkgs.writers.writeDashBin "hora-year" ''
|
||||
${hora}/bin/hora bal --tree --monthly --begin $(date +%Y) --depth 1
|
||||
'')
|
||||
(pkgs.writers.writeDashBin "hora-filli" ''
|
||||
${pkgs.hledger}/bin/hledger -f "${timeLedger}" register fillidefilla -O csv \
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../lib/email.nix) defaults;
|
||||
inherit (import ../lib/email.nix) defaults pronouns;
|
||||
hu-defaults = {
|
||||
imap.host = "mailbox.cms.hu-berlin.de";
|
||||
imap.port = 993;
|
||||
@@ -56,12 +56,6 @@ in {
|
||||
group = config.users.users.me.group;
|
||||
mode = "400";
|
||||
};
|
||||
email-password-fsklassp = {
|
||||
file = ../secrets/email-password-fsklassp.age;
|
||||
owner = config.users.users.me.name;
|
||||
group = config.users.users.me.group;
|
||||
mode = "400";
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.me = {
|
||||
@@ -80,15 +74,6 @@ in {
|
||||
};
|
||||
|
||||
accounts.email.accounts = rec {
|
||||
hu-student =
|
||||
lib.recursiveUpdate defaults
|
||||
(lib.recursiveUpdate hu-defaults
|
||||
rec {
|
||||
userName = "meinhark";
|
||||
address = "kieran.felix.meinhardt@hu-berlin.de";
|
||||
aliases = ["${userName}@hu-berlin.de"];
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhark.path}";
|
||||
});
|
||||
hu-student-cs =
|
||||
lib.recursiveUpdate defaults
|
||||
(lib.recursiveUpdate hu-defaults
|
||||
@@ -113,6 +98,7 @@ in {
|
||||
showSignature = "append";
|
||||
text = ''
|
||||
${defaults.realName}
|
||||
${pronouns}
|
||||
Studentische Hilfskraft / Administrator ALEW
|
||||
Humboldt-Universität zu Berlin
|
||||
|
||||
@@ -133,28 +119,6 @@ in {
|
||||
inherit (hu-employee) signature;
|
||||
aerc.extraAccounts.signature-file = toString (pkgs.writeText "signature" signature.text);
|
||||
});
|
||||
hu-fsi =
|
||||
lib.recursiveUpdate defaults
|
||||
(lib.recursiveUpdate hu-defaults
|
||||
rec {
|
||||
userName = "fsklassp";
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-fsklassp.path}";
|
||||
address = "${userName}@hu-berlin.de";
|
||||
realName = "FSI Klassische Philologie";
|
||||
aerc.extraAccounts.signature-file = toString (pkgs.writeText "signature" signature.text);
|
||||
signature = {
|
||||
showSignature = "append";
|
||||
text = ''
|
||||
Fachschafts-Initiative
|
||||
|
||||
Humboldt-Universität zu Berlin
|
||||
Sprach- und literaturwissenschaftliche Fakultät
|
||||
Institut für klassische Philologie
|
||||
Unter den Linden 6
|
||||
10099 Berlin
|
||||
'';
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
@@ -181,20 +145,17 @@ in {
|
||||
systemd.services.hu-vpn = {
|
||||
enable = true;
|
||||
wants = ["network-online.target"];
|
||||
serviceConfig.LoadCredential = "password:${config.age.secrets.email-password-meinhark.path}";
|
||||
serviceConfig.LoadCredential = "password:${config.age.secrets.email-password-meinhaki.path}";
|
||||
script = ''
|
||||
if ${pkgs.wirelesstools}/bin/iwgetid | ${pkgs.gnugrep}/bin/grep --invert-match eduroam
|
||||
then
|
||||
${pkgs.openfortivpn}/bin/openfortivpn \
|
||||
--password="$(cat "$CREDENTIALS_DIRECTORY/password")" \
|
||||
--config=${
|
||||
${pkgs.openfortivpn}/bin/openfortivpn \
|
||||
--password="$(cat "$CREDENTIALS_DIRECTORY/password")" \
|
||||
--config=${
|
||||
pkgs.writeText "hu-berlin.config" ''
|
||||
host = forti-ssl.vpn.hu-berlin.de
|
||||
port = 443
|
||||
username = meinhark
|
||||
username = meinhaki
|
||||
''
|
||||
}
|
||||
fi
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -50,8 +50,11 @@
|
||||
emojai = pkgs.writers.writeDash "emojai" ''
|
||||
${pkgs.curl}/bin/curl https://www.emojai.app/api/generate -X POST -H 'Content-Type: application/json' --data-raw "$(${pkgs.jq}/bin/jq -sR '{emoji:.}')" | ${pkgs.jq}/bin/jq -r .result
|
||||
'';
|
||||
gpt = pkgs.writers.writeDash "gpt" ''
|
||||
${niveumPackages.gpt}/bin/gpt
|
||||
"gpt-3.5" = pkgs.writers.writeDash "gpt" ''
|
||||
${niveumPackages.gpt35}/bin/gpt
|
||||
'';
|
||||
gpt-4 = pkgs.writers.writeDash "gpt" ''
|
||||
${niveumPackages.gpt4}/bin/gpt
|
||||
'';
|
||||
};
|
||||
};
|
||||
@@ -243,7 +246,7 @@ in {
|
||||
"XF86AudioMute" = "exec ${pkgs.pamixer}/bin/pamixer -t";
|
||||
"XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 5";
|
||||
"XF86Calculator" = "exec ${pkgs.st}/bin/st -c floating -e ${pkgs.bc}/bin/bc";
|
||||
"XF86AudioPause" = "exec ${pkgs.playerctl}/bin/playerctl pause";
|
||||
"XF86AudioPause" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
||||
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
||||
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
|
||||
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
|
||||
|
||||
@@ -3,6 +3,15 @@
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
age.secrets = {
|
||||
miniflux-api-token = {
|
||||
file = ../secrets/miniflux-api-token.age;
|
||||
owner = config.users.users.me.name;
|
||||
group = config.users.users.me.group;
|
||||
mode = "400";
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.me = {
|
||||
programs.i3status-rust = {
|
||||
enable = true;
|
||||
@@ -27,6 +36,11 @@
|
||||
};
|
||||
};
|
||||
blocks = [
|
||||
{
|
||||
block = "music";
|
||||
format = "{$icon $combo $play |}";
|
||||
separator = " – ";
|
||||
}
|
||||
{
|
||||
block = "weather";
|
||||
autolocate = true;
|
||||
@@ -60,6 +74,24 @@
|
||||
print("↑{} ↓{} {}{}".format(sun["sunrise"].strftime("%R"), sun["sunset"].strftime("%R"), "☽" if current_phase < 14 else "☾", round(current_phase, 1)))
|
||||
'';
|
||||
}
|
||||
{
|
||||
block = "custom";
|
||||
interval = 5 * 60;
|
||||
hide_when_empty = true;
|
||||
json = true;
|
||||
icons_overrides.update = "";
|
||||
command = let
|
||||
minifluxEndpoint = "https://feed.kmein.de";
|
||||
in
|
||||
pkgs.writers.writeDash "miniflux" ''
|
||||
MINIFLUX_TOKEN=$(cat ${config.age.secrets.miniflux-api-token.path})
|
||||
${pkgs.curl}/bin/curl --insecure --header "X-Auth-Token: $MINIFLUX_TOKEN" ${minifluxEndpoint}/v1/feeds/counters \
|
||||
| ${pkgs.jq}/bin/jq '{
|
||||
text: ((.unreads | values | add) // 0) | tostring,
|
||||
icon: "update"
|
||||
}'
|
||||
'';
|
||||
}
|
||||
{
|
||||
block = "github";
|
||||
info = ["total"];
|
||||
|
||||
@@ -36,7 +36,7 @@ in {
|
||||
"Alt+j" = "add video-pan-y -0.05";
|
||||
};
|
||||
scripts = [
|
||||
pkgs.mpvScripts.youtube-quality
|
||||
pkgs.mpvScripts.quality-menu
|
||||
niveumPackages.mpv-visualizer
|
||||
];
|
||||
};
|
||||
|
||||
@@ -157,10 +157,13 @@ in {
|
||||
niveumPackages.ipa # XSAMPA to IPA converter
|
||||
niveumPackages.pls
|
||||
niveumPackages.mpv-tv
|
||||
niveumPackages.mpv-iptv
|
||||
jellyfin-media-player
|
||||
niveumPackages.devanagari
|
||||
niveumPackages.betacode # ancient greek betacode to unicode converter
|
||||
niveumPackages.meteo
|
||||
niveumPackages.mahlzeit
|
||||
niveumPackages.jq-lsp
|
||||
niveumPackages.vimv
|
||||
niveumPackages.swallow # window swallowing
|
||||
niveumPackages.literature-quote
|
||||
@@ -175,6 +178,7 @@ in {
|
||||
niveumPackages.fkill
|
||||
niveumPackages.wttr
|
||||
niveumPackages.unicodmenu
|
||||
niveumPackages.emailmenu
|
||||
niveumPackages.closest
|
||||
niveumPackages.trans
|
||||
(niveumPackages.mpv-radio.override {
|
||||
@@ -196,7 +200,7 @@ in {
|
||||
par
|
||||
qrencode
|
||||
|
||||
inputs.menstruation-backend.defaultPackage.x86_64-linux
|
||||
# inputs.menstruation-backend.defaultPackage.x86_64-linux
|
||||
inputs.agenix.packages.x86_64-linux.default
|
||||
inputs.recht.defaultPackage.x86_64-linux
|
||||
|
||||
@@ -256,6 +260,12 @@ in {
|
||||
lua-language-server
|
||||
nodePackages.vscode-langservers-extracted
|
||||
|
||||
dhall-lsp-server
|
||||
dhall-nix
|
||||
dhall-bash
|
||||
dhall-json
|
||||
dhall
|
||||
|
||||
html-tidy
|
||||
nodePackages.csslint
|
||||
nodePackages.jsonlint
|
||||
@@ -275,7 +285,7 @@ in {
|
||||
libreoffice
|
||||
# gnumeric
|
||||
dia
|
||||
unstablePackages.pandoc
|
||||
pandoc
|
||||
niveumPackages.man-pandoc
|
||||
typst
|
||||
# proselint
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
{pkgs, ...}: {
|
||||
sound.enable = true;
|
||||
|
||||
# realtime audio for pulseaudio
|
||||
# realtime audio
|
||||
security.rtkit.enable = true;
|
||||
|
||||
services.pipewire = {
|
||||
enable = false;
|
||||
systemWide = false;
|
||||
enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
@@ -15,8 +14,10 @@
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
systemd.user.services.pipewire-pulse.path = [pkgs.pulseaudio];
|
||||
|
||||
hardware.pulseaudio = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
package = pkgs.pulseaudioFull;
|
||||
# copy server:/run/pulse/.config/pulse/cookie to client:~/.config/pulse/cookie to authenticate a client machine
|
||||
zeroconf.discovery.enable = true;
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
wants = ["network-online.target"];
|
||||
startAt = "weekly";
|
||||
serviceConfig = {
|
||||
user = "kfm";
|
||||
User = config.users.users.me.name;
|
||||
Group = config.users.users.me.group;
|
||||
WorkingDirectory = "/home/kfm/cloud/nextcloud/Uni/Meta/Mensa";
|
||||
LoadCredential = [
|
||||
"password:${config.age.secrets.stw-berlin-card-code.path}"
|
||||
|
||||
@@ -25,7 +25,7 @@ in {
|
||||
"0" = "synth-midnight-dark";
|
||||
"1" = "apprentice"; # https://romainl.github.io/Apprentice/
|
||||
"2" = "one-light";
|
||||
"3" = "one-dark";
|
||||
"3" = "onedark";
|
||||
"4" = "material"; # https://github.com/ntpeters/base16-materialtheme-scheme
|
||||
"5" = "material-palenight";
|
||||
"6" = "material-lighter";
|
||||
|
||||
974
flake.lock
generated
974
flake.lock
generated
File diff suppressed because it is too large
Load Diff
19
flake.nix
19
flake.nix
@@ -5,14 +5,14 @@
|
||||
agenix.url = "github:ryantm/agenix";
|
||||
coptic-dictionary.url = "github:kmein/coptic-dictionary";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
home-manager.url = "github:nix-community/home-manager/release-23.05";
|
||||
home-manager.url = "github:nix-community/home-manager/release-23.11";
|
||||
menstruation-backend.url = "github:kmein/menstruation.rs";
|
||||
menstruation-telegram.url = "github:kmein/menstruation-telegram";
|
||||
nix-on-droid.url = "github:t184256/nix-on-droid/release-23.05";
|
||||
nixinate.url = "github:matthewcroughan/nixinate";
|
||||
nixpkgs-old.url = "github:NixOS/nixpkgs/50fc86b75d2744e1ab3837ef74b53f103a9b55a0";
|
||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/master";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
recht.url = "github:kmein/recht";
|
||||
retiolum.url = "git+https://git.thalheim.io/Mic92/retiolum";
|
||||
@@ -29,9 +29,9 @@
|
||||
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
coptic-dictionary.inputs.nixpkgs.follows = "nixpkgs";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
menstruation-backend.inputs.flake-utils.follows = "flake-utils";
|
||||
menstruation-backend.inputs.nixpkgs.follows = "nixpkgs";
|
||||
menstruation-backend.inputs.rust-overlay.follows = "rust-overlay";
|
||||
# menstruation-backend.inputs.flake-utils.follows = "flake-utils";
|
||||
# menstruation-backend.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# menstruation-backend.inputs.rust-overlay.follows = "rust-overlay";
|
||||
menstruation-telegram.inputs.flake-utils.follows = "flake-utils";
|
||||
menstruation-telegram.inputs.menstruation-backend.follows = "menstruation-backend";
|
||||
menstruation-telegram.inputs.nixpkgs.follows = "nixpkgs-old";
|
||||
@@ -272,7 +272,7 @@
|
||||
overlays = [
|
||||
nur.overlay
|
||||
(self: super: {
|
||||
mpv = super.mpv.override {scripts = [inputs.self.packages.${system}.mpv-visualizer];};
|
||||
mpv = super.mpv.override {scripts = [inputs.self.packages.${system}.mpv-visualizer super.mpvScripts.mpris];};
|
||||
dmenu = super.writers.writeDashBin "dmenu" ''exec ${pkgs.rofi}/bin/rofi -dmenu "$@"'';
|
||||
})
|
||||
];
|
||||
@@ -307,8 +307,11 @@
|
||||
genius = pkgs.callPackage packages/genius.nix {};
|
||||
gfs-fonts = pkgs.callPackage packages/gfs-fonts.nix {};
|
||||
git-preview = pkgs.callPackage packages/git-preview.nix {};
|
||||
gpt = pkgs.callPackage packages/gpt.nix {};
|
||||
gpt35 = pkgs.callPackage packages/gpt.nix {model = "gpt-3.5-turbo";};
|
||||
gpt4 = pkgs.callPackage packages/gpt.nix {model = "gpt-4";};
|
||||
hc = pkgs.callPackage packages/hc.nix {};
|
||||
jq-lsp = pkgs.callPackage packages/jq-lsp.nix {};
|
||||
stardict-tools = pkgs.callPackage packages/stardict-tools.nix {};
|
||||
heuretes = pkgs.callPackage packages/heuretes.nix {};
|
||||
htgen = pkgs.callPackage packages/htgen.nix {};
|
||||
image-convert-favicon = pkgs.callPackage packages/image-convert-favicon.nix {};
|
||||
@@ -333,6 +336,7 @@
|
||||
mpv-radio = pkgs.callPackage packages/mpv-radio.nix {di-fm-key-file = "/dev/null";};
|
||||
mpv-tuner = pkgs.callPackage packages/mpv-tuner.nix {di-fm-key-file = "/dev/null";};
|
||||
mpv-tv = pkgs.callPackage packages/mpv-tv.nix {};
|
||||
mpv-iptv = pkgs.callPackage packages/mpv-iptv.nix {};
|
||||
mpv-visualizer = unstablePackages.mpvScripts.visualizer;
|
||||
new-mac = pkgs.callPackage packages/new-mac.nix {};
|
||||
nix-git = pkgs.callPackage packages/nix-git.nix {};
|
||||
@@ -350,6 +354,7 @@
|
||||
trans = pkgs.callPackage packages/trans.nix {};
|
||||
ttspaste = pkgs.callPackage packages/ttspaste.nix {};
|
||||
unicodmenu = pkgs.callPackage packages/unicodmenu.nix {};
|
||||
emailmenu = pkgs.callPackage packages/emailmenu.nix {};
|
||||
untilport = pkgs.callPackage packages/untilport.nix {};
|
||||
vg = pkgs.callPackage packages/vg.nix {};
|
||||
vim = pkgs.callPackage packages/vim.nix {niveumPackages = self.packages.${system};};
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
{
|
||||
rec {
|
||||
thunderbirdProfile = "donnervogel";
|
||||
pronouns = builtins.concatStringsSep "/" [
|
||||
"er"
|
||||
"he"
|
||||
"is"
|
||||
"οὗτος"
|
||||
"هو"
|
||||
"ⲛ̄ⲧⲟϥ"
|
||||
"он"
|
||||
"han"
|
||||
"सः"
|
||||
];
|
||||
defaults = {
|
||||
thunderbird = {
|
||||
enable = true;
|
||||
profiles = [thunderbirdProfile];
|
||||
};
|
||||
aerc.enable = true;
|
||||
realName = "Kierán Meinhardt";
|
||||
folders.inbox = "INBOX";
|
||||
|
||||
@@ -148,6 +148,11 @@ in
|
||||
logo = "https://de.wikipedia.org/wiki/Wikipedia:Enzyklop%C3%A4die/Logo_von_Wikipedia#/media/Datei:Wikipedia-logo-v2.svg";
|
||||
tags = [tags.text];
|
||||
}
|
||||
{
|
||||
stream = "http://stream.freiesradio.org:8000/live.mp3";
|
||||
station = "Freies Radio Kassel";
|
||||
description = "Gesellschaft zur drahtlosen Belehrung und Erbauung";
|
||||
}
|
||||
{
|
||||
stream = "http://162.244.80.20:6948";
|
||||
station = "Cool Jazz Florida";
|
||||
@@ -1416,9 +1421,8 @@ in
|
||||
tags = [tags.arabic];
|
||||
}
|
||||
{
|
||||
stream = "http://5.9.16.111:8210/arabic_live";
|
||||
station = "Radio Arabica";
|
||||
logo = "https://radioarabica.de/wp-content/uploads/2020/09/LOGO_klein-1.png";
|
||||
stream = "https://arabica.streamabc.net/76-radioorient-mp3-256-1050481";
|
||||
station = "Radio Orient";
|
||||
tags = [tags.berlin tags.arabic];
|
||||
}
|
||||
{
|
||||
@@ -1966,6 +1970,11 @@ in
|
||||
station = "radioeins | RBB";
|
||||
tags = [tags.top40 tags.pop];
|
||||
}
|
||||
{
|
||||
stream = "https://liveradio.swr.de/sw282p3/swr4lu/";
|
||||
station = "SWR3 Ludwigshafen";
|
||||
tags = [tags.top40 tags.pop];
|
||||
}
|
||||
]
|
||||
++ map (name: {
|
||||
stream = "https://${name}.stream.publicradio.org/${name}.aac";
|
||||
|
||||
@@ -113,6 +113,7 @@ local language_servers = {
|
||||
html = {}, -- vscode-langservers-extracted
|
||||
jsonls = {}, -- vscode-langservers-extracted
|
||||
nil_ls = {}, -- github:oxalica/nil
|
||||
dhall_lsp_server = {}, -- dhall-lsp-server
|
||||
-- rnix = {}, -- rnix-lsp
|
||||
jqls = {}, -- jq-lsp
|
||||
rust_analyzer = { ["rust-analyzer"] = {} },
|
||||
|
||||
@@ -100,7 +100,8 @@ augroup filetypes
|
||||
autocmd bufnewfile,bufread *.typ packadd typst.vim | set filetype=typst
|
||||
autocmd bufnewfile,bufread *.ics packadd icalendar.vim | set filetype=icalendar
|
||||
autocmd bufnewfile,bufread *.ts packadd typescript-vim | set filetype=typescript
|
||||
autocmd bufnewfile,bufread *.jq packadd jq.vim
|
||||
autocmd bufnewfile,bufread *.dhall packadd dhall-vim | set filetype=dhall
|
||||
autocmd bufnewfile,bufread *.jq packadd jq.vim | set filetype=jq
|
||||
autocmd bufnewfile,bufread *.journal packadd vim-ledger | set filetype=ledger shiftwidth=4
|
||||
autocmd bufnewfile,bufread urls,config set filetype=conf
|
||||
autocmd bufnewfile,bufread *.elm packadd elm-vim | set filetype=elm shiftwidth=4
|
||||
|
||||
18
packages/emailmenu.nix
Normal file
18
packages/emailmenu.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
writers,
|
||||
lib,
|
||||
coreutils,
|
||||
dmenu,
|
||||
gawk,
|
||||
libnotify,
|
||||
xclip,
|
||||
khard,
|
||||
}:
|
||||
writers.writeDashBin "emailmenu" ''
|
||||
history_file=$HOME/.cache/emailmenu
|
||||
PATH=${lib.makeBinPath [coreutils dmenu gawk libnotify xclip]}
|
||||
chosen=$(${khard}/bin/khard email --parsable | awk '!seen[$0]++' | dmenu -i -p 📧 -1 -l 10 | tee --append "$history_file" | cut -f1)
|
||||
[ "$chosen" != "" ] || exit
|
||||
echo "$chosen" | tr -d '\n' | xclip -selection clipboard
|
||||
notify-send --app-name="$(basename "$0")" "'$chosen' copied to clipboard." &
|
||||
''
|
||||
16
packages/jq-lsp.nix
Normal file
16
packages/jq-lsp.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
}:
|
||||
buildGoModule {
|
||||
name = "jq-lsp";
|
||||
version = "unstable-2023-09-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "wader";
|
||||
repo = "jq-lsp";
|
||||
rev = "85edf1adbe5e6c91b37c67b6a4bf85eda1e49f2f";
|
||||
hash = "sha256-ItLKRSbGZ8UqFEHCoh96KwhSpuKZ3l+2ZXnBkHEZL0M=";
|
||||
};
|
||||
vendorHash = "sha256-ppQ81uERHBgOr/bm/CoDSWcK+IqHwvcL6RFi0DgoLuw=";
|
||||
}
|
||||
16
packages/mpv-iptv.nix
Normal file
16
packages/mpv-iptv.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
mpv,
|
||||
writers,
|
||||
}:
|
||||
writers.writeDashBin "iptv" ''
|
||||
set -efu
|
||||
${mpv}/bin/mpv \
|
||||
--audio-display=no --audio-channels=stereo \
|
||||
--audio-samplerate=48000 --audio-format=s16 \
|
||||
--ao-pcm-file=/run/snapserver/snapfifo --ao=pcm \
|
||||
--audio-delay=-1 \
|
||||
--playlist=https://iptv-org.github.io/iptv/index.nsfw.m3u \
|
||||
--idle=yes \
|
||||
--input-ipc-server=/tmp/mpv.ipc \
|
||||
"$@"
|
||||
''
|
||||
48
packages/stardict-tools.nix
Normal file
48
packages/stardict-tools.nix
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
stdenv,
|
||||
autoreconfHook,
|
||||
pkg-config,
|
||||
which,
|
||||
libtool,
|
||||
glib,
|
||||
zlib,
|
||||
gtk3,
|
||||
libmysqlclient,
|
||||
pcre,
|
||||
libxml2,
|
||||
gnused,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "stardict-tools";
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
which
|
||||
libtool
|
||||
];
|
||||
buildInputs = [glib zlib gtk3 libmysqlclient pcre libxml2];
|
||||
buildPhase = "make";
|
||||
configureFlags = ["--disable-dict"];
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
"-Wno-error=format-security"
|
||||
];
|
||||
patchPhase = ''
|
||||
${gnused}/bin/sed -i s/noinst_PROGRAMS/bin_PROGRAMS/ tools/src/Makefile.am
|
||||
'';
|
||||
installFlags = ["INSTALL_PREFIX=$(out)"];
|
||||
autoreconfPhase = ''
|
||||
patchShebangs ./autogen.sh
|
||||
./autogen.sh
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
make install
|
||||
'';
|
||||
src = fetchFromGitHub {
|
||||
owner = "huzheng001";
|
||||
repo = "stardict-3";
|
||||
rev = "96b96d89eab5f0ad9246c2569a807d6d7982aa84";
|
||||
hash = "sha256-zmqp2maKv2JZ5fwMVE7gIOg0BKdEKZ4UvTLC0suuBRw=";
|
||||
};
|
||||
}
|
||||
@@ -11,7 +11,20 @@
|
||||
xclip,
|
||||
xdotool,
|
||||
gawk,
|
||||
fetchFromGitHub,
|
||||
}: let
|
||||
emoji-flags = builtins.fromJSON (builtins.readFile "${fetchFromGitHub {
|
||||
owner = "matiassingers";
|
||||
repo = "emoji-flags";
|
||||
rev = "93ae74505d09bb55a3eb3a511f1dfc0dd60a5347";
|
||||
sha256 = "10j73sx6jb250v37bz2p7w8big0v8da3r6kpqz9xcl667gl8svwx";
|
||||
}}/data.json");
|
||||
emoji-flags-file = writeText "emoji-flags.txt" (lib.strings.concatMapStringsSep "\n" ({
|
||||
emoji,
|
||||
title,
|
||||
...
|
||||
}: "${emoji} ${title}")
|
||||
emoji-flags);
|
||||
unicode-file = runCommand "unicode.txt" {} ''
|
||||
${
|
||||
writers.writePython3 "generate.py" {flakeIgnore = ["E501" "E722"];} ''
|
||||
@@ -80,7 +93,7 @@ in
|
||||
|
||||
all_characters() {
|
||||
tac "$history_file"
|
||||
cat ${kaomoji-file} ${unicode-file}
|
||||
cat ${kaomoji-file} ${unicode-file} ${emoji-flags-file}
|
||||
}
|
||||
|
||||
chosen=$(all_characters | awk '!seen[$0]++' | dmenu -p unicode -i -l 10 | tee --append "$history_file" | sed "s/ .*//")
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
];
|
||||
opt = [
|
||||
csv
|
||||
dhall-vim
|
||||
elm-vim
|
||||
emmet-vim
|
||||
haskell-vim
|
||||
|
||||
2
secrets
2
secrets
Submodule secrets updated: 9efd6ac7e1...dcf6ac066d
@@ -1,6 +1,7 @@
|
||||
secrets/alertmanager-token-reporters.age
|
||||
secrets/blackboard-calendar-ics.age
|
||||
secrets/cifs-credentials-hu-berlin.age
|
||||
secrets/cifs-credentials-zodiac.age
|
||||
secrets/di-fm-key.age
|
||||
secrets/email-password-cock.age
|
||||
secrets/email-password-dslalewa.age
|
||||
@@ -34,6 +35,7 @@ secrets/manakish-syncthing-cert.age
|
||||
secrets/manakish-syncthing-key.age
|
||||
secrets/maxmind-license-key.age
|
||||
secrets/mega-password.age
|
||||
secrets/miniflux-api-token.age
|
||||
secrets/miniflux-credentials.age
|
||||
secrets/nextcloud-password-admin.age
|
||||
secrets/nextcloud-password-database.age
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
@@ -11,7 +10,7 @@ in {
|
||||
./matomo.nix
|
||||
./radio.nix
|
||||
./panoptikon.nix
|
||||
./ledger.nix
|
||||
./hledger.nix
|
||||
../../configs/monitoring.nix
|
||||
../../configs/tor.nix
|
||||
../../configs/save-space.nix
|
||||
@@ -89,7 +88,7 @@ in {
|
||||
defaults.email = kieran.email;
|
||||
};
|
||||
|
||||
users.users.root.passwordFile = config.age.secrets.root.path;
|
||||
users.users.root.hashedPasswordFile = config.age.secrets.root.path;
|
||||
|
||||
environment.systemPackages = [pkgs.vim pkgs.git pkgs.tmux pkgs.python3];
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
script = ''
|
||||
${pkgs.git}/bin/git config user.name "hledger-web"
|
||||
${pkgs.git}/bin/git config user.email "hledger-web@${config.networking.hostName}"
|
||||
${pkgs.git}/bin/git commit -am $(date -Ih)
|
||||
${pkgs.git}/bin/git commit -am $(date -Ih) || :
|
||||
${pkgs.git}/bin/git pull --rebase
|
||||
${pkgs.git}/bin/git push
|
||||
'';
|
||||
serviceConfig = {
|
||||
User = "hledger";
|
||||
Group = "hledger";
|
||||
User = "root";
|
||||
Group = "root";
|
||||
WorkingDirectory = config.services.hledger-web.stateDir;
|
||||
};
|
||||
};
|
||||
@@ -50,6 +50,10 @@ in {
|
||||
script = panoptikon.urlSelector "#main" "https://carolinawelslau.de/";
|
||||
reporters = [irc-kmein];
|
||||
};
|
||||
humboldt-preis = {
|
||||
script = panoptikon.urlSelector "#content-core" "https://www.hu-berlin.de/de/ueberblick/menschen/ehrungen/humboldtpreis";
|
||||
reporters = [irc-kmein];
|
||||
};
|
||||
lisalittmann = {
|
||||
script = panoptikon.urlSelector "#site-content" "https://lisalittmann.de/";
|
||||
reporters = [irc-kmein];
|
||||
@@ -94,6 +98,14 @@ in {
|
||||
script = panoptikon.urlSelector "[itemprop=articleBody]" "https://www.indogermanistik.org/tagungen/tagungen-der-ig.html";
|
||||
reporters = [irc-kmein];
|
||||
};
|
||||
fu-distant = {
|
||||
script = panoptikon.urlSelector "#current_events" "https://www.geschkult.fu-berlin.de/en/e/ma-distant/Termine/index.html";
|
||||
reporters = [irc-kmein];
|
||||
};
|
||||
fu-aegyptologie = {
|
||||
script = panoptikon.urlSelector "#current_events" "https://www.geschkult.fu-berlin.de/e/aegyptologie/termine/index.html";
|
||||
reporters = [irc-kmein];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -126,6 +126,8 @@ in {
|
||||
|
||||
systemd.services.radio.environment.TMPDIR = liquidsoapDirectory;
|
||||
|
||||
environment.systemPackages = [refresh-qasaid];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
(tmpfilesConfig {
|
||||
type = "d";
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
startAt = "7:00";
|
||||
script = ''
|
||||
greeting=$(echo "moin
|
||||
MOIN" | shuf -n1)
|
||||
MOIN
|
||||
moin: gib" | shuf -n1)
|
||||
echo "$greeting" | ${config.nur.repos.mic92.ircsink}/bin/ircsink \
|
||||
--nick "$greeting""bot" \
|
||||
--server irc.hackint.org \
|
||||
|
||||
@@ -263,6 +263,9 @@ in {
|
||||
}
|
||||
];
|
||||
|
||||
# otherwise bearer_token_file will fail
|
||||
services.prometheus.checkConfig = "syntax-only";
|
||||
|
||||
services.prometheus.scrapeConfigs = [
|
||||
{
|
||||
job_name = "makanek";
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
storageBoxMountPoint = "/mnt/storagebox";
|
||||
@@ -48,10 +47,9 @@ in {
|
||||
|
||||
services.nextcloud = {
|
||||
enable = true;
|
||||
package = pkgs.nextcloud26;
|
||||
package = pkgs.nextcloud27;
|
||||
|
||||
https = true;
|
||||
enableBrokenCiphersForSSE = false;
|
||||
|
||||
autoUpdateApps = {
|
||||
enable = true;
|
||||
@@ -104,9 +102,11 @@ in {
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "nextcloud";
|
||||
ensurePermissions."DATABASE ${config.services.nextcloud.config.dbname}" = "ALL PRIVILEGES";
|
||||
ensureDBOwnership = true;
|
||||
# ensurePermissions."DATABASE ${config.services.nextcloud.config.dbname}" = "ALL PRIVILEGES";
|
||||
}
|
||||
];
|
||||
package = pkgs.postgresql_14;
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts."cloud.kmein.de" = {
|
||||
|
||||
@@ -154,7 +154,7 @@ in {
|
||||
};
|
||||
bots = {
|
||||
buffer = "irc.retiolum.*";
|
||||
tags = ["nick_gitlab"];
|
||||
tags = ["nick_gitlab" "nick_prometheus"];
|
||||
regex = "*";
|
||||
};
|
||||
people = {
|
||||
|
||||
@@ -12,7 +12,6 @@ in {
|
||||
./gaslight.nix
|
||||
./kiosk.nix
|
||||
./hardware-configuration.nix
|
||||
./moodle-dl-meinhark.nix
|
||||
./pulseaudio.nix
|
||||
./home-assistant.nix
|
||||
./mpd.nix
|
||||
|
||||
@@ -24,13 +24,15 @@ in {
|
||||
dataDir = "${mpd-directory}/.config/syncthing";
|
||||
cert = config.age.secrets.syncthing-cert.path;
|
||||
key = config.age.secrets.syncthing-key.path;
|
||||
devices = {
|
||||
inherit ((import ../../lib).syncthing.devices) kabsa manakish heym;
|
||||
};
|
||||
folders."${config.services.mpd.musicDirectory}/sync" = {
|
||||
devices = ["heym" "kabsa" "manakish"];
|
||||
id = "music";
|
||||
type = "receiveonly";
|
||||
settings = {
|
||||
devices = {
|
||||
inherit ((import ../../lib).syncthing.devices) kabsa manakish heym;
|
||||
};
|
||||
folders."${config.services.mpd.musicDirectory}/sync" = {
|
||||
devices = ["heym" "kabsa" "manakish"];
|
||||
id = "music";
|
||||
type = "receiveonly";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user