catppuccin, khard, khal, vdirsyncer with Google, cleaning, etc.

master
Dustin Swan 3 years ago
parent b393ed134b
commit 72697b966b
Signed by: dustinswan
GPG Key ID: AB49BD6B2B3A6377

@ -0,0 +1,315 @@
color_schemes:
latte: &latte
# Default colors
primary:
background: '#eff1f5' # base
foreground: '#4c4f69' # text
# Bright and dim foreground colors
dim_foreground: '#4c4f69' # text
bright_foreground: '#4c4f69' # text
# Cursor colors
cursor:
text: '#eff1f5' # base
cursor: '#dc8a78' # rosewater
vi_mode_cursor:
text: '#eff1f5' # base
cursor: '#7287fd' # lavender
# Search colors
search:
matches:
foreground: '#eff1f5' # base
background: '#6c6f85' # subtext0
focused_match:
foreground: '#eff1f5' # base
background: '#40a02b' # green
bar:
foreground: '#eff1f5' # base
background: '#6c6f85' # subtext0
# Keyboard regex hints
hints:
start:
foreground: '#eff1f5' # base
background: '#df8e1d' # yellow
end:
foreground: '#eff1f5' # base
background: '#6c6f85' # subtext0
# Selection colors
selection:
text: '#eff1f5' # base
background: '#dc8a78' # rosewater
# Normal colors
normal:
black: '#4C4F69' # text
red: '#D20F39' # red
green: '#40A02B' # green
yellow: '#DF8E1D' # yellow
blue: '#1E66F5' # blue
magenta: '#EA76CB' # pink
cyan: '#179299' # teal
white: '#ACB0BE' # surface2
# Bright colors
bright:
black: '#4C4F69' # text
red: '#D20F39' # red
green: '#40A02B' # green
yellow: '#DF8E1D' # yellow
blue: '#1E66F5' # blue
magenta: '#EA76CB' # pink
cyan: '#179299' # teal
white: '#ACB0BE' # surface2
# Dim colors
dim:
black: '#4C4F69' # text
red: '#D20F39' # red
green: '#40A02B' # green
yellow: '#DF8E1D' # yellow
blue: '#1E66F5' # blue
magenta: '#EA76CB' # pink
cyan: '#179299' # teal
white: '#ACB0BE' # surface2
frappe: &frappe
# Default colors
primary:
background: '#303446' # base
foreground: '#c6d0f5' # text
# Bright and dim foreground colors
dim_foreground: '#c6d0f5' # text
bright_foreground: '#c6d0f5' # text
# Cursor colors
cursor:
text: '#303446' # base
cursor: '#f2d5cf' # rosewater
vi_mode_cursor:
text: '#303446' # base
cursor: '#babbf1' # lavender
# Search colors
search:
matches:
foreground: '#303446' # base
background: '#a5adce' # subtext0
focused_match:
foreground: '#303446' # base
background: '#a6d189' # green
bar:
foreground: '#303446' # base
background: '#a5adce' # subtext0
# Keyboard regex hints
hints:
start:
foreground: '#303446' # base
background: '#e5c890' # yellow
end:
foreground: '#303446' # base
background: '#a5adce' # subtext0
# Selection colors
selection:
text: '#303446' # base
background: '#f2d5cf' # rosewater
# Normal colors
normal:
black: '#51576d' # surface1
red: '#e78284' # red
green: '#a6d189' # green
yellow: '#e5c890' # yellow
blue: '#8caaee' # blue
magenta: '#f4b8e4' # pink
cyan: '#81c8be' # teal
white: '#b5bfe2' # subtext1
# Bright colors
bright:
black: '#51576d' # surface1
red: '#e78284' # red
green: '#a6d189' # green
yellow: '#e5c890' # yellow
blue: '#8caaee' # blue
magenta: '#f4b8e4' # pink
cyan: '#81c8be' # teal
white: '#b5bfe2' # subtext1
# Dim colors
dim:
black: '#51576d' # surface1
red: '#e78284' # red
green: '#a6d189' # green
yellow: '#e5c890' # yellow
blue: '#8caaee' # blue
magenta: '#f4b8e4' # pink
cyan: '#81c8be' # teal
white: '#b5bfe2' # subtext1
macchiato: &macchiato
# Default colors
primary:
background: '#24273a' # base
foreground: '#cad3f5' # text
# Bright and dim foreground colors
dim_foreground: '#cad3f5' # text
bright_foreground: '#cad3f5' # text
# Cursor colors
cursor:
text: '#24273a' # base
cursor: '#f4dbd6' # rosewater
vi_mode_cursor:
text: '#24273a' # base
cursor: '#b7bdf8' # lavender
# Search colors
search:
matches:
foreground: '#24273a' # base
background: '#a5adcb' # subtext0
focused_match:
foreground: '#24273a' # base
background: '#a6da95' # green
bar:
foreground: '#24273a' # base
background: '#a5adcb' # subtext0
# Keyboard regex hints
hints:
start:
foreground: '#24273a' # base
background: '#eed49f' # yellow
end:
foreground: '#24273a' # base
background: '#a5adcb' # subtext0
# Selection colors
selection:
text: '#24273a' # base
background: '#f4dbd6' # rosewater
# Normal colors
normal:
black: '#494d64' # surface1
red: '#ed8796' # red
green: '#a6da95' # green
yellow: '#eed49f' # yellow
blue: '#8aadf4' # blue
magenta: '#f5bde6' # pink
cyan: '#8bd5ca' # teal
white: '#b8c0e0' # subtext1
# Bright colors
bright:
black: '#494d64' # surface1
red: '#ed8796' # red
green: '#a6da95' # green
yellow: '#eed49f' # yellow
blue: '#8aadf4' # blue
magenta: '#f5bde6' # pink
cyan: '#8bd5ca' # teal
white: '#b8c0e0' # subtext1
# Dim colors
dim:
black: '#494d64' # surface1
red: '#ed8796' # red
green: '#a6da95' # green
yellow: '#eed49f' # yellow
blue: '#8aadf4' # blue
magenta: '#f5bde6' # pink
cyan: '#8bd5ca' # teal
white: '#b8c0e0' # subtext1
mocha: &mocha
# Default colors
primary:
background: '#1e1e2e' # base
foreground: '#cdd6f4' # text
# Bright and dim foreground colors
dim_foreground: '#cdd6f4' # text
bright_foreground: '#cdd6f4' # text
# Cursor colors
cursor:
text: '#1e1e2e' # base
cursor: '#f5e0dc' # rosewater
vi_mode_cursor:
text: '#1e1e2e' # base
cursor: '#b4befe' # lavender
# Search colors
search:
matches:
foreground: '#1e1e2e' # base
background: '#a6adc8' # subtext0
focused_match:
foreground: '#1e1e2e' # base
background: '#a6e3a1' # green
bar:
foreground: '#1e1e2e' # base
background: '#a6adc8' # subtext0
# Keyboard regex hints
hints:
start:
foreground: '#1e1e2e' # base
background: '#f9e2af' # yellow
end:
foreground: '#1e1e2e' # base
background: '#a6adc8' # subtext0
# Selection colors
selection:
text: '#1e1e2e' # base
background: '#f5e0dc' # rosewater
# Normal colors
normal:
black: '#45475a' # surface1
red: '#f38ba8' # red
green: '#a6e3a1' # green
yellow: '#f9e2af' # yellow
blue: '#89b4fa' # blue
magenta: '#f5c2e7' # pink
cyan: '#94e2d5' # teal
white: '#bac2de' # subtext1
# Bright colors
bright:
black: '#45475a' # surface1
red: '#f38ba8' # red
green: '#a6e3a1' # green
yellow: '#f9e2af' # yellow
blue: '#89b4fa' # blue
magenta: '#f5c2e7' # pink
cyan: '#94e2d5' # teal
white: '#bac2de' # subtext1
# Dim colors
dim:
black: '#45475a' # surface1
red: '#f38ba8' # red
green: '#a6e3a1' # green
yellow: '#f9e2af' # yellow
blue: '#89b4fa' # blue
magenta: '#f5c2e7' # pink
cyan: '#94e2d5' # teal
white: '#bac2de' # subtext1

