Browse Source

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

master
Dustin Swan 6 months ago
parent
commit
72697b966b
Signed by: dustinswan GPG Key ID: AB49BD6B2B3A6377
  1. 315
      catppuccin.yml
  2. 16
      home-cli.nix
  3. 61
      home-gui.nix
  4. 58
      home-mail.nix
  5. 9
      lunar.lua

315
catppuccin.yml

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

16
home-cli.nix

@ -5,9 +5,9 @@ let
in
{
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
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
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
@ -104,7 +104,15 @@ in
enable = true;
enableZshIntegration = true;
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";
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.gitui = {

61
home-gui.nix

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

58
home-mail.nix

@ -1,15 +1,23 @@
{ 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.msmtp.enable = true;
programs.neomutt = {
enable = true;
sidebar.enable = true;
sort = "reverse-threads";
};
programs.himalaya.enable = true;
programs.mu.enable = true;
accounts.email = {
@ -70,12 +78,6 @@ source = maildir://~/Mail/FastMail
from = "Dustin Swan <dustin@dustinswan.com>"
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 = {
@ -100,6 +102,7 @@ url = "https://carddav.messagingengine.com/"
username = "dustinswan@fastmail.com"
password.fetch = ["command", "~/dotfiles/bin/decrypt-password", "dustinswan@fastmail.com"]
[pair fastmail_calendar]
a = "fastmail_calendar_local"
b = "fastmail_calendar_remote"
@ -109,28 +112,59 @@ metadata = ["color", "displayname"]
[storage fastmail_calendar_local]
type = "filesystem"
path = "~/Calendars/"
path = "~/Calendars/Fastmail"
fileext = ".ics"
[storage fastmail_calendar_remote]
type = "caldav"
url = "https://caldav.messagingengine.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 = {
target = ".config/khard/config";
target = ".config/khard/khard.conf";
text = ''[addressbooks]
[[contacts]]
path = ~/Contacts/Default'';
path = ~/Contacts/Default
[general]
default_action = list'';
};
home.file.khal = {
target = ".config/khal/config";
text = ''[calendars]
[[Fastmail]]
path = ~/Calendars/*
path = ~/Calendars/Fastmail/*
color = light green
type = discover
[[Google]]
path = ~/Calendars/Google
color = light blue
type = discover
[locale]

9
lunar.lua

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