diff --git a/.mbsyncrc b/.mbsyncrc new file mode 100644 index 0000000..4a1970c --- /dev/null +++ b/.mbsyncrc @@ -0,0 +1,163 @@ +# mbsyncrc based on +# http://www.ict4g.net/adolfo/notes/2014/12/27/EmacsIMAP.html +# ACCOUNT INFORMATION +IMAPAccount gmail +Host imap.gmail.com +User ccochrun21@gmail.com +PassCmd rbw get gmail +AuthMechs LOGIN +SSLType IMAPS +SSLVersions SSLv3 +# CertificateFile /opt/local/share/curl/curl-ca-bundle.crt + +IMAPAccount office +Host outlook.office365.com +User chris@tfcconnection.org +PassCmd rbw get 'Office 365' +AuthMechs LOGIN +SSLType IMAPS + +IMAPAccount outlook +Host outlook.office365.com +User chris.cochrun@outlook.com +PassCmd rbw get outlook +AuthMechs LOGIN +SSLType IMAPS + +IMAPAccount cochrun +Host mail.cochrun.xyz +User chris@cochrun.xyz +PassCmd rbw get 'Office 365' +AuthMechs LOGIN +SSLType IMAPS +# SSLVersions SSLv3 +# CertificateFile /opt/local/share/curl/curl-ca-bundle.crt +# THEN WE SPECIFY THE LOCAL AND REMOTE STORAGE +# - THE REMOTE STORAGE IS WHERE WE GET THE MAIL FROM (E.G., THE +# SPECIFICATION OF AN IMAP ACCOUNT) +# - THE LOCAL STORAGE IS WHERE WE STORE THE EMAIL ON OUR COMPUTER + +# REMOTE STORAGE (USE THE IMAP ACCOUNT SPECIFIED ABOVE) +IMAPStore gmail-remote +Account gmail + +MaildirStore gmail-local +Path ~/Maildir/gmail/ +Inbox ~/Maildir/gmail/INBOX + +IMAPStore office-remote +Account office + +# LOCAL STORAGE (CREATE DIRECTORIES with mkdir -p Maildir/gmail) + +MaildirStore office-local +Path ~/Maildir/office/ +Inbox ~/Maildir/office/INBOX +Subfolders Verbatim + + +IMAPStore outlook-remote +Account outlook + +MaildirStore outlook-local +Path ~/Maildir/outlook/ +Inbox ~/Maildir/outlook/INBOX +Subfolders Verbatim + +IMAPStore cochrun-remote +Account cochrun + +MaildirStore cochrun-local +Path ~/Maildir/cochrun/ +Inbox ~/Maildir/cochrun/INBOX +Subfolders Verbatim + +# CONNECTIONS SPECIFY LINKS BETWEEN REMOTE AND LOCAL FOLDERS +# +# CONNECTIONS ARE SPECIFIED USING PATTERNS, WHICH MATCH REMOTE MAIl +# FOLDERS. SOME COMMONLY USED PATTERS INCLUDE: +# +# 1 "*" TO MATCH EVERYTHING +# 2 "!DIR" TO EXCLUDE "DIR" +# 3 "DIR" TO MATCH DIR + +Channel gmail-inbox +Far :gmail-remote: +Near :gmail-local: +Patterns "INBOX" +Create Both +Expunge Both +SyncState * + +Channel gmail-trash +Far :gmail-remote:"[Gmail]/Bin" +Near :gmail-local:"[Gmail].Bin" +Create Both +Expunge Both +SyncState * + +Channel gmail-sent +Far :gmail-remote:"[Gmail]/Sent Mail" +Near :gmail-local:"[Gmail].Sent Mail" +Create Both +Expunge Both +SyncState * + +Channel gmail-all +Far :gmail-remote:"[Gmail]/All Mail" +Near :gmail-local:"[Gmail].All Mail" +Create Both +Expunge Both +SyncState * + +Channel gmail-starred +Far :gmail-remote:"[Gmail]/Starred" +Near :gmail-local:"[Gmail].Starred" +Create Both +Expunge Both +SyncState * + +Channel office-inbox +Far :office-remote: +Near :office-local: +Patterns "*" +Create Both +Expunge Both +SyncState * + +Channel outlook-inbox +Far :outlook-remote: +Near :outlook-local: +Patterns "*" +Create Both +Expunge Both +SyncState * + +Channel cochrun-inbox +Far :cochrun-remote: +Near :cochrun-local: +Patterns "*" +Create Both +Expunge Both +SyncState * +# GROUPS PUT TOGETHER CHANNELS, SO THAT WE CAN INVOKE +# MBSYNC ON A GROUP TO SYNC ALL CHANNELS +# +# FOR INSTANCE: "mbsync gmail" GETS MAIL FROM +# "gmail-inbox", "gmail-sent", and "gmail-trash" +# +# Group gmail +# Channel gmail-inbox +# Channel gmail-sent +# Channel gmail-trash +# Channel gmail-all +# Channel gmail-starred + +Group office +Channel office-inbox + +Group outlook +Channel outlook-inbox + +Group cochrun +Channel cochrun-inbox diff --git a/system/syl/configuration.nix b/system/syl/configuration.nix index 0832531..a97b617 100644 --- a/system/syl/configuration.nix +++ b/system/syl/configuration.nix @@ -36,7 +36,11 @@ i18n.defaultLocale = "en_US.UTF-8"; # Set default shell to be dash for speed - environment.binsh = "${pkgs.dash}/bin/dash"; + # environment.binsh = "${pkgs.dash}/bin/dash"; + environment.variables = { + EDITOR = "emacsclient -t" + VISUAL = "emacsclient -c" + }; hardware.uinput.enable = true; @@ -108,7 +112,7 @@ # Define a user account. Don't forget to set a password with ‘passwd’. users.users.chris = { isNormalUser = true; - extraGroups = [ "wheel" "networkmanager" "input" ]; # Enable ‘sudo’ for the user. + extraGroups = [ "wheel" "networkmanager" "input" "uinput" ]; }; programs.partition-manager.enable = true; @@ -138,8 +142,14 @@ zip gzip usbutils + binutils + hunspell + hunspellDicts.en_US git + openssh + samba ark + dash kget krename kwallet-pam @@ -148,24 +158,57 @@ sddm-kcm ydotool bottles - exa mpv yt-dlp rofi-emoji - nerdfonts latte-dock bat - libsForQt5.bismuth libnotify - rofi-wayland ripgrep bc - sysstat procs papirus-icon-theme - phinger-cursors plasma-hud kde-cli-tools - macchina meson ninja cmake - extra-cmake-modules gzip - htop btop firefox kate kdialog openlp - libreoffice-fresh vlc - neochat haskellPackages.greenclip - pulsemixer any-nix-shell wtype - spotdl kdenlive ffmpeg neofetch - xdotool fennel + exa + mpv + yt-dlp + rofi-emoji + nerdfonts + latte-dock + bat + libsForQt5.bismuth + libnotify + rofi-wayland + ripgrep + bc + sysstat + procs + papirus-icon-theme + phinger-cursors + plasma-hud + kde-cli-tools + macchina + meson + ninja + gnumake + gcc + gdb + clang + cmake + extra-cmake-modules + gzip + htop + btop + firefox + kate + kdialog + openlp + libreoffice-fresh + vlc + neochat + haskellPackages.greenclip + pulsemixer + any-nix-shell + wtype + spotdl + kdenlive + ffmpeg + neofetch + xdotool + fennel ]; # EMACS - services.emacs.package = pkgs.emacsPgtkNativeComp; + services.emacs.package = with pkgs; ((emacsPackagesFor emacsPgtkNativeComp).emacsWithPackages (epkgs: [ epkgs.vterm epkgs.magit epkgs.pdf-tools ])); nixpkgs.overlays = [ (import (builtins.fetchTarball {