master
Dustin Swan 3 months ago
parent f8e8a8c485
commit 38cc6b48cf

@ -7,7 +7,3 @@ fi
if command -v nix &> /dev/null; then
nix-collect-garbage -d
fi
if command -v doom &> /dev/null; then
doom purge
fi

@ -1,17 +1,4 @@
#!/bin/sh
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Test
# @raycast.mode compact
# Optional parameters:
# @raycast.icon 🤖
# Documentation:
# @raycast.author dustinswan
# @raycast.authorURL https://raycast.com/dustinswan
if
command -v mbsync >/dev/null
then

@ -8,6 +8,5 @@ fi
if command -v nix &> /dev/null; then
nix-channel --update
nix-env -u
home-manager switch
fi

@ -6,37 +6,45 @@ in
{
home.stateVersion = "18.09";
home.packages = with pkgs; [
# AI
aichat
# aider
mods
shell_gpt
home.username = "dustinswan";
home.homeDirectory = "/Users/dustinswan";
imports = [
<catppuccin/modules/home-manager>
];
fd
mosh
# catppuccin.enable = true; # TODO
home.packages = with pkgs; [
fd # `fd PATTERN`; `fd` is like ls-R; `-e ext` searches by extension; `-g` for glob; `-H` searches hidden files; `-u` for unrestricted; `fd -e jpg -x convert {} {.}.png`
mosh # like ssh but better on spotty networks
w3m
nnn
hexyl
wget
httpie
hurl
atac # API client
# bruno
nmap
trippy
ouch
trippy # sudo trip example.com
ouch # "Painless compression and decompression"; `ouch d a.zip b.tar.gz c.tar -d output_dir`; `ouch c a.txt b.txt archive.zip`; `ouch list archive.zip --tree`
sshs
ngrok
ddev
bitwarden-cli
mkcert
timg
sox
restic
bitwarden-cli
gnupg
gpg-tui
rage
sd
libqalculate
kalker
# lnav
glow
spotify-tui
spotify-player
spotifyd
toot
yt-dlp
youtube-tui
amfora
@ -48,21 +56,26 @@ in
jo
fx
jc
xsv
jless
miller
visidata
# visidata
jwt-cli
mysql
# sc-im
cacert
weechat
cointop
tz
sttr # string operations. e.g. sttr md5 "Hello World"; sttr snake "ChangeCase"
ddgr
so
silicon
imagemagick
magic-wormhole
nixfmt
# tunnel # portal send <file1> <file2> <folder1> <folder2> ... # portal receive 1-intertia-elliptical-celestial
termscp # SCP/SFTP/FTP/S3
# nixfmt # deprecated?
shellcheck
vale
# tectonic
@ -73,6 +86,8 @@ in
yarn
flyctl
lazydocker
php83
php83Packages.composer
nodePackages.typescript-language-server
nodePackages.stylelint
nodePackages.js-beautify
@ -123,10 +138,10 @@ in
"$HOME/.local/bin"
"$HOME/.cargo/bin"
"$HOME/.npm-global/bin"
"/opt/homebrew/opt/php@7.4/bin"
"/opt/homebrew/opt/php@7.4/sbin"
];
xdg.enable = true;
programs.home-manager.enable = true;
programs.tmux = {
@ -146,34 +161,20 @@ in
pain-control # prefix |, -, \, _ to split; prefix h, j, k, l to switch; prefix H, J, K, L to resize; prefix <, > to move windows
fzf-tmux-url # prefix u -> fzf urls
yank # prefix y -> copy command line to clipboard; prefix Y -> copy pwd to clipboard; search + y -> copy to clipboard
open # highlight: o -> open; ctrl-o -> $EDITOR; S -> web search
# open # highlight: o -> open; ctrl-o -> $EDITOR; S -> web search
vim-tmux-navigator # ctrl-h, -j, -k, -l -> move between tmux and vim splits
extrakto # prefix tab -> fuzzy find text on screen; enter to copy; tab to paste
fingers # prefix F -> copy/open/edit items on screen by letter
];
extraConfig = ''
set -g status-right ""
set -g status-left ""
set -g status-style fg=white
set-window-option -g window-status-format '#[fg=cyan,bright,dim]#I #[fg=white,bright,dim]#W '
set-window-option -g window-status-current-format '#[fg=cyan,bright,nodim]#I #[fg=white,bright,nodim]#W '
set -ag terminal-overrides ",xterm-256color:RGB"
# bind -n C-0 select-window -t0
# bind -n C-1 select-window -t1
# bind -n C-2 select-window -t2
# bind -n C-3 select-window -t3
# bind -n C-4 select-window -t4
# bind -n C-5 select-window -t5
# bind -n C-6 select-window -t6
# bind -n C-7 select-window -t7
# bind -n C-8 select-window -t8
# bind -n C-9 select-window -t9
'';
catppuccin.enable = true;
};
programs.eza = {
enable = true;
enableAliases = true;
enableZshIntegration = true;
git = true;
};
@ -185,12 +186,13 @@ in
programs.zsh = {
enable = true;
enableAutosuggestions = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
oh-my-zsh = {
enable = true;
plugins = [ "git" "httpie" "aws" "fd" "fzf" "mosh" "npm" "ripgrep" "rsync" "sudo" "yarn" "vi-mode" ];
};
syntaxHighlighting.catppuccin.enable = true;
};
programs.direnv = {
@ -201,6 +203,7 @@ in
programs.starship = {
enable = true;
enableZshIntegration = true;
catppuccin.enable = true;
};
programs.fzf = {
@ -219,6 +222,7 @@ in
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'" ];
catppuccin.enable = true;
};
programs.ssh = {
@ -260,7 +264,10 @@ in
# signByDefault = true;
key = "AD11750151C10881970BD943AB49BD6B2B3A6377";
};
delta.enable = true;
delta = {
enable = true;
catppuccin.enable = true;
};
};
# programs.jujutsu = {
@ -269,8 +276,14 @@ in
# };
programs.gh.enable = true;
programs.lazygit.enable = true;
programs.gitui.enable = true;
programs.lazygit = {
enable = true;
catppuccin.enable = true;
};
programs.gitui = {
enable = true;
catppuccin.enable = true;
};
programs.neovim = {
enable = true;
@ -283,17 +296,29 @@ in
};
# xdg.configFile."nvim/lua/plugins/lazyvim-plugins.lua".source = ./lazyvim-plugins.lua;
programs.helix = {
enable = true;
catppuccin.enable = true;
};
programs.btop = {
enable = true;
settings = {
color_theme = "tokyo-night";
# color_theme = "tokyo-night";
theme_background = false;
vim_keys = true;
};
catppuccin.enable = true;
};
programs.bat.enable = true;
programs.yazi.enable = true;
programs.bat = {
enable = true;
catppuccin.enable = true;
};
programs.yazi = {
enable = true;
catppuccin.enable = true;
};
# programs.bottom.enable = true;
programs.gpg.enable = true;
programs.mpv.enable = true;

@ -22,5 +22,6 @@
size = 16.0;
};
};
catppuccin.enable = true;
};
}

