mirror of
https://git.sr.ht/~rouven/nixos-config
synced 2024-11-14 21:03:10 +01:00
Compare commits
2 commits
ea1f8c7bd1
...
b3329fd1a9
Author | SHA1 | Date | |
---|---|---|---|
Rouven Seifert | b3329fd1a9 | ||
Rouven Seifert | e7a4594300 |
12
flake.lock
12
flake.lock
|
@ -180,11 +180,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1706134977,
|
||||
"narHash": "sha256-KwNb1Li3K6vuVwZ77tFjZ89AWBo7AiCs9t0Cens4BsM=",
|
||||
"lastModified": 1706306660,
|
||||
"narHash": "sha256-lZvgkHtVeduGByPb0Tz9LpAi4olfkEm8XPgv0o7GRsk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "6359d40f6ec0b72a38e02b333f343c3d4929ec10",
|
||||
"rev": "b2f56952074cb46e93902ecaabfb04dd93733434",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -296,11 +296,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1705856552,
|
||||
"narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=",
|
||||
"lastModified": 1706191920,
|
||||
"narHash": "sha256-eLihrZAPZX0R6RyM5fYAWeKVNuQPYjAkCUBr+JNvtdE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d",
|
||||
"rev": "ae5c332cbb5827f6b1f02572496b141021de335f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
domain = "matrix.${config.networking.domain}";
|
||||
domainClient = "chat.${config.networking.domain}";
|
||||
clientConfig = {
|
||||
"m.homeserver" = {
|
||||
base_url = "https://${domain}:443";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
|
||||
|
@ -73,6 +79,23 @@ in
|
|||
locations."~ ^/(client/|_matrix/client/unstable/org.matrix.msc3575/sync)".proxyPass = "http://localhost:8009";
|
||||
# locations."/_synapse/client".proxyPass = "http://[::1]:8008";
|
||||
};
|
||||
|
||||
|
||||
# element
|
||||
"${domainClient}" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
|
||||
root = pkgs.element-web.override {
|
||||
conf = {
|
||||
default_server_config = {
|
||||
inherit (clientConfig) "m.homeserver";
|
||||
"m.identity_server".base_url = "";
|
||||
};
|
||||
disable_3pid_login = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -93,6 +93,9 @@
|
|||
};
|
||||
};
|
||||
|
||||
documentation.dev.enable = true;
|
||||
documentation = {
|
||||
dev.enable = true;
|
||||
man.generateCaches = true;
|
||||
};
|
||||
system.stateVersion = "22.11";
|
||||
}
|
||||
|
|
|
@ -32,10 +32,5 @@ in
|
|||
"secrets/falkenstein/borg/key.age".publicKeys = [ rouven falkenstein ];
|
||||
|
||||
# rouven (home manager)
|
||||
"secrets/rouven/mail/rfive.age".publicKeys = [ rouven ];
|
||||
"secrets/rouven/mail/ifsr.age".publicKeys = [ rouven ];
|
||||
"secrets/rouven/mail/tu-dresden.age".publicKeys = [ rouven ];
|
||||
"secrets/rouven/mail/agdsn.age".publicKeys = [ rouven ];
|
||||
"secrets/rouven/mail/google.age".publicKeys = [ rouven ];
|
||||
"secrets/rouven/spotify.age".publicKeys = [ rouven ];
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -1,8 +0,0 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 uWbAHQ NCh3pLPZc0yFNmZD2BNjwTaMWm6pKX0JZcQmARfDzwo
|
||||
tLw4JjYImQ7Sx5zC5A+MtdifsyZ4gfKtnEE37oPtO00
|
||||
-> 9)3p3u-grease +=v = @x Mbn`+p
|
||||
9oxiykzLx/ZhSKwEnFynCUgPDq1AXJAGsT5Qa2g7+1FQoWwJMB7oMECKt5vF2a/h
|
||||
1GFeeRfFUWw4FCu8iE77OsLWIyQcOX20xcdhdqxA+A
|
||||
--- wjfDMipqiLXDA6u8T1UH1w8Tm+Xj2PFp8szWSsHnDYA
|
||||
I‹ÁÍhI„>…Eă2™˙¶b1ĄŹy˙0Ĺ4Äů%ž(Ą\/dŰŻµîöY:
|
|
@ -1,8 +0,0 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 uWbAHQ 0Uy/VY+06acvXjAKFy5jcN8q692+8sZH9E3ZUHSaUUo
|
||||
6T56w2tmJAvaeGb5oHPyU1t8mexFnV+foVoJl98G6rQ
|
||||
-> fE4oms$-grease - !fp3#J th
|
||||
OA
|
||||
--- IIBHPUhMYp1bS9Yig7YAyi+abT66ZRd2PyZdPk+k1dg
|
||||
Í,h-Á<>Lf^OçòǘÐÃjuÙ<75>¾©õx`Qñ;ù\×ÑcTK\
|
||||
ø År~?¼trXØ
|
|
@ -1,8 +0,0 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 uWbAHQ oELRB+KJpT8EfcqyNEdtfaJgiN9aX/1mgKHxqKCPyF8
|
||||
ZxVFzwByLOSbSIsX3QtHmEDb5a5Xo/bkHNIgJQqB2cU
|
||||
-> m-grease (HaFdz_<
|
||||
nhPnLs6P+M/Yw9TxmTZ6gKXmQusgFz46+/Ad8QA9YlcjkM9hhEsJkTBoLp6uv++8
|
||||
Gjfle0y4R/p7xIOyLKGat5wPXCzk4XxTz8o7c9IXshRR+unkRthsEG6qebNR
|
||||
--- CFBseeDK5oKdeH1yLe1tVWPkmcWtSPrwtbxrAqJsydc
|
||||
èòiNZ¦Â(z»W©7®~ž"¯«žrœM¿[¶.ºÜ-dQ«R–¹ùlCælD¶I-§ò:çÕ5t?¬ôð(åÅX¾Ž<C2BE>"
|
Binary file not shown.
|
@ -1,291 +0,0 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
gpg-default-key = "116987A8DD3F78FF8601BF4DB95E8FE6B11C4D09";
|
||||
in
|
||||
{
|
||||
age.secrets = {
|
||||
"mail/rfive".file = ../../../../secrets/rouven/mail/rfive.age;
|
||||
"mail/tu-dresden".file = ../../../../secrets/rouven/mail/tu-dresden.age;
|
||||
"mail/ifsr".file = ../../../../secrets/rouven/mail/ifsr.age;
|
||||
"mail/agdsn".file = ../../../../secrets/rouven/mail/agdsn.age;
|
||||
"mail/google".file = ../../../../secrets/rouven/mail/google.age;
|
||||
};
|
||||
programs = {
|
||||
aerc = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
general = {
|
||||
unsafe-accounts-conf = true;
|
||||
};
|
||||
ui = {
|
||||
sort = "date";
|
||||
dirlist-tree = true;
|
||||
fuzzy-complete = true;
|
||||
styleset-name = "dracula";
|
||||
threading-enabled = true;
|
||||
icon-encrypted = "";
|
||||
icon-signed = "";
|
||||
icon-unknown = "";
|
||||
icon-attachment = "";
|
||||
icon-new = "";
|
||||
icon-old = "";
|
||||
icon-replied = "";
|
||||
icon-marked = "";
|
||||
icon-deleted = "";
|
||||
};
|
||||
filters = {
|
||||
"text/plain" = "colorize";
|
||||
"text/html" = "html | colorize";
|
||||
"message/delivery-status" = "colorize";
|
||||
"message/rfc822" = "colorize";
|
||||
"text/calendar" = "calendar";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
thunderbird = {
|
||||
enable = true;
|
||||
profiles = {
|
||||
default = {
|
||||
withExternalGnupg = true;
|
||||
isDefault = true;
|
||||
settings = {
|
||||
"intl.date_time.pattern_override.connector_short" = "{1} {0}";
|
||||
"intl.date_time.pattern_override.date_short" = "yyyy-MM-dd";
|
||||
"intl.date_time.pattern_override.time_short" = "HH:mm";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
mbsync.enable = true;
|
||||
};
|
||||
accounts.email.accounts = {
|
||||
"rouven@rfive.de" = rec {
|
||||
address = "rouven@rfive.de";
|
||||
gpg.key = gpg-default-key;
|
||||
realName = "Rouven Seifert";
|
||||
userName = address;
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."mail/rfive".path}";
|
||||
imap = {
|
||||
host = "mail.rfive.de";
|
||||
port = 993;
|
||||
};
|
||||
smtp = {
|
||||
host = "mail.rfive.de";
|
||||
port = 465;
|
||||
};
|
||||
thunderbird.enable = true;
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
expunge = "both";
|
||||
extraConfig = {
|
||||
account = {
|
||||
AuthMechs = "Login";
|
||||
};
|
||||
};
|
||||
};
|
||||
aerc.enable = true;
|
||||
};
|
||||
"TU-Dresden" = rec {
|
||||
address = "rouven.seifert@mailbox.tu-dresden.de";
|
||||
gpg.key = gpg-default-key;
|
||||
realName = "Rouven Seifert";
|
||||
userName = "rose159e";
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."mail/tu-dresden".path}";
|
||||
imap = {
|
||||
host = "msx.tu-dresden.de";
|
||||
port = 993;
|
||||
};
|
||||
smtp = {
|
||||
host = "msx.tu-dresden.de";
|
||||
port = 587;
|
||||
tls.useStartTls = true;
|
||||
};
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
expunge = "both";
|
||||
groups.tud = {
|
||||
channels.inbox = {
|
||||
nearPattern = "INBOX";
|
||||
farPattern = "INBOX";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
channels.opal = {
|
||||
nearPattern = "Opal";
|
||||
farPattern = "Opal";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
channels.unispam = {
|
||||
nearPattern = "Uni Spam";
|
||||
farPattern = "Uni Spam";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
# channels.modules = {
|
||||
# nearPattern = "Module";
|
||||
# farPattern = "Module";
|
||||
# extraConfig.Create = "near";
|
||||
# };
|
||||
channels.trash = {
|
||||
nearPattern = "Trash";
|
||||
farPattern = "Gel&APY-schte Elemente";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
channels.sent = {
|
||||
nearPattern = "Sent";
|
||||
farPattern = "Gesendete Elemente";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
channels.junk = {
|
||||
nearPattern = "Junk";
|
||||
farPattern = "Junk-E-Mail";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
channels.drafts = {
|
||||
nearPattern = "Drafts";
|
||||
farPattern = "Entw&APw-rfe";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
};
|
||||
extraConfig = {
|
||||
account = {
|
||||
AuthMechs = "Login";
|
||||
};
|
||||
};
|
||||
};
|
||||
thunderbird.enable = true;
|
||||
aerc.enable = true;
|
||||
};
|
||||
"iFSR" = rec {
|
||||
address = "rouven.seifert@ifsr.de";
|
||||
signature = {
|
||||
showSignature = "append";
|
||||
text = ''
|
||||
Rouven Seifert
|
||||
|
||||
Co-Admin im Fachschaftsrat Informatik TU Dresden
|
||||
Fakultät Informatik
|
||||
Nöthnitzer Str. 46, 01187 Dresden
|
||||
'';
|
||||
};
|
||||
primary = true;
|
||||
gpg.key = gpg-default-key;
|
||||
realName = "Rouven Seifert";
|
||||
userName = "rouven.seifert";
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."mail/ifsr".path}";
|
||||
imap = {
|
||||
host = "mail.ifsr.de";
|
||||
port = 993;
|
||||
};
|
||||
smtp = {
|
||||
host = "mail.ifsr.de";
|
||||
port = 465;
|
||||
};
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
expunge = "both";
|
||||
extraConfig = {
|
||||
account = {
|
||||
AuthMechs = "Login";
|
||||
};
|
||||
};
|
||||
};
|
||||
thunderbird.enable = true;
|
||||
aerc.enable = true;
|
||||
};
|
||||
"agdsn" = rec {
|
||||
address = "r5@agdsn.me";
|
||||
# gpg.key = gpg-default-key;
|
||||
realName = "Rouven Seifert";
|
||||
userName = "r5@agdsn.me";
|
||||
aliases = [
|
||||
"r5@agdsn.de"
|
||||
"rouven.seifert@agdsn.de"
|
||||
];
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."mail/agdsn".path}";
|
||||
imap = {
|
||||
host = "imap.agdsn.de";
|
||||
port = 993;
|
||||
};
|
||||
smtp = {
|
||||
host = "smtp.agdsn.de";
|
||||
port = 465;
|
||||
};
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
expunge = "both";
|
||||
extraConfig = {
|
||||
account = {
|
||||
AuthMechs = "Login";
|
||||
};
|
||||
};
|
||||
};
|
||||
thunderbird.enable = true;
|
||||
aerc.enable = true;
|
||||
};
|
||||
"gmail" = rec {
|
||||
address = "seifertrouven@gmail.com";
|
||||
realName = "Rouven Seifert";
|
||||
userName = address;
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."mail/google".path}";
|
||||
imap = {
|
||||
host = "imap.gmail.com";
|
||||
port = 993;
|
||||
};
|
||||
smtp = {
|
||||
host = "smtp.gmail.com";
|
||||
port = 465;
|
||||
};
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
expunge = "both";
|
||||
groups.gmail = {
|
||||
channels.inbox = {
|
||||
nearPattern = "INBOX";
|
||||
farPattern = "INBOX";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
channels.trash = {
|
||||
nearPattern = "Trash";
|
||||
farPattern = "[Gmail]/Papierkorb";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
channels.junk = {
|
||||
nearPattern = "Junk";
|
||||
farPattern = "[Gmail]/Spam";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
channels.drafts = {
|
||||
nearPattern = "Drafts";
|
||||
farPattern = "[Gmail]/Entw&APw-rfe";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
channels.hetzner = {
|
||||
nearPattern = "Hetzner";
|
||||
farPattern = "Hetzner";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
channels.studentenwerk = {
|
||||
nearPattern = "Studentenwerk";
|
||||
farPattern = "Studentenwerk";
|
||||
extraConfig.Create = "near";
|
||||
};
|
||||
};
|
||||
extraConfig = {
|
||||
account = {
|
||||
AuthMechs = "Login";
|
||||
};
|
||||
};
|
||||
};
|
||||
thunderbird.enable = true;
|
||||
aerc.enable = true;
|
||||
};
|
||||
};
|
||||
home.file.".gnupg/dirmngr_ldapservers.conf".text = ''
|
||||
ldap.pca.dfn.de::::o=DFN-Verein,c=DE
|
||||
'';
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./accounts
|
||||
./foot
|
||||
./git
|
||||
./gpg
|
||||
|
|
|
@ -64,13 +64,43 @@
|
|||
nodejs_20
|
||||
gnumake
|
||||
go
|
||||
|
||||
# fancy tools
|
||||
just
|
||||
himalaya
|
||||
zellij
|
||||
nushell
|
||||
# strace but with colors
|
||||
(strace.overrideAttrs (_: {
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/xfgusta/strace-with-colors/main/strace-with-colors.patch";
|
||||
hash = "sha256-gcQldGsRgvGnrDX0zqcLTpEpchNEbCUFdKyii0wetEI=";
|
||||
})
|
||||
];
|
||||
}))
|
||||
|
||||
];
|
||||
|
||||
|
||||
programs.obs-studio.enable = true;
|
||||
programs.firefox.enable = true;
|
||||
programs = {
|
||||
thunderbird = {
|
||||
enable = true;
|
||||
profiles = {
|
||||
default = {
|
||||
withExternalGnupg = true;
|
||||
isDefault = true;
|
||||
settings = {
|
||||
"intl.date_time.pattern_override.connector_short" = "{1} {0}";
|
||||
"intl.date_time.pattern_override.date_short" = "yyyy-MM-dd";
|
||||
"intl.date_time.pattern_override.time_short" = "HH:mm";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
services.gnome-keyring.enable = true;
|
||||
|
||||
xdg.mimeApps = {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
username = config.accounts.email.accounts."gmail".address;
|
||||
username = "seifertrouven@gmail.com";
|
||||
password_cmd = "${pkgs.coreutils}/bin/cat ${config.age.secrets.spotify.path}";
|
||||
};
|
||||
backend = "pulseaudio";
|
||||
|
|
|
@ -53,19 +53,26 @@ in
|
|||
RequestTTY = "yes";
|
||||
RemoteCommand = "zsh -i";
|
||||
};
|
||||
|
||||
};
|
||||
"quitte-notty" = {
|
||||
hostname = "quitte.ifsr.de";
|
||||
user = "root";
|
||||
};
|
||||
"durian" = {
|
||||
hostname = "durian.ifsr.de";
|
||||
user = "root";
|
||||
};
|
||||
"tomate" = {
|
||||
hostname = "tomate.ifsr.de";
|
||||
user = "root";
|
||||
extraOptions = {
|
||||
RequestTTY = "yes";
|
||||
RemoteCommand = "zsh -i";
|
||||
};
|
||||
};
|
||||
"tomate-notty" = {
|
||||
hostname = "tomate.ifsr.de";
|
||||
user = "root";
|
||||
};
|
||||
"durian" = {
|
||||
hostname = "durian.ifsr.de";
|
||||
user = "root";
|
||||
};
|
||||
"git@ifsr.de" = {
|
||||
match = "Host ifsr.de User git";
|
||||
|
|
Loading…
Reference in a new issue