1
0
mirror of https://github.com/kmein/niveum synced 2026-03-20 20:01:08 +01:00

55 Commits

Author SHA1 Message Date
9a3499ab6c feat(ful): limit to 1 configuration
this circumvents space issues on the /boot partition
2022-05-21 23:07:19 +02:00
92442db877 feat(ful): set root password 2022-05-21 23:06:49 +02:00
d2f85ab972 chore(ful): disable monitoring for now 2022-05-21 23:06:33 +02:00
b593f45ec2 chore(ful): move IP 2022-05-21 23:06:13 +02:00
e9b09a3e67 chore: bye youtube-dl 2022-05-21 23:05:43 +02:00
8c9a44d404 feat(ssh): reach ful, makanek via http first 2022-05-20 23:16:46 +02:00
45fdbad259 chore: update 2022-05-20 23:04:28 +02:00
93b8d31a33 feat: init ful 2022-05-20 23:04:15 +02:00
abb7924fca chore: only one unstable nixpkgs 2022-05-20 23:03:57 +02:00
0c872352e3 feat(hora): auto-update git 2022-05-18 18:11:32 +02:00
31e765da41 fix(geoip-share): really start after geoipupdate 2022-05-18 18:11:13 +02:00
d655faef3e fix(retiolum-map): update 2022-05-18 18:10:57 +02:00
2f5b177158 feat(klem): add avestan 2022-05-18 18:10:37 +02:00
4bc176ea42 fix(unicodmenu): append history 2022-05-17 22:34:30 +02:00
4b63d1b671 feat(hledger): add time tracking tools 2022-05-17 22:34:18 +02:00
dd86c24506 feat(matterbridge): disable, moved to krebs ponte 2022-05-17 22:34:02 +02:00
88c73b23a1 Merge branch 'update_flake_lock_action' 2022-05-15 23:07:03 +02:00
3675ab8161 feat(scripts): remove horoscope 2022-05-15 23:02:42 +02:00
github-actions[bot]
aac1053e1d flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/a4b154ebbdc88c8498a5c7b01589addc9e9cb678' (2022-04-11)
  → 'github:numtide/flake-utils/12806d31a381e7cd169a6bac35590e7b36dc5fe5' (2022-05-14)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5656d7f92aa8264eb06ba68ad94c87ac5b5312e8' (2022-05-06)
  → 'github:NixOS/nixpkgs/79385ae0aacf7e02871cc8af0623123419dd7884' (2022-05-13)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/d707e510df39cdd8fe1d3e244371a3a9f23051d2' (2022-05-08)
  → 'github:NixOS/nixpkgs/e9132b233ec7176c121b4ecb991ce397d92275ee' (2022-05-15)
• Updated input 'retiolum':
    'github:krebs/retiolum/2bafba9621b83529b78fb2db34b351fd19411c0e' (2022-05-04)
  → 'github:krebs/retiolum/7cc2a7118e4aa9f5df0953bebad28034306329e6' (2022-05-11)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=376b92c877442ec3be476ea5f4c89f8a715426dd' (2022-05-04)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=c87ba30c0c1cf344c7cc090d73a2ba44140f15d9' (2022-05-11)
2022-05-15 01:03:59 +00:00
651f6d9319 fix(gitea): show correct SSH clone port 2022-05-11 17:38:52 +02:00
69332ec98d fix(pmount): setuid 2022-05-11 11:23:21 +02:00
6c65a48ea8 feat(matterbridge): move to new token 2022-05-11 09:23:21 +02:00
d25cfe6c9b feat(unicodmenu): add history 2022-05-10 19:29:39 +02:00
9cd5974870 feat: use newest anki 2022-05-09 07:51:00 +02:00
8c8eceb01a feat(keyboard): add modes for languages 2022-05-08 22:01:29 +02:00
9601fb9456 feat(fonts): add GFS todo list 2022-05-08 13:55:48 +02:00
dc9e84599e Merge branch 'update_flake_lock_action' 2022-05-08 10:49:26 +02:00
94bdfda91b feat(fonts): add new SIL 2022-05-08 09:15:05 +02:00
84a69f31de fix(nextcloud): start after gnome-keyring 2022-05-08 09:15:05 +02:00
dcbe8841ba feat(scripts): back to old ipa script 2022-05-08 09:15:05 +02:00
bef795e45c feat(fonts): add new SIL 2022-05-08 09:14:48 +02:00
9b7c300466 fix(nextcloud): start after gnome-keyring 2022-05-08 09:14:37 +02:00
f4fca0a971 feat(scripts): back to old ipa script 2022-05-08 09:14:20 +02:00
github-actions[bot]
23b341a314 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/d14adb99f3fb562ec74ad18c032efc154b438034' (2022-04-26)
  → 'github:nix-community/home-manager/d93d56ab8c1c6aa575854a79b9d2f69d491db7d0' (2022-05-02)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/feea25c58657fa81d16e0e51f80e1a02ef4cbd49' (2022-04-27)
  → 'github:NixOS/nixpkgs/5656d7f92aa8264eb06ba68ad94c87ac5b5312e8' (2022-05-06)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/05ced71757730406ca3eb3e58503f05334a6057d' (2022-05-01)
  → 'github:NixOS/nixpkgs/d707e510df39cdd8fe1d3e244371a3a9f23051d2' (2022-05-08)
