mirror of
https://github.com/kmein/niveum
synced 2026-03-28 07:11:08 +01:00
Compare commits
14 Commits
feature/ha
...
84b4e50e64
| Author | SHA1 | Date | |
|---|---|---|---|
| 84b4e50e64 | |||
| ed160923c7 | |||
| 38c1dc8745 | |||
| 559a6cdc86 | |||
|
|
d4b208b620 | ||
| 51bbbc9e56 | |||
| 39e5653825 | |||
| 65dc602d67 | |||
| 333bf9e145 | |||
| 4052df257c | |||
|
|
1ca8827e91 | ||
| a4f3c98fae | |||
| f403319fea | |||
| d0b405fb15 |
@@ -107,7 +107,7 @@ in {
|
|||||||
folders = let
|
folders = let
|
||||||
cloud-dir = "${config.users.users.me.home}/cloud";
|
cloud-dir = "${config.users.users.me.home}/cloud";
|
||||||
in {
|
in {
|
||||||
"${cloud-dir}/syncthing/zotero".devices = ["kabsa" "manakish"];
|
"${cloud-dir}/syncthing/zotero/storage".devices = ["kabsa" "manakish"];
|
||||||
"${cloud-dir}/syncthing/common".devices = ["kabsa" "manakish"];
|
"${cloud-dir}/syncthing/common".devices = ["kabsa" "manakish"];
|
||||||
"${cloud-dir}/syncthing/library".devices = ["kabsa" "manakish" "heym"];
|
"${cloud-dir}/syncthing/library".devices = ["kabsa" "manakish" "heym"];
|
||||||
"${cloud-dir}/syncthing/mundoiu".devices = ["kabsa" "manakish" "heym"];
|
"${cloud-dir}/syncthing/mundoiu".devices = ["kabsa" "manakish" "heym"];
|
||||||
|
|||||||
@@ -66,6 +66,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 = {
|
systemd.services.fu-vpn = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wants = ["network-online.target"];
|
wants = ["network-online.target"];
|
||||||
|
|||||||
@@ -181,20 +181,17 @@ in {
|
|||||||
systemd.services.hu-vpn = {
|
systemd.services.hu-vpn = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wants = ["network-online.target"];
|
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 = ''
|
script = ''
|
||||||
if ${pkgs.wirelesstools}/bin/iwgetid | ${pkgs.gnugrep}/bin/grep --invert-match eduroam
|
${pkgs.openfortivpn}/bin/openfortivpn \
|
||||||
then
|
--password="$(cat "$CREDENTIALS_DIRECTORY/password")" \
|
||||||
${pkgs.openfortivpn}/bin/openfortivpn \
|
--config=${
|
||||||
--password="$(cat "$CREDENTIALS_DIRECTORY/password")" \
|
|
||||||
--config=${
|
|
||||||
pkgs.writeText "hu-berlin.config" ''
|
pkgs.writeText "hu-berlin.config" ''
|
||||||
host = forti-ssl.vpn.hu-berlin.de
|
host = forti-ssl.vpn.hu-berlin.de
|
||||||
port = 443
|
port = 443
|
||||||
username = meinhark
|
username = meinhaki
|
||||||
''
|
''
|
||||||
}
|
}
|
||||||
fi
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ in {
|
|||||||
electrum
|
electrum
|
||||||
inkscape
|
inkscape
|
||||||
astrolog
|
astrolog
|
||||||
obsidian
|
unstablePackages.obsidian
|
||||||
anki-bin # flashcards
|
anki-bin # flashcards
|
||||||
jbofihe # lojbanic software
|
jbofihe # lojbanic software
|
||||||
zoom-us # video conferencing
|
zoom-us # video conferencing
|
||||||
@@ -157,10 +157,13 @@ in {
|
|||||||
niveumPackages.ipa # XSAMPA to IPA converter
|
niveumPackages.ipa # XSAMPA to IPA converter
|
||||||
niveumPackages.pls
|
niveumPackages.pls
|
||||||
niveumPackages.mpv-tv
|
niveumPackages.mpv-tv
|
||||||
|
niveumPackages.mpv-iptv
|
||||||
|
jellyfin-media-player
|
||||||
niveumPackages.devanagari
|
niveumPackages.devanagari
|
||||||
niveumPackages.betacode # ancient greek betacode to unicode converter
|
niveumPackages.betacode # ancient greek betacode to unicode converter
|
||||||
niveumPackages.meteo
|
niveumPackages.meteo
|
||||||
niveumPackages.mahlzeit
|
niveumPackages.mahlzeit
|
||||||
|
niveumPackages.jq-lsp
|
||||||
niveumPackages.vimv
|
niveumPackages.vimv
|
||||||
niveumPackages.swallow # window swallowing
|
niveumPackages.swallow # window swallowing
|
||||||
niveumPackages.literature-quote
|
niveumPackages.literature-quote
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ in {
|
|||||||
"0" = "synth-midnight-dark";
|
"0" = "synth-midnight-dark";
|
||||||
"1" = "apprentice"; # https://romainl.github.io/Apprentice/
|
"1" = "apprentice"; # https://romainl.github.io/Apprentice/
|
||||||
"2" = "one-light";
|
"2" = "one-light";
|
||||||
"3" = "one-dark";
|
"3" = "onedark";
|
||||||
"4" = "material"; # https://github.com/ntpeters/base16-materialtheme-scheme
|
"4" = "material"; # https://github.com/ntpeters/base16-materialtheme-scheme
|
||||||
"5" = "material-palenight";
|
"5" = "material-palenight";
|
||||||
"6" = "material-lighter";
|
"6" = "material-lighter";
|
||||||
|
|||||||
879
flake.lock
generated
879
flake.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -309,6 +309,8 @@
|
|||||||
git-preview = pkgs.callPackage packages/git-preview.nix {};
|
git-preview = pkgs.callPackage packages/git-preview.nix {};
|
||||||
gpt = pkgs.callPackage packages/gpt.nix {};
|
gpt = pkgs.callPackage packages/gpt.nix {};
|
||||||
hc = pkgs.callPackage packages/hc.nix {};
|
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 {};
|
heuretes = pkgs.callPackage packages/heuretes.nix {};
|
||||||
htgen = pkgs.callPackage packages/htgen.nix {};
|
htgen = pkgs.callPackage packages/htgen.nix {};
|
||||||
image-convert-favicon = pkgs.callPackage packages/image-convert-favicon.nix {};
|
image-convert-favicon = pkgs.callPackage packages/image-convert-favicon.nix {};
|
||||||
@@ -333,6 +335,7 @@
|
|||||||
mpv-radio = pkgs.callPackage packages/mpv-radio.nix {di-fm-key-file = "/dev/null";};
|
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-tuner = pkgs.callPackage packages/mpv-tuner.nix {di-fm-key-file = "/dev/null";};
|
||||||
mpv-tv = pkgs.callPackage packages/mpv-tv.nix {};
|
mpv-tv = pkgs.callPackage packages/mpv-tv.nix {};
|
||||||
|
mpv-iptv = pkgs.callPackage packages/mpv-iptv.nix {};
|
||||||
mpv-visualizer = unstablePackages.mpvScripts.visualizer;
|
mpv-visualizer = unstablePackages.mpvScripts.visualizer;
|
||||||
new-mac = pkgs.callPackage packages/new-mac.nix {};
|
new-mac = pkgs.callPackage packages/new-mac.nix {};
|
||||||
nix-git = pkgs.callPackage packages/nix-git.nix {};
|
nix-git = pkgs.callPackage packages/nix-git.nix {};
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ augroup filetypes
|
|||||||
autocmd bufnewfile,bufread *.typ packadd typst.vim | set filetype=typst
|
autocmd bufnewfile,bufread *.typ packadd typst.vim | set filetype=typst
|
||||||
autocmd bufnewfile,bufread *.ics packadd icalendar.vim | set filetype=icalendar
|
autocmd bufnewfile,bufread *.ics packadd icalendar.vim | set filetype=icalendar
|
||||||
autocmd bufnewfile,bufread *.ts packadd typescript-vim | set filetype=typescript
|
autocmd bufnewfile,bufread *.ts packadd typescript-vim | set filetype=typescript
|
||||||
autocmd bufnewfile,bufread *.jq packadd jq.vim
|
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 *.journal packadd vim-ledger | set filetype=ledger shiftwidth=4
|
||||||
autocmd bufnewfile,bufread urls,config set filetype=conf
|
autocmd bufnewfile,bufread urls,config set filetype=conf
|
||||||
autocmd bufnewfile,bufread *.elm packadd elm-vim | set filetype=elm shiftwidth=4
|
autocmd bufnewfile,bufread *.elm packadd elm-vim | set filetype=elm shiftwidth=4
|
||||||
|
|||||||
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=";
|
||||||
|
};
|
||||||
|
}
|
||||||
2
secrets
2
secrets
Submodule secrets updated: 9efd6ac7e1...e13c0cc4c1
@@ -1,6 +1,7 @@
|
|||||||
secrets/alertmanager-token-reporters.age
|
secrets/alertmanager-token-reporters.age
|
||||||
secrets/blackboard-calendar-ics.age
|
secrets/blackboard-calendar-ics.age
|
||||||
secrets/cifs-credentials-hu-berlin.age
|
secrets/cifs-credentials-hu-berlin.age
|
||||||
|
secrets/cifs-credentials-zodiac.age
|
||||||
secrets/di-fm-key.age
|
secrets/di-fm-key.age
|
||||||
secrets/email-password-cock.age
|
secrets/email-password-cock.age
|
||||||
secrets/email-password-dslalewa.age
|
secrets/email-password-dslalewa.age
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
startAt = "7:00";
|
startAt = "7:00";
|
||||||
script = ''
|
script = ''
|
||||||
greeting=$(echo "moin
|
greeting=$(echo "moin
|
||||||
MOIN" | shuf -n1)
|
MOIN
|
||||||
|
moin: gib" | shuf -n1)
|
||||||
echo "$greeting" | ${config.nur.repos.mic92.ircsink}/bin/ircsink \
|
echo "$greeting" | ${config.nur.repos.mic92.ircsink}/bin/ircsink \
|
||||||
--nick "$greeting""bot" \
|
--nick "$greeting""bot" \
|
||||||
--server irc.hackint.org \
|
--server irc.hackint.org \
|
||||||
|
|||||||
@@ -263,6 +263,9 @@ in {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# otherwise bearer_token_file will fail
|
||||||
|
services.prometheus.checkConfig = "syntax-only";
|
||||||
|
|
||||||
services.prometheus.scrapeConfigs = [
|
services.prometheus.scrapeConfigs = [
|
||||||
{
|
{
|
||||||
job_name = "makanek";
|
job_name = "makanek";
|
||||||
|
|||||||
Reference in New Issue
Block a user