@ -5,9 +5,9 @@ let
in in
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
ripgrep fd wget mosh w3m nnn urlview hexyl httpie timg sox du-dust duplicati bitwarden-cli gnupg gpg-tui rage sd eva glow restic spotify-tui spotifyd slides manix amfora weechat duf procs pandoc magic-wormhole qrcp pastel jq jo fx jc miller visidata sc-im bandwhich nixfmt shellcheck fontconfig cacert ripgrep fd wget mosh w3m nnn urlview hexyl httpie timg sox du-dust duplicati bitwarden-cli gnupg gpg-tui rage sd eva glow restic spotify-tui spotifyd slides manix amfora weechat duf procs pandoc magic-wormhole qrcp pastel jq jo fx jc miller visidata sc-im bandwhich nixfmt shellcheck fontconfig cacert vale
nodejs deno yarn nodePackages.typescript-language-server nodePackages.stylelint nodePackages.js-beautify nodePackages.expo-cli nodejs deno yarn nodePackages.typescript-language-server nodePackages.stylelint nodePackages.js-beautify nodePackages.expo-cli
ocaml dune_2 ocamlPackages.utop ocamlPackages.ocp-indent ocamlPackages.merlin # ocaml dune_2 ocamlPackages.utop ocamlPackages.ocp-indent ocamlPackages.merlin
rustc go cmake # racket-minimal rustc go cmake # racket-minimal
ghc cargo haskell-language-server hlint haskellPackages.hoogle ghc cargo haskell-language-server hlint haskellPackages.hoogle
ispell aspell aspellDicts.en aspellDicts.en-computers aspellDicts.en-science aspellDicts.fr aspellDicts.de aspellDicts.eo aspellDicts.es ispell aspell aspellDicts.en aspellDicts.en-computers aspellDicts.en-science aspellDicts.fr aspellDicts.de aspellDicts.eo aspellDicts.es
@ -104,7 +104,15 @@ in
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;
defaultCommand = "fd --type file --color=always"; defaultCommand = "fd --type file --color=always";
defaultOptions = [ "--height 40%" "--border" "--ansi" ]; defaultOptions = [
"--height 40%"
"--border"
"--ansi"
"--color bg+:#302D41,bg:#1E1E2E,spinner:#F8BD96,hl:#F28FAD"
"--color=fg:#D9E0EE,header:#F28FAD,info:#DDB6F2,pointer:#F8BD96"
"--color=marker:#F8BD96,fg+:#F2CDCD,prompt:#DDB6F2,hl+:#F28FAD"
];
fileWidgetCommand = "fd --type file --color=always"; fileWidgetCommand = "fd --type file --color=always";
fileWidgetOptions = [ "--min-height 30 --preview-window noborder --preview '(bat --style=numbers,changes --wrap never --color always {} || cat {} || tree -C {}) 2> /dev/null'" ]; fileWidgetOptions = [ "--min-height 30 --preview-window noborder --preview '(bat --style=numbers,changes --wrap never --color always {} || cat {} || tree -C {}) 2> /dev/null'" ];
}; };
@ -157,6 +165,8 @@ in
}; };
}; };
programs.gh.enable = true;
programs.lazygit.enable = true; programs.lazygit.enable = true;
programs.gitui = { programs.gitui = {

@ -30,36 +30,37 @@
{ key = "B"; mods = "Alt"; chars = "\\x1bb"; } { key = "B"; mods = "Alt"; chars = "\\x1bb"; }
# - { key: B, mods: Alt, chars: "\x1bb" } # - { key: B, mods: Alt, chars: "\x1bb" }
]; ];
colors = { # Nord
primary = { # colors = { # Nord
background = "0x2E3440"; # primary = {
foreground = "0xD8DEE9"; # background = "0x2E3440";
}; # foreground = "0xD8DEE9";
cursor = { # };
text = "0x2E3440"; # cursor = {
cursor = "0xD8DEE9"; # text = "0x2E3440";
}; # cursor = "0xD8DEE9";
normal = { # };
black = "0x3B4252"; # normal = {
red = "0xBF616A"; # black = "0x3B4252";
green = "0xA3BE8C"; # red = "0xBF616A";
yellow = "0xEBCB8B"; # green = "0xA3BE8C";
blue = "0x81A1C1"; # yellow = "0xEBCB8B";
magenta = "0xB48EAD"; # blue = "0x81A1C1";
cyan = "0x88C0D0"; # magenta = "0xB48EAD";
white = "0xE5E9F0"; # cyan = "0x88C0D0";
}; # white = "0xE5E9F0";
bright = { # };
black = "0x4C566A"; # bright = {
red = "0xBF616A"; # black = "0x4C566A";
green = "0xA3BE8C"; # red = "0xBF616A";
yellow = "0xEBCB8B"; # green = "0xA3BE8C";
blue = "0x81A1C1"; # yellow = "0xEBCB8B";
magenta = "0xB48EAD"; # blue = "0x81A1C1";
cyan = "0x8FBCBB"; # magenta = "0xB48EAD";
white = "0xECEFF4"; # cyan = "0x8FBCBB";
}; # white = "0xECEFF4";
}; # };
# };
}; };
}; };
} }

