mirror of
https://git.sr.ht/~rouven/nixos-config
synced 2025-04-06 06:46:15 +02:00
commit
1cb566f4ca
9 changed files with 251 additions and 18 deletions
6
flake.lock
generated
6
flake.lock
generated
|
@ -47,11 +47,11 @@
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1674661101,
|
"lastModified": 1674729546,
|
||||||
"narHash": "sha256-iFFUngau5KHjsKScLhovpb7kCMjJvw/mXXOj6I62sVM=",
|
"narHash": "sha256-15ukCRGhgDd7T60QBbc3PEeMpOkNVgwduT+u93zmyZM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "fc89e70a1fb74429ad0f772d399325f69e65b357",
|
"rev": "06b17db22776e613a714e7e936618c16c3f47eaa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -82,6 +82,8 @@
|
||||||
traceroute
|
traceroute
|
||||||
killall
|
killall
|
||||||
python3
|
python3
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
];
|
];
|
||||||
|
|
||||||
system.stateVersion = "22.11";
|
system.stateVersion = "22.11";
|
||||||
|
|
|
@ -5,6 +5,10 @@ wireguard:
|
||||||
dorm:
|
dorm:
|
||||||
private: ENC[AES256_GCM,data:ISK2FjZsBx60Sgag8tJs+SyXSvdIQeIHeqB1V/m3g8RxkgIFBkCBnEjB8/g=,iv:CbDXnT3ERB+OYSa0+Xc4nN8joNj3dtSPTQa0SU5S5xg=,tag:Eap30fSv0MtBzaZvBLWAYA==,type:str]
|
private: ENC[AES256_GCM,data:ISK2FjZsBx60Sgag8tJs+SyXSvdIQeIHeqB1V/m3g8RxkgIFBkCBnEjB8/g=,iv:CbDXnT3ERB+OYSa0+Xc4nN8joNj3dtSPTQa0SU5S5xg=,tag:Eap30fSv0MtBzaZvBLWAYA==,type:str]
|
||||||
preshared: ENC[AES256_GCM,data:5Kc/CMoEVpqJO0vyDOKmw5A19P68jJe5N025+kIvdvoOoNs2Knl127EuSAA=,iv:5lX9Kj5hz1GNh3a6Ig701cocuZ1CYr4Ze++wJzu7AAU=,tag:1rVx8EA5N++SgXpv0aMGNg==,type:str]
|
preshared: ENC[AES256_GCM,data:5Kc/CMoEVpqJO0vyDOKmw5A19P68jJe5N025+kIvdvoOoNs2Knl127EuSAA=,iv:5lX9Kj5hz1GNh3a6Ig701cocuZ1CYr4Ze++wJzu7AAU=,tag:1rVx8EA5N++SgXpv0aMGNg==,type:str]
|
||||||
|
email:
|
||||||
|
tu-dresden: ENC[AES256_GCM,data:erIlghjlXWE2kUqMZLEN70c=,iv:hWTA68mBDe92qDPwemlSFR2vV2sL+/GI4WjHbwViVic=,tag:ZZ2/vTxBWiC6lbN33lNr5w==,type:str]
|
||||||
|
rfive: ENC[AES256_GCM,data:+lYvCL0OxM7o3nLN4fPeeVyMSKUL6O0uEg==,iv:I0KrK6GRkQWyDkp0GxXgHuCbDzDZ0u2gejNJCEzChxo=,tag:bBsG3n7nsb9T/NOCeptSgg==,type:str]
|
||||||
|
google: ENC[AES256_GCM,data:J97kR5rrJ7GpqIN1XAeVlg==,iv:r6qXU6pGEfeiajWyqq3cVatS2m6omlUcJD7bDTwHDQI=,tag:B/lTvdRVxKjyAsO7TSsXdA==,type:str]
|
||||||
sops:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
gcp_kms: []
|
gcp_kms: []
|
||||||
|
@ -20,8 +24,8 @@ sops:
|
||||||
S0NwYWFQcmFtTm5zTEZLVXRtMi91Zk0K3ylHH4OXduJlJxepPz9GxBzVmKGpv9LL
|
S0NwYWFQcmFtTm5zTEZLVXRtMi91Zk0K3ylHH4OXduJlJxepPz9GxBzVmKGpv9LL
|
||||||
ApkEQxfPL4Bxrb2XOFLOYqJGv2SwxBv1QNYT7eTXRLTEsIXUHR0MGA==
|
ApkEQxfPL4Bxrb2XOFLOYqJGv2SwxBv1QNYT7eTXRLTEsIXUHR0MGA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2023-01-14T10:27:33Z"
|
lastmodified: "2023-01-27T10:55:24Z"
|
||||||
mac: ENC[AES256_GCM,data:rRIzDJCCmAY2f8Ufn0055hiPLpBbz9OWRYLzrI5byzTtXAeoXMwOM4oMJUFg3uIofgvOPbUB1OP/ZJNG3iYTkUy8sDuqzU1Oogp2ZIdwv7ke3lAVec+oT1WGMOOithoRtahs7aP3bggnboaov32YUwOH9JAerV1MkDA+OJNyTpA=,iv:+N8ylMN3tgtEmuN9jtXDTRKvM3JHZXJr3IaeXOERVHM=,tag:MGzcRwD6Ih9kqp4/65DGCw==,type:str]
|
mac: ENC[AES256_GCM,data:gzQG0cc3x0MYqrafz7VYBC49hcYed9Bfvih1I6jsNvZ2olKLZaOnj4FKhgoDhmOqbbmjl5SCEaMDIgTkRxj5IZvkLlaJwquO8RFDHVZr2wgOzbbxPmo6NIJL7+kOJ2Qr17lr/L0JMD5kHA1srN0K5jNwSeOneHsloZtJsypd/cY=,iv:KOt/CM9+8mv7xVHGjUZMaaCTuU8oD7UVqnNmTA9utm8=,tag:gwTDa1p8O7sY/v6ON71wlw==,type:str]
|
||||||
pgp:
|
pgp:
|
||||||
- created_at: "2022-12-27T16:39:15Z"
|
- created_at: "2022-12-27T16:39:15Z"
|
||||||
enc: |-
|
enc: |-
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
# email passwords
|
||||||
|
sops.secrets."email/tu-dresden".owner = "rouven";
|
||||||
|
sops.secrets."email/rfive".owner = "rouven";
|
||||||
|
sops.secrets."email/google".owner = "rouven";
|
||||||
|
|
||||||
# generate system completions
|
# generate system completions
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,34 @@
|
||||||
{ config, ... }:
|
{ config, pkgs, ... }:
|
||||||
let
|
let
|
||||||
gpg-default-key = "116987A8DD3F78FF8601BF4DB95E8FE6B11C4D09";
|
gpg-default-key = "116987A8DD3F78FF8601BF4DB95E8FE6B11C4D09";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.thunderbird = {
|
home.packages = with pkgs; [
|
||||||
enable = true;
|
imv
|
||||||
profiles = {
|
w3m
|
||||||
default = {
|
urlview
|
||||||
withExternalGnupg = true;
|
];
|
||||||
isDefault = true;
|
services.mbsync.enable = true;
|
||||||
};
|
programs = {
|
||||||
|
neomutt = {
|
||||||
|
enable = true;
|
||||||
|
sidebar.enable = true;
|
||||||
|
checkStatsInterval = 30;
|
||||||
|
extraConfig = ''
|
||||||
|
bind pager <Space> noop
|
||||||
|
bind index,pager \Cp sidebar-prev
|
||||||
|
# Move the highlight to the next mailbox
|
||||||
|
bind index,pager \Cn sidebar-next
|
||||||
|
# Open the highlighted mailbox
|
||||||
|
bind index,pager <space><return> sidebar-open
|
||||||
|
set mailcap_path = ${./mailcap}
|
||||||
|
source ${./vim-keys.rc}
|
||||||
|
source ${./dracula.muttrc}
|
||||||
|
source ${./powerline.neomuttrc}
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
mbsync.enable = true;
|
||||||
|
msmtp.enable = true;
|
||||||
};
|
};
|
||||||
accounts.email.accounts = {
|
accounts.email.accounts = {
|
||||||
"rouven@rfive.de" = rec {
|
"rouven@rfive.de" = rec {
|
||||||
|
@ -19,6 +37,7 @@ in
|
||||||
gpg.key = gpg-default-key;
|
gpg.key = gpg-default-key;
|
||||||
realName = "Rouven Seifert";
|
realName = "Rouven Seifert";
|
||||||
userName = address;
|
userName = address;
|
||||||
|
passwordCommand = "${pkgs.coreutils}/bin/cat /run/secrets/email/rfive";
|
||||||
imap = {
|
imap = {
|
||||||
host = "pro1.mail.ovh.net";
|
host = "pro1.mail.ovh.net";
|
||||||
port = 993;
|
port = 993;
|
||||||
|
@ -28,13 +47,28 @@ in
|
||||||
port = 587;
|
port = 587;
|
||||||
tls.useStartTls = true;
|
tls.useStartTls = true;
|
||||||
};
|
};
|
||||||
thunderbird.enable = true;
|
msmtp.enable = true;
|
||||||
|
mbsync = {
|
||||||
|
enable = true;
|
||||||
|
create = "maildir";
|
||||||
|
extraConfig = {
|
||||||
|
account = {
|
||||||
|
AuthMechs = "Login";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
neomutt = {
|
||||||
|
enable = true;
|
||||||
|
mailboxName = "--rouven@rfive.de--";
|
||||||
|
extraMailboxes = [ "Sent" "Trash" "Junk-E-Mail" "Drafts" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
"TU Dresden" = {
|
"TU-Dresden" = {
|
||||||
address = "rouven.seifert@mailbox.tu-dresden.de";
|
address = "rouven.seifert@mailbox.tu-dresden.de";
|
||||||
gpg.key = gpg-default-key;
|
gpg.key = gpg-default-key;
|
||||||
realName = "Rouven Seifert";
|
realName = "Rouven Seifert";
|
||||||
userName = "user\\rose159e";
|
userName = "rose159e";
|
||||||
|
passwordCommand = "${pkgs.coreutils}/bin/cat /run/secrets/email/tu-dresden";
|
||||||
imap = {
|
imap = {
|
||||||
host = "msx.tu-dresden.de";
|
host = "msx.tu-dresden.de";
|
||||||
port = 993;
|
port = 993;
|
||||||
|
@ -45,11 +79,36 @@ in
|
||||||
tls.useStartTls = true;
|
tls.useStartTls = true;
|
||||||
};
|
};
|
||||||
thunderbird.enable = true;
|
thunderbird.enable = true;
|
||||||
|
mbsync = {
|
||||||
|
enable = true;
|
||||||
|
create = "maildir";
|
||||||
|
extraConfig = {
|
||||||
|
account = {
|
||||||
|
AuthMechs = "Login";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
msmtp.enable = true;
|
||||||
|
neomutt = {
|
||||||
|
enable = true;
|
||||||
|
mailboxName = "--TU Dresden-------";
|
||||||
|
# mbsync can't handle umlauts, crap
|
||||||
|
extraMailboxes = [ "Gesendete Elemente" "Opal" "Gel&APY-schte Elemente" "Junk-E-Mail" "Entw&APw-rfe" ];
|
||||||
|
extraConfig = ''
|
||||||
|
unset postponed
|
||||||
|
unset trash
|
||||||
|
unset record
|
||||||
|
set postponed='+Entw&APw-rfe'
|
||||||
|
set trash='+Gel&APY-schte Elemente'
|
||||||
|
set record='+Gesendete Elemente'
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
"Gmail" = rec {
|
"gmail" = rec {
|
||||||
address = "seifertrouven@gmail.com";
|
address = "seifertrouven@gmail.com";
|
||||||
realName = "Rouven Seifert";
|
realName = "Rouven Seifert";
|
||||||
userName = address;
|
userName = address;
|
||||||
|
passwordCommand = "${pkgs.coreutils}/bin/cat /run/secrets/email/google";
|
||||||
imap = {
|
imap = {
|
||||||
host = "imap.gmail.com";
|
host = "imap.gmail.com";
|
||||||
port = 993;
|
port = 993;
|
||||||
|
@ -58,7 +117,32 @@ in
|
||||||
host = "smtp.gmail.com";
|
host = "smtp.gmail.com";
|
||||||
port = 465;
|
port = 465;
|
||||||
};
|
};
|
||||||
thunderbird.enable = true;
|
mbsync = {
|
||||||
|
enable = true;
|
||||||
|
create = "maildir";
|
||||||
|
extraConfig = {
|
||||||
|
account = {
|
||||||
|
AuthMechs = "Login";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
msmtp.enable = true;
|
||||||
|
neomutt = {
|
||||||
|
enable = true;
|
||||||
|
mailboxName = "--gmail------------";
|
||||||
|
extraMailboxes = [ "[Gmail]/Gesendet" "[Gmail]/Papierkorb" "[Gmail]/Spam" "[Gmail]/Entw&APw-rfe" ];
|
||||||
|
extraConfig = ''
|
||||||
|
unset postponed
|
||||||
|
unset trash
|
||||||
|
unset record
|
||||||
|
set postponed='+[Gmail]/Entw&APw-rfe'
|
||||||
|
set trash='+[Gmail]/Papierkorb'
|
||||||
|
set record='+[Gmail/Gesendet]'
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
home.file.".urlview".text = ''
|
||||||
|
COMMAND google-chrome-stable %s &> /dev/null
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|
51
users/rouven/modules/accounts/dracula.muttrc
Normal file
51
users/rouven/modules/accounts/dracula.muttrc
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
###############################################################################
|
||||||
|
# Dracula Theme for Mutt: https://draculatheme.com/
|
||||||
|
#
|
||||||
|
# @author Paul Townsend <paul@caprica.org>
|
||||||
|
|
||||||
|
# general ------------ foreground ---- background -----------------------------
|
||||||
|
color error color231 color212
|
||||||
|
color indicator color231 color241
|
||||||
|
color markers color210 default
|
||||||
|
color message default default
|
||||||
|
color normal default default
|
||||||
|
color prompt default default
|
||||||
|
color search color84 default
|
||||||
|
color status color141 color236
|
||||||
|
color tilde color231 default
|
||||||
|
color tree color141 default
|
||||||
|
|
||||||
|
# message index ------ foreground ---- background -----------------------------
|
||||||
|
color index color210 default ~D # deleted messages
|
||||||
|
color index color84 default ~F # flagged messages
|
||||||
|
color index color117 default ~N # new messages
|
||||||
|
color index color212 default ~Q # messages which have been replied to
|
||||||
|
color index color215 default ~T # tagged messages
|
||||||
|
color index color141 default ~v # messages part of a collapsed thread
|
||||||
|
|
||||||
|
# message headers ---- foreground ---- background -----------------------------
|
||||||
|
color hdrdefault color117 default
|
||||||
|
color header color231 default ^Subject:.*
|
||||||
|
|
||||||
|
# message body ------- foreground ---- background -----------------------------
|
||||||
|
color attachment color228 default
|
||||||
|
color body color231 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses
|
||||||
|
color body color228 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs
|
||||||
|
color body color231 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text
|
||||||
|
color body color231 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text
|
||||||
|
color body color231 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text
|
||||||
|
color quoted color61 default
|
||||||
|
color quoted1 color117 default
|
||||||
|
color quoted2 color84 default
|
||||||
|
color quoted3 color215 default
|
||||||
|
color quoted4 color212 default
|
||||||
|
color signature color212 default
|
||||||
|
|
||||||
|
color sidebar_indicator cyan black
|
||||||
|
color sidebar_highlight white color8
|
||||||
|
color sidebar_divider color8 black
|
||||||
|
color sidebar_flagged red black
|
||||||
|
color sidebar_new green black
|
||||||
|
color sidebar_ordinary color245 default
|
||||||
|
color sidebar_spool_file color207 default
|
||||||
|
color sidebar_unread color136 default
|
6
users/rouven/modules/accounts/mailcap
Normal file
6
users/rouven/modules/accounts/mailcap
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
text/plain; w3m -I %{charset} -T text/plain; copiousoutput;
|
||||||
|
text/html; w3m -I %{charset} -T text/html; copiousoutput;
|
||||||
|
image/*; setsid imv %s >/dev/null & ;
|
||||||
|
video/*; setsid mpv --quiet %s >/dev/null &;
|
||||||
|
audio/*; mpv %s ;
|
||||||
|
application/pdf; setsid evince %s >/dev/null & ;
|
46
users/rouven/modules/accounts/powerline.neomuttrc
Normal file
46
users/rouven/modules/accounts/powerline.neomuttrc
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
# ----------------------------------------------------------------------------
|
||||||
|
# Powerline / nerdfont
|
||||||
|
# This is a bit "hackish" due to neomutt limitations
|
||||||
|
#
|
||||||
|
# Author: Sheoak <contact [at] sheoak.fr>
|
||||||
|
# ----------------------------------------------------------------------------
|
||||||
|
set index_format=" %zs %zc %zt %{!%d %b} . %-28.28L %?M?(%1M)& ? %?X?&·? %s"
|
||||||
|
set pager_format=" %n %zc %T %s%* %{!%d %b · %H:%M} %?X? %X ? %P "
|
||||||
|
set status_format = " %f%?r? %r? %m %?n? %n ? %?d? %d ?%?t? %t ?%?F? %F? %> %?p? %p ?"
|
||||||
|
set vfolder_format = " %N %?n?%3n& ? %8m · %f"
|
||||||
|
set attach_format = "%u%D %T%-75.75d %?T?%& ? %5s · %m/%M"
|
||||||
|
|
||||||
|
# no addressed to me, to me, group, cc, sent by me, mailing list
|
||||||
|
set to_chars="➜"
|
||||||
|
# unchanged mailbox, changed, read only, attach mode
|
||||||
|
set status_chars = " "
|
||||||
|
ifdef crypt_chars set crypt_chars = " "
|
||||||
|
set flag_chars = " "
|
||||||
|
|
||||||
|
set hidden_tags = "unread,draft,flagged,passed,replied,attachment,signed,encrypted"
|
||||||
|
tag-transforms "replied" "↻ " \
|
||||||
|
"encrytpted" "" \
|
||||||
|
"signed" "" \
|
||||||
|
"attachment" "" \
|
||||||
|
|
||||||
|
# The formats must start with 'G' and the entire sequence is case sensitive.
|
||||||
|
tag-formats "replied" "GR" \
|
||||||
|
"encrypted" "GE" \
|
||||||
|
"signed" "GS" \
|
||||||
|
"attachment" "GA" \
|
||||||
|
|
||||||
|
color status white black
|
||||||
|
# powerline status bar hack
|
||||||
|
color status green black ''
|
||||||
|
color status yellow black ''
|
||||||
|
color status red black ''
|
||||||
|
color status brightblack blue '(.*)' 1
|
||||||
|
color status blue black '.*()' 1
|
||||||
|
color status black blue '\s* [0-9]+\s*'
|
||||||
|
color status blue black '().*$' 1
|
||||||
|
color status yellow black '()\s*\s*[0-9]+\s*' 1
|
||||||
|
color status black yellow '\s*\s*[0-9]+\s*'
|
||||||
|
color status blue yellow '() ([0-9]+%|all|end) \s*' 1
|
||||||
|
color status black blue ' ([0-9]+%|all|end) \s*'
|
||||||
|
color status yellow black '()\s*' 1
|
||||||
|
color status default black ''
|
35
users/rouven/modules/accounts/vim-keys.rc
Normal file
35
users/rouven/modules/accounts/vim-keys.rc
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#------------------------------------------------------------
|
||||||
|
# Vi Key Bindings
|
||||||
|
#------------------------------------------------------------
|
||||||
|
|
||||||
|
# Moving around
|
||||||
|
bind attach,browser,index g noop
|
||||||
|
bind attach,browser,index gg first-entry
|
||||||
|
bind attach,browser,index G last-entry
|
||||||
|
bind pager g noop
|
||||||
|
bind pager gg top
|
||||||
|
bind pager G bottom
|
||||||
|
bind pager k previous-line
|
||||||
|
bind pager j next-line
|
||||||
|
|
||||||
|
# Scrolling
|
||||||
|
bind attach,browser,pager,index \CF next-page
|
||||||
|
bind attach,browser,pager,index \CB previous-page
|
||||||
|
bind attach,browser,pager,index \Cu half-up
|
||||||
|
bind attach,browser,pager,index \Cd half-down
|
||||||
|
bind browser,pager \Ce next-line
|
||||||
|
bind browser,pager \Cy previous-line
|
||||||
|
bind index \Ce next-line
|
||||||
|
bind index \Cy previous-line
|
||||||
|
|
||||||
|
bind pager,index d noop
|
||||||
|
bind pager,index dd delete-message
|
||||||
|
|
||||||
|
# Threads
|
||||||
|
bind browser,pager,index N search-opposite
|
||||||
|
bind pager,index dT delete-thread
|
||||||
|
bind pager,index dt delete-subthread
|
||||||
|
bind pager,index gt next-thread
|
||||||
|
bind pager,index gT previous-thread
|
||||||
|
bind index za collapse-thread
|
||||||
|
bind index zA collapse-all # Missing :folddisable/foldenable
|
Loading…
Add table
Reference in a new issue