mirror of
https://github.com/kmein/niveum
synced 2026-03-31 01:31:13 +02:00
Compare commits
25 Commits
feature/it
...
f2b1b9d9a1
| Author | SHA1 | Date | |
|---|---|---|---|
| f2b1b9d9a1 | |||
| c17884a519 | |||
| 8be6375bcb | |||
| 5ac1f33e2b | |||
| d64142e32c | |||
| a1654b1d1d | |||
| 3f7d548925 | |||
| 68a2f739af | |||
| 9fd968ff62 | |||
| 8811aeaff9 | |||
| 8d5cd55239 | |||
| 44ac94ef38 | |||
| cb832d06d3 | |||
| 1bc7b16fd7 | |||
| 52c18d1464 | |||
| 85a6a92836 | |||
| a6232b1a5e | |||
| 63b8c7ff1e | |||
| 4fcbe70f5e | |||
| 4ae3824663 | |||
| f83b5f3021 | |||
|
|
6e54579e26 | ||
| 626018f3f8 | |||
| 6fddca2a0b | |||
| dee8b4e133 |
@@ -51,6 +51,7 @@ in {
|
||||
pull.ff = "only";
|
||||
rebase.autoStash = true;
|
||||
merge.autoStash = true;
|
||||
push.autoSetupRemote = true;
|
||||
|
||||
# # ref https://github.com/dandavison/delta
|
||||
# core.pager = "${pkgs.delta}/bin/delta";
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
'')
|
||||
(pkgs.writers.writeDashBin "hora-filli" ''
|
||||
${pkgs.hledger}/bin/hledger -f "${timeLedger}" register fillidefilla -O csv \
|
||||
-b "$(date -d "$(date +%Y-%m)-20 last month" +%Y-%m-%d)" \
|
||||
-e "$(date -d "$(date +%Y-%m)-20" +%Y-%m-%d)" \
|
||||
-b "$(date -d "$(date +%Y-%m)-01 last month" +%Y-%m-%d)" \
|
||||
-e "$(date -d "$(date +%Y-%m)-01" +%Y-%m-%d)" \
|
||||
| sed 's/(fillidefilla:\(.*\))/\1/g' \
|
||||
| xsv select date,amount,total,account,description
|
||||
'')
|
||||
|
||||
@@ -50,6 +50,9 @@
|
||||
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
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
ara = "buckwalter";
|
||||
cop = "";
|
||||
ave = "";
|
||||
got = "";
|
||||
"in" = "san-kagapa";
|
||||
il = "phonetic";
|
||||
};
|
||||
@@ -37,6 +38,13 @@ in {
|
||||
sha256 = "1l0h6aq536hyinrh0i0ia355y229bjrlibii0sya5bmqh46vycia";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "symbols/got";
|
||||
path = pkgs.fetchurl {
|
||||
url = "https://c.krebsco.de/got";
|
||||
sha256 = "1i0jxghxi3rldlijw6gm2xawrv7f0pmm7a5cqbzzgjrg7ldk46gd";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "symbols/ave";
|
||||
path = pkgs.fetchurl {
|
||||
|
||||
@@ -112,6 +112,10 @@ in {
|
||||
path = ${davHome}/calendar/personal
|
||||
color = "light cyan"
|
||||
|
||||
[[krebs]]
|
||||
path = ${davHome}/calendar/krebs
|
||||
color = "light red"
|
||||
|
||||
[[uni]]
|
||||
path = ${davHome}/calendar/uni-1
|
||||
color = "yellow"
|
||||
@@ -162,6 +166,12 @@ in {
|
||||
collections = ["personal", "alew", "uni-1"]
|
||||
conflict_resolution = "b wins"
|
||||
|
||||
[pair krebs]
|
||||
a = "kalender_local"
|
||||
b = "krebs_cloud"
|
||||
collections = ["3edef929-d509-7944-2440-000a54f2d054"]
|
||||
conflict_resolution = "b wins"
|
||||
|
||||
[pair fysi]
|
||||
a = "kalender_local"
|
||||
b = "fysi_cloud"
|
||||
@@ -190,6 +200,12 @@ in {
|
||||
username = "${kmeinCloud.username}"
|
||||
password.fetch = ["command", "cat", "${kmeinCloud.passwordFile}"]
|
||||
|
||||
[storage krebs_cloud]
|
||||
type = "caldav"
|
||||
url = "http://calendar.r/krebs/"
|
||||
username = "krebs"
|
||||
password = "krebs"
|
||||
|
||||
[storage fysi_cloud]
|
||||
type = "caldav"
|
||||
url = "${fysiCloud.davEndpoint}/calendars/${fysiCloud.username}/"
|
||||
|
||||
@@ -161,11 +161,11 @@
|
||||
turkish = {
|
||||
BabylonTurkishEnglish = pkgs.fetchzip {
|
||||
url = "http://download.huzheng.org/babylon/bidirectional/stardict-babylon-Babylon_Turkish_English-2.4.2.tar.bz2";
|
||||
sha256 = "17rv46r95nkikg7aszqmfrbgdhz9ny52w423m8n01g3p93shdb4i";
|
||||
sha256 = "1zpzgk3w0536gww31bj58cmn3imnkndyjwbcr7bay8ibq2kzv44z";
|
||||
};
|
||||
BabylonEnglishTurkish = pkgs.fetchzip {
|
||||
url = "http://download.huzheng.org/babylon/bidirectional/stardict-babylon-Babylon_English_Turkish-2.4.2.tar.bz2";
|
||||
sha256 = "063dl02s8ii8snsxgma8wi49xwr6afk6ysq0v986fygx5511353f";
|
||||
sha256 = "0myx31xzb7nrn5m657h0bwdgm5xp93ccwp6lcpbxgjxdjm3q0hc5";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
32
flake.lock
generated
32
flake.lock
generated
@@ -8,11 +8,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1680281360,
|
||||
"narHash": "sha256-XdLTgAzjJNDhAG2V+++0bHpSzfvArvr2pW6omiFfEJk=",
|
||||
"lastModified": 1682101079,
|
||||
"narHash": "sha256-MdAhtjrLKnk2uiqun1FWABbKpLH090oeqCSiWemtuck=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "e64961977f60388dd0b49572bb0fc453b871f896",
|
||||
"rev": "2994d002dcff5353ca1ac48ec584c7f6589fe447",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -363,11 +363,11 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681269223,
|
||||
"narHash": "sha256-i6OeI2f7qGvmLfD07l1Az5iBL+bFeP0RHixisWtpUGo=",
|
||||
"lastModified": 1682669017,
|
||||
"narHash": "sha256-Vi+p4y3wnl0/4gcwTdmCO398kKlDaUrNROtf3GOD2NY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "87edbd74246ccdfa64503f334ed86fa04010bab9",
|
||||
"rev": "7449971a3ecf857b4a554cf79b1d9dcc1a4647d8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -458,11 +458,11 @@
|
||||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1681454031,
|
||||
"narHash": "sha256-JOamj7vKkFRp5mJ7FKt5dPfCmWj33sZLnBGDt15c/sc=",
|
||||
"lastModified": 1682820334,
|
||||
"narHash": "sha256-dE9vVSJZei3fqZDTbDYU35/N7XCpHoEPdS8LBid1tb4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "8a35714f0be00235e2a1c8b759e6dc3888763d8b",
|
||||
"rev": "119de5f27fc96b9dc56406050b764b9a1016a061",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -493,11 +493,11 @@
|
||||
},
|
||||
"retiolum": {
|
||||
"locked": {
|
||||
"lastModified": 1681246809,
|
||||
"narHash": "sha256-3RUAwk0ApPjq2Ms8KiAh+gG6EJKWurIur612w2m3Zu8=",
|
||||
"lastModified": 1682697608,
|
||||
"narHash": "sha256-SGhjlOQx9vDRrIxm+kyZzDjpiZDTzM3zLCLNgqWPmPY=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "c8ddb36f3d85be762aeb1893a79da36014f55658",
|
||||
"revCount": 296,
|
||||
"rev": "e0a7f5bf65c7097949d4e07aafd24aabec8d5852",
|
||||
"revCount": 305,
|
||||
"type": "git",
|
||||
"url": "https://git.thalheim.io/Mic92/retiolum"
|
||||
},
|
||||
@@ -724,11 +724,11 @@
|
||||
"voidrice": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1681301489,
|
||||
"narHash": "sha256-5Zz33Q3E4A9nsEmxPQikYeX7Rvu3hM+PlXx/0SIqG34=",
|
||||
"lastModified": 1681996877,
|
||||
"narHash": "sha256-wwh5ygv3VNI8HqbbAAO351EmWMMQIYvgzqX8Wc2Pu7M=",
|
||||
"owner": "Lukesmithxyz",
|
||||
"repo": "voidrice",
|
||||
"rev": "d4ff2ebaf3e88efe20cae0d1e592fddfc433c96e",
|
||||
"rev": "77fd62b9f315644be161c8a15287963552af99bd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
20
flake.nix
20
flake.nix
@@ -40,7 +40,24 @@
|
||||
...
|
||||
}:
|
||||
{
|
||||
apps = nixinate.nixinate.x86_64-linux self;
|
||||
apps =
|
||||
nixinate.nixinate.x86_64-linux self
|
||||
// {
|
||||
x86_64-linux.deploy = let
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
in {
|
||||
type = "app";
|
||||
program = toString (pkgs.writers.writeDash "deploy" ''
|
||||
if [ $# -eq 0 ]
|
||||
then
|
||||
systems='${toString (builtins.attrNames self.nixosConfigurations)}'
|
||||
else
|
||||
systems=$*
|
||||
fi
|
||||
${pkgs.parallel}/bin/parallel --line-buffer --tagstring '{}' 'nix run .\?submodules=1\#apps.nixinate.{}' ::: $systems
|
||||
'');
|
||||
};
|
||||
};
|
||||
|
||||
nixosModules = {
|
||||
htgen = import modules/htgen.nix;
|
||||
@@ -234,6 +251,7 @@
|
||||
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 {};
|
||||
hc = pkgs.callPackage packages/hc.nix {};
|
||||
heuretes = pkgs.callPackage packages/heuretes.nix {};
|
||||
htgen = pkgs.callPackage packages/htgen.nix {};
|
||||
|
||||
@@ -1,37 +1,38 @@
|
||||
rec {
|
||||
{
|
||||
# all dark colours are 20% darker than the bright ones
|
||||
black = {
|
||||
bright = "#282c34";
|
||||
dark = "#282c34";
|
||||
bright = "#4c5363"; # "#282c34";
|
||||
dark = "#20232a";
|
||||
};
|
||||
red = {
|
||||
bright = "#e06c75";
|
||||
dark = "#e06c75";
|
||||
bright = "#e68990"; #"#e06c75";
|
||||
dark = "#d43541";
|
||||
};
|
||||
green = {
|
||||
bright = "#98c379";
|
||||
dark = "#98c379";
|
||||
bright = "#acce93"; #"#98c379";
|
||||
dark = "#77af4e";
|
||||
};
|
||||
yellow = {
|
||||
bright = "#e5c07b";
|
||||
dark = "#e5c07b";
|
||||
bright = "#eacc95"; #"#e5c07b";
|
||||
dark = "#d9a440";
|
||||
};
|
||||
blue = {
|
||||
bright = "#61afef";
|
||||
dark = "#61afef";
|
||||
bright = "#80bff2"; #"#61afef";
|
||||
dark = "#2490e9";
|
||||
};
|
||||
magenta = {
|
||||
bright = "#c678dd";
|
||||
dark = "#c678dd";
|
||||
bright = "#d193e3"; #"#c678dd";
|
||||
dark = "#af42cf";
|
||||
};
|
||||
cyan = {
|
||||
bright = "#56b6c2";
|
||||
dark = "#56b6c2";
|
||||
bright = "#77c4ce"; #"#56b6c2";
|
||||
dark = "#3b99a5";
|
||||
};
|
||||
white = {
|
||||
bright = "#dcdfe4";
|
||||
dark = "#dcdfe4";
|
||||
bright = "#e3e5e9"; #"#dcdfe4";
|
||||
dark = "#a9b1bd";
|
||||
};
|
||||
background = black.dark;
|
||||
foreground = white.bright;
|
||||
background = "#282c34"; #black.dark;
|
||||
foreground = "#dcdfe4"; #white.bright;
|
||||
cursor = "#a3b3cc";
|
||||
}
|
||||
|
||||
@@ -29,9 +29,9 @@ rec {
|
||||
};
|
||||
white = {
|
||||
bright = "#8c00ec";
|
||||
dark = "#efefef";
|
||||
dark = "#bfbfbf";
|
||||
};
|
||||
background = white.dark;
|
||||
background = "#efefef";
|
||||
foreground = "#181818";
|
||||
cursor = "#bbbbbb";
|
||||
cursor = "#a3b3cc";
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
nick ? ''"$PANOPTIKON_WATCHER"-watcher'',
|
||||
}:
|
||||
pkgs.writers.writeDash "kpaste-irc-reporter" ''
|
||||
${niveumPackages.kpaste}/bin/kpaste \
|
||||
KPASTE_CONTENT_TYPE=text/plain ${niveumPackages.kpaste}/bin/kpaste \
|
||||
| ${pkgs.gnused}/bin/sed -n "${
|
||||
if retiolumLink
|
||||
then "2"
|
||||
|
||||
15
packages/gpt.nix
Normal file
15
packages/gpt.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
curl,
|
||||
writers,
|
||||
jq,
|
||||
apiKeyCommand ? "pass api-keys/openai.com",
|
||||
model ? "gpt-3.5-turbo",
|
||||
}:
|
||||
writers.writeDashBin "gpt" ''
|
||||
json=$(jq --slurp --raw-input '{model:"${model}", messages: [{role: "user", content: .}]}')
|
||||
${curl}/bin/curl -sSL https://api.openai.com/v1/chat/completions \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer $(pass api-keys/openai.com)" \
|
||||
-d "$json" \
|
||||
| ${jq}/bin/jq -r '.choices[] | .message.content'
|
||||
''
|
||||
@@ -1,28 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
lib,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "itl";
|
||||
version = "0.8.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "arabeyes-org";
|
||||
repo = "ITL";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-GTicTbZmFbPhzInFob3cfvtTxOpUZuqsQz1w9CoWu9w=";
|
||||
};
|
||||
nativeBuildInputs = [cmake];
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
];
|
||||
meta = {
|
||||
homepage = "https://www.arabeyes.org/ITL";
|
||||
description = "Islamic Tools and Libraries";
|
||||
license = lib.licenses.lgpl2;
|
||||
platforms = lib.platforms.all;
|
||||
maintainer = [lib.maintainers.kmein];
|
||||
};
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
itl,
|
||||
lib,
|
||||
# autoreconfHook,
|
||||
automake,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "itools";
|
||||
version = "1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "arabeyes-org";
|
||||
repo = "itools";
|
||||
rev = version;
|
||||
sha256 = "sha256-g9bsjupC4Sb5ywAgUNbjYLbHZ/i994lbNSnX2JyaP3g=";
|
||||
};
|
||||
# nativeBuildInputs = [autoreconfHook];
|
||||
buildPhase = ''
|
||||
touch ChangeLog
|
||||
./configure
|
||||
make
|
||||
'';
|
||||
buildInputs = [itl];
|
||||
meta = {
|
||||
homepage = "https://www.arabeyes.org/ITL";
|
||||
description = "The itools package is a set of user friendly applications utilizing Arabeyes' ITL library. ";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = lib.platforms.all;
|
||||
maintainer = [lib.maintainers.kmein];
|
||||
};
|
||||
}
|
||||
@@ -49,7 +49,6 @@ in
|
||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList scriptCase cfg.scripts)}
|
||||
*) ${pkgs.coreutils}/bin/cat ;;
|
||||
esac \
|
||||
| tr -d '\r\n' \
|
||||
| ${pkgs.xclip}/bin/xclip -selection ${cfg.selection} -in
|
||||
|
||||
${pkgs.libnotify}/bin/notify-send --app-name="klem" "Result copied to clipboard."
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
writers,
|
||||
}:
|
||||
writers.writeDashBin "kpaste" ''
|
||||
${curl}/bin/curl -sS http://p.r --data-binary @"''${1:--}" |
|
||||
${curl}/bin/curl -sS http://p.r --data-binary @"''${1:--}" \
|
||||
-H "Content-Type-Override: ''${KPASTE_CONTENT_TYPE-}"
|
||||
${gnused}/bin/sed '$ {p;s|http://p.r|https://p.krebsco.de|}'
|
||||
''
|
||||
|
||||
2
secrets
2
secrets
Submodule secrets updated: 99320671a5...d9d7540399
@@ -24,7 +24,14 @@ in {
|
||||
enable = true;
|
||||
watchers = {
|
||||
"github-meta" = {
|
||||
script = panoptikon.urlJSON {} "https://api.github.com/meta";
|
||||
script = panoptikon.urlJSON {
|
||||
jqScript = ''
|
||||
{
|
||||
ssh_key_fingerprints: .ssh_key_fingerprints,
|
||||
ssh_keys: .ssh_keys
|
||||
}
|
||||
'';
|
||||
} "https://api.github.com/meta";
|
||||
reporters = [irc-xxx];
|
||||
};
|
||||
lammla = {
|
||||
|
||||
@@ -16,6 +16,7 @@ in {
|
||||
./names.nix
|
||||
./nextcloud.nix
|
||||
./radio-news.nix
|
||||
./onlyoffice.nix
|
||||
./retiolum-map.nix
|
||||
./tarot.nix
|
||||
./tt-rss.nix
|
||||
|
||||
@@ -223,8 +223,7 @@ in {
|
||||
email_configs = let
|
||||
inherit (import ../../../lib) kieran;
|
||||
inherit (import ../../../lib/email.nix {inherit lib;}) cock;
|
||||
in [
|
||||
{
|
||||
cockConfig = {
|
||||
send_resolved = true;
|
||||
to = kieran.email;
|
||||
from = cock.user;
|
||||
@@ -232,7 +231,8 @@ in {
|
||||
auth_username = cock.user;
|
||||
auth_identity = cock.user;
|
||||
auth_password = "$EMAIL_PASSWORD";
|
||||
}
|
||||
};
|
||||
in [
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
29
systems/makanek/onlyoffice.nix
Normal file
29
systems/makanek/onlyoffice.nix
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
services.onlyoffice = {
|
||||
enable = true;
|
||||
port = 8111;
|
||||
hostname = "onlyoffice.kmein.de";
|
||||
jwtSecretFile = config.age.secrets.onlyoffice-key.path;
|
||||
};
|
||||
|
||||
age.secrets.onlyoffice-key = {
|
||||
file = ../../secrets/onlyoffice-jwt-key.age;
|
||||
owner = "onlyoffice";
|
||||
};
|
||||
|
||||
# otherwise this leads to nginx
|
||||
# open() "/var/lib/onlyoffice/documentserver/App_Data/cache/files/data/conv_check_1138411943_docx/output.docx" failed (13: Permission denied)
|
||||
# and mysterious 403 errors
|
||||
system.activationScripts.onlyoffice-readable.text = ''
|
||||
chmod a+x /var/lib/onlyoffice/documentserver/
|
||||
'';
|
||||
|
||||
services.nginx.virtualHosts.${config.services.onlyoffice.hostname} = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
};
|
||||
}
|
||||
@@ -95,6 +95,16 @@ in {
|
||||
# WS 2022
|
||||
115414 # Nonnos
|
||||
116108 # Dialektologie
|
||||
|
||||
# SS 2023
|
||||
117967 # Archaische Lyrik
|
||||
119658 # Dyskolos
|
||||
118963 # Antike Biographie
|
||||
92668 # Taa
|
||||
120671 # Jiddisch
|
||||
120720 # Sorbisch
|
||||
118076 # X-Tutorial
|
||||
120631 # Predigten
|
||||
];
|
||||
download_submissions = true;
|
||||
download_descriptions = true;
|
||||
|
||||
Reference in New Issue
Block a user