• Updated input 'retiolum':
    'github:krebs/retiolum/de6d7dc9bd671e65f2ee3004b6807625e7553e84' (2022-03-16)
  → 'github:krebs/retiolum/2bafba9621b83529b78fb2db34b351fd19411c0e' (2022-05-04)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=92d5eacd6d9e530c4d1ea0dec2652417b0fde78a' (2022-04-15)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=376b92c877442ec3be476ea5f4c89f8a715426dd' (2022-05-04)
2022-05-08 00:50:36 +00:00
89c852c4ea feat: bye youtube-dl, hi yt-dlp 2022-05-07 11:26:51 +02:00
github-actions[bot]
3fa242b957 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/7244c6715cb8f741f3b3e1220a9279e97b2ed8f5' (2022-04-13)
  → 'github:nix-community/home-manager/d14adb99f3fb562ec74ad18c032efc154b438034' (2022-04-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a318a09a96a38382fe61a7f85d03ea6e25c46c56' (2022-04-22)
  → 'github:NixOS/nixpkgs/feea25c58657fa81d16e0e51f80e1a02ef4cbd49' (2022-04-27)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/0f1f92d85be76e0bd79ebb2285be8f43683eb845' (2022-04-24)
  → 'github:NixOS/nixpkgs/05ced71757730406ca3eb3e58503f05334a6057d' (2022-05-01)
• Updated input 'scripts':
    'github:kmein/scripts/adfd4238f7a8f0f894547998cbb04327bad97884' (2022-04-19)
  → 'github:kmein/scripts/c1aaeb4339e9c41057d362667554835a0f49850f' (2022-04-26)
2022-05-02 14:07:03 +02:00
35c51b3b17 fix(ci): add dslalewa 2022-05-02 13:54:18 +02:00
f1c049ada3 fix(names): restart on failure 2022-05-02 13:28:57 +02:00
8118009acb feat(neomutt): add office documents to mailcap 2022-05-02 13:28:42 +02:00
41706bc84b feat(neomutt): add alew admin account 2022-05-02 13:28:30 +02:00
eec7be0c3b feat(moodle-dl): papyrology 2022-04-26 20:07:21 +02:00
2aac2609cb feat: yt-dlp 2022-04-26 20:07:09 +02:00
2b7db496b0 feat(keyboard): add docs 2022-04-25 11:58:54 +02:00
0feebd18cd feat(keyboard): add gxkb 2022-04-25 11:58:37 +02:00
892c758303 feat(keyboard): add arabic and russian 2022-04-25 11:58:36 +02:00
8cc3541d2d fix: do not monitor http://names.kmein.r/ 2022-04-24 17:24:58 +02:00
687aa456d1 Merge remote-tracking branch 'origin/update_flake_lock_action' 2022-04-24 13:58:19 +02:00
github-actions[bot]
fd60863f77 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2f06b87f64bc06229e05045853e0876666e1b023' (2022-04-14)
  → 'github:NixOS/nixpkgs/a318a09a96a38382fe61a7f85d03ea6e25c46c56' (2022-04-22)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/6140c314d5850406dddc78e55dcc8716ea111ee4' (2022-04-17)
  → 'github:NixOS/nixpkgs/0f1f92d85be76e0bd79ebb2285be8f43683eb845' (2022-04-24)
2022-04-24 00:45:55 +00:00
a60cbab742 feat(moodle-dl): more courses 2022-04-22 12:31:37 +02:00
54383cb1ab feat(moodle-dl): first load of courses 2022-04-19 23:29:41 +02:00
9b414d104a fix(makanek): names 2022-04-19 23:28:00 +02:00
67b7d63d9a Merge branch 'update_flake_lock_action' 2022-04-19 23:17:50 +02:00
f3116bfc12 fix(nextcloud): start after gnome keyring 2022-04-17 10:48:32 +02:00
f31baf9e56 chore(update)
• Updated input 'flake-utils':
    'github:numtide/flake-utils/0f8662f1319ad6abf89b3380dd2722369fc51ade' (2022-03-26)
  → 'github:numtide/flake-utils/a4b154ebbdc88c8498a5c7b01589addc9e9cb678' (2022-04-11)
• Updated input 'home-manager':
    'github:nix-community/home-manager/0bdbdea2e26c984b096f4f7d10e3c88536a980b0' (2022-04-01)
  → 'github:nix-community/home-manager/7244c6715cb8f741f3b3e1220a9279e97b2ed8f5' (2022-04-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c86185d20d708013caf97a6adaa8dc6d72313c75' (2022-04-09)
  → 'github:NixOS/nixpkgs/2f06b87f64bc06229e05045853e0876666e1b023' (2022-04-14)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/c2b6e029cd1efa0efd37daab89264ef040ae5669' (2022-04-09)
  → 'github:NixOS/nixpkgs/6140c314d5850406dddc78e55dcc8716ea111ee4' (2022-04-17)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=b3833baee96d7bce2c54295110b40c646468a1ff' (2022-04-04)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=92d5eacd6d9e530c4d1ea0dec2652417b0fde78a' (2022-04-15)
2022-04-17 07:02:08 +02:00
906cc1981e fix(tuna): nix types 2022-04-15 01:17:38 +02:00
32 changed files with 324 additions and 132 deletions

2
ci.nix
View File

@@ -36,6 +36,7 @@
"mail/gmail/amroplay"
"mail/gmail/kieran.meinhardt"
"mail/meinhaki"
"mail/dslalewa"
"mail/posteo"
"nextcloud-fysi/password"
"nextcloud/password"
@@ -73,6 +74,7 @@
"telegram/menstruation.token"
"telegram/cool_village.token"
"telegram/kmein.token"
"telegram/krebs.token"
"telegram/prometheus.token"
"weechat/relay"
]

View File

@@ -47,6 +47,12 @@ in {
enable = true;
startInBackground = true;
};
systemd.user.services.nextcloud-client = {
Unit = {
Wants = ["gnome-keyring.service"];
After = ["gnome-keyring.service"];
};
};
};
environment.systemPackages = [

View File

@@ -30,6 +30,7 @@ in {
tocharian-font = pkgs.callPackage <niveum/packages/tocharian-font.nix> {};
iolanguage = pkgs.callPackage <niveum/packages/iolanguage.nix> {};
ix = pkgs.callPackage <niveum/packages/ix.nix> {};
unstable = import <nixpkgs-unstable> {inherit (config.nixpkgs) config;};
};
};
overlays = [
@@ -144,8 +145,8 @@ in {
wcd = "source ${wcd}";
im = "${pkgs.openssh}/bin/ssh weechat@makanek -t tmux attach-session -t IM";
where = "source ${where}";
yt = "${pkgs.youtube-dl}/bin/youtube-dl --add-metadata -ic"; # Download video link
yta = "${pkgs.youtube-dl}/bin/youtube-dl --add-metadata -xic"; # Download with audio
yt = "${pkgs.yt-dlp}/bin/yt-dlp --add-metadata -ic"; # Download video link
yta = "${pkgs.yt-dlp}/bin/yt-dlp --add-metadata -xic"; # Download with audio
};
}
{i18n.defaultLocale = "en_DK.UTF-8";}
@@ -170,13 +171,15 @@ in {
{
security.wrappers = {
pmount = {
setuid = true;
owner = "root";
group = "users";
group = "root";
source = "${pkgs.pmount}/bin/pmount";
};
pumount = {
setuid = true;
owner = "root";
group = "users";
group = "root";
source = "${pkgs.pmount}/bin/pumount";
};
};

View File

@@ -7,14 +7,17 @@
alegreya
alegreya-sans
amiri
unstable.annapurna-sil
cantarell-fonts
charis-sil
corefonts
crimson
eb-garamond
etBook
unstable.ezra-sil
fira
font-awesome-ttf
unstable.galatia-sil
gentium
gfs-fonts
gyre-fonts
@@ -26,7 +29,6 @@
libre-bodoni
lmodern
merriweather
noto-fonts
ocr-a
roboto
roboto-mono

View File

@@ -5,6 +5,17 @@
}: {
imports = [<niveum/modules/hledger.nix>];
environment.systemPackages = let
timeLedger = "$HOME/projects/ledger/time.timeclock";
in [
(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}" "$@"
'')
];
niveum.hledger = {
enable = true;
ledgerFile = "$HOME/projects/ledger/all.journal";

View File

@@ -34,6 +34,7 @@
"devanagari" = pkgs.writers.writeDash "devanagari" ''
${pkgs.scripts.devanagari}/bin/devanagari
'';
"avesta" = pkgs.writeScript "avesta" (builtins.readFile <niveum/packages/scripts/avesta.sed>);
"curl" = pkgs.writers.writeDash "curl" ''
${pkgs.curl}/bin/curl -fSs "$(${pkgs.coreutils}/bin/cat)"
'';

View File

@@ -4,10 +4,20 @@
...
}: let
commaSep = builtins.concatStringsSep ",";
languages = {
de = "T3";
gr = "polytonic";
ru = "phonetic";
ara = "buckwalter";
};
defaultLanguage = "de";
in {
# man 7 xkeyboard-config
services.xserver = {
layout = commaSep ["de" "gr"];
xkbVariant = commaSep ["T3" "polytonic"];
layout = commaSep (builtins.attrNames languages);
# T3: https://upload.wikimedia.org/wikipedia/commons/a/a9/German-Keyboard-Layout-T3-Version1-large.png
# buckwalter: http://www.qamus.org/transliteration.htm
xkbVariant = commaSep (builtins.attrValues languages);
xkbOptions =
commaSep ["compose:caps" "terminate:ctrl_alt_bksp" "grp:ctrls_toggle"];
libinput.enable = true;
@@ -15,6 +25,25 @@ in {
console.keyMap = "de";
environment.systemPackages =
lib.mapAttrsToList
(language: variant:
pkgs.writers.writeDashBin "kb-${language}" ''
${pkgs.xlibs.setxkbmap}/bin/setxkbmap ${defaultLanguage},${language} ${languages.${defaultLanguage}},${variant}
'')
languages;
# improve held key rate
services.xserver.displayManager.sessionCommands = "${pkgs.xorg.xset}/bin/xset r rate 300 50";
systemd.user.services.gxkb = {
wantedBy = ["graphical-session.target"];
serviceConfig = {
SyslogIdentifier = "gxkb";
ExecStart = "${pkgs.gxkb}/bin/gxkb";
Restart = "always";
RestartSec = "15s";
StartLimitBurst = 0;
};
};
}

View File

@@ -21,6 +21,7 @@ in {
ytdl-format = "bestvideo[height<=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best";
ytdl-raw-options = lib.concatStringsSep "," [''sub-lang="de,en"'' "write-sub=" "write-auto-sub="];
screenshot-template = "%F-%wH%wM%wS-%#04n";
script-opts = "ytdl_hook-ytdl_path=${pkgs.yt-dlp}/bin/yt-dlp";
};
bindings = {
"Alt+RIGHT" = "add video-rotate 90";

View File

@@ -47,6 +47,20 @@
};
};
accounts.work-admin = {
user = "dslalewa";
password = lib.strings.fileContents <secrets/mail/dslalewa>;
address = "admin.alew.vglsprwi@hu-berlin.de";
imap = "mailbox.cms.hu-berlin.de";
smtp = "mailhost.cms.hu-berlin.de";
smtpSettings = smtp: "smtp://${smtp}";
folders = {
drafts = "Drafts";
sent = "Sent";
trash = "Trash";
};
};
accounts.work-fysi = rec {
user = "kieran@fysi.tech";
address = user;
@@ -131,6 +145,7 @@ in {
application/pdf; ${pkgs.zathura}/bin/zathura %s ;
application/pgp-encrypted; ${pkgs.gnupg}/bin/gpg -d '%s'; copiousoutput;
application/pgp-keys; ${pkgs.gnupg}/bin/gpg --import '%s'; copiousoutput;
application/vnd.openxmlformats*; ${pkgs.libreoffice}/bin/soffice '%s';
''
}:$mailcap_path

View File

@@ -5,7 +5,7 @@
}: let
ytdl-format = "'bestvideo[height<=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best'";
youtube-download = "${pkgs.ts}/bin/ts ${pkgs.youtube-dl}/bin/youtube-dl -f ${ytdl-format} --add-metadata";
youtube-download = "${pkgs.ts}/bin/ts ${pkgs.yt-dlp}/bin/yt-dlp -f ${ytdl-format} --add-metadata";
newsboat-home = "${config.users.users.me.home}/cloud/Seafile/Documents/newsboat";
linkhandler-bin = "${pkgs.scripts.linkhandler}/bin/linkhandler";

View File

@@ -8,8 +8,6 @@
menstruation = pkgs.callPackage <menstruation-backend> {};
pandoc-doc = pkgs.callPackage <niveum/packages/man/pandoc.nix> {};
nixpkgs-unstable = import <nixpkgs-unstable> {config.allowUnfree = true;};
zoteroStyle = {
name,
sha256,
@@ -35,7 +33,7 @@
})
];
astrolog = nixpkgs-unstable.astrolog.overrideAttrs (old:
astrolog = pkgs.unstable.astrolog.overrideAttrs (old:
old
// {
installPhase = ''
@@ -124,10 +122,10 @@ in {
electrum
inkscape
astrolog
anki # flashcards
unstable.anki # flashcards
jbofihe # lojbanic software
nixpkgs-unstable.zoom-us # video conferencing
nixpkgs-unstable.alejandra # nix formatter
unstable.zoom-us # video conferencing
unstable.alejandra # nix formatter
pdfgrep # search in pdf
pdftk # pdf toolkit
mupdf
@@ -136,7 +134,7 @@ in {
xournalpp # for annotating pdfs
pdfpc # presenter console for pdf slides
hc # print files as qr codes
youtubeDL
yt-dlp
espeak
bc # calculator
pari # gp -- better calculator
@@ -175,7 +173,6 @@ in {
scripts.fkill
scripts.wttr
scripts.unicodmenu
scripts.horoscope
scripts.closest
scripts.trans
scripts.mpv-radio

View File

@@ -25,6 +25,11 @@ in {
port = sshPort;
};
makanek = {
hostname = "88.99.83.173";
user = "root";
port = sshPort;
};
"makanek.r" = {
hostname = "makanek.r";
user = "root";
port = sshPort;
@@ -57,9 +62,15 @@ in {
hostname = "135.181.85.233";
user = "root";
};
oracle = {
hostname = "130.61.171.199";
user = "ubuntu";
"ful.r" = {
hostname = "ful.r";
user = "root";
port = sshPort;
};
ful = {
hostname = "130.61.217.114";
user = "root";
port = sshPort;
};
};
};

View File

@@ -3,7 +3,6 @@
lib,
...
}: let
nixpkgs-unstable = import <nixpkgs-unstable> {};
toSymbols = pkgs.writers.writeDash "to-symbols" ''
${pkgs.gnused}/bin/sed '
s/\bTri\b//;
@@ -50,8 +49,8 @@ in {
now=$(${pkgs.coreutils}/bin/date +%_H:%M | ${pkgs.gnused}/bin/sed 's/^\s*//')
date=$(${pkgs.coreutils}/bin/date +'%m %d %Y')
{
${nixpkgs-unstable.astrolog}/bin/astrolog -qd $date -zN Berlin -Yt -Yd -d -R Uranus Neptune Pluto "North Node"
${nixpkgs-unstable.astrolog}/bin/astrolog -Yt -Yd -q 10 22 1999 6:32 -zN Kassel -td $date -R Uranus Neptune Pluto "North Node"
${pkgs.unstable.astrolog}/bin/astrolog -qd $date -zN Berlin -Yt -Yd -d -R Uranus Neptune Pluto "North Node"
${pkgs.unstable.astrolog}/bin/astrolog -Yt -Yd -q 10 22 1999 6:32 -zN Kassel -td $date -R Uranus Neptune Pluto "North Node"
} | ${toSymbols} | ${pkgs.coreutils}/bin/sort -n | ${pkgs.gnugrep}/bin/grep "^$now" || :
'');
};

50
flake.lock generated
View File

@@ -2,11 +2,11 @@
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1648297722,
"narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=",
"lastModified": 1652557277,
"narHash": "sha256-jSes9DaIVMdmwBB78KkFUVrlDzawmD62vrUg0GS2500=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade",
"rev": "12806d31a381e7cd169a6bac35590e7b36dc5fe5",
"type": "github"
},
"original": {
@@ -22,11 +22,11 @@
]
},
"locked": {
"lastModified": 1648834319,
"narHash": "sha256-i5Aj4Aw64D/A0X6XW5LxSS4XBnYj7gMz+kN4dpsbdk8=",
"lastModified": 1651519540,
"narHash": "sha256-3k6p8VsTwwRPQjE8rrMh+o2AZACZn/eeYJ7ivdQ/Iro=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "0bdbdea2e26c984b096f4f7d10e3c88536a980b0",
"rev": "d93d56ab8c1c6aa575854a79b9d2f69d491db7d0",
"type": "github"
},
"original": {
@@ -109,11 +109,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1649490789,
"narHash": "sha256-YrhVxwoofZSx/wLZ4GYET//8vS+uqWX572zvdmP/Etg=",
"lastModified": 1652442528,
"narHash": "sha256-ctD9BdjN7e6cBipm8k9xt+vgwlRApkvuJLSNdaVrphE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c86185d20d708013caf97a6adaa8dc6d72313c75",
"rev": "79385ae0aacf7e02871cc8af0623123419dd7884",
"type": "github"
},
"original": {
@@ -125,11 +125,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1649541735,
"narHash": "sha256-JdOywA2jcdGCxNgu0dJA7ZNtaV7sS0HwuZg9YaXd94c=",
"lastModified": 1653027086,
"narHash": "sha256-ou5leASlH+EHgrGi196QP4B8iMcDwXXICH63c1El0no=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c2b6e029cd1efa0efd37daab89264ef040ae5669",
"rev": "437fd89069be470fba34ef7c7f5abc55fe20e328",
"type": "github"
},
"original": {
@@ -158,11 +158,11 @@
"retiolum": {
"flake": false,
"locked": {
"lastModified": 1647444524,
"narHash": "sha256-N4T1UXLkYJMQqk65LkTDpW70ujXXeZ9xe5k+LOpznAI=",
"lastModified": 1653077783,
"narHash": "sha256-GiL82w4BVSZZV5gIQSoEf+KoJaIkUv+29vZmmWlKb6I=",
"owner": "krebs",
"repo": "retiolum",
"rev": "de6d7dc9bd671e65f2ee3004b6807625e7553e84",
"rev": "1b5154c3ed9f3cb751afc3e306a1b20e3358ffe5",
"type": "github"
},
"original": {
@@ -194,11 +194,11 @@
"scripts": {
"flake": false,
"locked": {
"lastModified": 1648400983,
"narHash": "sha256-I9ADWgUN1orbnXPBW4kulHpv8wkx6C8zsQcg9wphpPg=",
"lastModified": 1650993582,
"narHash": "sha256-cKcdHzyy6Y4H9+KcnCgk/Tt1Zqd8lhfiXv4LClcETLc=",
"owner": "kmein",
"repo": "scripts",
"rev": "f5df67a2416d8f05a7dbfea269c44668854c7887",
"rev": "c1aaeb4339e9c41057d362667554835a0f49850f",
"type": "github"
},
"original": {
@@ -210,11 +210,11 @@
"stockholm": {
"flake": false,
"locked": {
"lastModified": 1649089964,
"narHash": "sha256-ybuVI8rnpMyBUoyoIXJ1e3QBMBIOoEgKTiFzIPfzy8A=",
"lastModified": 1652292290,
"narHash": "sha256-QTBV3X6rFHU8H58phKT+V5Trous17aZbSRDB8Yp1i1c=",
"ref": "master",
"rev": "b3833baee96d7bce2c54295110b40c646468a1ff",
"revCount": 10500,
"rev": "c87ba30c0c1cf344c7cc090d73a2ba44140f15d9",
"revCount": 10537,
"type": "git",
"url": "https://cgit.lassul.us/stockholm"
},
@@ -242,11 +242,11 @@
"tinc-graph": {
"flake": false,
"locked": {
"lastModified": 1639820904,
"narHash": "sha256-d4s2PulBGIIQXtX7blZz+Wnmij5dK/IrBcilNGjqZC4=",
"lastModified": 1653080212,
"narHash": "sha256-BcfppAuVNp0hMcrMG/ZxE4juSrdQbJSUIA0eHS1/Wxo=",
"owner": "kmein",
"repo": "tinc-graph",
"rev": "1b9c69ffdbdab82d30a23e44f739feea63d94163",
"rev": "ea0ef2e5542684d1d8e34a626cb9295dec33e70d",
"type": "github"
},
"original": {

View File

@@ -119,7 +119,10 @@
type = "app";
program = deployScriptFor {
inherit name;
host = "${name}.r";
host =
if name != "ful"
then "${name}.r"
else "130.61.217.114";
};
};
});

View File

@@ -4,6 +4,11 @@
ipv6 = "42:0:3c46:861f:a118:8e9a:82c9:3d";
};
ful = {
ipv4 = "10.243.2.107";
ipv6 = "42:0:3c46:2c8b:a564:1213:9fb4:1bc4";
};
zaatar = {
ipv4 = "10.243.2.34";
ipv6 = "42:0:3c46:156e:10b6:3bd6:6e82:b2cd";

View File

@@ -39,5 +39,15 @@ in
GFS_Pyrsos = "0y0dv7y3n01bbhhnczflx1zcc7by56cffmr2xqixj2rd1nvchx0j";
GFS_Solomos = "1mpx9mw566awvfjdfx5sbz3wz5gbnjjw56gz30mk1lw06vxf0dxz";
GFS_Theokritos = "0haasx819x8c8yvna6pqywgi4060av2570jm34cddnz1fgnhv1b8";
# Heraklit
# Galatea
# Georgiou
# Ambrosia
# Fleischman
# Eustace
# Nicefore
# Jackson
# Garaldus
# Ignacio
};
}

54
packages/scripts/avesta.sed Executable file
View File

@@ -0,0 +1,54 @@
#!/usr/bin/env -S sed -f
s/ā̊/𐬃/g
s//𐬝/g
s/ṣ̌/𐬴/g
s/š́/𐬳/g
s/ą̄/𐬅/g
s/ŋᵛ/𐬤/g
s/ə̄/𐬇/g
s/ŋ́/𐬣/g
s//𐬒/g
s/xᵛ/𐬓/g
s/a/𐬀/g
s/ā/𐬁/g
s/å/𐬂/g
s/ą/𐬄/g
s/ə/𐬆/g
s/e/𐬈/g
s/ē/𐬉/g
s/o/𐬊/g
s/ō/𐬋/g
s/i/𐬌/g
s/ī/𐬍/g
s/u/𐬎/g
s/ū/𐬏/g
s/k/𐬐/g
s/x/𐬑/g
s/g/𐬔/g
s/ġ/𐬕/g
s/γ/𐬖/g
s/c/𐬗/g
s/j/𐬘/g
s/t/𐬙/g
s/θ/𐬚/g
s/d/𐬛/g
s/δ/𐬜/g
s/p/𐬞/g
s/f/𐬟/g
s/b/𐬠/g
s/β/𐬡/g
s/ŋ/𐬢/g
s/n/𐬥/g
s/ń/𐬦/g
s//𐬧/g
s/m/𐬨/g
s//𐬩/g
s//𐬪/g
s/y/𐬫/g
s/v/𐬬/g
s/r/𐬭/g
s/s/𐬯/g
s/z/𐬰/g
s/š/𐬱/g
s/ž/𐬲/g
s/h/𐬵/g

View File

@@ -307,16 +307,11 @@ in
packages = [pkgs.xdo];
};
ipa =
pkgs.writers.writeHaskellBin "ipa" {
libraries = with pkgs; [haskellPackages.text haskellPackages.ipa];
} ''
import Data.Maybe (fromJust)
import Language.IPA
import qualified Data.Text as T
import qualified Data.Text.IO as T
main = T.interact (T.unwords . map (unIPA . fromJust . (xSampaToIpa =<<) . mkXSampa) . T.words)
'';
ipa = wrapScript {
script = ./ipa.py;
name = "ipa";
packages = [pkgs.python3];
};
default-gateway = pkgs.writers.writeDashBin "default-gateway" ''
${pkgs.iproute}/bin/ip -json route | ${pkgs.jq}/bin/jq --raw-output '.[0].gateway'

View File

@@ -75,8 +75,9 @@
in
# ref https://github.com/LukeSmithxyz/voidrice/blob/9fe6802122f6e0392c7fe20eefd30437771d7f8e/.local/bin/dmenuunicode
writers.writeDashBin "unicodmenu" ''
history_file=$HOME/.cache/unicodmenu
PATH=${lib.makeBinPath [coreutils dmenu gnused libnotify xclip xdotool]}
chosen=$(cat ${kaomoji-file} ${unicode-file} | dmenu -p unicode -i -l 10 | sed "s/ .*//")
chosen=$(cat "$history_file" ${kaomoji-file} ${unicode-file} | dmenu -p unicode -i -l 10 | tee --append "$history_file" | sed "s/ .*//")
[ "$chosen" != "" ] || exit

View File

@@ -0,0 +1,48 @@
{
lib,
config,
pkgs,
...
}: let
inherit (import <niveum/lib>) kieran retiolumAddresses;
in {
imports = [
./hardware-configuration.nix
# <niveum/configs/monitoring.nix>
<niveum/configs/nix.nix>
<niveum/configs/save-space.nix>
<niveum/configs/spacetime.nix>
<niveum/configs/sshd.nix>
<niveum/modules/retiolum.nix>
];
nix.nixPath = ["/var/src"];
networking = {
firewall.allowedTCPPorts = [80 443];
hostName = "ful";
interfaces.enp0s3.useDHCP = true;
retiolum = retiolumAddresses.ful;
useDHCP = false;
};
system.stateVersion = "21.11";
services.nginx = {
enable = true;
recommendedGzipSettings = true;
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
sslCiphers = "AES256+EECDH:AES256+EDH:!aNULL";
};
security.acme = {
acceptTerms = true;
email = kieran.email;
};
users.users.root.passwordFile = toString <system-secrets/root.password>;
environment.systemPackages = [pkgs.vim pkgs.git pkgs.tmux pkgs.python3];
}

View File

@@ -0,0 +1,41 @@
{
config,
lib,
pkgs,
...
}: {
imports = [<nixpkgs/nixos/modules/profiles/qemu-guest.nix>];
boot = {
loader = {
systemd-boot = {
enable = true;
configurationLimit = 1;
};
efi.canTouchEfiVariables = true;
};
initrd = {
availableKernelModules = ["virtio_pci" "usbhid"];
kernelModules = ["bochs_drm"];
};
kernelModules = [
"console=ttyS0"
"console=tty1"
"nvme.shutdown_timeout=10"
"libiscsi.debug_libiscsi_eh=1"
];
extraModulePackages = [];
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/9bf751c7-cf32-49fb-9354-17694c7a46e0";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/7817-285D";
fsType = "vfat";
};
swapDevices = [];
}

View File

@@ -62,6 +62,10 @@ in {
useDHCP = false;
};
nixpkgs.config.packageOverrides = pkgs: {
unstable = import <nixpkgs-unstable> {inherit (config.nixpkgs) config;};
};
system.stateVersion = "20.03";
services.nginx = {

View File

@@ -1,9 +1,12 @@
{
let
inherit (import <niveum/lib>) sshPort;
in {
services.gitea = {
enable = true;
disableRegistration = true;
rootUrl = "https://code.kmein.de";
appName = "code.kmein.de";
ssh.clonePort = sshPort;
};
services.nginx.virtualHosts."code.kmein.de" = {
forceSSL = true;

View File

@@ -5,7 +5,6 @@
}: let
backupLocation = "/var/lib/codimd-backup";
stateLocation = "/var/lib/codimd/state.sqlite";
nixpkgs-unstable = import <nixpkgs-unstable> {};
domain = "pad.kmein.de";
inherit (import <niveum/lib>) tmpfilesConfig;
in {
@@ -61,7 +60,7 @@ in {
systemd.services.hedgedoc-backup = {
description = "Hedgedoc backup service";
script = ''
${nixpkgs-unstable.sqlite}/bin/sqlite3 -json ${stateLocation} "select shortid, alias, ownerId, content from Notes" \
${pkgs.unstable.sqlite}/bin/sqlite3 -json ${stateLocation} "select shortid, alias, ownerId, content from Notes" \
| ${
pkgs.writers.writePython3 "hedgedoc-json-to-fs.py" {} ''
import json

View File

@@ -4,16 +4,16 @@
...
}: {
services.matterbridge = {
enable = true;
enable = false;
configPath = let
bridgeBotToken = lib.strings.fileContents <system-secrets/telegram/kmein.token>;
bridgeBotToken = lib.strings.fileContents <system-secrets/telegram/krebs.token>;
in
toString ((pkgs.formats.toml {}).generate "config.toml" {
general = {
RemoteNickFormat = "[{NICK}] ";
Charset = "utf-8";
};
telegram.kmein.Token = bridgeBotToken;
telegram.krebs.Token = bridgeBotToken;
irc = let
Nick = "ponte";
in {
@@ -38,7 +38,7 @@
channel = "#krebs";
}
{
account = "telegram.kmein";
account = "telegram.krebs";
channel = "-330372458";
}
{

View File

@@ -220,7 +220,7 @@ in {
"tarot.kmein.de"
"cloud.xn--kiern-0qa.de"
"grafana.kmein.r"
"names.kmein.r"
# "names.kmein.r"
"rrm.r"
"graph.r"
];

View File

@@ -4,8 +4,8 @@
...
}: let
port = 5703;
geogen-src = "${<scripts>}/onomastics";
geogen = pkgs.callPackage geogen-src {};
onomap-src = "${<scripts>}/onomastics-ng";
onomap = pkgs.haskellPackages.callCabal2nix "onomap" onomap-src {};
in {
systemd.services.names = {
wants = ["network-online.target"];
@@ -13,12 +13,11 @@ in {
description = "Better clone of geogen.stoepel.net";
serviceConfig = {
DynamicUser = true;
ExecStart = "${onomap}/bin/onomap-web";
Restart = "on-failure";
RestartSec = "15s";
};
script = ''
cd $(mktemp -d)
ln -s "${geogen-src}/wsgi.py" wsgi.py
${geogen.dependencyEnv}/bin/gunicorn wsgi:app -b :${toString port}
'';
environment.PORT = toString port;
};
services.nginx = {

View File

@@ -57,6 +57,7 @@ in {
systemd.services.geoip-share = {
after = ["geoipupdate.service"];
wantedBy = ["geoipupdate.service"];
script = let
cyberlocker-tools = pkgs.callPackage <stockholm/krebs/5pkgs/simple/cyberlocker-tools> {};
in "${cyberlocker-tools}/bin/cput ${geo-ip-database} < ${geo-ip-database-path}";

View File

@@ -15,7 +15,6 @@ in {
./pulseaudio.nix
./home-assistant.nix
./tuna.nix
./mympd.nix
./grocy.nix
./spotifyd.nix
<home-manager/nixos>

View File

@@ -69,6 +69,16 @@ in {
108283 # Digital Classicist
109211 # Altlitauisch
109185 # Etymologie
# SS 2022
112606 # Avestisch
111761 # Griechische Wissenschaftsliteratur
111515 # H. Furens
110914 # Apostelgeschichte
112225 # Gr. Paläographie
113275 # ALEW
112783 # Akzent und Silbenstruktur
113493 # Papyrologie
];
download_submissions = true;
download_descriptions = true;

View File

@@ -1,57 +0,0 @@
{pkgs, ...}: let
inherit (import <niveum/lib>) tmpfilesConfig;
in {
systemd.tmpfiles.rules = [
(tmpfilesConfig {
type = "d";
mode = "0755";
user = "mympd";
group = "mympd";
path = "/var/lib/mympd";
})
(tmpfilesConfig {
type = "d";
mode = "0755";
user = "mympd";
group = "mympd";
age = "1d";
path = "/var/cache/mympd";
})
(tmpfilesConfig {
type = "L+";
mode = "0644";
user = "mympd";
group = "mympd";
path = "/var/lib/mympd/config/http_port";
argument = pkgs.writeText "port" "8764";
})
(tmpfilesConfig {
type = "L+";
mode = "0644";
user = "mympd";
group = "mympd";
path = "/var/lib/mympd/config/ssl";
argument = pkgs.writeText "ssl" "false";
})
];
users.users.mympd = {
isSystemUser = true;
group = "mympd";
};
users.groups.mympd = {};
systemd.services.mympd = {
wantedBy = ["multi-user.target"];
after = ["mpd.service"];
script = "${pkgs.mympd}/bin/mympd";
environment = {
MYMPD_HTTP_PORT = "8764";
};
serviceConfig = {
Restart = "always";
User = "mympd";
Group = "mympd";
};
};
}