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

35 Commits

Author SHA1 Message Date
06c1be9e09 wip: flakes 2021-12-29 17:41:53 +01:00
d5087c40b2 feat: use flake nix 2021-12-28 23:24:30 +01:00
23fb65ce1e chore(retiolum): update 2021-12-28 20:49:43 +01:00
c49a5a4187 feat(retiolum): use ed25519 keys 2021-12-28 17:04:54 +01:00
42df2c032e derp 2021-12-28 17:04:54 +01:00
86d6943dd2 feat(kabsa): disable zramfs 2021-12-28 17:04:54 +01:00
6f10cd277d fix(weechat): matrix server 2021-12-28 15:39:56 +01:00
869c6e6a08 fix(vim): make a tiny bit faster 2021-12-28 14:48:29 +01:00
5b131a5a30 feat: flameshot -> flameshot-once 2021-12-28 14:48:09 +01:00
0423429e02 fix: send transits at correct time 2021-12-27 10:40:51 +01:00
f451cc5028 feat(astrolog): configure 2021-12-27 10:29:11 +01:00
8f9e8db71e fix(traadfri): dont timeout 2021-12-25 18:03:57 +01:00
81e6b5c9f6 feat: transits telegram bot 2021-12-25 08:31:11 +01:00
50d8788088 chore: update 2021-12-25 08:31:11 +01:00
805b46ffb1 feat: remove nur-packages 2021-12-25 08:31:10 +01:00
bc9217ba3e feat(weechat): improve zero covid 2021-12-22 23:08:58 +01:00
db2ec25bc1 feat: remove praesenzlehre-berlin.org 2021-12-22 23:06:54 +01:00
33b960143b feat: remove nur-packages 2021-12-22 22:55:43 +01:00
f02225d1e9 feat: use upstream astrolog 2021-12-22 10:19:16 +01:00
9c2e2df05a feat: astrolog 2021-12-21 18:17:37 +01:00
aaeef41f55 feat: anki# 2021-12-21 07:39:23 +01:00
0787da719e fix(retiolum-map): also update index.html 2021-12-20 15:10:19 +01:00
e225a7d451 feat(tinc-graph): update 2021-12-18 10:48:38 +01:00
9d3b29add2 chore: update 2021-12-17 19:02:32 +01:00
5792224240 Revert "feat(shell.nix): colourful parallel"
This reverts commit 5ade0a7011.
2021-12-17 19:02:22 +01:00
ecadc12c9f feat(zaatar): disable tuna 2021-12-16 08:46:02 +01:00
4ecc34b63e feat(tarot): update key file 2021-12-16 00:19:28 +01:00
48e2be7427 feat(tarot): serve files and waites key 2021-12-15 15:01:19 +01:00
296a3a9c9f feat(tarot): occasionally reverse 2021-12-15 15:00:46 +01:00
0136215a4a feat(tarot): run at tarot.kmein.de 2021-12-15 13:54:51 +01:00
dd8a885e81 feat: add transits script 2021-12-15 13:54:51 +01:00
e755ee06e2 feat(makanek): run tarot service on tarot.kmein.r 2021-12-15 12:38:09 +01:00
5ade0a7011 feat(shell.nix): colourful parallel 2021-12-15 12:38:09 +01:00
bed0795a04 fix(monitoring): probe alew.hu-berlin.de every 5 min 2021-12-14 19:20:11 +01:00
31d59aba6a feat(monitoring): probe alew.hu-berlin.de 2021-12-14 19:20:10 +01:00
67 changed files with 1094 additions and 310 deletions

7
.bin/elm-publish-private Executable file
View File

@@ -0,0 +1,7 @@
#! /usr/bin/env nix-shell
#! nix-shell -p "(import <nixpkgs> { overlays = [ (import ~/work/fysiweb/engiadina-pwa/devops/pkgs) ]; }).elm-publish-private"
#! nix-shell -i bash
set -efux
exec elm-publish-private "$@"

View File

