more cli tools #132

Merged
DarkKirb merged 5 commits from more-cli-tools into main 2023-01-03 17:49:14 +00:00
6 changed files with 335 additions and 13 deletions

View file

@ -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 []
); );
}; };

View file

@ -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 []

View file

@ -11,5 +11,7 @@
init.defaultBranch = "main"; init.defaultBranch = "main";
merge.conflictstyle = "diff3"; merge.conflictstyle = "diff3";
}; };
delta.enable = true;
}; };
programs.gitui.enable = true;
} }

View file

@ -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
'';
};
};
} }

View file

@ -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,18 +271,22 @@ in {
text-color = mkLiteral "@fg-col"; text-color = mkLiteral "@fg-col";
}; };
element-icon = element // { element-icon =
size = mkLiteral "25px"; element
}; // {
size = mkLiteral "25px";
};
"element selected" = { "element selected" = {
background-color = mkLiteral "@selected-col"; background-color = mkLiteral "@selected-col";
text-color = mkLiteral "@fg-col2"; text-color = mkLiteral "@fg-col2";
}; };
mode-switcher = element // { mode-switcher =
spacing = 0; element
}; // {
spacing = 0;
};
button = { button = {
padding = mkLiteral "10px"; padding = mkLiteral "10px";
@ -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
View 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 =