mirror of
https://github.com/kmein/niveum
synced 2026-03-30 01:01:10 +02:00
Compare commits
3 Commits
bae1cb485c
...
e74f9b6bd0
| Author | SHA1 | Date | |
|---|---|---|---|
| e74f9b6bd0 | |||
| a17201c28d | |||
| 2a94899db5 |
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"url": "https://github.com/NixOS/nixpkgs.git",
|
"url": "https://github.com/NixOS/nixpkgs.git",
|
||||||
"rev": "38eaa62f28384bc5f6c394e2a99bd6a4913fc71f",
|
"rev": "d4189f68fdbe0b14b7637447cb0efde2711f4abf",
|
||||||
"date": "2021-02-20T08:11:59+10:00",
|
"date": "2021-02-22T07:50:53+00:00",
|
||||||
"path": "/nix/store/xkrszhzlszjyy5qi1pnplyy4ka5rj482-nixpkgs",
|
"path": "/nix/store/vs342vi89rwavxk2zqr6c6f9srb47gh4-nixpkgs",
|
||||||
"sha256": "1pvbhvy6m5zmhhifk66ll07fnwvwnl9rrif03i4yc34s4f48m7ld",
|
"sha256": "1k9x7z4a8xsmcywwpm7jbgnzrrg0b97ygwjk2adc4jhk9c0ljdny",
|
||||||
"fetchSubmodules": false,
|
"fetchSubmodules": false,
|
||||||
"deepClone": false,
|
"deepClone": false,
|
||||||
"leaveDotGit": false
|
"leaveDotGit": false
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"url": "https://github.com/krebs/retiolum",
|
"url": "https://github.com/krebs/retiolum",
|
||||||
"rev": "0afb48d07db8840076a96e62fff954d068c0e3b6",
|
"rev": "8d2ad60bd792c371bfa4df8f084c8bc68a340bd7",
|
||||||
"date": "2021-02-13T20:32:12+01:00",
|
"date": "2021-02-22T20:32:15+01:00",
|
||||||
"path": "/nix/store/0gif6j27nxdjyhgd0pqq31a3ni3pmixp-retiolum",
|
"path": "/nix/store/niidhc1lqnazg6zczxs5cd8kkyqa29vd-retiolum",
|
||||||
"sha256": "1s68jk6wi4l6sqv0p83w2gg6p9z8v9i02kmnyjbj3gzhmf0c06na",
|
"sha256": "0yh43la8s0dspvh632h5smjm006cy4p75xibx9kmj2di5ly3qqv9",
|
||||||
"fetchSubmodules": false,
|
"fetchSubmodules": false,
|
||||||
"deepClone": false,
|
"deepClone": false,
|
||||||
"leaveDotGit": false
|
"leaveDotGit": false
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
|
inherit (import <niveum/lib>) email-sshKey;
|
||||||
much =
|
much =
|
||||||
let
|
let
|
||||||
nixpkgs-much = import (pkgs.fetchFromGitHub {
|
nixpkgs-much = import (pkgs.fetchFromGitHub {
|
||||||
@@ -17,6 +18,8 @@ let
|
|||||||
in {
|
in {
|
||||||
environment.variables.NOTMUCH_CONFIG = config.home-manager.users.me.home.sessionVariables.NOTMUCH_CONFIG;
|
environment.variables.NOTMUCH_CONFIG = config.home-manager.users.me.home.sessionVariables.NOTMUCH_CONFIG;
|
||||||
|
|
||||||
|
users.users.me.openssh.authorizedKeys.keys = [ email-sshKey ];
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.notmuch-addrlookup
|
pkgs.notmuch-addrlookup
|
||||||
|
|
||||||
@@ -37,16 +40,9 @@ in {
|
|||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.me = {
|
home-manager.users.me = {
|
||||||
services.muchsync.remotes.zaatar = {
|
|
||||||
frequency = "*:0/10";
|
|
||||||
remote.host = "email@zaatar";
|
|
||||||
remote.importNew = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.notmuch = {
|
programs.notmuch = {
|
||||||
enable = true;
|
enable = true;
|
||||||
search.excludeTags = [ "deleted" "spam" ];
|
search.excludeTags = [ "deleted" "spam" ];
|
||||||
# extraConfig.muchsync.and_tags = "inbox;unread";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.msmtp.enable = true;
|
programs.msmtp.enable = true;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
inherit (import <niveum/lib>) kieran;
|
inherit (import <niveum/lib>) kieran sshPort;
|
||||||
|
|
||||||
tagRules = [
|
tagRules = [
|
||||||
{
|
{
|
||||||
@@ -32,25 +32,37 @@ let
|
|||||||
in lib.concatStringsSep "\n" (map template filters);
|
in lib.concatStringsSep "\n" (map template filters);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
imports = [ <stockholm/krebs/3modules/secret.nix> ];
|
||||||
|
|
||||||
|
krebs.secret.files.email-ssh = {
|
||||||
|
path = "${config.users.users.email.home}/.ssh/id_ed25519";
|
||||||
|
owner.name = config.users.users.email.name;
|
||||||
|
source-path = toString <system-secrets> + "/email/ssh.key";
|
||||||
|
};
|
||||||
|
|
||||||
users.users.email = {
|
users.users.email = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "fetching mails since 2021";
|
description = "fetching mails since 2021";
|
||||||
openssh.authorizedKeys.keys = kieran.sshKeys pkgs;
|
|
||||||
packages = [ pkgs.muchsync ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.variables.NOTMUCH_CONFIG = config.home-manager.users.email.home.sessionVariables.NOTMUCH_CONFIG;
|
systemd.services.mail-sync =
|
||||||
|
let
|
||||||
systemd.services.mail-sync = {
|
hosts = [ "manakish.r" "wilde.r" ];
|
||||||
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
wants = [ "network-online.target" ];
|
wants = [ "network-online.target" config.krebs.secret.files.email-ssh.service ];
|
||||||
startAt = "*:0/15";
|
startAt = "*:0/3";
|
||||||
serviceConfig.User = config.users.users.email.name;
|
serviceConfig.User = config.users.users.email.name;
|
||||||
serviceConfig.Type = "oneshot";
|
serviceConfig.Type = "oneshot";
|
||||||
environment.NOTMUCH_CONFIG = config.home-manager.users.email.home.sessionVariables.NOTMUCH_CONFIG;
|
environment.NOTMUCH_CONFIG = config.home-manager.users.email.home.sessionVariables.NOTMUCH_CONFIG;
|
||||||
|
path = [ pkgs.notmuch pkgs.openssh ];
|
||||||
script = ''
|
script = ''
|
||||||
${pkgs.isync}/bin/mbsync --all
|
${pkgs.isync}/bin/mbsync --all
|
||||||
${pkgs.notmuch}/bin/notmuch new
|
|
||||||
|
${lib.concatMapStringsSep "\n" (host: ''
|
||||||
|
echo === syncing ${host}
|
||||||
|
${pkgs.muchsync}/bin/muchsync -s 'ssh -CTaxq -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=4 -p ${toString sshPort}' kfm@${host} || :
|
||||||
|
'') hosts}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ rec {
|
|||||||
|
|
||||||
localAddresses = import ./local-network.nix;
|
localAddresses = import ./local-network.nix;
|
||||||
|
|
||||||
|
email-sshKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINKz33wHtPuIfgXEb0+hybxFGV9ZuPsDTLUZo/+hlcdA";
|
||||||
|
|
||||||
kieran = {
|
kieran = {
|
||||||
github = "kmein";
|
github = "kmein";
|
||||||
email = "kmein@posteo.de";
|
email = "kmein@posteo.de";
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ in
|
|||||||
description = "Live Ticker zu praesenzlehre-berlin.org";
|
description = "Live Ticker zu praesenzlehre-berlin.org";
|
||||||
wants = [ "network.target" ];
|
wants = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
startAt = "*:00/15";
|
startAt = "hourly";
|
||||||
path = [ pkgs.curl pkgs.pup pkgs.bc ];
|
path = [ pkgs.curl pkgs.pup pkgs.bc ];
|
||||||
environment.BOT_TOKEN = lib.strings.fileContents <system-secrets/telegram/kmein.token>;
|
environment.BOT_TOKEN = lib.strings.fileContents <system-secrets/telegram/kmein.token>;
|
||||||
script = ''
|
script = ''
|
||||||
|
|||||||
Reference in New Issue
Block a user