diff --git a/hosts/macbook/configuration.nix b/hosts/macbook/configuration.nix index 5719054..efc7f1c 100644 --- a/hosts/macbook/configuration.nix +++ b/hosts/macbook/configuration.nix @@ -41,7 +41,7 @@ skhd = { enable = true; skhdConfig = '' - cmd - return : wezterm + cmd - return : kitty ''; }; postgresql = { diff --git a/hosts/macbook/home.nix b/hosts/macbook/home.nix index dd4dee9..550f447 100644 --- a/hosts/macbook/home.nix +++ b/hosts/macbook/home.nix @@ -4,6 +4,7 @@ imports = [ ../../modules/home-manager/neovim ../../modules/home-manager/wezterm + ../../modules/home-manager/kitty ../../modules/home-manager/zsh ../../modules/home-manager/tmux ../../modules/home-manager/zoxide @@ -55,6 +56,7 @@ taskwarrior-tui devenv _1password + calcurse ]; programs.home-manager.enable = true; diff --git a/modules/home-manager/email/calendar-password.sh b/modules/home-manager/email/calendar-password.sh new file mode 100755 index 0000000..6a7ecb1 --- /dev/null +++ b/modules/home-manager/email/calendar-password.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +op read op://Personal/Baikal/password diff --git a/modules/home-manager/email/default.nix b/modules/home-manager/email/default.nix index 0f79966..2616238 100644 --- a/modules/home-manager/email/default.nix +++ b/modules/home-manager/email/default.nix @@ -3,76 +3,39 @@ { home.packages = with pkgs; [ w3m - mailcap ]; - home.file.".mailcap".source = ./mailcap; + home.file = { + "calendar-password.sh" = { + source = ./calendar-password.sh; + executable = true; + }; + }; + + services = { + # mbsync = { + # enable = true; + # frequency = "*-*-* *:*/5:00"; + # }; + vdirsyncer = { + enable = true; + frequency = "*-*-* *:*/5:00"; + }; + }; programs = { - neomutt = { + aerc = { enable = true; - sort = "reverse-date"; - sidebar = { - enable = true; + extraConfig = { + general = { + unsafe-accounts-conf = true; + }; + filters = { + "text/plain" = "colorize"; + "text/calendar" = "calendar"; + "text/html" = "html | colorize"; + }; }; - binds = [ - { - map = [ "index" "pager" ]; - key = "B"; - action = "sidebar-toggle-visible"; - } - { - map = [ "index" "pager" ]; - key = "\\CN"; - action = "sidebar-next"; - } - { - map = [ "index" "pager" ]; - key = "\\CP"; - action = "sidebar-prev"; - } - { - map = [ "index" "pager" ]; - key = "\\CO"; - action = "sidebar-open"; - } - ]; - 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 - ''; }; msmtp = { enable = true; @@ -80,41 +43,75 @@ mbsync = { enable = true; }; - password-store = { + vdirsyncer = { + enable = true; + }; + khal = { enable = true; }; }; - accounts.email = { - accounts.michaelthomson = { - primary = true; - address = "michael@michaelthomson.dev"; - realName = "Michael Thomson"; - userName = "michael@michaelthomson.dev"; - passwordCommand = "op read \"op://Personal/SES SMTP/password\""; - neomutt = { - enable = true; - extraMailboxes = [ "Drafts" "Sent" "Trash" "Junk" ]; - }; - mbsync = { - enable = true; - create = "maildir"; - }; - imap = { - host = "mail.michaelthomson.dev"; - port = 993; - tls = { + accounts = { + email = { + accounts.michaelthomson = { + primary = true; + address = "michael@michaelthomson.dev"; + realName = "Michael Thomson"; + userName = "michael@michaelthomson.dev"; + passwordCommand = "${pkgs._1password}/bin/op read \"op://Personal/SES SMTP/password\""; + aerc = { enable = true; }; - }; - msmtp = { - enable = true; - }; - smtp = { - host = "mail.michaelthomson.dev"; - port = 465; - tls = { + mbsync = { enable = true; + create = "maildir"; + }; + imap = { + host = "mail.michaelthomson.dev"; + port = 993; + tls = { + enable = true; + }; + }; + msmtp = { + enable = true; + }; + smtp = { + host = "mail.michaelthomson.dev"; + port = 465; + tls = { + enable = true; + }; + }; + }; + }; + calendar = { + basePath = ".calendar"; + accounts.michaelthomson = { + primary = true; + primaryCollection = "default"; + remote = { + type = "caldav"; + url = "https://baikal.michaelthomson.dev/dav.php"; + userName = "michael@michaelthomson.dev"; + passwordCommand = [ + "~/calendar-password.sh" + ]; + # passwordCommand = [ + # "${pkgs._1password}/bin/op" + # "read" + # "op://Personal/Baikal/password" + # ]; + }; + vdirsyncer = { + enable = true; + auth = "basic"; + collections = [ "default" "shared" ]; + }; + khal = { + enable = true; + type = "discover"; + color = "#f2d5cf"; }; }; }; diff --git a/modules/home-manager/email/mailcap b/modules/home-manager/email/mailcap deleted file mode 100644 index 8603537..0000000 --- a/modules/home-manager/email/mailcap +++ /dev/null @@ -1 +0,0 @@ -text/html; w3m -I %{charset} -T text/html; copiousoutput; diff --git a/modules/home-manager/i3/config b/modules/home-manager/i3/config index b959363..4f1420e 100644 --- a/modules/home-manager/i3/config +++ b/modules/home-manager/i3/config @@ -83,7 +83,7 @@ floating_modifier $mod tiling_drag modifier titlebar # start a terminal -bindsym $mod+Return exec wezterm +bindsym $mod+Return exec kitty # kill focused window bindsym $mod+Shift+q kill diff --git a/modules/home-manager/kitty/default.nix b/modules/home-manager/kitty/default.nix new file mode 100644 index 0000000..20fb84a --- /dev/null +++ b/modules/home-manager/kitty/default.nix @@ -0,0 +1,19 @@ +{ pkgs, config, ... }: + +{ + home.packages = with pkgs; [ + (nerdfonts.override { fonts = [ "Iosevka" ]; }) + ]; + + programs.kitty = { + enable = true; + font = { + name = "Iosevka Nerd Font"; + size = 12; + }; + shellIntegration = { + enableZshIntegration = true; + }; + theme = "Catppuccin-Frappe"; + }; +} diff --git a/modules/home-manager/wezterm/default.nix b/modules/home-manager/wezterm/default.nix index 1596085..7054692 100644 --- a/modules/home-manager/wezterm/default.nix +++ b/modules/home-manager/wezterm/default.nix @@ -1,10 +1,6 @@ { pkgs, config, ... }: { - home.packages = with pkgs; [ - iosevka - ]; - programs.wezterm = { enable = true; extraConfig = ''