@@ -1,9 +1,10 @@
{
"url": "https://github.com/nix-community/home-manager.git",
"rev": "3e93c4e8b2b479c712b7c20a428993b459118842",
"date": "2021-11-30T11:10:06+01:00",
"path": "/nix/store/nsfhkc6gkg3wf0b87z15zd0izp8j52av-home-manager",
"sha256": "0wgx47fyypbzpm2sbxj8xs846wvdkw1f76a8g3lbkxpla075vrl5",
"rev": "697cc8c68ed6a606296efbbe9614c32537078756",
"date": "2021-12-19T00:59:29+01:00",
"path": "/nix/store/fb46bv10azrag2jjlzhil6j11f4x8glw-home-manager",
"sha256": "1c8gxm86zshr2zj9dvr02qs7y3m46gqavr6wyv01r09jfd99dxz9",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@@ -4,6 +4,7 @@
"date": "2021-03-23T22:47:37+01:00",
"path": "/nix/store/mz13xxnil35lwsf90hwnrm2agir7hb51-krops",
"sha256": "07mg3iaqjf1w49vmwfchi7b1w55bh7rvsbgicp2m47gnj9alwdb6",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@@ -0,0 +1,11 @@
{
"url": "https://cgit.krebsco.de/nix-writers",
"rev": "c528cf970e292790b414b4c1c8c8e9d7e73b2a71",
"date": "2019-04-02T20:05:33+02:00",
"path": "/nix/store/wm5zhsha1a2iy0d582nlfi7604ayd1vz-nix-writers",
"sha256": "0xdivaca1hgbxs79jw9sv4gk4f81vy8kcyaff56hh2dgq2awyvw4",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View File

@@ -1,9 +1,10 @@
{
"url": "https://github.com/mozilla/nixpkgs-mozilla",
"rev": "cbc7435f5b0b3d17b16fb1d20cf7b616eec5e093",
"date": "2021-11-19T10:51:56-05:00",
"path": "/nix/store/bvbq377c43f6v7ndff80jdmf4m6wmn2c-nixpkgs-mozilla",
"sha256": "1kapba23cy3y1ghyqpm0rapbrfj3qdkd7v58c6g8bhpys9qq1aic",
"rev": "7c1e8b1dd6ed0043fb4ee0b12b815256b0b9de6f",
"date": "2021-12-07T09:28:33-05:00",
"path": "/nix/store/pqwcw589i2y2w2116wn3ifl834adjsa0-nixpkgs-mozilla",
"sha256": "1a71nfw7d36vplf89fp65vgj3s66np1dc0hqnqgj5gbdnpm1bihl",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@@ -1,9 +1,10 @@
{
"url": "https://github.com/NixOS/nixpkgs.git",
"rev": "5d056884fbf7e5c693e17a1dbaf426e49f739b6a",
"date": "2021-12-01T07:35:38+01:00",
"path": "/nix/store/iqhw5vmfqqrmnwbbz247pjycvchnvsv0-nixpkgs",
"sha256": "1kcllypk4xl9kkzqi5ylmq0hnrs200a8wyk3wlh3g4g3zma2ams8",
"rev": "f01adc7b35a8f80e82f3466e6d873b8b9c8f1b28",
"date": "2021-12-22T23:05:28+01:00",
"path": "/nix/store/zhfrvg77dzpc3hq02v9zv20dfgqwpzk6-nixpkgs",
"sha256": "17iyf2iiizi7c1wr71day3wvgalbkkm2zgc9lpy7y42rl4frq9sf",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@@ -1,9 +1,10 @@
{
"url": "https://github.com/NixOS/nixpkgs.git",
"rev": "96b4157790fc96e70d6e6c115e3f34bba7be490f",
"date": "2021-11-30T21:39:06+08:00",
"path": "/nix/store/lcn20w73v7gcd121kr5kmmncrqkh5bw7-nixpkgs",
"sha256": "05m0gn1dy0cdlamwyiq276s770bm2pw8qx6s0mfrv3khpcvv186l",
"rev": "9ab7d12287ced0e1b4c03b61c781901f178d9d77",
"date": "2021-12-21T10:09:48+01:00",
"path": "/nix/store/minmlh0avkwvvc3p7flhpbglp13kr585-nixpkgs",
"sha256": "0bbd2pgcyavqn5wgq0xp8p67lha0kv9iqnh49i9w5fb5g29q7i30",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false

View File

@@ -1,9 +1,9 @@
{
"url": "https://github.com/krebs/retiolum",
"rev": "108c668bba912214d5aa1cf091573e0c18d02e37",
"date": "2021-12-08T13:02:16+01:00",
"path": "/nix/store/837jzivn8ndxaz87yx88a51myir8j7wg-retiolum",
"sha256": "0948rcwdwimgyrjbi9h8xlh99p4di6v9rw98bnmczsjcc0avvmdb",
"rev": "b72b0a987767b587c79cba8499b5114d69fceeef",
"date": "2021-12-28T19:46:45+00:00",
"path": "/nix/store/kyaqwf89v6id9mda92x4b0hf778j987x-retiolum",
"sha256": "19hjzzlfk1m9ign33w4ppqgmg23v7c6k8l0fm7f33spq8982w7rb",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,

View File

@@ -1,9 +1,9 @@
{
"url": "https://cgit.lassul.us/stockholm",
"rev": "b79f5ab97db8115c4b2e66e57bb84587a31ce1e0",
"date": "2021-11-30T23:09:27+01:00",
"path": "/nix/store/ng83hpfszfnm3d80i5kv50qgqqsqgkrj-stockholm",
"sha256": "0g70jzya62nw3w6vwjdddn2i9hlm8r1d1f1wnl2bzibwx6p97bp6",
"rev": "576c05cf3a0ceddefa29c2d0073108177c3cfa52",
"date": "2021-12-22T13:59:46+01:00",
"path": "/nix/store/yx1j5pardgd9114f0cf3c4xjfq6r4yfv-stockholm",
"sha256": "18napi4k8i2iizrismlp9ha3ga6c3n2dvrhijy59kl1jxqrsaq9l",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,

View File

@@ -1,12 +1,4 @@
{ config, lib, pkgs, ... }: {
imports = [
<niveum/modules/dropbox.nix>
];
niveum = {
dropbox.enable = false;
};
system.activationScripts.home-symlinks = ''
ln -sfn ${config.users.users.me.home}/cloud/syncthing/common/mahlzeit ${config.users.users.me.home}/mahlzeit
ln -sfn ${config.users.users.me.home}/cloud/Seafile/Wiki ${config.users.users.me.home}/notes

View File

@@ -1,18 +1,16 @@
{ pkgs, lib, config, options, ... }:
{ inputs, pkgs, lib, config, options, ... }:
let
inherit (lib.strings) makeBinPath;
inherit (import <niveum/lib>) localAddresses kieran;
in {
imports = [
<home-manager/nixos>
<niveum/modules/system-dependent.nix>
../modules/system-dependent.nix
{
boot.supportedFilesystems = [ "ntfs" ];
}
{
nix.nixPath = [
"/var/src"
"nixpkgs-overlays=${toString ../overlays}"
];
}
{
@@ -20,17 +18,14 @@ in {
config = {
allowUnfree = true;
packageOverrides = pkgs: {
writeDashBin = pkgs.writers.writeDashBin;
writeDash = pkgs.writers.writeDash;
gfs-fonts = pkgs.callPackage <niveum/packages/gfs-fonts.nix> {};
iolanguage = pkgs.callPackage <niveum/packages/iolanguage.nix> { };
ix = pkgs.callPackage <niveum/packages/ix.nix> { };
};
};
overlays = [
(import <stockholm/krebs/5pkgs>)
(self: super: {
scripts = import <niveum/packages/scripts> { pkgs = super; lib = super.lib; };
scripts = import <niveum/packages/scripts> { pkgs = super; inherit lib; };
})
];
};
@@ -202,13 +197,11 @@ in {
./ccc.nix
# ./kleiter.nix
./khal.nix
./engiadina.nix
./chromium.nix
./cloud.nix
./copyq.nix
./compton.nix
./direnv.nix
./distrobump.nix
./docker.nix
./dunst.nix
./flix.nix

View File

@@ -1,10 +0,0 @@
{ lib, config, pkgs, ... }: {
imports = [
(import <stockholm/makefu/3modules/bump-distrowatch.nix> {
inherit lib config;
pkgs = pkgs // { writeDash = pkgs.writers.writeDash; };
})
];
makefu.distrobump.enable = false;
}

View File

@@ -1,30 +0,0 @@
{ config, pkgs, ... }:
let
inherit (import <niveum/lib>) tmpfilesConfig;
cdnRoot = "/var/lib/engiadina";
in
{
imports = [ <stockholm/krebs/3modules/permown.nix> ];
krebs.permown.${cdnRoot} = {
owner = config.users.users.me.name;
group = "users";
umask = "0002";
};
services.nginx = {
enable = true;
virtualHosts.default = {
root = cdnRoot;
listen = [{
addr = "0.0.0.0";
port = 3333;
}];
};
};
environment.shellAliases = {
engiadina-watch = "${pkgs.findutils}/bin/find extra-src src | ${pkgs.entr}/bin/entr -s 'build-component && ${pkgs.rsync}/bin/rsync -avu dist/*.js ${cdnRoot}/'";
engiadina-edit = "$EDITOR ${cdnRoot}/index.html";
};
}

View File

@@ -1,26 +1,24 @@
{ config, lib, pkgs, ... }:
{
home-manager.users.me = {
services.flameshot.enable = true;
{ lib, pkgs, ... }:
let
inherit (import <niveum/lib>) defaultApplications;
flameshot-once = pkgs.callPackage <stockholm/krebs/5pkgs/simple/flameshot-once> {};
in {
nixpkgs.overlays = [
(self: super: {
write =
super.callPackage <stockholm/krebs/5pkgs/simple/xwaitforwindow.nix> { };
})
];
xdg.configFile."flameshot/flameshot.ini".source = (pkgs.formats.ini {}).generate "flameshot.ini" {
General = {
disabledTrayIcon = true;
checkForUpdates = false;
contrastOpacity = 188;
savePath = "/tmp";
savePathFixed = true;
drawThickness = 0;
showStartupLaunchMessage = false;
filenamePattern = "shot_%F_%T";
environment.systemPackages = [
(flameshot-once.override {
config.imgur = {
enable = true;
createUrl = "http://p.r/image";
deleteUrl = "http://p.r/image/delete/%1";
xdg-open.browser = (defaultApplications pkgs).browser;
};
};
systemd.user.services.flameshot.Unit.Requires = lib.mkForce [];
systemd.user.services.flameshot.Environment = {
# IMGUR_CREATE_URL = "https://p.krebsco.de/image";
# IMGUR_DELETE_URL = "https://p.krebsco.de/image/delete/%1";
PATH = "${config.home-manager.users.me.home.profileDirectory}/bin";
};
};
config.timeout = 1000;
})
];
}

View File

@@ -1,5 +1,5 @@
{ config, pkgs, ... }: {
imports = [ <niveum/modules/hledger.nix> ];
imports = [ ../modules/hledger.nix ];
niveum.hledger = {
enable = true;

View File

@@ -233,8 +233,7 @@ in {
"${modifier}+F10" = "exec ${pkgs.redshift}/bin/redshift -x";
"${modifier}+F11" = "exec ${pkgs.xcalib}/bin/xcalib -invert -alter";
"${modifier}+F12" = "exec ${klem}/bin/klem";
"Print" = "exec flameshot gui -p /tmp";
"Print" = "exec flameshot-once";
"XF86AudioLowerVolume" = "exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -d 5";
"XF86AudioMute" = "exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -t";
"XF86AudioRaiseVolume" = "exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -i 5";

View File

@@ -93,9 +93,9 @@ in
}
{
alert = "HttpStatusCode";
expr = "probe_http_status_code <= 199 OR probe_http_status_code >= 400";
expr = "probe_http_status_code != 0 AND (probe_http_status_code <= 199 OR probe_http_status_code >= 400)";
for = "5m";
annotations.summary = "{{$labels.instance}}: returns {{$value}}";
annotations.summary = "{{$labels.instance}}: status code {{$value}}";
}
{
alert = "SslExpirySoon";
@@ -191,6 +191,7 @@ in
]; } ];
}
{
scrape_interval = "5m";
job_name = "blackbox";
metrics_path = "/probe";
params.module = [ "http_2xx" ];

View File

@@ -25,18 +25,13 @@
customRC = builtins.readFile <niveum/lib/vim/init.vim>;
packages.nvim = with pkgs.vimPlugins; {
start = [
# cheat-sh-vim
# deoplete-nvim
# vim-abolish
ale
fzf-vim
fzfWrapper
goyo
supertab
undotree
tabular
vimwiki
vim-256noir
vim-colors-paramount
vim-commentary
vim-css-color
@@ -44,13 +39,9 @@
vim-fetch
vim-fugitive
vim-gitgutter
vim-pandoc
vim-pandoc-syntax # vim-pandoc-after
vim-repeat
vim-sensible
# vim-startify
vim-surround
vim-mail
];
opt = [
csv
@@ -72,6 +63,9 @@
vim-reason-plus
vim-toml
vimtex
vim-pandoc
vim-pandoc-syntax # vim-pandoc-after
vim-256noir
];
};
};

View File

@@ -39,7 +39,7 @@ let
};
in
{
imports = [ <niveum/modules/networkmanager-declarative.nix> ];
imports = [ ../modules/networkmanager-declarative.nix ];
networking.networkmanager = {
enable = true;

View File

@@ -2,9 +2,7 @@
{
# enable `nix flake`
nix = {
package = pkgs.nix;
# extraOptions = ''
# experimental-features = nix-command
# '';
package = pkgs.nixFlakes;
extraOptions = "experimental-features = nix-command flakes";
};
}

View File

@@ -6,6 +6,25 @@ let
nixpkgs-unstable = import <nixpkgs-unstable> { config.allowUnfree = true; };
astrolog = nixpkgs-unstable.astrolog.overrideAttrs (old: old // {
installPhase = ''
${old.installPhase}
# set sensible defaults
sed -i '
/^-z /s/8:00W/1:00E/ # timezone
/^-zl /s/122W19:59 47N36:35/13E22:42 52N27:42/ # default location
/^-zj /s/"Current moment now"/Now/ # default name
/^-zj /s/"Seattle, WA, USA"/Berlin/ # default location
/^_k/s/_k/=k/ # use color
/^_Yd/s/_Yd/=Yd/ # sensible date format
/^_Yt/s/_Yt/=Yt/ # sensible time format
/^_Yv/s/_Yv/=Yv/ # sensible length format
/^:Xbw/s/:Xbw/:Xbn/ # set X11 bitmap format
/^:I /s/80/120/ # wider text output
' $out/astrolog/astrolog.as
'';
});
recht = pkgs.callPackage (pkgs.fetchFromGitHub {
owner = "kmein";
repo = "recht";
@@ -107,6 +126,8 @@ in {
audacity
calibre
inkscape
astrolog # astrolog
anki # flashcards
nixpkgs-unstable.zoom-us # video conferencing
pdfgrep # search in pdf
pdftk # pdf toolkit

View File

@@ -3,8 +3,6 @@ let
suspend = pkgs.writers.writeDash "suspend" "${pkgs.systemd}/bin/systemctl suspend";
in
{
imports = [ <stockholm/krebs/3modules/power-action.nix> ];
krebs.power-action = {
enable = true;
plans.suspend = {

View File

@@ -10,8 +10,8 @@ let
tinc-graph-source = pkgs.fetchFromGitHub {
owner = "kmein";
repo = "tinc-graph";
rev = "50593204faa663422f95d7df2931382e7301f8d6";
sha256 = "16cqsnyz6iyw8p395bmam4zvnmzvfz9lhxviscai9sa0imd7rwz2";
rev = "1b9c69ffdbdab82d30a23e44f739feea63d94163";
sha256 = "0bk4x9l399f80lmz4asx7s5fcsgrfdb6xyymbq884621x4z3d2vp";
};
tinc-graph = pkgs.callPackage tinc-graph-source {};
in
@@ -25,6 +25,7 @@ in
| ${tinc-graph}/bin/tinc-statistics > statistics.json
cp ${tinc-graph}/static/map.html map.html
cp ${tinc-graph}/static/map.html index.html
cp ${tinc-graph}/static/graph.html graph.html
'';
startAt = "hourly";

View File

@@ -1,6 +1,6 @@
{ config, pkgs, ... }: {
imports = [
<niveum/modules/retiolum.nix>
../modules/retiolum.nix
];
networking.hosts = { "42:0:ca48:f98f:63d7:31ce:922b:245d" = [ "go" ]; };

61
configs/tarot.nix Normal file
View File

@@ -0,0 +1,61 @@
{ config, pkgs, lib, ... }:
let
tarotPort = 7407;
tarotFiles = pkgs.fetchzip {
url = "https://c.krebsco.de/tarot.zip";
sha256 = "0jl5vdwlj17pqp94yj02xgsb1gyvs9i08m83kac0jdnhfjl2f75a";
stripRoot = false;
};
tarotKey = builtins.fetchurl {
url = "http://c.krebsco.de/tarot.pdf";
sha256 = "1n2m53kjg2vj9dbr70b9jrsbqwdfrcb48l4wswn21549fi24g6dx";
};
in
{
krebs.htgen.tarot = {
port = tarotPort;
user.name = "radio";
script = ''. ${pkgs.writers.writeDash "tarot" ''
case "$Method $Request_URI" in
"GET /")
if item=$(${pkgs.findutils}/bin/find ${toString tarotFiles} -type f | ${pkgs.coreutils}/bin/shuf -n1); then
card=$(mktemp --tmpdir tarot.XXX)
trap 'rm $card' EXIT
reverse=$(${pkgs.coreutils}/bin/shuf -i0-1 -n1)
if [ "$reverse" -eq 1 ]; then
${pkgs.imagemagick}/bin/convert -rotate 180 "$item" "$card"
else
${pkgs.coreutils}/bin/cp "$item" "$card"
fi
printf 'HTTP/1.1 200 OK\r\n'
printf 'Content-Type: %s\r\n' "$(${pkgs.file}/bin/file -ib "$card")"
printf 'Server: %s\r\n' "$Server"
printf 'Connection: close\r\n'
printf 'Content-Length: %d\r\n' $(${pkgs.coreutils}/bin/wc -c < "$card")
printf '\r\n'
cat "$card"
exit
fi
;;
esac
''}'';
};
services.nginx.virtualHosts."tarot.kmein.de" = {
enableACME = true;
forceSSL = true;
locations = {
"/".proxyPass = "http://127.0.0.1:${toString tarotPort}";
"/files/" = {
root = pkgs.linkFarm "tarot" [
{ name = "files/key.pdf"; path = tarotKey; }
{ name = "files/cards"; path = tarotFiles; }
];
extraConfig = ''
autoindex on;
charset UTF-8;
'';
};
};
};
}

View File

@@ -0,0 +1,53 @@
{ pkgs, lib, ... }:
let
nixpkgs-unstable = import <nixpkgs-unstable> {};
toSymbols = pkgs.writers.writeDash "to-symbols" ''
${pkgs.gnused}/bin/sed '
s/\bTri\b//;
s/\bOpp\b//;
s/\bSqu\b//;
s/\bSex\b//;
s/\bCon\b//;
s/Sun//g;
s/Moon//g;
s/Mercury//g;
s/Venus//g;
s/Mars//g;
s/Jupiter//g;
s/Saturn//g;
s/Uranus//g;
s/Neptune//g;
s/Pluto//g;
s/North Node//g;
s/\bLeo\b//g;
s/\bCan\(cer\)\?\b//g;
s/\bGem\(ini\)\?\b//g;
s/\bVir\(go\)\?\b//g;
s/\bLib\(ra\)\?\b//g;
s/\bTau\(rus\)\?\b//g;
s/\bAri\(es\)\?\b//g;
s/\bSco\(rpio\)\?\b//g;
s/\bPis\(ces\)\?\b//g;
s/\bSag\(ittarius\)\?\b//g;
s/\bAqu\(arius\)\?\b//g;
s/\bCap\(ricorn\)\?\b//g;
s/-->//g;
s/\s\+/ /g; # replace multiple spaces by one
s/^.*\([ 0-9]\{2\}:[0-9]\{2\}\) /\1 /; # remove date at beginning of line (but not everything up to v/c X:XX)
s/^\s*//
'
'';
in {
niveum.telegramBots.transits = {
enable = true;
time = "4:00";
token = lib.strings.fileContents <system-secrets/telegram/kmein.token>;
chatIds = [ "18980945" ];
command = toString (pkgs.writers.writeDash "common-transits" ''
{
${nixpkgs-unstable.astrolog}/bin/astrolog -n -zN Berlin -Yt -Yd -d -R Uranus Neptune Pluto
${nixpkgs-unstable.astrolog}/bin/astrolog -Yt -Yd -q 10 22 1999 6:32 -zN Kassel -td $(${pkgs.coreutils}/bin/date +'%m %d %Y') -R Uranus Neptune Pluto
} | ${toSymbols} | ${pkgs.coreutils}/bin/sort -n
'');
};
}

View File

@@ -14,6 +14,7 @@ let
in {
imports = [
./literature-quote.nix
./astrology.nix
./autorenkalender.nix
./nachtischsatan.nix
./tlg-wotd.nix

View File

@@ -4,7 +4,7 @@ let
living-room-id = 131090;
in
{
imports = [ <niveum/modules/traadfri.nix> ];
imports = [ ../modules/traadfri.nix ];
environment.systemPackages = [
(pkgs.writers.writeDashBin "traadfri-party" ''

View File

@@ -95,6 +95,7 @@ in
};
/*
services.nginx = {
enable = true;
recommendedGzipSettings = true;
@@ -109,4 +110,5 @@ in
};
};
};
*/
}

View File

@@ -1,7 +1,5 @@
{ pkgs, lib, ... }:
{
imports = [ <stockholm/krebs/3modules/fetchWallpaper.nix> ];
krebs.fetchWallpaper = {
enable = true;
url = "http://prism.r/realwallpaper-krebs-stars-berlin.png";

View File

@@ -50,8 +50,8 @@ in {
/relay add weechat 9000
/set relay.network.password ${relayPassword}
/set matrix.server.myserver.username ${nick}
/set matrix.server.myserver.password "${lib.strings.fileContents <system-secrets/matrix/nibbana>}"
/set matrix.server.nibbana.username ${nick}
/set matrix.server.nibbana.password "${lib.strings.fileContents <system-secrets/matrix/nibbana>}"
/set irc.server.oftc.command /msg nickserv IDENTIFY ${lib.strings.fileContents <system-secrets/irc/oftc>};/msg nickserv SET CLOAK ON
/set irc.server.oftc.autojoin "#osm,#osm-de,#home-manager"
@@ -72,7 +72,7 @@ in {
/set irc.server.news.command "/oper aids balls"
/set logger.level.irc.news 0
/filter addreplace zerocovid * * [kc]orona|💉|🤒|😷|[kc]ovid|virus|lockdown|va[kc][sc]in|mutante|mutation|impf|pandemi|κορ[ωο]ν[αο]ϊό|корона|expert|infe[ck]t|infizi|in[cz]iden[cz]|sars-cov|drosten|virolog|lauterbach|delta|omi[ck]ron
/filter addreplace zerocovid * * [kc]orona|💉|🤒|😷|[kc]ovid|virus|lockdown|va[kc][sc]in|mutante|mutation|impf|pandemi|κορ[ωο]ν[αο]ϊό|корона|expert|infe[ck]t|infizi|in[cz]iden[cz]|sars-cov|drosten|virolog|lauterbach|delta|omi[ck]ron|epidemi|booster|r-wert
/filter addreplace joinquit * irc_join,irc_part,irc_quit,irc_nick *
/filter addreplace playlist_topic irc.*.#the_playlist irc_topic *
/filter addreplace brockman_notice irc.news.* irc_notice *

View File

@@ -1,67 +1,38 @@
let
inherit (import ./lib/default.nix) sshPort;
gitFromJson = path:
let object = importJson path;
in {
inherit (object) url;
ref = object.rev;
};
krops = builtins.fetchGit (gitFromJson .versions/krops.json);
krops = builtins.fetchGit { url = "https://cgit.krebsco.de/krops/"; };
lib = import "${krops}/lib";
pkgs = import "${krops}/pkgs" { };
importJson = (import <nixpkgs> { }).lib.importJSON;
regularSystem = { path, name, address }: {
source = lib.evalSource [{
niveum.file = toString ./.;
system.file = toString path;
nixos-config.symlink = "system/configuration.nix";
source = name: lib.evalSource [{
niveum.file = toString ./.;
system-secrets.pass = {
dir = toString ~/.password-store;
name = "systems/${name}";
};
secrets.pass = {
dir = toString ~/.password-store;
name = "shared";
};
}];
nixpkgs.git = gitFromJson .versions/nixpkgs.json // { shallow = true; };
nixpkgs-unstable.git = gitFromJson .versions/nixpkgs-unstable.json // { shallow = true; };
home-manager.git = gitFromJson .versions/home-manager.json;
stockholm.git = gitFromJson .versions/stockholm.json;
retiolum.git = gitFromJson .versions/retiolum.json;
nixpkgs-mozilla.git = gitFromJson .versions/nixpkgs-mozilla.json;
system-secrets.pass = {
dir = toString ~/.password-store;
name = "systems/${name}";
};
secrets.pass = {
dir = toString ~/.password-store;
name = "shared";
};
}];
target = "root@${address}:${toString sshPort}";
command = targetPath: ''
nix-shell -p git --run '
nixos-rebuild switch -v --show-trace --flake ${targetPath}/niveum || \
nixos-rebuild switch -v --flake ${targetPath}/niveum
'
'';
createHost = name: target: pkgs.krops.writeCommand "deploy-${name}" {
source = source name;
inherit command target;
};
inherit (pkgs.krops) writeDeploy;
in {
zaatar = writeDeploy "deploy-zaatar" (regularSystem {
path = systems/zaatar;
name = "zaatar";
address = "zaatar.r";
});
kabsa = writeDeploy "deploy-kabsa" (regularSystem {
path = systems/kabsa;
name = "kabsa";
address = "kabsa.r";
});
toum = writeDeploy "deploy-toum" (regularSystem {
path = systems/toum;
name = "toum";
address = "toum.r";
}) // {
buildTarget = "${builtins.getEnv "USER"}@localhost/${builtins.getEnv "HOME"}/.cache/krops";
};
makanek = writeDeploy "deploy-makanek" (regularSystem {
path = systems/makanek;
name = "makanek";
address = "makanek.r";
});
manakish = writeDeploy "deploy-manakish" (regularSystem {
path = systems/manakish;
name = "manakish";
address = "manakish.r";
});
in rec {
zaatar = createHost "zaatar" "root@zaatar.r:${toString sshPort}";
kabsa = createHost "kabsa" "root@kabsa.r:${toString sshPort}";
makanek = createHost "kabsa" "root@makanek.r:${toString sshPort}";
manakish = createHost "kabsa" "root@manakish.r:${toString sshPort}";
all = pkgs.writeScript "deploy-all"
(lib.concatStringsSep "\n" [ zaatar kabsa makanek manakish ]);
}

150
flake.lock generated Normal file
View File

@@ -0,0 +1,150 @@
{
"nodes": {
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1639871969,
"narHash": "sha256-6feWUnMygRzA9tzkrfAzpA5/NBYg75bkFxnqb1DtD7E=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "697cc8c68ed6a606296efbbe9614c32537078756",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-21.11",
"repo": "home-manager",
"type": "github"
}
},
"krops": {
"flake": false,
"locked": {
"lastModified": 1637419569,
"narHash": "sha256-0hxKZQIoByRDoPsfQq5qzFJioyWRX/fbpvMO2EYQ9lc=",
"ref": "master",
"rev": "13ae434b140035e7e2664bd5a8ef4c475413b2e0",
"revCount": 115,
"type": "git",
"url": "https://cgit.krebsco.de/krops"
},
"original": {
"type": "git",
"url": "https://cgit.krebsco.de/krops"
}
},
"nix-writers": {
"flake": false,
"locked": {
"lastModified": 1554228333,
"narHash": "sha256-hG/PlcCvCQhNcU55NpHfATkyH9k6cZmO7uvBoJjasXU=",
"ref": "master",
"rev": "c528cf970e292790b414b4c1c8c8e9d7e73b2a71",
"revCount": 32,
"type": "git",
"url": "https://cgit.krebsco.de/nix-writers"
},
"original": {
"type": "git",
"url": "https://cgit.krebsco.de/nix-writers"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1640759603,
"narHash": "sha256-k4d7oC6GvDV1OKxG325JUDpKtZcDUPEiddnJMOQQ/x8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e101dc111ac1e5a21efca7822417acc1cb92013a",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-21.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-mozilla": {
"flake": false,
"locked": {
"lastModified": 1638887313,
"narHash": "sha256-FMYV6rVtvSIfthgC1sK1xugh3y7muoQcvduMdriz4ag=",
"owner": "mozilla",
"repo": "nixpkgs-mozilla",
"rev": "7c1e8b1dd6ed0043fb4ee0b12b815256b0b9de6f",
"type": "github"
},
"original": {
"owner": "mozilla",
"repo": "nixpkgs-mozilla",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1640725200,
"narHash": "sha256-yR8clhRTt1OBFojyBaNnNgD+om51nhuJ1OLqWqdY2Ow=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "eaeea6e9337b93d2acb7c2aa27e3f4617408375a",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"retiolum": {
"flake": false,
"locked": {
"lastModified": 1640724425,
"narHash": "sha256-eGzvF96ZnrKqvQ7wnpa9OYsfBxUMV0Jdh3QGdZhbSek=",
"owner": "krebs",
"repo": "retiolum",
"rev": "5a32ea07d6ca5668ea06f14dffe94fb46d42c674",
"type": "github"
},
"original": {
"owner": "krebs",
"repo": "retiolum",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"krops": "krops",
"nix-writers": "nix-writers",
"nixpkgs": "nixpkgs",
"nixpkgs-mozilla": "nixpkgs-mozilla",
"nixpkgs-unstable": "nixpkgs-unstable",
"retiolum": "retiolum",
"stockholm": "stockholm"
}
},
"stockholm": {
"flake": false,
"locked": {
"lastModified": 1640726454,
"narHash": "sha256-twePnoB0NRhSM4zJOrUI/Zxzwx/u52ey6zA4YYGEvOc=",
"ref": "master",
"rev": "2a47990f16935d909930c9dd1ed6f8f2982df638",
"revCount": 10218,
"type": "git",
"url": "https://cgit.lassul.us/stockholm"
},
"original": {
"type": "git",
"url": "https://cgit.lassul.us/stockholm"
}
}
},
"root": "root",
"version": 7
}

79
flake.nix Normal file
View File

@@ -0,0 +1,79 @@
# imported from https://github.com/pinpox/nixos/blob/bdc0d47111d57cd19512c83538a01f9f9a3fc847/flake.nix
# ref https://www.youtube.com/watch?v=mJbQ--iBc1U
{
description = "niveum systems";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/release-21.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs";
home-manager = {
url = "github:nix-community/home-manager/release-21.11";
inputs.nixpkgs.follows = "nixpkgs";
};
# flake-utils.url = "github:numtide/flake-utils";
# flake-compat = {
# url = "github:edolstra/flake-compat";
# flake = false;
# };
stockholm = {
url = "git+https://cgit.lassul.us/stockholm";
flake = false;
};
nix-writers = {
url = "git+https://cgit.krebsco.de/nix-writers";
flake = false;
};
krops = {
url = "git+https://cgit.krebsco.de/krops";
flake = false;
};
retiolum = {
url = "github:krebs/retiolum";
flake = false;
};
nixpkgs-mozilla = {
url = "github:mozilla/nixpkgs-mozilla";
flake = false;
};
};
outputs = { self, nixpkgs, nix-writers, home-manager, stockholm, ... }@inputs:
let
nixosSystem = nixpkgs.lib.makeOverridable nixpkgs.lib.nixosSystem;
defaultModules = [
{ _module.args.inputs = inputs; }
{
imports = [
home-manager.nixosModules.home-manager
"${stockholm}/krebs/3modules/power-action.nix"
"${stockholm}/krebs/3modules/fetchWallpaper.nix"
({ pkgs, ... }: {
nix.nixPath = [ "nixpkgs=${pkgs.path}" ];
nixpkgs.overlays = [
(import "${nix-writers}/pkgs")
(import "${stockholm}/krebs/5pkgs")
];
})
({ pkgs, ... }: { # https://github.com/Mic92/dotfiles/blob/50826e8f247909557975f4f193ecbb4162b07310/nixos/modules/upgrade-diff.nix
system.activationScripts.diff = ''
${pkgs.nix}/bin/nix store diff-closures /run/current-system "$systemConfig"
'';
})
];
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
in {
nixosConfigurations = {
kabsa = nixosSystem {
system = "x86_64-linux";
modules = defaultModules ++ [
systems/kabsa/configuration.nix
];
};
};
};
}

View File

@@ -132,6 +132,7 @@ if has("autocmd")
autocmd bufnewfile,bufread *.jq packadd jq.vim
autocmd bufnewfile,bufread *.re packadd vim-reason-plus | set filetype=reason
autocmd bufnewfile,bufread *.journal packadd vim-ledger | set filetype=ledger shiftwidth=4
autocmd bufnewfile,bufread *.md packadd vim-pandoc | packadd vim-pandoc-syntax
autocmd bufnewfile,bufread urls,config set filetype=conf
autocmd bufnewfile,bufread *.elm packadd elm-vim | set filetype=elm shiftwidth=4
autocmd bufnewfile,bufread *.dhall packadd dhall-vim | set filetype=dhall

View File

@@ -1,29 +0,0 @@
{ pkgs, lib, config, ... }:
with lib;
let cfg = config.niveum.dropbox;
in {
options.niveum.dropbox = { enable = mkEnableOption "Dropbox"; };
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.dropbox-cli ];
networking.firewall = {
allowedTCPPorts = [ 17500 ];
allowedUDPPorts = [ 17500 ];
};
systemd.user.services.dropbox = {
description = "Dropbox synchronisation service";
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${pkgs.dropbox.out}/bin/dropbox";
ExecReload = "${pkgs.coreutils.out}/bin/kill -HUP $MAINPID";
KillMode = "control-group"; # upstream recommends process
Restart = "on-failure";
PrivateTmp = true;
ProtectSystem = "full";
Nice = 10;
};
};
};
}

View File

@@ -34,6 +34,7 @@ in {
(name: _: builtins.readFile "${<retiolum/hosts>}/${name}")
(builtins.readDir <retiolum/hosts>);
rsaPrivateKeyFile = toString <system-secrets/retiolum.key>;
ed25519PrivateKeyFile = toString <system-secrets/retiolum.ed25519>;
extraConfig = ''
LocalDiscovery = yes
AutoConnect = yes

View File

@@ -6,8 +6,8 @@ let
traadfri-package = pkgs.fetchFromGitHub {
owner = "kmein";
repo = "traadfri";
rev = "a55b778cf4c7f124e75070b056c90f5a8043bc45";
sha256 = "10ggqksdbgmcwc2f3xs6abjf9zpvv554xfl3b3bblmfijgr6srv9";
rev = "cf46bd09cd3263b90a09b0ca979aa705a4c3671c";
sha256 = "0az9q38pl8fqk00488blhn6rhvwsw2wky3dbdlyz7945ggvxnbyd";
};
in pkgs.callPackage traadfri-package {
libcoap = pkgs.callPackage <niveum/packages/libcoap.nix> { tls = true; };

View File

@@ -1,6 +0,0 @@
self: super:
with super.lib;
let
eval = import <nixpkgs/nixos/lib/eval-config.nix>;
paths = (eval {modules = [(import <nixos-config>)];}).config.nixpkgs.overlays;
in foldl' (flip extends) (_: super) paths self

27
packages/daybook.nix Normal file
View File

@@ -0,0 +1,27 @@
{ lib, stdenv, makeWrapper, pandoc, fetchFromGitHub }:
stdenv.mkDerivation {
name = "daybook";
src = fetchFromGitHub {
owner = "kmein";
repo = "daybook";
rev = "db2c34830e09183c80f3381bf5e4c44d52f05d53";
sha256 = "0nbsv8f12qh5spq7zhimhdf3p7msk33xrb0ilqvlc6jmlkpislmv";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ pandoc ];
buildPhase = ''
mkdir -p $out/man/man1
pandoc --standalone --to man daybook.1.md -o $out/man/man1/daybook.1
'';
installPhase = ''
mkdir -p $out/bin
install daybook $out/bin
wrapProgram $out/bin/daybook --prefix PATH ":" ${pandoc}/bin ;
'';
meta = with lib; {
homepage = https://github.com/kmein/daybook;
description = "A diary writing utility in sh";
license = licenses.mit;
platforms = platforms.linux;
};
}

29
packages/depp.nix Normal file
View File

@@ -0,0 +1,29 @@
{ lib, writeShellScriptBin }:
let
aliasFlag = name: value: "-c alias.${name}=${lib.escapeShellArg value}";
aliases = {
eroeffne = "init";
machnach = "clone";
zieh = "pull";
fueghinzu = "add";
drueck = "push";
pfusch = "push --force";
zweig = "branch";
verzweige = "branch";
uebergib = "commit";
erde = "rebase";
unterscheide = "diff";
vereinige = "merge";
bunkere = "stash";
markiere = "tag";
nimm = "checkout";
tagebuch = "log";
zustand = "status";
};
in writeShellScriptBin "depp" ''
if [ $# -gt 0 ]; then
git ${lib.concatStringsSep " " (lib.attrsets.mapAttrsToList aliasFlag aliases)} "$@"
else
printf "${lib.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: v: n + " " + v) aliases)}\n"
fi
''

28
packages/devour.nix Normal file
View File

@@ -0,0 +1,28 @@
{ lib, stdenv, xdo, makeWrapper, fetchFromGitHub }:
stdenv.mkDerivation {
name = "devour";
version = "master";
src = fetchFromGitHub {
owner = "salman-abedin";
repo = "devour";
rev = "ceb871c3046ce290c27e2887365b9a19ca38113c";
sha256 = "0f2jb8knx7lqy6wmf3rchgq2n2dj496lm8vgcs58rppzrmsk59d5";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ xdo ];
DESTDIR="$(out)";
fixupPhase = ''
wrapProgram $out/bin/devour --prefix PATH ":" ${xdo}/bin ;
'';
meta = with lib; {
homepage = "https://github.com/salman-abedin/devour";
description = "Window Manager agnostic swallowing feature for terminal emulators";
license = licenses.gpl3;
platforms = platforms.all;
};
}

30
packages/mahlzeit.nix Normal file
View File

@@ -0,0 +1,30 @@
{ lib, fetchFromGitHub, mkDerivation, ansi-terminal, base, directory, doctest, filepath
, megaparsec, optparse-applicative, prettyprinter, process
, raw-strings-qq, stdenv, tasty, tasty-hunit, text, yaml
}:
mkDerivation {
pname = "mahlzeit";
version = "0.1.0";
src = fetchFromGitHub {
owner = "kmein";
repo = "mahlzeit";
rev = "954c0fb3f45815999bc65d003794af6a850b069c";
sha256 = "046yrr40hjmxkjmwzcvmwb39fxx2v2i6hgdxrjfiwilzvhikarrg";
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
ansi-terminal base directory filepath megaparsec prettyprinter text
yaml
];
executableHaskellDepends = [
ansi-terminal base directory filepath optparse-applicative process
text yaml
];
testHaskellDepends = [
base doctest megaparsec raw-strings-qq tasty tasty-hunit
];
homepage = "https://github.com/kmein/mahlzeit";
description = "Recipe toolkit";
license = lib.licenses.mit;
}

26
packages/opustags.nix Normal file
View File

@@ -0,0 +1,26 @@
{ lib, stdenv, cmake, pkgconfig, libogg, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "opustags";
version = "1.3.0";
src = fetchFromGitHub {
owner = "fmang";
repo = "opustags";
rev = version;
sha256 = "09z0cdg20algaj2yyhfz3hxh1biwjjvzx1pc2vdc64n8lkswqsc1";
};
cmakeFlags = [
"-DCMAKE_INSTALL_PREFIX=$out"
];
buildInputs = [ libogg ];
nativeBuildInputs = [ cmake pkgconfig ];
meta = with lib; {
homepage = "https://github.com/fmang/opustags";
description = "Ogg Opus tags editor";
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,12 @@
{ fetchPypi, buildPythonPackage, pygtrie, ... }:
buildPythonPackage rec {
pname = "betacode";
version = "0.2";
src = fetchPypi {
inherit pname version;
sha256 = "08fnjzjvnm9m6p4ddyr8qgfb9bs2nipv4ls50784v0xazgxx7siv";
};
preBuild = ''echo > README.rst'';
propagatedBuildInputs = [ pygtrie ];
doCheck = false;
}

View File

@@ -0,0 +1,14 @@
{ fetchFromGitHub, buildPythonPackage, backports_functools_lru_cache, selenium, regex, ... }:
buildPythonPackage rec {
pname = "indic_transliteration";
version = "unstable-2020-12-15";
src = fetchFromGitHub {
repo = pname;
owner = "sanskrit-coders";
rev = "2ea25a03af15937916b6768835e056166986c567";
sha256 = "1pcf800hl0zkcffc47mkjq9mizsxdi0hwxlnij5bvbqdshd3w9ll";
};
patches = [ ./regex-version.patch ];
propagatedBuildInputs = [ backports_functools_lru_cache selenium regex ];
doCheck = false;
}

View File

@@ -0,0 +1,9 @@
diff --git a/requirements.txt b/requirements.txt
index 76b12d7..27fdc79 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,3 @@
backports.functools_lru_cache==1.6.1
selenium==3.141.0
-regex==2020.10.11
+regex>=2020.7.14

View File

@@ -0,0 +1,12 @@
{ buildPythonApplication, fetchPypi, requests }:
let
in buildPythonApplication rec {
pname = "instaloader";
version = "4.2.4";
src = fetchPypi {
inherit pname version;
sha256 = "02zqb02idk2pzks7dv42vigcmmpjpfhfdyjp911yr0ix7dy3q0b9";
};
propagatedBuildInputs = [ requests ];
doCheck = false;
}

View File

@@ -0,0 +1,10 @@
{ fetchPypi, buildPythonPackage, ... }:
buildPythonPackage rec {
pname = "pygtrie";
version = "2.3";
src = fetchPypi {
inherit pname version;
sha256 = "00x7q4p9r75zdnw3a8vd0d0w0i5l28w408g5bsfl787yv6b1h9i8";
};
doCheck = false;
}

View File

@@ -0,0 +1,23 @@
{ buildPythonPackage, buildPythonApplication, fetchPypi, pytestrunner, six, beautifulsoup4, requests, dbus-python }:
let
lyricwikia = buildPythonPackage rec {
pname = "lyricwikia";
version = "0.1.9";
src = fetchPypi {
inherit pname version;
sha256 = "0sa5wkbgp5bpgkl8hgn7byyz9zj0786647ikf2l0k8m4fimq623y";
};
buildInputs = [ pytestrunner ];
propagatedBuildInputs = [ six beautifulsoup4 requests ];
doCheck = false;
};
in buildPythonApplication rec {
pname = "spotify-cli-linux";
version = "1.4.2";
src = fetchPypi {
inherit pname version;
sha256 = "1gxich3v2i4lmh60abbw3mw15399afvvqflv8g6plvvbmvxmbgp0";
};
propagatedBuildInputs = [ lyricwikia dbus-python ];
doCheck = false;
}

View File

@@ -1,7 +1,8 @@
{ pkgs, lib, ... }:
let
nur = import <niveum/submodules/nur-packages> {};
kpaste = pkgs.callPackage <stockholm/krebs/5pkgs/simple/kpaste> { };
opustags = pkgs.callPackage <niveum/packages/opustags.nix> { };
betacode = pkgs.callPackage <niveum/packages/python3Packages/betacode.nix> { };
wrapScript = { packages ? [ ], name, script }:
pkgs.writers.writeDashBin name ''
PATH=$PATH:${
@@ -98,7 +99,7 @@ in rec {
'';
tag = wrapScript {
packages = [ pkgs.vorbisTools pkgs.python3Packages.eyeD3 nur.opustags ];
packages = [ pkgs.vorbisTools pkgs.python3Packages.eyeD3 opustags ];
script = "${voidrice}/.local/bin/tag";
name = "tag";
};
@@ -167,7 +168,7 @@ in rec {
| ${pkgs.man}/bin/man --local-file --pager="${pkgs.bat}/bin/bat -p" -
'';
playlist = import ./pls.nix { inherit pkgs; };
playlist = import ./pls.nix { inherit pkgs lib; };
mpv-tv = import ./mpv-tv.nix { inherit pkgs lib; };
@@ -296,7 +297,7 @@ in rec {
'';
betacode = pkgs.writers.writePython3Bin "betacode" {
libraries = [ nur.python3Packages.betacode ];
libraries = [ betacode ];
} ''
import betacode.conv
import sys
@@ -405,4 +406,12 @@ in rec {
curl -L "https://github.com/Mic92/nix-index-database/releases/download/$tag/files" -o $XDG_RUNTIME_DIR/files-$tag
mv $XDG_RUNTIME_DIR/files-$tag $HOME/.cache/nix-index/files
'';
} // nur
} // {
devour = pkgs.callPackage <niveum/packages/devour.nix> { };
depp = pkgs.callPackage <niveum/packages/depp.nix> { };
text2pdf = pkgs.callPackage <niveum/packages/text2pdf.nix> { };
vimv = pkgs.callPackage <niveum/packages/vimv.nix> { };
when = pkgs.callPackage <niveum/packages/when.nix> { };
mahlzeit = pkgs.haskellPackages.callPackage <niveum/packages/mahlzeit.nix> { };
inherit opustags;
}

View File

@@ -28,6 +28,14 @@ python-versions = "*"
[package.dependencies]
pyswisseph = "2.08.00-1"
[[package]]
name = "numpy"
version = "1.21.1"
description = "NumPy is the fundamental package for array computing with Python."
category = "main"
optional = false
python-versions = ">=3.7"
[[package]]
name = "pyswisseph"
version = "2.08.00-1"
@@ -36,10 +44,32 @@ category = "main"
optional = false
python-versions = "*"
[[package]]
name = "pytz"
version = "2021.3"
description = "World timezone definitions, modern and historical"
category = "main"
optional = false
python-versions = "*"
[[package]]
name = "timezonefinder"
version = "5.2.0"
description = "fast python package for finding the timezone of any point on earth (coordinates) offline"
category = "main"
optional = false
python-versions = ">=3.6"
[package.dependencies]
numpy = ">=1.16"
[package.extras]
numba = ["numba (>=0.48)"]
[metadata]
lock-version = "1.1"
python-versions = "^3.8"
content-hash = "2f40aecf583ff9e4f7b2dcc090fee27915e64ff1f8a450fbe5e6f95e8c487d75"
content-hash = "657742383232643f2fa13df5686de0cc79c624f9ae9bdb2f0fc96c7a94b5b8bf"
[metadata.files]
click = [
@@ -54,6 +84,44 @@ flatlib = [
{file = "flatlib-0.2.3-py3-none-any.whl", hash = "sha256:c846d83c965db7588581bb65ac9a6668b9a190afcad5027269f7e9c75f467bcd"},
{file = "flatlib-0.2.3.tar.gz", hash = "sha256:46cc956b936aa31a96082cff23448a5c27dd6e5e434a6293bc9265336c00dd5d"},
]
numpy = [
{file = "numpy-1.21.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:38e8648f9449a549a7dfe8d8755a5979b45b3538520d1e735637ef28e8c2dc50"},
{file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fd7d7409fa643a91d0a05c7554dd68aa9c9bb16e186f6ccfe40d6e003156e33a"},
{file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a75b4498b1e93d8b700282dc8e655b8bd559c0904b3910b144646dbbbc03e062"},
{file = "numpy-1.21.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1412aa0aec3e00bc23fbb8664d76552b4efde98fb71f60737c83efbac24112f1"},
{file = "numpy-1.21.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e46ceaff65609b5399163de5893d8f2a82d3c77d5e56d976c8b5fb01faa6b671"},
{file = "numpy-1.21.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c6a2324085dd52f96498419ba95b5777e40b6bcbc20088fddb9e8cbb58885e8e"},
{file = "numpy-1.21.1-cp37-cp37m-win32.whl", hash = "sha256:73101b2a1fef16602696d133db402a7e7586654682244344b8329cdcbbb82172"},
{file = "numpy-1.21.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7a708a79c9a9d26904d1cca8d383bf869edf6f8e7650d85dbc77b041e8c5a0f8"},
{file = "numpy-1.21.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95b995d0c413f5d0428b3f880e8fe1660ff9396dcd1f9eedbc311f37b5652e16"},
{file = "numpy-1.21.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:635e6bd31c9fb3d475c8f44a089569070d10a9ef18ed13738b03049280281267"},
{file = "numpy-1.21.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a3d5fb89bfe21be2ef47c0614b9c9c707b7362386c9a3ff1feae63e0267ccb6"},
{file = "numpy-1.21.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8a326af80e86d0e9ce92bcc1e65c8ff88297de4fa14ee936cb2293d414c9ec63"},
{file = "numpy-1.21.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:791492091744b0fe390a6ce85cc1bf5149968ac7d5f0477288f78c89b385d9af"},
{file = "numpy-1.21.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0318c465786c1f63ac05d7c4dbcecd4d2d7e13f0959b01b534ea1e92202235c5"},
{file = "numpy-1.21.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a513bd9c1551894ee3d31369f9b07460ef223694098cf27d399513415855b68"},
{file = "numpy-1.21.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:91c6f5fc58df1e0a3cc0c3a717bb3308ff850abdaa6d2d802573ee2b11f674a8"},
{file = "numpy-1.21.1-cp38-cp38-win32.whl", hash = "sha256:978010b68e17150db8765355d1ccdd450f9fc916824e8c4e35ee620590e234cd"},
{file = "numpy-1.21.1-cp38-cp38-win_amd64.whl", hash = "sha256:9749a40a5b22333467f02fe11edc98f022133ee1bfa8ab99bda5e5437b831214"},
{file = "numpy-1.21.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d7a4aeac3b94af92a9373d6e77b37691b86411f9745190d2c351f410ab3a791f"},
{file = "numpy-1.21.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d9e7912a56108aba9b31df688a4c4f5cb0d9d3787386b87d504762b6754fbb1b"},
{file = "numpy-1.21.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:25b40b98ebdd272bc3020935427a4530b7d60dfbe1ab9381a39147834e985eac"},
{file = "numpy-1.21.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8a92c5aea763d14ba9d6475803fc7904bda7decc2a0a68153f587ad82941fec1"},
{file = "numpy-1.21.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05a0f648eb28bae4bcb204e6fd14603de2908de982e761a2fc78efe0f19e96e1"},
{file = "numpy-1.21.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f01f28075a92eede918b965e86e8f0ba7b7797a95aa8d35e1cc8821f5fc3ad6a"},
{file = "numpy-1.21.1-cp39-cp39-win32.whl", hash = "sha256:88c0b89ad1cc24a5efbb99ff9ab5db0f9a86e9cc50240177a571fbe9c2860ac2"},
{file = "numpy-1.21.1-cp39-cp39-win_amd64.whl", hash = "sha256:01721eefe70544d548425a07c80be8377096a54118070b8a62476866d5208e33"},
{file = "numpy-1.21.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2d4d1de6e6fb3d28781c73fbde702ac97f03d79e4ffd6598b880b2d95d62ead4"},
{file = "numpy-1.21.1.zip", hash = "sha256:dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd"},
]
pyswisseph = [
{file = "pyswisseph-2.08.00-1.tar.gz", hash = "sha256:6b4818c0224d309c0b01f3c52df2432900dddcde345364408d99eafc9cdd1e71"},
]
pytz = [
{file = "pytz-2021.3-py2.py3-none-any.whl", hash = "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c"},
{file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"},
]
timezonefinder = [
{file = "timezonefinder-5.2.0-py36.py37.py38-none-any.whl", hash = "sha256:4545533086eb25cd7ba10b97785059acbababf4577ab1b4d5c2ab56642eadfea"},
{file = "timezonefinder-5.2.0.tar.gz", hash = "sha256:a374570295a8dbd923630ce85f754e52578e288cb0a9cf575834415e84758352"},
]

View File

@@ -8,9 +8,13 @@ authors = ["Kierán Meinhardt <kmein@posteo.de>"]
python = "^3.8"
flatlib = "^0.2.3"
click = "^8.0.3"
timezonefinder = "^5.2.0"
pytz = "^2021.3"
[tool.poetry.scripts]
horoscope = "horoscope:main"
transits-current = "transits:current"
transits-forecast = "transits:forecast"
[build-system]
requires = ["poetry-core>=1.0.0"]

View File

@@ -0,0 +1,181 @@
from flatlib import aspects, const
from flatlib.chart import Chart
from flatlib.datetime import Datetime
import pytz
from flatlib.geopos import GeoPos
import timezonefinder
import operator
import click
import itertools
from datetime import datetime, timedelta
tf = timezonefinder.TimezoneFinder()
planets = [
const.SUN,
const.MOON,
const.MERCURY,
const.VENUS,
const.MARS,
const.JUPITER,
const.SATURN,
const.URANUS,
const.NEPTUNE,
const.PLUTO,
]
planet_symbols = {
const.SUN: "",
const.MOON: "",
const.MERCURY: "",
const.VENUS: "",
const.MARS: "",
const.JUPITER: "",
const.SATURN: "",
const.URANUS: "",
const.NEPTUNE: "",
const.PLUTO: "",
}
aspect_symbols = {
const.NO_ASPECT: " ",
const.CONJUNCTION: "",
const.SEXTILE: "",
const.SQUARE: "",
const.TRINE: "",
const.OPPOSITION: "",
}
def convert_into_stupid_flatlib_format(dt):
return Datetime(
dt.strftime("%Y/%m/%d"),
dt.strftime("%H:%M"),
dt.utcoffset().total_seconds() / 3600,
)
here_latitude = 52.52
here_longitude = 13.4
def get_aspects(chart1, chart2, *, threshold):
for planet1 in chart1.objects:
for planet2 in chart2.objects:
aspect = aspects.getAspect(planet1, planet2, const.MAJOR_ASPECTS)
if aspect.exists() and aspect.orb <= threshold:
yield aspect
def get_chart(position, dt_naive):
timezone = pytz.timezone(tf.timezone_at(lat=position.lat, lng=position.lon))
dt_aware = timezone.localize(dt_naive)
return Chart(convert_into_stupid_flatlib_format(dt_aware), position, IDs=planets)
def show_aspect(aspect):
return " ".join(
[
planet_symbols[aspect.active.id],
aspect_symbols[aspect.type],
planet_symbols[aspect.passive.id],
]
)
@click.command()
@click.option("--natal-latitude", type=click.FLOAT, default=here_latitude)
@click.option("--natal-longitude", type=click.FLOAT, default=here_longitude)
@click.option("--natal-date", type=click.DateTime(), default=datetime.now())
@click.option("--transit-latitude", type=click.FLOAT, default=here_latitude)
@click.option("--transit-longitude", type=click.FLOAT, default=here_longitude)
@click.option("--transit-date", type=click.DateTime(), default=datetime.now())
@click.option("--threshold", type=click.FLOAT, default=5)
def forecast(
natal_latitude: float,
natal_longitude: float,
natal_date: datetime,
transit_latitude: float,
transit_longitude: float,
transit_date: datetime,
threshold: float,
):
transit_position = GeoPos(transit_latitude, transit_longitude)
natal_position = GeoPos(natal_latitude, natal_longitude)
natal_chart = get_chart(natal_position, natal_date)
transit_chart = get_chart(transit_position, transit_date)
offset = 0
previous_aspects = set(
show_aspect(a)
for a in get_aspects(natal_chart, transit_chart, threshold=threshold)
)
while True:
then = transit_date + timedelta(minutes=offset)
current_chart = get_chart(transit_position, then)
current_aspects = set(
show_aspect(a)
for a in get_aspects(natal_chart, current_chart, threshold=threshold)
)
entered = current_aspects - previous_aspects
exited = previous_aspects - current_aspects
if entered or exited:
print(
then.strftime("%Y-%m-%d %H:%M"),
"".join([" | +" + a for a in entered] + [" | -" + a for a in exited]),
sep="",
)
previous_aspects = current_aspects
offset += 1
@click.command()
@click.option("--natal-latitude", type=click.FLOAT, default=here_latitude)
@click.option("--natal-longitude", type=click.FLOAT, default=here_longitude)
@click.option("--natal-date", "-D", type=click.DateTime(), default=datetime.now())
@click.option("--transit-latitude", type=click.FLOAT, default=here_latitude)
@click.option("--transit-longitude", type=click.FLOAT, default=here_longitude)
@click.option("--transit-date", "-d", type=click.DateTime(), default=datetime.now())
@click.option("--threshold", "-t", type=click.FLOAT, default=5)
def current(
natal_latitude: float,
natal_longitude: float,
natal_date: datetime,
transit_latitude: float,
transit_longitude: float,
transit_date: datetime,
threshold: float,
):
transit_position = GeoPos(transit_latitude, transit_longitude)
natal_position = GeoPos(natal_latitude, natal_longitude)
natal_chart = get_chart(natal_position, natal_date)
transit_chart = get_chart(transit_position, transit_date)
relevant_aspects = list(
get_aspects(natal_chart, transit_chart, threshold=threshold)
)
def aspect_switch_date(aspect, *, direction=1, threshold):
offset = 0
while True:
then = transit_date + direction * timedelta(days=offset)
current_chart = get_chart(transit_position, then)
aspects = [
show_aspect(a)
for a in get_aspects(natal_chart, current_chart, threshold=threshold)
]
if aspect not in aspects:
return then.date()
offset += 1
for aspect in sorted(relevant_aspects, key=operator.attrgetter("orb")):
aspect_string = show_aspect(aspect)
print(
aspect_switch_date(
aspect_string, direction=-1, threshold=threshold
).isoformat(),
aspect_switch_date(
aspect_string, direction=1, threshold=threshold
).isoformat(),
aspect_string,
)

View File

@@ -1,7 +1,5 @@
{ pkgs }:
{ lib, pkgs }:
let
inherit (pkgs) lib;
playlistAPI = "https://radio.lassul.us";
sendIRC = pkgs.writers.writeDash "send-irc" ''

22
packages/sncli.nix Normal file
View File

@@ -0,0 +1,22 @@
{ buildPythonPackage, buildPythonApplication, fetchPypi, requests, urwid }:
let
Simperium3 = buildPythonPackage rec {
pname = "Simperium3";
version = "0.1.3";
src = fetchPypi {
inherit pname version;
sha256 = "1j1w4dji39v44l96qq9kbrxpcjkjmika8065gwy8bf847f9fa76p";
};
propagatedBuildInputs = [ requests ];
};
in buildPythonApplication rec {
pname = "sncli";
version = "0.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "18s5a6s2z7k14cbiyfdf98kw92r2hf1xwaavx67dxhadxm18xr4v";
};
propagatedBuildInputs = [ requests urwid Simperium3 ];
}

15
packages/text2pdf.nix Normal file
View File

@@ -0,0 +1,15 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "text2pdf";
version = "1.1";
src = fetchurl {
url = "http://www.eprg.org/pdfcorner/text2pdf/text2pdf.c";
sha256 = "002nyky12vf1paj7az6j6ra7lljwkhqzz238v7fyp7sfgxw0f7d1";
};
phases = [ "buildPhase" ];
buildPhase = ''
mkdir -p $out/bin
gcc -o $out/bin/text2pdf $src
'';
}

22
packages/vimv.nix Normal file
View File

@@ -0,0 +1,22 @@
{ lib, stdenv, bash, fetchFromGitHub }:
stdenv.mkDerivation {
name = "vimv";
src = fetchFromGitHub {
owner = "thameera";
repo = "vimv";
rev = "4152496c1946f68a13c648fb7e583ef23dac4eb8";
sha256 = "1fsrfx2gs6bqx7wk7pgcji2i2x4alqpsi66aif4kqvnpqfhcfzjd";
};
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/bin
sed 's:#!/bin/bash:#!${bash}/bin/bash:' $src/vimv > $out/bin/vimv
chmod 755 $out/bin/vimv
'';
meta = with lib; {
homepage = https://github.com/thameera/vimv;
description = "Batch-rename files using Vim";
license = licenses.mit;
platforms = platforms.linux;
};
}

23
packages/when.nix Normal file
View File

@@ -0,0 +1,23 @@
{ lib, stdenv, perl, which }:
stdenv.mkDerivation {
name = "when";
version = "1.1.40";
src = builtins.fetchTarball {
url = "http://www.lightandmatter.com/when/when.tar.gz";
sha256 = "12d0zmvg66lwzr7q8zky0kz1x3w6q8dvyzm4x7lf1vy2z4pm4cvx";
};
nativeBuildInputs = [ which ];
buildInputs = [ perl ];
installFlags = [ "prefix=$(out)" ];
meta = with lib; {
homepage = "http://www.lightandmatter.com/when/when.html";
description = "An extremely simple personal calendar program";
longDescription = "When is an extremely simple personal calendar program, aimed at the Unix geek who wants something minimalistic.";
license = licenses.gpl2;
platforms = platforms.all;
};
}

View File

@@ -15,6 +15,11 @@ let
url = "https://github.com/NixOS/nixpkgs.git";
path = toString .versions/nixpkgs-unstable.json;
};
nix-writers = {
ref = "refs/heads/master";
url = "https://cgit.krebsco.de/nix-writers";
path = toString .versions/nix-writers.json;
};
home-manager = {
ref = "refs/heads/release-${release}";
url = "https://github.com/nix-community/home-manager.git";

View File

@@ -5,9 +5,9 @@ let
in
{
imports = [
<niveum/configs/default.nix>
<niveum/configs/battery.nix>
<niveum/configs/networkmanager.nix>
../../configs/default.nix
../../configs/battery.nix
../../configs/networkmanager.nix
./hardware-configuration.nix
# <stockholm/krebs/2configs/hw/x220.nix>
];

View File

@@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }: {
imports = [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> ];
{ config, lib, pkgs, modulesPath, ... }: {
imports = [ "${modulesPath}/installer/scan/not-detected.nix" ];
boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "xhci_pci" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
@@ -18,7 +18,7 @@
fsType = "vfat";
};
zramSwap.enable = true;
zramSwap.enable = false;
nix.maxJobs = lib.mkDefault 4;
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";

View File

@@ -4,48 +4,6 @@ let
in
{
imports = [
{
systemd.services.praesenzlehre = {
description = "Live Ticker zu praesenzlehre-berlin.org";
wants = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
startAt = "daily";
path = [ pkgs.curl pkgs.pup pkgs.bc ];
environment.BOT_TOKEN = lib.strings.fileContents <system-secrets/telegram/kmein.token>;
script = ''
set -efu
count_file=/tmp/praesenzlehre-berlin.org
set_count() {
echo $* > "$count_file"
}
get_count() {
cat "$count_file"
}
notify() {
curl -sSL -X POST -H 'Content-Type: application/json' \
-d "{\"chat_id\": \"@praesenzlehre_berlin\", \"text\": \"$*\"}" \
"https://api.telegram.org/bot$BOT_TOKEN/sendMessage"
}
test -f "$count_file" || set_count 0
count="$(get_count)"
new_count="$(curl -sSL https://praesenzlehre-berlin.org/ | pup '.dk-speakout-signature-count span text{}' | tr -dc 0-9)"
if [ "$new_count" -gt "$count" ]; then
diff="$(echo "$new_count - $count" | bc)"
echo "$new_count (+ $diff)"
notify "$new_count Unterzeichner:innen! (+ $diff)"
set_count "$new_count"
fi
'';
};
}
./hardware-configuration.nix
<niveum/configs/hedgedoc.nix>
<niveum/configs/spacetime.nix>
@@ -62,9 +20,11 @@ in
<niveum/configs/names.nix>
<niveum/configs/menstruation.nix>
<niveum/configs/telegram-bots>
<niveum/configs/nix.nix>
<niveum/configs/weechat.nix>
<niveum/configs/urlwatch.nix>
<niveum/configs/matterbridge.nix>
<niveum/configs/tarot.nix>
<niveum/modules/retiolum.nix>
];

View File

@@ -1,7 +1,3 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
let
inherit (import <niveum/lib>) retiolumAddresses;

View File

@@ -5,20 +5,21 @@ in
{
imports = [
./hardware-configuration.nix
<home-manager/nixos>
<niveum/configs/wpa_supplicant.nix>
<niveum/configs/keyboard.nix>
<niveum/modules/retiolum.nix>
<niveum/configs/spacetime.nix>
<niveum/configs/tuna.nix>
<niveum/configs/sshd.nix>
<niveum/configs/version.nix>
<niveum/configs/gaslight.nix>
<niveum/configs/printing.nix>
<niveum/configs/traadfri.nix>
<niveum/configs/bvg.nix>
<niveum/configs/moodle-dl/meinhark.nix>
<niveum/configs/monitoring/push.nix>
"${self.inputs.home-manager}/nixos"
../configs/wpa_supplicant.nix
../configs/keyboard.nix
../modules/retiolum.nix
../configs/spacetime.nix
../configs/nix.nix
../configs/tuna.nix
../configs/sshd.nix
../configs/version.nix
../configs/gaslight.nix
../configs/printing.nix
../configs/traadfri.nix
../configs/bvg.nix
../configs/moodle-dl/meinhark.nix
../configs/monitoring/push.nix
{
nixpkgs.config.allowUnfree = true;
}
@@ -39,7 +40,7 @@ in
{
environment.systemPackages =
let
worldradio = pkgs.callPackage <niveum/packages/worldradio.nix> {};
worldradio = pkgs.callPackage ../packages/worldradio.nix {};
in [
(pkgs.writers.writeDashBin "mpv" ''
${pkgs.mpv}/bin/mpv --no-video "$@"
@@ -60,7 +61,7 @@ in
user = config.users.extraUsers.kiosk.name;
extraArguments = [ "-s" ]; # allow vt switching
program =
let startUrls = [ "https://open.spotify.com" "http://localhost:${toString config.services.tuna.webPort}" "http://bvg.kmein.r" ];
let startUrls = [ "https://open.spotify.com" "https://youtube.com" "http://bvg.kmein.r" ];
in pkgs.writers.writeDash "kiosk-browser" ''
while true; do
${pkgs.chromium}/bin/chromium \

View File

@@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }: {
imports = [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> ];
{ modulesPath, config, lib, pkgs, ... }: {
imports = [ "${modulesPath}/installer/scan/not-detected.nix" ];
boot.initrd.availableKernelModules =
[ "ahci" "xhci_pci" "usb_storage" "sd_mod" "sdhci_acpi" "rtsx_usb_sdmmc" ];