more cli tools #132
6 changed files with 335 additions and 13 deletions
|
@ -5,6 +5,7 @@ desktop: {pkgs, ...}: {
|
||||||
../programs/tmux.nix
|
../programs/tmux.nix
|
||||||
../programs/ssh.nix
|
../programs/ssh.nix
|
||||||
../programs/taskwarrior.nix
|
../programs/taskwarrior.nix
|
||||||
|
../programs/mail.nix
|
||||||
];
|
];
|
||||||
programs = {
|
programs = {
|
||||||
zsh = {
|
zsh = {
|
||||||
|
@ -19,6 +20,10 @@ desktop: {pkgs, ...}: {
|
||||||
plugins = [
|
plugins = [
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
atuin.enable = true;
|
||||||
|
autojump.enable = true;
|
||||||
|
jq.enable = true;
|
||||||
|
ledger.enable = true;
|
||||||
};
|
};
|
||||||
home.file.".p10k.zsh".source = ./.p10k.zsh;
|
home.file.".p10k.zsh".source = ./.p10k.zsh;
|
||||||
|
|
||||||
|
@ -37,14 +42,25 @@ desktop: {pkgs, ...}: {
|
||||||
[
|
[
|
||||||
yubico-piv-tool
|
yubico-piv-tool
|
||||||
ripgrep
|
ripgrep
|
||||||
jq
|
|
||||||
gh
|
gh
|
||||||
htop
|
htop
|
||||||
sops
|
sops
|
||||||
|
ncdu
|
||||||
|
progress
|
||||||
|
hexyl
|
||||||
|
mc
|
||||||
|
rclone
|
||||||
]
|
]
|
||||||
++ (
|
++ (
|
||||||
if desktop
|
if desktop
|
||||||
then [yubikey-manager]
|
then [
|
||||||
|
yubikey-manager
|
||||||
|
yt-dlp
|
||||||
|
oxipng
|
||||||
|
jpegoptim
|
||||||
|
picard
|
||||||
|
easytag
|
||||||
|
]
|
||||||
else []
|
else []
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,7 +28,6 @@
|
||||||
../programs/kicad.nix
|
../programs/kicad.nix
|
||||||
../programs/vscode
|
../programs/vscode
|
||||||
../programs/misc.nix
|
../programs/misc.nix
|
||||||
../programs/mail.nix
|
|
||||||
../programs/zk.nix
|
../programs/zk.nix
|
||||||
]
|
]
|
||||||
else []
|
else []
|
||||||
|
|
|
@ -11,5 +11,7 @@
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
merge.conflictstyle = "diff3";
|
merge.conflictstyle = "diff3";
|
||||||
};
|
};
|
||||||
|
delta.enable = true;
|
||||||
};
|
};
|
||||||
|
programs.gitui.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,123 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: let
|
||||||
home.packages = with pkgs; [thunderbird];
|
mailcap = pkgs.writeText "mailcap" ''
|
||||||
|
text/html; ${pkgs.w3m}/bin/w3m -I %{charset} -T text/html; copiousoutput;
|
||||||
|
image/*; ${pkgs.imv}/bin/imv %s
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
accounts.email = {
|
||||||
|
accounts = {
|
||||||
|
lotte = {
|
||||||
|
address = "lotte@chir.rs";
|
||||||
|
aliases = ["darkkirb@darkkirb.de"];
|
||||||
|
gpg = {
|
||||||
|
encryptByDefault = true;
|
||||||
|
key = "0xB4E3D4801C49EC5E";
|
||||||
|
signByDefault = true;
|
||||||
|
};
|
||||||
|
imap.host = "mail.chir.rs";
|
||||||
|
imapnotify = {
|
||||||
|
enable = true;
|
||||||
|
boxes = ["Inbox"];
|
||||||
|
onNotify = "${pkgs.systemd}/bin/start --user mbsync.service";
|
||||||
|
};
|
||||||
|
mbsync = {
|
||||||
|
enable = true;
|
||||||
|
create = "both";
|
||||||
|
expunge = "both";
|
||||||
|
remove = "both";
|
||||||
|
};
|
||||||
|
msmtp.enable = true;
|
||||||
|
neomutt.enable = true;
|
||||||
|
notmuch.enable = true;
|
||||||
|
passwordCommand = "${pkgs.coreutils}/bin/cat /run/secrets/email/lotte@chir.rs";
|
||||||
|
primary = true;
|
||||||
|
realName = "Charlotte 🦝 Delenk";
|
||||||
|
signature.text = ''
|
||||||
|
Charlotte
|
||||||
|
|
||||||
|
@charlotte@akko.chir.rs • https://darkkirb.de • 0xB4E3D4801C49EC5E
|
||||||
|
'';
|
||||||
|
smtp.host = "mail.chir.rs";
|
||||||
|
userName = "lotte@chir.rs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
imapnotify.enable = true;
|
||||||
|
mbsync = {
|
||||||
|
enable = true;
|
||||||
|
frequency = "*:0/15";
|
||||||
|
postExec = "${pkgs.notmuch}/bin/notmuch new";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
afew = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
[ArchiveSentMailsFilter]
|
||||||
|
[DMARCReportInspectionFilter]
|
||||||
|
[HeaderMatchingFilter.1]
|
||||||
|
header = X-Spam
|
||||||
|
pattern = Yes
|
||||||
|
tags = +spam
|
||||||
|
[KillThreadsFilter]
|
||||||
|
[ListMailsFilter]
|
||||||
|
[Filter.0]
|
||||||
|
query = tag:new
|
||||||
|
tags = +inbox;+unread;-new
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
mbsync.enable = true;
|
||||||
|
msmtp.enable = true;
|
||||||
|
neomutt = {
|
||||||
|
enable = true;
|
||||||
|
binds = [
|
||||||
|
{
|
||||||
|
key = "\\CA";
|
||||||
|
action = "sidebar-next";
|
||||||
|
map = ["index" "pager"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "\\CL";
|
||||||
|
action = "sidebar-prev";
|
||||||
|
map = ["index" "pager"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "\\CP";
|
||||||
|
action = "sidebar-open";
|
||||||
|
map = ["index" "pager"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<Enter>";
|
||||||
|
action = "display-message";
|
||||||
|
map = ["index"];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "\\CV";
|
||||||
|
action = "display-message";
|
||||||
|
map = ["index"];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
extraConfig = ''
|
||||||
|
virtual-mailboxes "To Do" "notmuch://?query=tag:todo"
|
||||||
|
virtual-mailboxes "To Read" "notmuch://?query=tag:toread"
|
||||||
|
virtual-mailboxes "Blocked" "notmuch://?query=tag:blocked"
|
||||||
|
virtual-mailboxes "Archive" "notmuch://?query=tag:archive"
|
||||||
|
macro index,pager A "<modify-labels-then-hide>+archive -unread -inbox\n"
|
||||||
|
bind index,pager y modify-labels
|
||||||
|
set mailcap_path = ${mailcap}
|
||||||
|
set send_charset="utf-8"
|
||||||
|
set edit_headers=yes
|
||||||
|
set use_8bit_mime=yes
|
||||||
|
'';
|
||||||
|
sidebar.enable = true;
|
||||||
|
};
|
||||||
|
notmuch = {
|
||||||
|
enable = true;
|
||||||
|
hooks.postNew = ''
|
||||||
|
${pkgs.afew}/bin/afew --tag --new
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{pkgs, config, ...}: let
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
theme = import ../../extra/theme.nix;
|
theme = import ../../extra/theme.nix;
|
||||||
inherit (config.lib.formats.rasi) mkLiteral;
|
inherit (config.lib.formats.rasi) mkLiteral;
|
||||||
rasiColor = c: mkLiteral (theme.cssColor c);
|
rasiColor = c: mkLiteral (theme.cssColor c);
|
||||||
|
@ -267,7 +271,9 @@ in {
|
||||||
text-color = mkLiteral "@fg-col";
|
text-color = mkLiteral "@fg-col";
|
||||||
};
|
};
|
||||||
|
|
||||||
element-icon = element // {
|
element-icon =
|
||||||
|
element
|
||||||
|
// {
|
||||||
size = mkLiteral "25px";
|
size = mkLiteral "25px";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -276,7 +282,9 @@ in {
|
||||||
text-color = mkLiteral "@fg-col2";
|
text-color = mkLiteral "@fg-col2";
|
||||||
};
|
};
|
||||||
|
|
||||||
mode-switcher = element // {
|
mode-switcher =
|
||||||
|
element
|
||||||
|
// {
|
||||||
spacing = 0;
|
spacing = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -392,7 +400,7 @@ in {
|
||||||
# --------------
|
# --------------
|
||||||
"ui.background" = {
|
"ui.background" = {
|
||||||
fg = "text";
|
fg = "text";
|
||||||
bg = "base";
|
bg = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
"ui.linenr" = {fg = "surface1";};
|
"ui.linenr" = {fg = "surface1";};
|
||||||
|
@ -529,4 +537,41 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
programs.neomutt.extraConfig = ''
|
||||||
|
color normal default default # Text is "Text"
|
||||||
|
color index color2 default ~N # New Messages are Green
|
||||||
|
color index color1 default ~F # Flagged messages are Red
|
||||||
|
color index color13 default ~T # Tagged Messages are Red
|
||||||
|
color index color1 default ~D # Messages to delete are Red
|
||||||
|
color attachment color5 default # Attachments are Pink
|
||||||
|
color signature color8 default # Signatures are Surface 2
|
||||||
|
color search color4 default # Highlighted results are Blue
|
||||||
|
|
||||||
|
color indicator default color8 # currently highlighted message Surface 2=Background Text=Foreground
|
||||||
|
color error color1 default # error messages are Red
|
||||||
|
color status color15 default # status line "Subtext 0"
|
||||||
|
color tree color15 default # thread tree arrows Subtext 0
|
||||||
|
color tilde color15 default # blank line padding Subtext 0
|
||||||
|
|
||||||
|
color hdrdefault color13 default # default headers Pink
|
||||||
|
color header color13 default "^From:"
|
||||||
|
color header color13 default "^Subject:"
|
||||||
|
|
||||||
|
color quoted color15 default # Subtext 0
|
||||||
|
color quoted1 color7 default # Subtext 1
|
||||||
|
color quoted2 color8 default # Surface 2
|
||||||
|
color quoted3 color0 default # Surface 1
|
||||||
|
color quoted4 color0 default
|
||||||
|
color quoted5 color0 default
|
||||||
|
|
||||||
|
color body color2 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses Green
|
||||||
|
color body color2 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs Green
|
||||||
|
color body color4 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text Blue
|
||||||
|
color body color4 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text Blue
|
||||||
|
color body color4 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text Blue
|
||||||
|
|
||||||
|
color sidebar_flagged color1 default # Mailboxes with flagged mails are Red
|
||||||
|
color sidebar_new color10 default # Mailboxes with new mail are Green
|
||||||
|
'';
|
||||||
|
home.file.".local/share/mc/skins/catppuccin.ini".source = ../../extra/mc-catppuccin.ini;
|
||||||
}
|
}
|
||||||
|
|
140
extra/mc-catppuccin.ini
Normal file
140
extra/mc-catppuccin.ini
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
[skin]
|
||||||
|
description = Catppuccin
|
||||||
|
|
||||||
|
[Lines]
|
||||||
|
horiz = ─
|
||||||
|
vert = │
|
||||||
|
lefttop = ╭
|
||||||
|
righttop = ╮
|
||||||
|
leftbottom = ╰
|
||||||
|
rightbottom = ╯
|
||||||
|
topmiddle = ┬
|
||||||
|
bottommiddle = ┴
|
||||||
|
leftmiddle = ├
|
||||||
|
rightmiddle = ┤
|
||||||
|
cross = ┼
|
||||||
|
dhoriz = ─
|
||||||
|
dvert = │
|
||||||
|
dlefttop = ╭
|
||||||
|
drighttop = ╮
|
||||||
|
dleftbottom = ╰
|
||||||
|
drightbottom = ╯
|
||||||
|
dtopmiddle = ┬
|
||||||
|
dbottommiddle = ┴
|
||||||
|
dleftmiddle = ├
|
||||||
|
drightmiddle = ┤
|
||||||
|
|
||||||
|
[filehighlight]
|
||||||
|
directory = blue;
|
||||||
|
executable = red;
|
||||||
|
symlink = cyan;
|
||||||
|
hardlink = cyan;
|
||||||
|
stalelink = cyan;
|
||||||
|
device = brightgreen;
|
||||||
|
special = green;
|
||||||
|
core = red;
|
||||||
|
temp = brightgreen;
|
||||||
|
archive = red;
|
||||||
|
doc = yellow;
|
||||||
|
source = brightcyan;
|
||||||
|
media = brightgreen;
|
||||||
|
graph = cyan;
|
||||||
|
database = brightred;
|
||||||
|
|
||||||
|
[core]
|
||||||
|
_default_ = magenta;default
|
||||||
|
selected = black;cyan
|
||||||
|
marked = black;cyan
|
||||||
|
markselect = black;blue
|
||||||
|
gauge = black;magenta
|
||||||
|
input = blue;black
|
||||||
|
inputmark = black;red
|
||||||
|
inputunchanged = red;black
|
||||||
|
commandlinemark = white;red
|
||||||
|
reverse = black;magenta
|
||||||
|
header = black;magenta
|
||||||
|
|
||||||
|
[dialog]
|
||||||
|
_default_ = magenta;gray
|
||||||
|
dfocus = black;magenta
|
||||||
|
dhotnormal = gray;magenta
|
||||||
|
dhotfocus = gray;magenta
|
||||||
|
dtitle = magenta;gray
|
||||||
|
|
||||||
|
[error]
|
||||||
|
_default_ = red;gray
|
||||||
|
errdfocus = black;red
|
||||||
|
errdhotnormal = red;black
|
||||||
|
errdhotfocus = yellow;red
|
||||||
|
errdtitle = gray;red
|
||||||
|
|
||||||
|
[menu]
|
||||||
|
_default_ = white;black
|
||||||
|
menusel = black;cyan
|
||||||
|
menuhot = black;cyan
|
||||||
|
menuhotsel = cyan;black
|
||||||
|
menuinactive = white;black
|
||||||
|
|
||||||
|
[help]
|
||||||
|
_default_ = magenta;gray
|
||||||
|
helpitalic = red;black;italic
|
||||||
|
helpbold = brightgreen;black;bold
|
||||||
|
helplink = blue;black
|
||||||
|
helpslink = gray;blue
|
||||||
|
helptitle = gray;magenta
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
_default_ = magenta;default
|
||||||
|
editbold = brightgreen;black
|
||||||
|
editmarked = black;cyan
|
||||||
|
editwhitespace = brightblue;black
|
||||||
|
editlinestate = white;black
|
||||||
|
bookmark = black;red
|
||||||
|
bookmarkfound = black;brightgreen
|
||||||
|
editrightmargin = brightblue;black
|
||||||
|
editframe = brightgreen;
|
||||||
|
editframeactive = white;
|
||||||
|
editframedrag = brightblue;
|
||||||
|
|
||||||
|
[viewer]
|
||||||
|
_default_ = magenta;default
|
||||||
|
viewbold = green;black;bold
|
||||||
|
viewunderline = red;black
|
||||||
|
viewselected = blue;black
|
||||||
|
|
||||||
|
[popupmenu]
|
||||||
|
_default_ = white;black
|
||||||
|
menusel = black;cyan
|
||||||
|
menutitle = white;black
|
||||||
|
|
||||||
|
[buttonbar]
|
||||||
|
hotkey = black;cyan
|
||||||
|
button = white;black
|
||||||
|
|
||||||
|
[statusbar]
|
||||||
|
_default_ = white;black
|
||||||
|
|
||||||
|
[diffviewer]
|
||||||
|
added = black;green
|
||||||
|
changedline = black;cyan
|
||||||
|
changednew = red;cyan
|
||||||
|
changed = black;yellow
|
||||||
|
removed = black;red
|
||||||
|
error = red;white
|
||||||
|
|
||||||
|
[widget-common]
|
||||||
|
sort-sign-up = ↑
|
||||||
|
sort-sign-down = ↓
|
||||||
|
|
||||||
|
[widget-panel]
|
||||||
|
hiddenfiles-sign-show = •
|
||||||
|
hiddenfiles-sign-hide = ○
|
||||||
|
history-prev-item-sign = «
|
||||||
|
history-next-item-sign = »
|
||||||
|
history-show-list-sign = ^
|
||||||
|
filename-scroll-left-char = «
|
||||||
|
filename-scroll-right-char = »
|
||||||
|
|
||||||
|
[widget-editor]
|
||||||
|
window-state-char = ↕
|
||||||
|
window-close-char = ✕
|
Loading…
Reference in a new issue