@ -1,15 +1,23 @@
{ pkgs, ... }: { pkgs, ... }:
let
secrets = import ./secrets.nix;
in
{ {
home.packages = with pkgs; [ aerc vdirsyncer imapnotify ]; home.packages = with pkgs; [ aerc vdirsyncer khal khard imapnotify ];
programs.mbsync.enable = true; programs.mbsync.enable = true;
programs.msmtp.enable = true; programs.msmtp.enable = true;
programs.neomutt = { programs.neomutt = {
enable = true; enable = true;
sidebar.enable = true; sidebar.enable = true;
sort = "reverse-threads"; sort = "reverse-threads";
}; };
programs.himalaya.enable = true; programs.himalaya.enable = true;
programs.mu.enable = true; programs.mu.enable = true;
accounts.email = { accounts.email = {
@ -70,12 +78,6 @@ source = maildir://~/Mail/FastMail
from = "Dustin Swan <dustin@dustinswan.com>" from = "Dustin Swan <dustin@dustinswan.com>"
outgoing = ${builtins.getEnv "HOME"}/.nix-profile/bin/msmtp --read-envelope-from outgoing = ${builtins.getEnv "HOME"}/.nix-profile/bin/msmtp --read-envelope-from
''; '';
# text = ''[FastMail]
#source = imaps://dustinswan%40fastmail.com@mail.messagingengine.com:993
#from = "Dustin Swan <dustin@dustinswan.com>"
#outgoing = ${builtins.getEnv "HOME"}/.nix-profile/bin/msmtp --read-envelope-from
#source-cred-cmd = "gpg -dq ${builtins.getEnv "HOME"}/.dustinswan@fastmail.com-password.gpg"
#'';
}; };
home.file.vdirsyncer = { home.file.vdirsyncer = {
@ -100,6 +102,7 @@ url = "https://carddav.messagingengine.com/"
username = "dustinswan@fastmail.com" username = "dustinswan@fastmail.com"
password.fetch = ["command", "~/dotfiles/bin/decrypt-password", "dustinswan@fastmail.com"] password.fetch = ["command", "~/dotfiles/bin/decrypt-password", "dustinswan@fastmail.com"]
[pair fastmail_calendar] [pair fastmail_calendar]
a = "fastmail_calendar_local" a = "fastmail_calendar_local"
b = "fastmail_calendar_remote" b = "fastmail_calendar_remote"
@ -109,28 +112,59 @@ metadata = ["color", "displayname"]
[storage fastmail_calendar_local] [storage fastmail_calendar_local]
type = "filesystem" type = "filesystem"
path = "~/Calendars/" path = "~/Calendars/Fastmail"
fileext = ".ics" fileext = ".ics"
[storage fastmail_calendar_remote] [storage fastmail_calendar_remote]
type = "caldav" type = "caldav"
url = "https://caldav.messagingengine.com/" url = "https://caldav.messagingengine.com/"
username = "dustinswan@fastmail.com" username = "dustinswan@fastmail.com"
password.fetch = ["command", "~/dotfiles/bin/decrypt-password", "dustinswan@fastmail.com"]''; password.fetch = ["command", "~/dotfiles/bin/decrypt-password", "dustinswan@fastmail.com"]
[pair google_calendar]
a = "google_calendar_local"
b = "google_calendar_remote"
collections = null
# conflict_resolution = "b wins"
# metadata = ["color", "displayname"]
[storage google_calendar_local]
type = "filesystem"
path = "~/Calendars/Google"
fileext = ".ics"
[storage google_calendar_remote]
type = "http"
url = "${secrets.google-calendar.our-stuff}"
# type = "google_calendar"
# token_file = "~/token_file"
# client_id = "${secrets.google-vdirsyncer.id}"
# client_secret = "${secrets.google-vdirsyncer.secret}"
'';
}; };
home.file.khard = { home.file.khard = {
target = ".config/khard/config"; target = ".config/khard/khard.conf";
text = ''[addressbooks] text = ''[addressbooks]
[[contacts]] [[contacts]]
path = ~/Contacts/Default''; path = ~/Contacts/Default
[general]
default_action = list'';
}; };
home.file.khal = { home.file.khal = {
target = ".config/khal/config"; target = ".config/khal/config";
text = ''[calendars] text = ''[calendars]
[[Fastmail]] [[Fastmail]]
path = ~/Calendars/* path = ~/Calendars/Fastmail/*
color = light green
type = discover
[[Google]]
path = ~/Calendars/Google
color = light blue
type = discover type = discover
[locale] [locale]

@ -1,7 +1,7 @@
lvim.log.level = "warn" lvim.log.level = "warn"
lvim.format_on_save = false lvim.format_on_save = false
lvim.leader = "space" lvim.leader = "space"
lvim.colorscheme = "nord" lvim.colorscheme = "catppuccin"
lvim.transparent_window = true lvim.transparent_window = true
-- vim.opt.cmdheight = 1 -- vim.opt.cmdheight = 1
vim.opt.conceallevel = 2 -- TODO: only for org files vim.opt.conceallevel = 2 -- TODO: only for org files
@ -18,6 +18,7 @@ table.insert(lvim.builtin.cmp.sources, { name = "orgmode" })
lvim.plugins = { lvim.plugins = {
{ "shaunsingh/nord.nvim" }, { "shaunsingh/nord.nvim" },
{ "catppuccin/nvim" },
-- { "rose-pine/neovim" }, -- { "rose-pine/neovim" },
-- { "folke/tokyonight.nvim" }, -- { "folke/tokyonight.nvim" },
{ 'dhruvasagar/vim-table-mode' }, { 'dhruvasagar/vim-table-mode' },
@ -32,7 +33,6 @@ lvim.plugins = {
{ "ray-x/lsp_signature.nvim", event = "BufRead", config = function() require "lsp_signature".setup() end }, { "ray-x/lsp_signature.nvim", event = "BufRead", config = function() require "lsp_signature".setup() end },
{ "lukas-reineke/indent-blankline.nvim", event = "BufRead" }, { "lukas-reineke/indent-blankline.nvim", event = "BufRead" },
{ "nvim-orgmode/orgmode", config = function() { "nvim-orgmode/orgmode", config = function()
require('orgmode').setup_ts_grammar()
-- vim.opt.conceallevel = 1 -- vim.opt.conceallevel = 1
require('orgmode').setup { require('orgmode').setup {
@ -102,6 +102,8 @@ lvim.plugins = {
{ "azabiong/vim-highlighter" } -- f-<CR> to highlight { "azabiong/vim-highlighter" } -- f-<CR> to highlight
} }
require('orgmode').setup_ts_grammar()
lvim.builtin.which_key.mappings["t"] = { lvim.builtin.which_key.mappings["t"] = {
name = "Diagnostics", name = "Diagnostics",
t = { "<cmd>TroubleToggle<cr>", "trouble" }, t = { "<cmd>TroubleToggle<cr>", "trouble" },
@ -163,4 +165,7 @@ linters.setup {
exe = "eslint", exe = "eslint",
-- filetypes = { "javascriptreact", "javascript", "typescriptreact", "typescript", "vue", }, -- filetypes = { "javascriptreact", "javascript", "typescriptreact", "typescript", "vue", },
}, },
{
exe = "vale",
}
} }

Loading…
Cancel
Save