@ -1,7 +1,10 @@
{ pkgs, lib, ... }:
{ pkgs, ... }:
{
home.packages = with pkgs; [ pinentry_mac terminal-notifier ];
home.packages = with pkgs; [
pinentry_mac
terminal-notifier
];
home.file.gpg-agent = {
target = ".gnupg/gpg-agent.conf";
@ -11,20 +14,5 @@
'';
};
# home.file.gitignore = {
# target = ".gitignore";
# text = ''Library'';
# };
launchd.agents.duplicati = {
enable = true;
config = {
ProgramArguments = [ "/Users/dustinswan/.nix-profile/bin/duplicati-server" ];
RunAtLoad = true;
LaunchOnlyOnce = true;
KeepAlive = true;
};
};
imports = [ ./home-cli.nix ./home-gui.nix ./home-mail.nix ];
}

@ -10,7 +10,7 @@ in
programs.msmtp.enable = true;
# programs.himalaya.enable = true;
programs.himalaya.enable = true;
programs.mu.enable = true;
@ -52,10 +52,11 @@ in
himalaya = {
enable = true;
settings = {
backend = "maildir";
message.send.backend = "smtp";
sent-folder = "INBOX.Sent";
draft-folder = "INBOX.Drafts";
# backend = "maildir";
# maildir.root-dir = "";
# message.send.backend = "smtp";
# sent-folder = "INBOX.Sent";
# draft-folder = "INBOX.Drafts";
};
};
signature = {

@ -1,101 +1,108 @@
return {
{ "tpope/vim-sleuth" },
{ "tpope/vim-sleuth" },
{
"catppuccin/nvim",
name = "catppuccin",
config = function()
require("catppuccin").setup({
transparent_background = true,
})
end,
},
{
"catppuccin/nvim",
name = "catppuccin",
config = function()
require("catppuccin").setup({
transparent_background = true,
})
end,
},
-- {
-- "f-person/auto-dark-mode.nvim",
-- config = {
-- set_dark_mode = function()
-- vim.api.nvim_set_option("background", "dark")
-- vim.cmd("colorscheme catppuccin")
-- -- vim.cmd("colorscheme rose-pine")
-- end,
-- set_light_mode = function()
-- vim.api.nvim_set_option("background", "light")
-- vim.cmd("colorscheme catppuccin")
-- -- vim.cmd("colorscheme rose-pine")
-- end,
-- },
-- },
-- {
-- "f-person/auto-dark-mode.nvim",
-- config = {
-- set_dark_mode = function()
-- vim.api.nvim_set_option("background", "dark")
-- vim.cmd("colorscheme catppuccin")
-- -- vim.cmd("colorscheme rose-pine")
-- end,
-- set_light_mode = function()
-- vim.api.nvim_set_option("background", "light")
-- vim.cmd("colorscheme catppuccin")
-- -- vim.cmd("colorscheme rose-pine")
-- end,
-- },
-- },
{
"LazyVim/LazyVim",
opts = {
colorscheme = "catppuccin",
background_colour = "#000000",
},
},
{
"LazyVim/LazyVim",
opts = {
colorscheme = "catppuccin",
background_colour = "#000000",
},
},
{
"nvim-orgmode/orgmode",
config = function()
require("orgmode").setup_ts_grammar()
{
"nvim-orgmode/orgmode",
config = function()
-- require("orgmode").setup_ts_grammar()
require("nvim-treesitter.configs").setup({
highlight = {
enable = true,
additional_vim_regex_highlighting = { "org" }, -- Required for spellcheck, some LaTex highlights and code block highlights that do not have ts grammar
},
ensure_installed = { "org" }, -- Or run :TSUpdate org
})
require("nvim-treesitter.configs").setup({
highlight = {
enable = true,
additional_vim_regex_highlighting = { "org" }, -- Required for spellcheck, some LaTex highlights and code block highlights that do not have ts grammar
},
ensure_installed = { "org" }, -- Or run :TSUpdate org
})
require("orgmode").setup({
org_agenda_files = { "~/Sync/Notes/*" },
org_default_notes_file = "~/Sync/Notes/Main.org",
})
end,
},
require("orgmode").setup({
org_agenda_files = { "~/Sync/Notes/*" },
org_default_notes_file = "~/Sync/Notes/Main.org",
})
end,
},
{ "dhruvasagar/vim-table-mode" },
{ "dhruvasagar/vim-table-mode" },
{
"akinsho/toggleterm.nvim",
version = "*",
config = true,
keys = {
{ [[<C-\>]] },
{
"<leader>TT",
"<cmd>ToggleTerm direction=horizontal<cr>",
desc = "Open a horizontal terminal",
},
{
"<leader>TV",
"<cmd>ToggleTerm size=60 direction=vertical<cr>",
desc = "Open a vertical terminal",
},
},
},
{
"akinsho/toggleterm.nvim",
version = "*",
config = true,
keys = {
{ [[<C-\>]] },
{
"<leader>TT",
"<cmd>ToggleTerm direction=horizontal<cr>",
desc = "Open a horizontal terminal",
},
{
"<leader>TV",
"<cmd>ToggleTerm size=60 direction=vertical<cr>",
desc = "Open a vertical terminal",
},
},
},
{
"christoomey/vim-tmux-navigator",
cmd = {
"TmuxNavigateLeft",
"TmuxNavigateDown",
"TmuxNavigateUp",
"TmuxNavigateRight",
"TmuxNavigatePrevious",
},
keys = {
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
},
},
{
"christoomey/vim-tmux-navigator",
cmd = {
"TmuxNavigateLeft",
"TmuxNavigateDown",
"TmuxNavigateUp",
"TmuxNavigateRight",
"TmuxNavigatePrevious",
},
keys = {
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
},
},
-- {
-- "https://git.sr.ht/~soywod/himalaya-vim",
-- },
{ "lukas-reineke/headlines.nvim", opts = { org = { fat_headlines = false } } },
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
vim.list_extend(opts.ensure_installed, {
"php",
})
end,
},
}

@ -1,315 +0,0 @@
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

@ -1,18 +0,0 @@
color listnormal color15 default
color listnormal_unread color2 default
color listfocus_unread color2 color0
color listfocus default color0
color background default default
color article default default
color end-of-text-marker color8 default
color info color4 color8
color hint-separator default color8
color hint-description default color8
color title color14 color8
highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold
highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold
highlight article "\\((link|image|video)\\)" color8 default
highlight article "https?://[^ ]+" color4 default
highlight article "\[[0-9]+\]" color6 default bold
Loading…
Cancel
Save