From 29580c89e5d20692a39bf0e3db7e9f2c32fd7868 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 18 Jan 2021 17:29:01 -0700 Subject: [PATCH 001/226] wip --- README.md | 53 ++++++++++++++++++++++++++++++++++++++++------- install.conf.yaml | 6 ++---- zsh/zpreztorc | 2 ++ zsh/zshenv | 4 +++- zsh/zshrc | 1 + 5 files changed, 53 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 0b1ad55..ef36144 100644 --- a/README.md +++ b/README.md @@ -10,32 +10,69 @@ $ ./install $ sh <(curl -L https://nixos.org/nix/install) --darwin-use-unencrypted-nix-store-volume $ source ~/.zshrc $ nix-env -i \ - alacritty \ - cmus \ - docker \ + coreutils \ elixir \ + ffmpeg \ git \ + heroku \ htop \ + kakoune \ nodejs \ - postgresql \ + packer \ reattach-to-user-namespace \ silver-searcher \ - syncthing \ + sslmate \ tmux \ + tree \ vim \ + watch \ wget \ - xz \ - yarn + xz $ base16_ashes $ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh +$ vim +PlugInstall +$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh $ sudo sh Miniconda3-latest-MacOSX-x86_64.sh -p /opt/miniconda3 -b $ sudo conda update conda $ wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py36-osx-conda.yml $ conda env create -n q2dev --file qiime2-latest-py36-osx-conda.yml +$ git clone # this will bootstrap the macos keychain +$ python3 bin/bootstrap_git_repos.py +$ sudo rm ~/Desktop ~/Downloads +$ ln -s ~/desk ~/Desktop +$ ln -s ~/Desktop ~/Downloads +$ chflags hidden ~/Documents ~/Library ~/Movies ~/Music ~/Pictures ~/Public +$ chflags -h hidden ~/Desktop ~/Downloads +$ chflags nohidden desk ``` +## todos + +- rework git bootstrap script +- add in neuron install +- cmus won't install + +## manual install/setup + +- anonymous pro +- docker +- firefox +- freedom +- iterm2 +- postgres.app +- printer drivers +- rust +- slack +- ssh keys +- steermouse +- syncthing +- thunderbird +- virtualbox +- vscode +- wakatime key +- zoom + ## optional vscode extensions ```bash diff --git a/install.conf.yaml b/install.conf.yaml index 705598a..58de954 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -6,10 +6,8 @@ - ~/projects/qiime2/data/moving-pictures - ~/projects/mds - ~/projects/personal - -- shell: - - python3 bin/generate_vscode_workspaces.py - - python3 bin/bootstrap_git_repos.py + - ~/desk + - ~/files - link: ~/.tmux.conf: tmux.conf diff --git a/zsh/zpreztorc b/zsh/zpreztorc index bec0fd1..86fe3bb 100644 --- a/zsh/zpreztorc +++ b/zsh/zpreztorc @@ -132,6 +132,8 @@ zstyle ':prezto:module:prompt' theme 'peepcode' # Auto set the tab and window titles. zstyle ':prezto:module:terminal' auto-title 'yes' +zstyle ':completion:*:*' ignored-patterns 'Desktop' 'Downloads' 'Documents' \ + 'Library' 'Movies' 'Music' 'Pictures' 'Public' # # Tmux diff --git a/zsh/zshenv b/zsh/zshenv index df3fbe9..90470ff 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -90,7 +90,7 @@ path=( $HOME/.cargo/bin # misc apps - /Applications/Postgres.app/Contents/Versions/12/bin/ + /Applications/Postgres.app/Contents/Versions/latest/bin /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/ ) @@ -98,3 +98,5 @@ export -U PATH export CONDA_ENVS_PATH=$HOME/.conda/envs:/opt/miniconda3/envs export CONDA_PKGS_DIRS=$HOME/.conda/pkgs + +fignore=(Desktop Download Documents) diff --git a/zsh/zshrc b/zsh/zshrc index b525129..46cc128 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -17,6 +17,7 @@ fi # shortcuts alias q="conda activate q2dev" alias i="ipython3" +alias ls='ls -I Desktop -I Documents -I Downloads -I Library -I Movies -I Music -I Pictures -I Public' BASE16_SHELL=$HOME/.config/base16-shell/ [ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)" From 5e6ada58ae47b84881a9307204ed3d98a175685c Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sat, 30 Jan 2021 22:56:21 -0700 Subject: [PATCH 002/226] pygit2 git workspace sync (way faster) --- README.md | 2 + bin/bootstrap_git_repos.py | 54 ------------ bin/generate_vscode_workspaces.py | 57 ------------- bin/mds_projects.py | 10 --- bin/personal_projects.py | 5 -- bin/qiime2_projects.py | 79 ------------------ bin/sync_git_repos.py | 75 +++++++++++++++++ install.conf.yaml | 8 +- repos.ini | 132 ++++++++++++++++++++++++++++++ 9 files changed, 210 insertions(+), 212 deletions(-) delete mode 100644 bin/bootstrap_git_repos.py delete mode 100644 bin/generate_vscode_workspaces.py delete mode 100644 bin/mds_projects.py delete mode 100644 bin/personal_projects.py delete mode 100644 bin/qiime2_projects.py create mode 100644 bin/sync_git_repos.py create mode 100644 repos.ini diff --git a/README.md b/README.md index 0b1ad55..4c646bb 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,8 @@ $ sudo sh Miniconda3-latest-MacOSX-x86_64.sh -p /opt/miniconda3 -b $ sudo conda update conda $ wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py36-osx-conda.yml $ conda env create -n q2dev --file qiime2-latest-py36-osx-conda.yml +$ conda env create -n dotfiles -c conda-forge pygit2 +$ conda run -n dotfiles python ~/.dotfiles/bin/sync_git_repos.py ~/.dotfiles/repos.ini ``` ## optional vscode extensions diff --git a/bin/bootstrap_git_repos.py b/bin/bootstrap_git_repos.py deleted file mode 100644 index 06a356a..0000000 --- a/bin/bootstrap_git_repos.py +++ /dev/null @@ -1,54 +0,0 @@ -import json -import os -import subprocess - -from qiime2_projects import PROJECTS as Q2_PROJECTS -from mds_projects import PROJECTS as MDS_PROJECTS -from personal_projects import PROJECTS as PERSONAL_PROJECTS - - -def fetch_projects(projects, base_fp, remotes): - for org, repos in projects.items(): - base_fp = os.path.join('~', 'projects', base_fp) - base_fp = os.path.expanduser(base_fp) - - for repo in repos: - print('repo: %s/%s' % (org, repo)) - - repo_fp = os.path.join(base_fp, repo) - repo_fp = os.path.expanduser(repo_fp) - if not os.path.isdir(repo_fp): - url = 'https://github.com/%s/%s' % (org, repo) - subprocess.run(['git', 'clone', url, repo_fp]) - subprocess.run(['git', 'remote', 'rename', 'origin', org], - cwd=repo_fp) - for remote in remotes: - url = 'https://github.com/%s/%s' % (remote, repo) - try: - subprocess.run(['git', 'remote', 'add', remote, url], - cwd=repo_fp, check=True, - capture_output=True) - except subprocess.CalledProcessError as e: - msg = 'remote %s already exists' % (remote, ) - if msg not in str(e.stderr): - raise - - try: - subprocess.run(['git', 'fetch', remote], - cwd=repo_fp, check=True, - capture_output=True) - except subprocess.CalledProcessError as e: - if url not in str(e.stderr): - raise - else: - subprocess.run(['git', 'remote', 'remove', remote], - cwd=repo_fp) - - -if __name__ == '__main__': - remotes = ['thermokarst', 'ebolyen', 'gregcaporaso', 'ChrisKeefe', - 'Oddant1', 'nbokulich', 'andrewsanchez', 'David-Rod'] - - fetch_projects(Q2_PROJECTS, 'qiime2', remotes) - fetch_projects(MDS_PROJECTS, 'mds', []) - fetch_projects(PERSONAL_PROJECTS, 'personal', []) diff --git a/bin/generate_vscode_workspaces.py b/bin/generate_vscode_workspaces.py deleted file mode 100644 index e7e7515..0000000 --- a/bin/generate_vscode_workspaces.py +++ /dev/null @@ -1,57 +0,0 @@ -import json -import os - -from qiime2_projects import PROJECTS as Q2_PROJECTS -from mds_projects import PROJECTS as MDS_PROJECTS -from personal_projects import PROJECTS as PERSONAL_PROJECTS - - -def render_vscode_workspace(projects, project_name, output_fp, - include_dotfiles=True, extra_dirs=None): - folders = [] - for org, repos in projects.items(): - for repo in repos: - fp = os.path.join('~', 'projects', project_name, repo) - fp = os.path.expanduser(fp) - folders.append({'name': repo.lower(), - 'path': fp}) - - if include_dotfiles: - dotfile_fp = os.path.join(os.sep, 'Users', 'matthew', '.dotfiles') - folders.append({'name': 'dotfiles', - 'path': dotfile_fp}) - - if extra_dirs is not None: - for name, path in extra_dirs.items(): - fp = os.path.join('~', 'projects', project_name, path) - fp = os.path.expanduser(fp) - folders.append({'name': name, - 'path': fp}) - - with open(output_fp, 'w') as fh: - json.dump({'folders': sorted(folders, key=lambda x: x['name'])}, - fh, sort_keys=True, indent=4) - - -if __name__ == '__main__': - def qws(ws_number: int): - return render_vscode_workspace( - Q2_PROJECTS, - 'qiime2', - os.path.join('vscode', 'qiime2-%d.code-workspace' % (ws_number, )), - extra_dirs={'data': 'data'}, - ) - - [qws(i) for i in range(1, 4)] - - render_vscode_workspace( - MDS_PROJECTS, - 'mds', - os.path.join('vscode', 'mds.code-workspace'), - ) - - render_vscode_workspace( - PERSONAL_PROJECTS, - 'personal', - os.path.join('vscode', 'personal.code-workspace'), - ) diff --git a/bin/mds_projects.py b/bin/mds_projects.py deleted file mode 100644 index 94825b4..0000000 --- a/bin/mds_projects.py +++ /dev/null @@ -1,10 +0,0 @@ -PROJECTS = { - 'thermokarst': [ - 'ccdb-api', - 'ccdb-web', - 'tucotuco', - 'fathm', - 'hibernators', - 'hibernators-web', - ], -} diff --git a/bin/personal_projects.py b/bin/personal_projects.py deleted file mode 100644 index b557888..0000000 --- a/bin/personal_projects.py +++ /dev/null @@ -1,5 +0,0 @@ -PROJECTS = { - 'thermokarst': [ - 'elixir-class', - ], -} diff --git a/bin/qiime2_projects.py b/bin/qiime2_projects.py deleted file mode 100644 index 0a6e095..0000000 --- a/bin/qiime2_projects.py +++ /dev/null @@ -1,79 +0,0 @@ -PROJECTS = { - 'qiime2': [ - 'Keemei', - 'action-library-packaging', - 'busywork', - 'data302', - 'dev-docs', - 'discourse-unhandled-tagger', - 'docs', - 'environment-files', - 'library', - 'logos', - 'paper2', - 'q2-alignment', - 'q2-composition', - 'q2-cutadapt', - 'q2-dada2', - 'q2-deblur', - 'q2-demux', - 'q2-diversity', - 'q2-diversity-lib', - 'q2-emperor', - 'q2-feature-classifier', - 'q2-feature-table', - 'q2-fragment-insertion', - 'q2-gneiss', - 'q2-longitudinal', - 'q2-metadata', - 'q2-mystery-stew', - 'q2-phylogeny', - 'q2-quality-control', - 'q2-quality-filter', - 'q2-sample-classifier', - 'q2-shogun', - 'q2-taxa', - 'q2-types', - 'q2-vsearch', - 'q2cli', - 'q2cwl', - 'q2galaxy', - 'q2studio', - 'q2templates', - 'q2view', - 'qiime2', - 'qiime2.github.io', - 'static-site-infrastructure', - 'template-repo', - 'view.qiime2.org', - 'vm-playbooks', - 'workshop-playbooks', - 'workshops.qiime2.org', - ], - - 'caporaso-lab': [ - 'caporaso-lab.github.io', - 'pretrained-feature-classifiers', - 'q2-phylogenomics', - 'genome-sampler', - ], - - 'gregcaporaso': [ - 'caporaso-lab-secrets', - 'qiime2-meta-figures', - ], - - 'biocore': [ - 'scikit-bio', - 'deblur', - ], - - 'thermokarst': [ - 'q2-no-op', - 'busywork2_action_playground', - ], - - 'bioconda': [ - 'bioconda-recipes', - ] -} diff --git a/bin/sync_git_repos.py b/bin/sync_git_repos.py new file mode 100644 index 0000000..73c8802 --- /dev/null +++ b/bin/sync_git_repos.py @@ -0,0 +1,75 @@ +import configparser +import os +import sys + +import pygit2 + + +def init_repo(repo_name, repo_fp, remote, remote_name, callbacks, + github_peers): + repo = pygit2.discover_repository(repo_fp) + if repo is None: + print('cloning %s' % remote) + + init_remote = lambda r, n, u: r.remotes.create(remote_name, u) + repo = pygit2.clone_repository(remote, repo_fp, remote=init_remote, + callbacks=callbacks) + else: + print('already cloned %s' % remote) + + repo = pygit2.Repository(repo) + + for peer in github_peers: + url = 'ssh://git@github.com/%s/%s' % (peer, repo_name) + + try: + repo.remotes[peer] + except KeyError: + repo.remotes.create(peer, url) + + if repo.remotes[peer].url != url: + repo.remotes.set_url(peer, url) + + +def sync_workspace(workspace_fp, repos, remote_host, remote_name, callbacks, + github_peers): + if not os.path.exists(workspace_fp): + os.makedirs(workspace_fp) + + for repo in repos: + repo_fp = os.path.join(workspace_fp, repo) + remote = 'ssh://%s/%s' % (remote_host, repo) + + init_repo(repo, repo_fp, remote, remote_name, callbacks, github_peers) + + +def setup_callbacks(): + pub_fp = os.path.expanduser('~/.ssh/id_ecdsa.pub') + priv_fp = os.path.expanduser('~/.ssh/id_ecdsa') + keypair = pygit2.Keypair('git', pub_fp, priv_fp, '') + callbacks = pygit2.RemoteCallbacks(credentials=keypair) + return callbacks + + +if __name__ == '__main__': + ini_fp = sys.argv[1] + cfg = configparser.ConfigParser() + cfg.read(ini_fp) + + callbacks = setup_callbacks() + + for section in cfg.sections(): + workspace_fp = cfg[section]['workspace'] + workspace_fp = os.path.expanduser(workspace_fp) + + repos = cfg[section]['repos'].split(',') + repos = [r.strip() for r in repos] + remote_host = cfg[section]['remote_host'] + remote_name = cfg[section]['remote_name'] + + github_peers = cfg[section]['github_peers'].split(',') + if github_peers == ['']: + github_peers = [] + + sync_workspace(workspace_fp, repos, remote_host, + remote_name, callbacks, github_peers) diff --git a/install.conf.yaml b/install.conf.yaml index 705598a..aca7a7e 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -3,12 +3,11 @@ - create: - ~/projects/qiime2 - - ~/projects/qiime2/data/moving-pictures + - ~/projects/qiime2/data/ - ~/projects/mds - ~/projects/personal - shell: - - python3 bin/generate_vscode_workspaces.py - python3 bin/bootstrap_git_repos.py - link: @@ -33,11 +32,6 @@ ~/Library/Application Support/Code/User/tasks.json: create: true path: vscode/tasks.json - ~/qiime2-1.code-workspace: vscode/qiime2-1.code-workspace - ~/qiime2-2.code-workspace: vscode/qiime2-2.code-workspace - ~/qiime2-3.code-workspace: vscode/qiime2-3.code-workspace - ~/mds.code-workspace: vscode/mds.code-workspace - ~/personal.code-workspace: vscode/personal.code-workspace ~/.config/kak/kakrc: create: true path: kakrc diff --git a/repos.ini b/repos.ini new file mode 100644 index 0000000..d2af60e --- /dev/null +++ b/repos.ini @@ -0,0 +1,132 @@ +[personal] +workspace=~/projects/personal2 +remote_host=git@pingo.thermokar.st +remote_name=pingo +github_peers= +repos= + 3dmodels, + advent-of-code-2015, + advent-of-code-2016, + akdillon, + akextract, + akindices, + aoc2020, + arctic_hibernators_schema, + bactdb, + bactdb_data, + ccdb-api, + ccdb-old, + ccdb-web, + cs425_anch_tax_data_loader, + cs425_anch_tax_map_app, + cs680_aes, + cs680_aes_report, + cs685, + dot_ssh, + dotfiles, + drf_ember_pagination, + elixir-class, + fpjs, + gitolite-admin, + gpx-web-utils, + hibernators, + hibernators-web, + hymenobacterdotinfo, + jwt, + pingo, + planner, + qzv-view, + stem2017, + thermokar.st, + zettel + +[github_thermokast_personal] +workspace=~/projects/personal2 +remote_host=git@github.com/thermokarst +remote_name=thermokarst +github_peers= +repos= + thermokarst + +[github_thermokarst_qiime2] +workspace=~/projects/qiime22 +remote_host=git@github.com/thermokarst +remote_name=thermokarst +github_peers= +repos= + workflows-playground, + q2-no-op + +[github_thermokarst_forks_qiime2] +workspace=~/projects/qiime22 +remote_host=git@github.com/thermokarst-forks +remote_name=thermokarst +github_peers=ebolyen,gregcaporaso,ChrisKeefe,Oddant1,nbokulich,andrewsanchez +repos= + An-Introduction-To-Applied-Bioinformatics, + Keemei, + RESCRIPt, + action-library-packaging, + biom-format-feedstock, + busywork, + caporaso-lab.github.io, + code-of-conduct, + conda-channel-resource, + data302, + deblur, + dev-docs, + docs, + emperor, + environment-files, + genome-sampler, + gneiss, + ijson-feedstock, + library, + logos, + paper1, + paper2, + pretrained-feature-classifiers, + q2-alignment, + q2-composition, + q2-cutadapt, + q2-dada2, + q2-deblur, + q2-demux, + q2-diversity, + q2-diversity-lib, + q2-emperor, + q2-feature-classifier, + q2-feature-table, + q2-fragment-insertion, + q2-gneiss, + q2-longitudinal, + q2-metadata, + q2-perc-norm, + q2-phylogenomics, + q2-phylogeny, + q2-quality-control, + q2-quality-filter, + q2-sample-classifier, + q2-taxa, + q2-types, + q2-vsearch, + q2_itsxpress, + q2cli, + q2cwl, + q2galaxy, + q2lint, + q2studio, + q2templates, + q2view, + qiime2, + qiime2.github.io, + scikit-bio, + scikit-bio-feedstock, + spcss, + sphinx-qiime2-theme, + static-site-infrastructure, + template-repo, + view.qiime2.org, + vm-playbooks, + workshop-playbooks, + workshops From 40a8a2e50e9b92f158a787b2cabd0b76e3226d2b Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 31 Jan 2021 13:38:07 -0700 Subject: [PATCH 003/226] wrapping up initial cut at new repo manager --- bin/sync_git_repos.py | 19 +++++++-------- install.conf.yaml | 3 --- repos.ini | 56 +++++++++++++++++++------------------------ 3 files changed, 33 insertions(+), 45 deletions(-) diff --git a/bin/sync_git_repos.py b/bin/sync_git_repos.py index 73c8802..6b46b4f 100644 --- a/bin/sync_git_repos.py +++ b/bin/sync_git_repos.py @@ -43,20 +43,15 @@ def sync_workspace(workspace_fp, repos, remote_host, remote_name, callbacks, init_repo(repo, repo_fp, remote, remote_name, callbacks, github_peers) -def setup_callbacks(): - pub_fp = os.path.expanduser('~/.ssh/id_ecdsa.pub') - priv_fp = os.path.expanduser('~/.ssh/id_ecdsa') - keypair = pygit2.Keypair('git', pub_fp, priv_fp, '') - callbacks = pygit2.RemoteCallbacks(credentials=keypair) - return callbacks - - if __name__ == '__main__': ini_fp = sys.argv[1] cfg = configparser.ConfigParser() cfg.read(ini_fp) - callbacks = setup_callbacks() + pub_fp = os.path.expanduser('~/.ssh/id_ecdsa.pub') + priv_fp = os.path.expanduser('~/.ssh/id_ecdsa') + keypair = pygit2.Keypair('git', pub_fp, priv_fp, '') + callbacks = pygit2.RemoteCallbacks(credentials=keypair) for section in cfg.sections(): workspace_fp = cfg[section]['workspace'] @@ -64,12 +59,14 @@ if __name__ == '__main__': repos = cfg[section]['repos'].split(',') repos = [r.strip() for r in repos] + if '' in repos: + repos.remove('') remote_host = cfg[section]['remote_host'] remote_name = cfg[section]['remote_name'] github_peers = cfg[section]['github_peers'].split(',') - if github_peers == ['']: - github_peers = [] + if '' in github_peers: + github_peers.remove('') sync_workspace(workspace_fp, repos, remote_host, remote_name, callbacks, github_peers) diff --git a/install.conf.yaml b/install.conf.yaml index aca7a7e..9ce7eed 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -7,9 +7,6 @@ - ~/projects/mds - ~/projects/personal -- shell: - - python3 bin/bootstrap_git_repos.py - - link: ~/.tmux.conf: tmux.conf ~/.gitconfig: git/gitconfig diff --git a/repos.ini b/repos.ini index d2af60e..f158508 100644 --- a/repos.ini +++ b/repos.ini @@ -1,67 +1,61 @@ [personal] -workspace=~/projects/personal2 +workspace=~/projects/personal remote_host=git@pingo.thermokar.st remote_name=pingo github_peers= repos= - 3dmodels, - advent-of-code-2015, - advent-of-code-2016, akdillon, - akextract, - akindices, aoc2020, + cs685, + dot_ssh, + dotfiles, + elixir-class, + gitolite-admin, + gpx-web-utils, + pingo, + planner, + thermokar.st, + zettel, + +[mds] +workspace=~/projects/mds +remote_host=git@pingo.thermokar.st +remote_name=pingo +github_peers= +repos= arctic_hibernators_schema, bactdb, bactdb_data, ccdb-api, ccdb-old, ccdb-web, - cs425_anch_tax_data_loader, - cs425_anch_tax_map_app, - cs680_aes, - cs680_aes_report, - cs685, - dot_ssh, - dotfiles, drf_ember_pagination, - elixir-class, - fpjs, - gitolite-admin, - gpx-web-utils, hibernators, hibernators-web, hymenobacterdotinfo, - jwt, - pingo, - planner, - qzv-view, - stem2017, - thermokar.st, - zettel [github_thermokast_personal] -workspace=~/projects/personal2 +workspace=~/projects/personal remote_host=git@github.com/thermokarst remote_name=thermokarst github_peers= repos= - thermokarst + thermokarst, [github_thermokarst_qiime2] -workspace=~/projects/qiime22 +workspace=~/projects/qiime2 remote_host=git@github.com/thermokarst remote_name=thermokarst github_peers= repos= + q2-no-op, workflows-playground, - q2-no-op [github_thermokarst_forks_qiime2] -workspace=~/projects/qiime22 +workspace=~/projects/qiime2 remote_host=git@github.com/thermokarst-forks remote_name=thermokarst -github_peers=ebolyen,gregcaporaso,ChrisKeefe,Oddant1,nbokulich,andrewsanchez +github_peers=ebolyen,gregcaporaso,ChrisKeefe,Oddant1,nbokulich,andrewsanchez,cherman2 repos= An-Introduction-To-Applied-Bioinformatics, Keemei, @@ -129,4 +123,4 @@ repos= view.qiime2.org, vm-playbooks, workshop-playbooks, - workshops + workshops, From 1441db724686919786915a30de9f7abaf32490fd Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 31 Jan 2021 16:57:42 -0700 Subject: [PATCH 004/226] set default branch to "main" --- git/gitconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/git/gitconfig b/git/gitconfig index 64abf21..eadcfe2 100644 --- a/git/gitconfig +++ b/git/gitconfig @@ -54,3 +54,5 @@ helper = osxkeychain [pull] rebase = true +[init] + defaultBranch = main From 14b3b6a5c0bd01086ffea8ef4eba062adedf7245 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 15 Feb 2021 14:14:02 -0700 Subject: [PATCH 005/226] minor updates --- repos.ini | 7 ++++--- vscode/keybindings.json | 2 +- vscode/settings.json | 6 ++---- zsh/zshenv | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/repos.ini b/repos.ini index f158508..41d64dd 100644 --- a/repos.ini +++ b/repos.ini @@ -53,9 +53,9 @@ repos= [github_thermokarst_forks_qiime2] workspace=~/projects/qiime2 -remote_host=git@github.com/thermokarst-forks -remote_name=thermokarst -github_peers=ebolyen,gregcaporaso,ChrisKeefe,Oddant1,nbokulich,andrewsanchez,cherman2 +remote_host=git@github.com/qiime2 +remote_name=qiime2 +github_peers=ebolyen,gregcaporaso,ChrisKeefe,Oddant1,nbokulich,andrewsanchez,cherman2,thermokarst-forks repos= An-Introduction-To-Applied-Bioinformatics, Keemei, @@ -118,6 +118,7 @@ repos= scikit-bio-feedstock, spcss, sphinx-qiime2-theme, + sphinx-ext-qiime2, static-site-infrastructure, template-repo, view.qiime2.org, diff --git a/vscode/keybindings.json b/vscode/keybindings.json index 4d7cfcb..0f88c00 100644 --- a/vscode/keybindings.json +++ b/vscode/keybindings.json @@ -7,5 +7,5 @@ { "key": "cmd+m", "command": "workbench.action.toggleMaximizedPanel" - }, + } ] diff --git a/vscode/settings.json b/vscode/settings.json index b407f90..4e64c52 100644 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -7,8 +7,6 @@ "workbench.colorTheme": "Base16 Dark Ashes", "workbench.sideBar.location": "right", - - "window.zoomLevel": 0, "window.restoreFullscreen": false, "python.jediEnabled": false, @@ -22,11 +20,11 @@ ], "[elixir]": { "editor.tabSize": 2, - "editor.formatOnSave": true, + "editor.formatOnSave": true }, "python.condaPath": "/opt/miniconda3/bin/conda", "python.defaultInterpreterPath": "~/.conda/envs/q2dev/bin/python", "python.terminal.activateEnvInCurrentTerminal": true, "python.languageServer": "Microsoft", - "git.enabled": false, + "git.enabled": false } diff --git a/zsh/zshenv b/zsh/zshenv index df3fbe9..d33b1ee 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -90,7 +90,7 @@ path=( $HOME/.cargo/bin # misc apps - /Applications/Postgres.app/Contents/Versions/12/bin/ + /Applications/Postgres.app/Contents/Versions/latest/bin/ /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/ ) From cdd4082fb8fef8a53b48e9eb41ac7994574dfd02 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sat, 27 Feb 2021 13:33:26 -0700 Subject: [PATCH 006/226] maint: tmux status checks --- check_status.sh | 21 +++++++++++++++++++++ git/gitconfig | 5 +++++ tmux.conf | 2 +- vscode/settings.json | 3 ++- 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100755 check_status.sh diff --git a/check_status.sh b/check_status.sh new file mode 100755 index 0000000..348fa41 --- /dev/null +++ b/check_status.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env zsh + +local a="main" b="pingo/main" +local base=$( git merge-base $a $b ) +local aref=$( git rev-parse $a ) +local bref=$( git rev-parse $b ) + +if [[ $(git diff --stat) != '' ]]; then + echo 'dotfiles: dirty' + exit +fi + +if [[ $aref == "$bref" ]]; then + echo '' +elif [[ $aref == "$base" ]]; then + echo 'dotfiles: needs a pull' +elif [[ $bref == "$base" ]]; then + echo 'dotfiles: needs a push' +else + echo 'dotfiles diverged' +fi diff --git a/git/gitconfig b/git/gitconfig index eadcfe2..5b45310 100644 --- a/git/gitconfig +++ b/git/gitconfig @@ -56,3 +56,8 @@ rebase = true [init] defaultBranch = main +[filter "lfs"] + clean = git-lfs clean -- %f + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true diff --git a/tmux.conf b/tmux.conf index 0e88e4a..b190548 100644 --- a/tmux.conf +++ b/tmux.conf @@ -29,7 +29,7 @@ set -g status-justify centre set -g status-left-length 50 set -g status-right-length 140 set -g status-left '#[fg=green]#H#[default] session:#S' -set -g status-right '#[fg=white,bg=default]%a %l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' +set -g status-right '#[fg=black,bg=colour119]#(cd ~/.password-store && ./check_status.sh)#[default] #[fg=black,bg=colour215]#(cd ~/.dotfiles && ./check_status.sh)#[default] #[fg=white,bg=default]%a %l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' set-option -g renumber-windows on set -sg escape-time 0 diff --git a/vscode/settings.json b/vscode/settings.json index 4e64c52..825084e 100644 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -26,5 +26,6 @@ "python.defaultInterpreterPath": "~/.conda/envs/q2dev/bin/python", "python.terminal.activateEnvInCurrentTerminal": true, "python.languageServer": "Microsoft", - "git.enabled": false + "git.enabled": false, + "liveshare.authenticationProvider": "GitHub" } From 6911580c0f9bd131e1c33fab4a3ecca621a7102d Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sat, 27 Feb 2021 16:02:25 -0700 Subject: [PATCH 007/226] alerts: mv password into new dir --- tmux.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmux.conf b/tmux.conf index b190548..6b0bba3 100644 --- a/tmux.conf +++ b/tmux.conf @@ -29,7 +29,7 @@ set -g status-justify centre set -g status-left-length 50 set -g status-right-length 140 set -g status-left '#[fg=green]#H#[default] session:#S' -set -g status-right '#[fg=black,bg=colour119]#(cd ~/.password-store && ./check_status.sh)#[default] #[fg=black,bg=colour215]#(cd ~/.dotfiles && ./check_status.sh)#[default] #[fg=white,bg=default]%a %l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' +set -g status-right '#[fg=black,bg=colour119]#(cd ~/.password-store/.bin && ./check_status.sh)#[default] #[fg=black,bg=colour215]#(cd ~/.dotfiles && ./check_status.sh)#[default] #[fg=white,bg=default]%a %l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' set-option -g renumber-windows on set -sg escape-time 0 From f66bda3b5a62f58410b1fd18f2f107153d0d019f Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 14 Mar 2021 11:22:40 -0700 Subject: [PATCH 008/226] maint: new helper scripts --- tmux.conf | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tmux.conf b/tmux.conf index 6b0bba3..acb896e 100644 --- a/tmux.conf +++ b/tmux.conf @@ -29,7 +29,12 @@ set -g status-justify centre set -g status-left-length 50 set -g status-right-length 140 set -g status-left '#[fg=green]#H#[default] session:#S' -set -g status-right '#[fg=black,bg=colour119]#(cd ~/.password-store/.bin && ./check_status.sh)#[default] #[fg=black,bg=colour215]#(cd ~/.dotfiles && ./check_status.sh)#[default] #[fg=white,bg=default]%a %l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' +set -g status-right '\ +#[fg=black,bg=colour119]#(cd ~/.password-store/.bin && ./check_status.sh)#[default] \ +#[fg=black,bg=colour207]#(cd ~/.dotfiles && ./check_status.sh)#[default] \ +#[fg=black,bg=colour226]#(cd ~/.ssh/.bin && ./check_status.sh)#[default] \ +#[fg=black,bg=colour215]#(cd ~/projects/personal/notes/.bin && ./check_status.sh)#[default] \ +#[fg=white,bg=default]%a %l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' set-option -g renumber-windows on set -sg escape-time 0 From 0044a32faedd83726b3e7f5151807461df2caebf Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 14 Mar 2021 15:57:19 -0700 Subject: [PATCH 009/226] vim tweaks --- vimrc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vimrc b/vimrc index 812cfca..04d0f3c 100644 --- a/vimrc +++ b/vimrc @@ -15,6 +15,7 @@ set hidden set incsearch set ruler set wildmenu +set wildmode=full set number set list set listchars=tab:▸\ ,extends:>,precedes:<,trail:~ @@ -27,6 +28,7 @@ set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp set writebackup set expandtab set updatetime=200 +set history=250 nnoremap [b :bprevious nnoremap ]b :bnext From 9388a62e0ce7b2976e76a458b2a33985176c8ae8 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 18 Mar 2021 10:30:52 -0700 Subject: [PATCH 010/226] maint: clean up gitconfig --- git/gitconfig | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/git/gitconfig b/git/gitconfig index 5b45310..bc6843d 100644 --- a/git/gitconfig +++ b/git/gitconfig @@ -48,8 +48,6 @@ b = "!git for-each-ref --sort='-authordate' --format='%(authordate)%09%(objectname:short)%09%(refname)' refs/heads | sed -e 's-refs/heads/--'" # list aliases la = "!git config -l | grep alias | cut -c 7-" -[push] - default = upstream [credential] helper = osxkeychain [pull] @@ -57,7 +55,7 @@ [init] defaultBranch = main [filter "lfs"] - clean = git-lfs clean -- %f - smudge = git-lfs smudge -- %f - process = git-lfs filter-process - required = true + clean = git-lfs clean -- %f + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true From fb1d0dfa87c095970ba12c952387854e8da78dac Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Fri, 19 Mar 2021 12:32:42 -0700 Subject: [PATCH 011/226] vim: new plugins --- vimrc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vimrc b/vimrc index 04d0f3c..5875ca1 100644 --- a/vimrc +++ b/vimrc @@ -44,6 +44,8 @@ call plug#begin('~/.vim/plugged') Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'wakatime/vim-wakatime' + Plug 'vimwiki/vimwiki' + Plug 'mattn/calendar-vim' call plug#end() " for Plug 'chriskempson/base16-vim' From ecee9ab31d31d46c955b89c72a86863c92335b20 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sat, 20 Mar 2021 20:50:27 -0700 Subject: [PATCH 012/226] maint: cleaning up git repos --- repos.ini | 70 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 52 insertions(+), 18 deletions(-) diff --git a/repos.ini b/repos.ini index 41d64dd..5242eeb 100644 --- a/repos.ini +++ b/repos.ini @@ -12,6 +12,7 @@ repos= elixir-class, gitolite-admin, gpx-web-utils, + notes, pingo, planner, thermokar.st, @@ -57,29 +58,18 @@ remote_host=git@github.com/qiime2 remote_name=qiime2 github_peers=ebolyen,gregcaporaso,ChrisKeefe,Oddant1,nbokulich,andrewsanchez,cherman2,thermokarst-forks repos= - An-Introduction-To-Applied-Bioinformatics, Keemei, - RESCRIPt, action-library-packaging, - biom-format-feedstock, busywork, - caporaso-lab.github.io, - code-of-conduct, conda-channel-resource, data302, - deblur, dev-docs, docs, - emperor, environment-files, - genome-sampler, - gneiss, - ijson-feedstock, library, logos, paper1, paper2, - pretrained-feature-classifiers, q2-alignment, q2-composition, q2-cutadapt, @@ -95,8 +85,7 @@ repos= q2-gneiss, q2-longitudinal, q2-metadata, - q2-perc-norm, - q2-phylogenomics, + q2-mystery-stew, q2-phylogeny, q2-quality-control, q2-quality-filter, @@ -104,7 +93,6 @@ repos= q2-taxa, q2-types, q2-vsearch, - q2_itsxpress, q2cli, q2cwl, q2galaxy, @@ -114,14 +102,60 @@ repos= q2view, qiime2, qiime2.github.io, - scikit-bio, - scikit-bio-feedstock, - spcss, - sphinx-qiime2-theme, sphinx-ext-qiime2, + sphinx-qiime2-theme, static-site-infrastructure, template-repo, view.qiime2.org, vm-playbooks, workshop-playbooks, workshops, + +[github_thermokarst_forks_caporaso_lab] +workspace=~/projects/qiime2 +remote_host=git@github.com/caporaso-lab +remote_name=caporaso-lab +github_peers=ebolyen,gregcaporaso,thermokarst-forks +repos= + caporaso-lab.github.io, + code-of-conduct, + genome-sampler, + pretrained-feature-classifiers, + q2-phylogenomics, + +[github_thermokarst_forks_biocore] +workspace=~/projects/qiime2 +remote_host=git@github.com/biocore +remote_name=biocore +github_peers=ebolyen,thermokarst-forks +repos= + deblur, + emperor, + gneiss, + scikit-bio, + +[github_thermokarst_forks_bokulich_lab] +workspace=~/projects/qiime2 +remote_host=git@github.com/bokulich-lab +remote_name=bokulich-lab +github_peers=nbokulich,thermokarst-forks +repos= + RESCRIPt, + +[github_thermokarst_forks_conda_forge] +workspace=~/projects/qiime2 +remote_host=git@github.com/conda-forge +remote_name=conda-forge +github_peers=thermokarst-forks +repos= + biom-format-feedstock, + ijson-feedstock, + scikit-bio-feedstock, + +[github_gregcaporaso] +workspace=~/projects/qiime2 +remote_host=git@github.com/gregcaporaso +remote_name=gregcaporaso +github_peers= +repos= + caporaso-lab-secrets, From 1f5c5040fb9c6b0cd9429862d83e807edac7f2bc Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 22 Mar 2021 10:30:54 -0700 Subject: [PATCH 013/226] new: vimwiki --- vimrc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/vimrc b/vimrc index 5875ca1..7d56aa3 100644 --- a/vimrc +++ b/vimrc @@ -63,3 +63,17 @@ let g:airline#extensions#tabline#fnamemod=':t' " for Plug 'vim-airline/vim-airline-themes' let g:airline_theme='base16' + +" vimwiki +let notes_wiki = {} +let notes_wiki.path = '/Users/matthew/projects/personal/notes' + +let weeklies_wiki = {} +let weeklies_wiki.path = '/Users/matthew/projects/personal/notes/weeklies' +let weeklies_wiki.syntax = 'markdown' +let weeklies_wiki.ext = '.md' + +let pitches_wiki = {} +let pitches_wiki.path = '/Users/matthew/projects/personal/notes/pitches' + +let g:vimwiki_list = [notes_wiki, weeklies_wiki, pitches_wiki] From 591dd4dfb209908b053ebf15c83620523f3650df Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 28 Mar 2021 09:58:24 -0700 Subject: [PATCH 014/226] maint: adding additional vimwikis --- vimrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vimrc b/vimrc index 7d56aa3..2c57dec 100644 --- a/vimrc +++ b/vimrc @@ -67,6 +67,8 @@ let g:airline_theme='base16' " vimwiki let notes_wiki = {} let notes_wiki.path = '/Users/matthew/projects/personal/notes' +let notes_wiki.syntax = 'markdown' +let notes_wiki.ext = '.md' let weeklies_wiki = {} let weeklies_wiki.path = '/Users/matthew/projects/personal/notes/weeklies' @@ -75,5 +77,7 @@ let weeklies_wiki.ext = '.md' let pitches_wiki = {} let pitches_wiki.path = '/Users/matthew/projects/personal/notes/pitches' +let pitches_wiki.syntax = 'markdown' +let pitches_wiki.ext = '.md' let g:vimwiki_list = [notes_wiki, weeklies_wiki, pitches_wiki] From 220a6154e3a1e3ac67f14b91ed74e7ad3d64a9a3 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 29 Mar 2021 10:38:58 -0700 Subject: [PATCH 015/226] sorting vim plugin list --- vimrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vimrc b/vimrc index 2c57dec..22d747b 100644 --- a/vimrc +++ b/vimrc @@ -38,14 +38,14 @@ nnoremap ]B :blast call plug#begin('~/.vim/plugged') Plug 'airblade/vim-gitgutter' Plug 'chriskempson/base16-vim' + Plug 'mattn/calendar-vim' Plug 'ntpeters/vim-better-whitespace' Plug 'sheerun/vim-polyglot' Plug 'tpope/vim-vinegar' Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' - Plug 'wakatime/vim-wakatime' Plug 'vimwiki/vimwiki' - Plug 'mattn/calendar-vim' + Plug 'wakatime/vim-wakatime' call plug#end() " for Plug 'chriskempson/base16-vim' From 9e16d24cb138dd4cf0d30442c354f030ac872e7c Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 6 Apr 2021 14:46:41 -0700 Subject: [PATCH 016/226] vim: hl search --- vimrc | 1 + 1 file changed, 1 insertion(+) diff --git a/vimrc b/vimrc index 22d747b..23a6fe3 100644 --- a/vimrc +++ b/vimrc @@ -29,6 +29,7 @@ set writebackup set expandtab set updatetime=200 set history=250 +set hlsearch nnoremap [b :bprevious nnoremap ]b :bnext From fad79213899c3aafb8e86fee1a77ed96b33f3ad1 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 6 Apr 2021 14:47:13 -0700 Subject: [PATCH 017/226] grep alias --- zsh/zshrc | 1 + 1 file changed, 1 insertion(+) diff --git a/zsh/zshrc b/zsh/zshrc index b525129..93a43b0 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -17,6 +17,7 @@ fi # shortcuts alias q="conda activate q2dev" alias i="ipython3" +alias greg="grep" BASE16_SHELL=$HOME/.config/base16-shell/ [ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)" From 5add969f6e3fa2d5a364f05e6b8a1f6eb9d834f5 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 7 Apr 2021 21:37:49 -0700 Subject: [PATCH 018/226] new: adding some dokku remotes --- bin/sync_git_repos.py | 4 ++++ repos.ini | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/bin/sync_git_repos.py b/bin/sync_git_repos.py index 6b46b4f..f5dd736 100644 --- a/bin/sync_git_repos.py +++ b/bin/sync_git_repos.py @@ -18,6 +18,10 @@ def init_repo(repo_name, repo_fp, remote, remote_name, callbacks, print('already cloned %s' % remote) repo = pygit2.Repository(repo) + try: + repo.remotes[remote_name] + except: + repo.remotes.create(remote_name, remote) for peer in github_peers: url = 'ssh://git@github.com/%s/%s' % (peer, repo_name) diff --git a/repos.ini b/repos.ini index 5242eeb..7a468f6 100644 --- a/repos.ini +++ b/repos.ini @@ -18,6 +18,17 @@ repos= thermokar.st, zettel, +[personal-dokku] +workspace=~/projects/personal +remote_host=dokku@pingo.thermokar.st +remote_name=dokku +github_peers= +repos= + akdillon, + planner, + thermokar.st, + zettel, + [mds] workspace=~/projects/mds remote_host=git@pingo.thermokar.st @@ -56,7 +67,7 @@ repos= workspace=~/projects/qiime2 remote_host=git@github.com/qiime2 remote_name=qiime2 -github_peers=ebolyen,gregcaporaso,ChrisKeefe,Oddant1,nbokulich,andrewsanchez,cherman2,thermokarst-forks +github_peers=ebolyen,gregcaporaso,ChrisKeefe,Oddant1,nbokulich,andrewsanchez,cherman2,thermokarst-forks,Keegan-Evans,lizgehret repos= Keemei, action-library-packaging, From 3fd9076fe21803a2639eb5637b1196ec74cf2cb7 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sat, 10 Apr 2021 19:32:43 -0700 Subject: [PATCH 019/226] vim: excmd normal map dot-cmd --- vimrc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vimrc b/vimrc index 23a6fe3..a03848e 100644 --- a/vimrc +++ b/vimrc @@ -36,6 +36,8 @@ nnoremap ]b :bnext nnoremap [B :bfirst nnoremap ]B :blast +xnoremap . :normal . + call plug#begin('~/.vim/plugged') Plug 'airblade/vim-gitgutter' Plug 'chriskempson/base16-vim' From 1b74b7beeccf5516706afb3b4997bad5175b355c Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 1 Jun 2021 07:17:36 -0700 Subject: [PATCH 020/226] maint: nix->macports i had to stop using macports because my old personal workstation didn't have enough disk space for xcode and friends. --- README.md | 64 +++++++++++++++++++++++++++++----------------- rsync_excludes.txt | 45 ++++++++++++++++++-------------- 2 files changed, 66 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 4c646bb..17046a6 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,59 @@ # dotfiles ```bash -$ git clone https://github.com/thermokarst/dotfiles.git ~/.dotfiles -$ cd ~/.dotfiles -$ git remote rename origin thermokarst +$ git clone --origin thermokart ssh://git@pingo.thermokar.st:dotfiles ~/.dotfiles $ git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell $ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" +$ cd ~/.dotfiles $ ./install -$ sh <(curl -L https://nixos.org/nix/install) --darwin-use-unencrypted-nix-store-volume $ source ~/.zshrc -$ nix-env -i \ - alacritty \ - cmus \ - docker \ - elixir \ - git \ - htop \ - nodejs \ - postgresql \ - reattach-to-user-namespace \ - silver-searcher \ - syncthing \ - tmux \ - vim \ - wget \ - xz \ - yarn +$ sudo port install \ + ImageMagick \ + cmus \ + curl \ + git \ + gnupg2 \ + htop \ + nodejs16 \ + pass \ + pinetry-mac \ + syncthing-macos \ + the_silver_searcher \ + tmux \ + tmux-pasteboard \ + tree \ + vim \ + watch \ + wget $ base16_ashes $ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh +$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh $ sudo sh Miniconda3-latest-MacOSX-x86_64.sh -p /opt/miniconda3 -b $ sudo conda update conda -$ wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py36-osx-conda.yml -$ conda env create -n q2dev --file qiime2-latest-py36-osx-conda.yml +$ wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py38-osx-conda.yml +$ conda env create -n q2dev --file qiime2-latest-py38-osx-conda.yml $ conda env create -n dotfiles -c conda-forge pygit2 $ conda run -n dotfiles python ~/.dotfiles/bin/sync_git_repos.py ~/.dotfiles/repos.ini ``` +## manual apps + +- chrome +- docker desktop +- firefox +- garageband +- iterm2 +- libreoffice +- melodics +- passff-host +- postgres.app +- steermouse +- thunderbird +- virtualbox +- vscode +- zoom + ## optional vscode extensions ```bash diff --git a/rsync_excludes.txt b/rsync_excludes.txt index cb40124..b4be3d3 100644 --- a/rsync_excludes.txt +++ b/rsync_excludes.txt @@ -1,24 +1,31 @@ -- .DS_Store -- venv -- node_modules -- __pycache__ - *.pyc +- .DS_Store +- .Trash/ +- .bundle/ +- .cache/ +- .cargo/ +- .cisco/ +- .conda-bld/ +- .conda/ +- .cpan/ +- .dropbox/ +- .electron/ +- .fzf/ +- .gem/ +- .local/ +- .mail/ +- .npm/ +- .nvim/plugged/ +- .rustup/ +- .vim/plugged/ +- .wine/ +- .zprezto/ - Applications/ - Library/ +- __pycache__ - miniconda3/ +- node_modules - tmp/ -- .cache/ -- .npm/ -- .Trash/ -- .cpan/ -- .nvim/plugged/ -- .vim/plugged/ -- .conda/ -- .mail/ -- .dropbox/ -- .wine/ -- .cisco/ -- .fzf/ -- .local/ -- .zprezto/ -- .conda-bld/ +- venv +- .vagrant.d/ +- .vscode/extensions/ From 85d491cf64c23bdd1fa238ba6058b0b96b967beb Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 6 Jun 2021 15:33:27 -0700 Subject: [PATCH 021/226] maint: back to macports --- README.md | 18 ++++++++++++++---- vscode/settings.json | 1 - zsh/zshenv | 8 ++++++-- zsh/zshrc | 3 --- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 17046a6..fd65a07 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,19 @@ # dotfiles ```bash -$ git clone --origin thermokart ssh://git@pingo.thermokar.st:dotfiles ~/.dotfiles +$ git clone --origin pingo ssh://git@pingo.thermokar.st/dotfiles ~/.dotfiles $ git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell $ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" $ cd ~/.dotfiles $ ./install $ source ~/.zshrc -$ sudo port install \ +# At the time of this commit, cmus depends on mp4v2 - the latest version +# (ae4bd4f26c27327c8d188e127022d9231f8c7d4b) doesn't appear to be linking +# correctly, so I had to manually install an older version. +$ sudo -s +$ yes | port install \ ImageMagick \ + cargo \ cmus \ curl \ git \ @@ -16,7 +21,6 @@ $ sudo port install \ htop \ nodejs16 \ pass \ - pinetry-mac \ syncthing-macos \ the_silver_searcher \ tmux \ @@ -28,18 +32,20 @@ $ sudo port install \ $ base16_ashes $ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +$ vim +PlugInstall $ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh $ sudo sh Miniconda3-latest-MacOSX-x86_64.sh -p /opt/miniconda3 -b $ sudo conda update conda $ wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py38-osx-conda.yml $ conda env create -n q2dev --file qiime2-latest-py38-osx-conda.yml -$ conda env create -n dotfiles -c conda-forge pygit2 +$ conda create -n dotfiles -c conda-forge pygit2 $ conda run -n dotfiles python ~/.dotfiles/bin/sync_git_repos.py ~/.dotfiles/repos.ini ``` ## manual apps - chrome +- cisco anyconnect - docker desktop - firefox - garageband @@ -48,10 +54,14 @@ $ conda run -n dotfiles python ~/.dotfiles/bin/sync_git_repos.py ~/.dotfiles/rep - melodics - passff-host - postgres.app +- renoise +- signal +- slack - steermouse - thunderbird - virtualbox - vscode +- xcode - zoom ## optional vscode extensions diff --git a/vscode/settings.json b/vscode/settings.json index 825084e..c4c012c 100644 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -26,6 +26,5 @@ "python.defaultInterpreterPath": "~/.conda/envs/q2dev/bin/python", "python.terminal.activateEnvInCurrentTerminal": true, "python.languageServer": "Microsoft", - "git.enabled": false, "liveshare.authenticationProvider": "GitHub" } diff --git a/zsh/zshenv b/zsh/zshenv index d33b1ee..bfacf69 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -74,11 +74,15 @@ typeset -gU cdpath fpath mailpath path # Set the list of directories that Zsh searches for programs. path=( - $path - # miniconda /opt/miniconda3/bin + # macports + /opt/local/bin + /opt/local/sbin + + $path + # npm $HOME/.npm-packages/bin diff --git a/zsh/zshrc b/zsh/zshrc index 93a43b0..f4039d6 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -21,9 +21,6 @@ alias greg="grep" BASE16_SHELL=$HOME/.config/base16-shell/ [ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)" -if [ -e $HOME/.nix-profile/etc/profile.d/nix.sh ]; then - source $HOME/.nix-profile/etc/profile.d/nix.sh; -fi # Backup shortcuts (borrowed parts from https://github.com/laurent22/rsync-time-backup function prune_backups() { From 82b970a105f02f15cafd57236d4d3d0f411a73f7 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 30 Jun 2021 20:05:19 -0700 Subject: [PATCH 022/226] maint: adding new rust project, gwar --- README.md | 5 +- bin/sync_git_repos.py | 76 -------------- repos.ini | 172 -------------------------------- repos.toml | 226 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 229 insertions(+), 250 deletions(-) delete mode 100644 bin/sync_git_repos.py delete mode 100644 repos.ini create mode 100644 repos.toml diff --git a/README.md b/README.md index fd65a07..c679009 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ # dotfiles ```bash +$ wget -O gwar https://github.com/thermokarst/gwar/releases/download/0.0.1/gwar-macos +$ chmod +x gwar +$ ./gwar ~/.dotfiles/repos.toml $ git clone --origin pingo ssh://git@pingo.thermokar.st/dotfiles ~/.dotfiles $ git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell $ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" @@ -38,8 +41,6 @@ $ sudo sh Miniconda3-latest-MacOSX-x86_64.sh -p /opt/miniconda3 -b $ sudo conda update conda $ wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py38-osx-conda.yml $ conda env create -n q2dev --file qiime2-latest-py38-osx-conda.yml -$ conda create -n dotfiles -c conda-forge pygit2 -$ conda run -n dotfiles python ~/.dotfiles/bin/sync_git_repos.py ~/.dotfiles/repos.ini ``` ## manual apps diff --git a/bin/sync_git_repos.py b/bin/sync_git_repos.py deleted file mode 100644 index f5dd736..0000000 --- a/bin/sync_git_repos.py +++ /dev/null @@ -1,76 +0,0 @@ -import configparser -import os -import sys - -import pygit2 - - -def init_repo(repo_name, repo_fp, remote, remote_name, callbacks, - github_peers): - repo = pygit2.discover_repository(repo_fp) - if repo is None: - print('cloning %s' % remote) - - init_remote = lambda r, n, u: r.remotes.create(remote_name, u) - repo = pygit2.clone_repository(remote, repo_fp, remote=init_remote, - callbacks=callbacks) - else: - print('already cloned %s' % remote) - - repo = pygit2.Repository(repo) - try: - repo.remotes[remote_name] - except: - repo.remotes.create(remote_name, remote) - - for peer in github_peers: - url = 'ssh://git@github.com/%s/%s' % (peer, repo_name) - - try: - repo.remotes[peer] - except KeyError: - repo.remotes.create(peer, url) - - if repo.remotes[peer].url != url: - repo.remotes.set_url(peer, url) - - -def sync_workspace(workspace_fp, repos, remote_host, remote_name, callbacks, - github_peers): - if not os.path.exists(workspace_fp): - os.makedirs(workspace_fp) - - for repo in repos: - repo_fp = os.path.join(workspace_fp, repo) - remote = 'ssh://%s/%s' % (remote_host, repo) - - init_repo(repo, repo_fp, remote, remote_name, callbacks, github_peers) - - -if __name__ == '__main__': - ini_fp = sys.argv[1] - cfg = configparser.ConfigParser() - cfg.read(ini_fp) - - pub_fp = os.path.expanduser('~/.ssh/id_ecdsa.pub') - priv_fp = os.path.expanduser('~/.ssh/id_ecdsa') - keypair = pygit2.Keypair('git', pub_fp, priv_fp, '') - callbacks = pygit2.RemoteCallbacks(credentials=keypair) - - for section in cfg.sections(): - workspace_fp = cfg[section]['workspace'] - workspace_fp = os.path.expanduser(workspace_fp) - - repos = cfg[section]['repos'].split(',') - repos = [r.strip() for r in repos] - if '' in repos: - repos.remove('') - remote_host = cfg[section]['remote_host'] - remote_name = cfg[section]['remote_name'] - - github_peers = cfg[section]['github_peers'].split(',') - if '' in github_peers: - github_peers.remove('') - - sync_workspace(workspace_fp, repos, remote_host, - remote_name, callbacks, github_peers) diff --git a/repos.ini b/repos.ini deleted file mode 100644 index 7a468f6..0000000 --- a/repos.ini +++ /dev/null @@ -1,172 +0,0 @@ -[personal] -workspace=~/projects/personal -remote_host=git@pingo.thermokar.st -remote_name=pingo -github_peers= -repos= - akdillon, - aoc2020, - cs685, - dot_ssh, - dotfiles, - elixir-class, - gitolite-admin, - gpx-web-utils, - notes, - pingo, - planner, - thermokar.st, - zettel, - -[personal-dokku] -workspace=~/projects/personal -remote_host=dokku@pingo.thermokar.st -remote_name=dokku -github_peers= -repos= - akdillon, - planner, - thermokar.st, - zettel, - -[mds] -workspace=~/projects/mds -remote_host=git@pingo.thermokar.st -remote_name=pingo -github_peers= -repos= - arctic_hibernators_schema, - bactdb, - bactdb_data, - ccdb-api, - ccdb-old, - ccdb-web, - drf_ember_pagination, - hibernators, - hibernators-web, - hymenobacterdotinfo, - -[github_thermokast_personal] -workspace=~/projects/personal -remote_host=git@github.com/thermokarst -remote_name=thermokarst -github_peers= -repos= - thermokarst, - -[github_thermokarst_qiime2] -workspace=~/projects/qiime2 -remote_host=git@github.com/thermokarst -remote_name=thermokarst -github_peers= -repos= - q2-no-op, - workflows-playground, - -[github_thermokarst_forks_qiime2] -workspace=~/projects/qiime2 -remote_host=git@github.com/qiime2 -remote_name=qiime2 -github_peers=ebolyen,gregcaporaso,ChrisKeefe,Oddant1,nbokulich,andrewsanchez,cherman2,thermokarst-forks,Keegan-Evans,lizgehret -repos= - Keemei, - action-library-packaging, - busywork, - conda-channel-resource, - data302, - dev-docs, - docs, - environment-files, - library, - logos, - paper1, - paper2, - q2-alignment, - q2-composition, - q2-cutadapt, - q2-dada2, - q2-deblur, - q2-demux, - q2-diversity, - q2-diversity-lib, - q2-emperor, - q2-feature-classifier, - q2-feature-table, - q2-fragment-insertion, - q2-gneiss, - q2-longitudinal, - q2-metadata, - q2-mystery-stew, - q2-phylogeny, - q2-quality-control, - q2-quality-filter, - q2-sample-classifier, - q2-taxa, - q2-types, - q2-vsearch, - q2cli, - q2cwl, - q2galaxy, - q2lint, - q2studio, - q2templates, - q2view, - qiime2, - qiime2.github.io, - sphinx-ext-qiime2, - sphinx-qiime2-theme, - static-site-infrastructure, - template-repo, - view.qiime2.org, - vm-playbooks, - workshop-playbooks, - workshops, - -[github_thermokarst_forks_caporaso_lab] -workspace=~/projects/qiime2 -remote_host=git@github.com/caporaso-lab -remote_name=caporaso-lab -github_peers=ebolyen,gregcaporaso,thermokarst-forks -repos= - caporaso-lab.github.io, - code-of-conduct, - genome-sampler, - pretrained-feature-classifiers, - q2-phylogenomics, - -[github_thermokarst_forks_biocore] -workspace=~/projects/qiime2 -remote_host=git@github.com/biocore -remote_name=biocore -github_peers=ebolyen,thermokarst-forks -repos= - deblur, - emperor, - gneiss, - scikit-bio, - -[github_thermokarst_forks_bokulich_lab] -workspace=~/projects/qiime2 -remote_host=git@github.com/bokulich-lab -remote_name=bokulich-lab -github_peers=nbokulich,thermokarst-forks -repos= - RESCRIPt, - -[github_thermokarst_forks_conda_forge] -workspace=~/projects/qiime2 -remote_host=git@github.com/conda-forge -remote_name=conda-forge -github_peers=thermokarst-forks -repos= - biom-format-feedstock, - ijson-feedstock, - scikit-bio-feedstock, - -[github_gregcaporaso] -workspace=~/projects/qiime2 -remote_host=git@github.com/gregcaporaso -remote_name=gregcaporaso -github_peers= -repos= - caporaso-lab-secrets, diff --git a/repos.toml b/repos.toml new file mode 100644 index 0000000..c7f03ed --- /dev/null +++ b/repos.toml @@ -0,0 +1,226 @@ +# personal +[[workspace]] +path = "$HOME/Desktop/projects/personal" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@pingo.thermokar.st" +origin.name = "pingo" +repos = [ + "cs685", + "dot_ssh", + "dotfiles", + "elixir-class", + "gitolite-admin", + "gpx-web-utils", + "gwar", + "notes", + "pingo", +] +remotes = [] + +# personal-dokku +[[workspace]] +path = "$HOME/Desktop/projects/personal" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@pingo.thermokar.st" +origin.name = "pingo" +repos = [ + "akdillon", + "planner", + "thermokar.st", + "zettel", +] +remotes = [ + { name = "dokku", base_addr = "ssh://dokku@pingo.thermokar.st" }, +] + +# mds +[[workspace]] +path = "$HOME/Desktop/projects/mds" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@pingo.thermokar.st" +origin.name = "pingo" +repos = [ + "arctic_hibernators_schema", + "bactdb", + "bactdb_data", + "ccdb-api", + "ccdb-old", + "ccdb-web", + "drf_ember_pagination", + "hibernators", + "hibernators-web", + "hymenobacterdotinfo", +] +remotes = [] + +# github-thermokarst-personal +[[workspace]] +path = "$HOME/Desktop/projects/personal" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@github.com/thermokarst" +origin.name = "thermokarst" +repos = [ + "thermokarst", +] +remotes = [] + +# github-thermokarst-qiime2 +[[workspace]] +path = "$HOME/Desktop/projects/qiime2" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@github.com/thermokarst" +origin.name = "thermokarst" +repos = [ + "q2-no-op", + "workflows-playground", +] +remotes = [] + +# github-thermokarst-forks-qiime2 +[[workspace]] +path = "$HOME/Desktop/projects/qiime2" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@github.com/qiime2" +origin.name = "qiime2" +repos = [ + "Keemei", + "action-library-packaging", + "busywork", + "conda-channel-resource", + "data302", + "dev-docs", + "docs", + "environment-files", + "library", + "logos", + "paper1", + "paper2", + "q2-alignment", + "q2-composition", + "q2-cutadapt", + "q2-dada2", + "q2-deblur", + "q2-demux", + "q2-diversity", + "q2-diversity-lib", + "q2-emperor", + "q2-feature-classifier", + "q2-feature-table", + "q2-fragment-insertion", + "q2-gneiss", + "q2-longitudinal", + "q2-metadata", + "q2-mystery-stew", + "q2-phylogeny", + "q2-quality-control", + "q2-quality-filter", + "q2-sample-classifier", + "q2-taxa", + "q2-types", + "q2-vsearch", + "q2cli", + "q2cwl", + "q2galaxy", + "q2lint", + "q2studio", + "q2templates", + "q2view", + "qiime2", + "qiime2.github.io", + "sphinx-ext-qiime2", + "sphinx-qiime2-theme", + "static-site-infrastructure", + "template-repo", + "view.qiime2.org", + "vm-playbooks", + "workshop-playbooks", + "workshops", +] +remotes = [ + { name = "ChrisKeefe", base_addr = "ssh://git@github.com/ChrisKeefe" }, + { name = "Keegan-Evans", base_addr = "ssh://git@github.com/Keegan-Evans" }, + { name = "Oddant1", base_addr = "ssh://git@github.com/Oddant1" }, + { name = "cherman2", base_addr = "ssh://git@github.com/cherman2" }, + { name = "ebolyen", base_addr = "ssh://git@github.com/ebolyen" }, + { name = "gregcaporaso", base_addr = "ssh://git@github.com/gregcaporaso" }, + { name = "lizgehret", base_addr = "ssh://git@github.com/lizgehret" }, + { name = "nbokulich", base_addr = "ssh://git@github.com/nbokulich" }, + { name = "thermokarst-forks", base_addr = "ssh://git@github.com/thermokarst-forks" }, +] + +# github-thermokarst-forks-caporaso-lab +[[workspace]] +path = "$HOME/Desktop/projects/qiime2" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@github.com/caporaso-lab" +origin.name = "caporaso-lab" +repos = [ + "caporaso-lab.github.io", + "code-of-conduct", + "genome-sampler", + "pretrained-feature-classifiers", + "q2-phylogenomics", +] +remotes = [ + { name = "ebolyen", base_addr = "ssh://git@github.com/ebolyen" }, + { name = "gregcaporaso", base_addr = "ssh://git@github.com/gregcaporaso" }, + { name = "thermokarst-forks", base_addr = "ssh://git@github.com/thermokarst-forks" }, +] + +# github-thermokarst-forks-biocore +[[workspace]] +path = "$HOME/Desktop/projects/qiime2" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@github.com/biocore" +origin.name = "biocore" +repos = [ + "deblur", + "emperor", + "gneiss", + "scikit-bio", +] +remotes = [ + { name = "ebolyen", base_addr = "ssh://git@github.com/ebolyen" }, + { name = "thermokarst-forks", base_addr = "ssh://git@github.com/thermokarst-forks" }, +] + +# github-thermokarst-forks-bokulich-lab +[[workspace]] +path = "$HOME/Desktop/projects/qiime2" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@github.com/bokulich-lab" +origin.name = "bokulich-lab" +repos = [ + "RESCRIPt", +] +remotes = [ + { name = "nbokulich", base_addr = "ssh://git@github.com/nbokulich" }, + { name = "thermokarst-forks", base_addr = "ssh://git@github.com/thermokarst-forks" }, +] + +# github-thermokarst-forks-conda-forge +[[workspace]] +path = "$HOME/Desktop/projects/qiime2" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@github.com/conda-forge" +origin.name = "conda-forge" +repos = [ + "biom-format-feedstock", + "ijson-feedstock", + "scikit-bio-feedstock", +] +remotes = [ + { name = "thermokarst-forks", base_addr = "ssh://git@github.com/thermokarst-forks" }, +] + +# github-gregcaporaso +[[workspace]] +path = "$HOME/Desktop/projects/qiime2" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@github.com/gregcaporaso" +origin.name = "gregcaporaso" +repos = [ + "caporaso-lab-secrets", + "qiime2-meta-figures", +] +remotes = [] From f864d1390187e7fe03e1169433b97634ff636004 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 13 Jul 2021 14:18:30 -0700 Subject: [PATCH 023/226] maint: vscode && cargo --- vscode/settings.json | 3 ++- zsh/zshrc | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/vscode/settings.json b/vscode/settings.json index c4c012c..4ce9c6c 100644 --- a/vscode/settings.json +++ b/vscode/settings.json @@ -26,5 +26,6 @@ "python.defaultInterpreterPath": "~/.conda/envs/q2dev/bin/python", "python.terminal.activateEnvInCurrentTerminal": true, "python.languageServer": "Microsoft", - "liveshare.authenticationProvider": "GitHub" + "liveshare.authenticationProvider": "GitHub", + "editor.inlineSuggest.enabled": true } diff --git a/zsh/zshrc b/zsh/zshrc index f4039d6..b8a9363 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -14,6 +14,8 @@ if [[ -s "/opt/miniconda3/etc/profile.d/conda.sh" ]]; then source /opt/miniconda3/etc/profile.d/conda.sh fi +source "$HOME/.cargo/env" + # shortcuts alias q="conda activate q2dev" alias i="ipython3" From 5c619c4d0133e8055260c74cb501d293f2cab80b Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 10 Aug 2021 15:46:12 -0700 Subject: [PATCH 024/226] maint: git switch --- git/gitconfig | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/git/gitconfig b/git/gitconfig index bc6843d..28da453 100644 --- a/git/gitconfig +++ b/git/gitconfig @@ -42,8 +42,11 @@ d = diff dc = diff --cached s = status -s - co = checkout - cob = checkout -b + # TODO: drop when ready + # co = checkout + # cob = checkout -b + sw = switch + swc = switch -c # list branches sorted by last modified b = "!git for-each-ref --sort='-authordate' --format='%(authordate)%09%(objectname:short)%09%(refname)' refs/heads | sed -e 's-refs/heads/--'" # list aliases From 2c7b5d03152c0754b49460d698a5d5e012a29eab Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 26 Sep 2021 17:03:27 -0700 Subject: [PATCH 025/226] new: neovim config --- install.conf.yaml | 3 ++ nvim_init.vim | 120 ++++++++++++++++++++++++++++++++++++++++++++++ zsh/zshrc | 1 + 3 files changed, 124 insertions(+) create mode 100644 nvim_init.vim diff --git a/install.conf.yaml b/install.conf.yaml index 9ce7eed..d837ac9 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -32,3 +32,6 @@ ~/.config/kak/kakrc: create: true path: kakrc + ~/.config/nvim/init.vim: + create: true + path: nvim_init.vim diff --git a/nvim_init.vim b/nvim_init.vim new file mode 100644 index 0000000..23e3a34 --- /dev/null +++ b/nvim_init.vim @@ -0,0 +1,120 @@ +" Stick with vimscript at the moment, but prefer lua for config + +lua << EOF +local set = vim.opt + +set.number = true +set.autoindent = true +set.colorcolumn = {80, 100, 120} +set.cursorline = true +set.expandtab = true +set.backup = true +set.backupdir = { '~/.vim-tmp', '~/.tmp', '~/tmp', '/var/tmp', '/tmp' } +set.backupskip = { '/tmp/*', '/private/tmp/*' } +set.directory = { '~/.vim-tmp', '~/.tmp', '~/tmp', '/var/tmp', '/tmp' } +set.writebackup = true +set.list = true +set.listchars = { trail = '~', tab = '>=' } +set.mouse = 'a' +set.completeopt = { 'menu', 'menuone', 'noselect' } +set.termguicolors = true + +require('packer').startup(function() + ----------------------------------------------------------------------------- + use 'wbthomason/packer.nvim' + + ----------------------------------------------------------------------------- + use 'wakatime/vim-wakatime' + + ----------------------------------------------------------------------------- + use 'neovim/nvim-lspconfig' + require('lspconfig').pyright.setup({ + settings = { + python = { + venvPath = "~/.conda/envs", + analysis = { + useLibraryCodeForTypes = true, + } + } + } + }) + require('lspconfig').rust_analyzer.setup({}) + + ----------------------------------------------------------------------------- + use 'chriskempson/base16-vim' + vim.cmd('source ~/.vimrc_background') + vim.g.base16colorspace = 256 + + ----------------------------------------------------------------------------- + use { + 'nvim-telescope/telescope.nvim', + requires = { + { 'nvim-lua/plenary.nvim' }, + { 'kyazdani42/nvim-web-devicons' } + } + } + vim.api.nvim_set_keymap('n', '-', 'Telescope find_files', { noremap = true }) + + ----------------------------------------------------------------------------- + use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' } + + ----------------------------------------------------------------------------- + use 'hrsh7th/nvim-cmp' + use 'hrsh7th/cmp-nvim-lsp' + use 'hrsh7th/cmp-buffer' + use 'hrsh7th/cmp-vsnip' + use 'hrsh7th/vim-vsnip' + local cmp = require('cmp') + cmp.setup({ + snippet = { + expand = function(args) + vim.fn["vsnip#anonymous"](args.body) + end, + }, + mapping = { + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.close(), + [''] = cmp.mapping.confirm({ select = true }), + }, + sources = { + { name = 'nvim_lsp' }, + { name = 'vsnip' }, + { name = 'buffer' }, + } + }) + + ----------------------------------------------------------------------------- + use { + 'lewis6991/gitsigns.nvim', + requires = { { 'nvim-lua/plenary.nvim' } } + } + require('gitsigns').setup({}) + + ----------------------------------------------------------------------------- + use { + 'simrat39/rust-tools.nvim', + requires = { + { 'nvim-lua/popup.nvim' }, + { 'nvim-lua/plenary.nvim' } + } + } + require('rust-tools').setup({}) + + ----------------------------------------------------------------------------- + use { + 'GustavoKatel/sidebar.nvim', + requires = { { 'GustavoKatel/todo-comments.nvim' } } + } + require('sidebar-nvim').setup({ + side = 'right', + sections = { 'datetime', 'git-status', 'lsp-diagnostics', 'todos' } + }) + + ----------------------------------------------------------------------------- + use 'famiu/feline.nvim' + require('feline').setup({ preset = 'noicon' }) + +end) +EOF diff --git a/zsh/zshrc b/zsh/zshrc index b8a9363..de05496 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -20,6 +20,7 @@ source "$HOME/.cargo/env" alias q="conda activate q2dev" alias i="ipython3" alias greg="grep" +alias vim="nvim" BASE16_SHELL=$HOME/.config/base16-shell/ [ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)" From 0e13a233576ef8ac90cee5cddd7ff95e63bcf279 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 26 Oct 2021 13:31:41 -0700 Subject: [PATCH 026/226] maint: setting up on wsl2 (opensuse tumbleweed) --- README.md | 26 ++++++ git/gitconfig | 3 +- install.conf.yaml | 15 ++- nvim/init.vim | 25 +++++ nvim/plugins.lua | 141 +++++++++++++++++++++++++++++ nvim_init.vim | 120 ------------------------ repos.toml | 23 ++--- safe-reattach-to-user-namespace.sh | 8 ++ tmux.conf | 9 +- 9 files changed, 232 insertions(+), 138 deletions(-) create mode 100644 nvim/init.vim create mode 100644 nvim/plugins.lua delete mode 100644 nvim_init.vim create mode 100755 safe-reattach-to-user-namespace.sh diff --git a/README.md b/README.md index c679009..1cf893e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,31 @@ # dotfiles +## opensuse tumbleweed + +```bash +$ sudo visudo # add /opt/miniconda3/bin to secure_paths +$ sudo zypper install git libopenssl-1_1-devel tree zsh ripgrep +$ sudo zypper install -t pattern devel_C_C++ +$ sudo chsh -s $(which zsh) +$ sudo hostname rattusrattus +$ sudo systemd-tmpfiles --create +$ sudo echo "[interop]\nappendWindowsPath = false" > /etc/wsl.conf +$ git clone --origin pingo ssh://git@pingo.thermokar.st/dotfiles ~/.dotfiles +$ git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell +$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" +$ cd ~/.dotfiles +$ ./install +$ source ~/.zshrc +$ base16_ashes +$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh +$ sudo sh Miniconda3-latest-Linux-x86_64.sh -p /opt/miniconda3 -b +$ sudo conda update conda +$ wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py38-linux-conda.yml +$ conda env create -n q2dev --file qiime2-latest-py38-linux-conda.yml +``` + +## macos + ```bash $ wget -O gwar https://github.com/thermokarst/gwar/releases/download/0.0.1/gwar-macos $ chmod +x gwar diff --git a/git/gitconfig b/git/gitconfig index 28da453..237d112 100644 --- a/git/gitconfig +++ b/git/gitconfig @@ -2,8 +2,7 @@ name = Matthew Dillon email = matthewrdillon@gmail.com [core] - editor = vim - excludesfile = /Users/matthew/.gitignore_global + editor = nvim [color] diff = auto status = auto diff --git a/install.conf.yaml b/install.conf.yaml index d837ac9..e5a3023 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -10,7 +10,9 @@ - link: ~/.tmux.conf: tmux.conf ~/.gitconfig: git/gitconfig - ~/.gitignore_global: git/gitignore_global + ~/.config/git/ignore: + create: true + path: git/gitignore_global ~/.npmrc: npmrc ~/.psqlrc: psqlrc ~/.vimrc: vimrc @@ -34,4 +36,13 @@ path: kakrc ~/.config/nvim/init.vim: create: true - path: nvim_init.vim + path: nvim/init.vim + ~/.config/nvim/init.vim: + create: true + path: nvim/init.vim + ~/.config/nvim/lua/plugins.lua: + create: true + path: nvim/plugins.lua + ~/bin/safe-reattach-to-user-namespace: + create: true + path: safe-reattach-to-user-namespace.sh diff --git a/nvim/init.vim b/nvim/init.vim new file mode 100644 index 0000000..fe32b9f --- /dev/null +++ b/nvim/init.vim @@ -0,0 +1,25 @@ +" Stick with vimscript file at the moment, but prefer lua for config + +" TODO: fix this vimscript fallback +set backupdir=~/.vim-tmp +set directory=~/.vim-tmp + +lua << EOF +local set = vim.opt + +set.number = true +set.autoindent = true +set.colorcolumn = {80, 100, 120} +set.cursorline = true +set.expandtab = true +set.backup = true + +set.writebackup = true +set.list = true +set.listchars = { trail = '~', tab = '>=' } +set.mouse = 'a' +set.completeopt = { 'menu', 'menuone', 'noselect' } +set.termguicolors = true + +require('plugins') +EOF diff --git a/nvim/plugins.lua b/nvim/plugins.lua new file mode 100644 index 0000000..894e486 --- /dev/null +++ b/nvim/plugins.lua @@ -0,0 +1,141 @@ +local fn = vim.fn + +local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' + +if fn.empty(fn.glob(install_path)) > 0 then + packer_bootstrap = fn.system({ + 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path + }) +end + +return require('packer').startup(function() + ----------------------------------------------------------------------------- + use 'wbthomason/packer.nvim' + + ----------------------------------------------------------------------------- + use 'wakatime/vim-wakatime' + + ----------------------------------------------------------------------------- + use { + 'neovim/nvim-lspconfig', + config = function() + lspconfig = require('lspconfig') + + lspconfig.pyright.setup({ + settings = { + python = { + venvPath = "~/.conda/envs", + analysis = { + useLibraryCodeForTypes = true, + } + } + } + }) + + lspconfig.rust_analyzer.setup({}) + end, + } + + ----------------------------------------------------------------------------- + use { + 'chriskempson/base16-vim', + config = function() + vim.cmd('source ~/.vimrc_background') + vim.g.base16colorspace = 256 + end, + } + + ----------------------------------------------------------------------------- + use { + 'nvim-telescope/telescope.nvim', + requires = { + { 'nvim-lua/plenary.nvim' }, + { 'kyazdani42/nvim-web-devicons' }, + }, + config = function() + vim.api.nvim_set_keymap('n', '-', 'Telescope find_files', { noremap = true }) + end, + } + + ----------------------------------------------------------------------------- + use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' } + + ----------------------------------------------------------------------------- + use { + 'hrsh7th/nvim-cmp', + requires = { + { 'hrsh7th/cmp-vsnip', after = "nvim-cmp" }, + { 'hrsh7th/cmp-nvim-lsp', after = "nvim-cmp" }, + { 'hrsh7th/cmp-buffer', after = "nvim-cmp" }, + { 'hrsh7th/vim-vsnip', after = "nvim-cmp" }, + }, + config = function() + local cmp = require('cmp') + cmp.setup({ + snippet = { + expand = function(args) + vim.fn["vsnip#anonymous"](args.body) + end, + }, + mapping = { + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.close(), + [''] = cmp.mapping.confirm({ select = true }), + }, + sources = { + { name = 'nvim_lsp' }, + { name = 'vsnip' }, + { name = 'buffer' }, + } + }) + end, + } + + ----------------------------------------------------------------------------- + use { + 'lewis6991/gitsigns.nvim', + requires = { { 'nvim-lua/plenary.nvim' } }, + config = function() + require('gitsigns').setup({}) + end, + } + + ----------------------------------------------------------------------------- + use { + 'simrat39/rust-tools.nvim', + requires = { + { 'nvim-lua/popup.nvim' }, + { 'nvim-lua/plenary.nvim' }, + }, + config = function() + require('rust-tools').setup({}) + end, + } + + ----------------------------------------------------------------------------- + use { + 'GustavoKatel/sidebar.nvim', + requires = { { 'GustavoKatel/todo-comments.nvim' } }, + config = function() + require('sidebar-nvim').setup({ + side = 'right', + sections = { 'datetime', 'git-status', 'lsp-diagnostics', 'todos' } + }) + end, + } + + ----------------------------------------------------------------------------- + use { + 'famiu/feline.nvim', + config = function() + require('feline').setup({ preset = 'noicon' }) + end, + } + + ----------------------------------------------------------------------------- + if packer_bootstrap then + require('packer').sync() + end +end) diff --git a/nvim_init.vim b/nvim_init.vim deleted file mode 100644 index 23e3a34..0000000 --- a/nvim_init.vim +++ /dev/null @@ -1,120 +0,0 @@ -" Stick with vimscript at the moment, but prefer lua for config - -lua << EOF -local set = vim.opt - -set.number = true -set.autoindent = true -set.colorcolumn = {80, 100, 120} -set.cursorline = true -set.expandtab = true -set.backup = true -set.backupdir = { '~/.vim-tmp', '~/.tmp', '~/tmp', '/var/tmp', '/tmp' } -set.backupskip = { '/tmp/*', '/private/tmp/*' } -set.directory = { '~/.vim-tmp', '~/.tmp', '~/tmp', '/var/tmp', '/tmp' } -set.writebackup = true -set.list = true -set.listchars = { trail = '~', tab = '>=' } -set.mouse = 'a' -set.completeopt = { 'menu', 'menuone', 'noselect' } -set.termguicolors = true - -require('packer').startup(function() - ----------------------------------------------------------------------------- - use 'wbthomason/packer.nvim' - - ----------------------------------------------------------------------------- - use 'wakatime/vim-wakatime' - - ----------------------------------------------------------------------------- - use 'neovim/nvim-lspconfig' - require('lspconfig').pyright.setup({ - settings = { - python = { - venvPath = "~/.conda/envs", - analysis = { - useLibraryCodeForTypes = true, - } - } - } - }) - require('lspconfig').rust_analyzer.setup({}) - - ----------------------------------------------------------------------------- - use 'chriskempson/base16-vim' - vim.cmd('source ~/.vimrc_background') - vim.g.base16colorspace = 256 - - ----------------------------------------------------------------------------- - use { - 'nvim-telescope/telescope.nvim', - requires = { - { 'nvim-lua/plenary.nvim' }, - { 'kyazdani42/nvim-web-devicons' } - } - } - vim.api.nvim_set_keymap('n', '-', 'Telescope find_files', { noremap = true }) - - ----------------------------------------------------------------------------- - use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' } - - ----------------------------------------------------------------------------- - use 'hrsh7th/nvim-cmp' - use 'hrsh7th/cmp-nvim-lsp' - use 'hrsh7th/cmp-buffer' - use 'hrsh7th/cmp-vsnip' - use 'hrsh7th/vim-vsnip' - local cmp = require('cmp') - cmp.setup({ - snippet = { - expand = function(args) - vim.fn["vsnip#anonymous"](args.body) - end, - }, - mapping = { - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.close(), - [''] = cmp.mapping.confirm({ select = true }), - }, - sources = { - { name = 'nvim_lsp' }, - { name = 'vsnip' }, - { name = 'buffer' }, - } - }) - - ----------------------------------------------------------------------------- - use { - 'lewis6991/gitsigns.nvim', - requires = { { 'nvim-lua/plenary.nvim' } } - } - require('gitsigns').setup({}) - - ----------------------------------------------------------------------------- - use { - 'simrat39/rust-tools.nvim', - requires = { - { 'nvim-lua/popup.nvim' }, - { 'nvim-lua/plenary.nvim' } - } - } - require('rust-tools').setup({}) - - ----------------------------------------------------------------------------- - use { - 'GustavoKatel/sidebar.nvim', - requires = { { 'GustavoKatel/todo-comments.nvim' } } - } - require('sidebar-nvim').setup({ - side = 'right', - sections = { 'datetime', 'git-status', 'lsp-diagnostics', 'todos' } - }) - - ----------------------------------------------------------------------------- - use 'famiu/feline.nvim' - require('feline').setup({ preset = 'noicon' }) - -end) -EOF diff --git a/repos.toml b/repos.toml index c7f03ed..ef47db9 100644 --- a/repos.toml +++ b/repos.toml @@ -1,6 +1,6 @@ # personal [[workspace]] -path = "$HOME/Desktop/projects/personal" +path = "$HOME/projects/personal" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@pingo.thermokar.st" origin.name = "pingo" @@ -19,7 +19,7 @@ remotes = [] # personal-dokku [[workspace]] -path = "$HOME/Desktop/projects/personal" +path = "$HOME/projects/personal" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@pingo.thermokar.st" origin.name = "pingo" @@ -35,7 +35,7 @@ remotes = [ # mds [[workspace]] -path = "$HOME/Desktop/projects/mds" +path = "$HOME/projects/mds" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@pingo.thermokar.st" origin.name = "pingo" @@ -55,7 +55,7 @@ remotes = [] # github-thermokarst-personal [[workspace]] -path = "$HOME/Desktop/projects/personal" +path = "$HOME/projects/personal" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@github.com/thermokarst" origin.name = "thermokarst" @@ -66,7 +66,7 @@ remotes = [] # github-thermokarst-qiime2 [[workspace]] -path = "$HOME/Desktop/projects/qiime2" +path = "$HOME/projects/qiime2" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@github.com/thermokarst" origin.name = "thermokarst" @@ -78,7 +78,7 @@ remotes = [] # github-thermokarst-forks-qiime2 [[workspace]] -path = "$HOME/Desktop/projects/qiime2" +path = "$HOME/projects/qiime2" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@github.com/qiime2" origin.name = "qiime2" @@ -93,6 +93,7 @@ repos = [ "environment-files", "library", "logos", + "package-integration", "paper1", "paper2", "q2-alignment", @@ -150,7 +151,7 @@ remotes = [ # github-thermokarst-forks-caporaso-lab [[workspace]] -path = "$HOME/Desktop/projects/qiime2" +path = "$HOME/projects/qiime2" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@github.com/caporaso-lab" origin.name = "caporaso-lab" @@ -169,7 +170,7 @@ remotes = [ # github-thermokarst-forks-biocore [[workspace]] -path = "$HOME/Desktop/projects/qiime2" +path = "$HOME/projects/qiime2" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@github.com/biocore" origin.name = "biocore" @@ -186,7 +187,7 @@ remotes = [ # github-thermokarst-forks-bokulich-lab [[workspace]] -path = "$HOME/Desktop/projects/qiime2" +path = "$HOME/projects/qiime2" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@github.com/bokulich-lab" origin.name = "bokulich-lab" @@ -200,7 +201,7 @@ remotes = [ # github-thermokarst-forks-conda-forge [[workspace]] -path = "$HOME/Desktop/projects/qiime2" +path = "$HOME/projects/qiime2" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@github.com/conda-forge" origin.name = "conda-forge" @@ -215,7 +216,7 @@ remotes = [ # github-gregcaporaso [[workspace]] -path = "$HOME/Desktop/projects/qiime2" +path = "$HOME/projects/qiime2" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@github.com/gregcaporaso" origin.name = "gregcaporaso" diff --git a/safe-reattach-to-user-namespace.sh b/safe-reattach-to-user-namespace.sh new file mode 100755 index 0000000..c4200fd --- /dev/null +++ b/safe-reattach-to-user-namespace.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh + +# If reattach-to-user-namespace is not available, just run the command. +if [ -n "$(command -v reattach-to-user-namespace)" ]; then + reattach-to-user-namespace $@ +else + exec "$@" +fi diff --git a/tmux.conf b/tmux.conf index acb896e..82d47a0 100644 --- a/tmux.conf +++ b/tmux.conf @@ -1,8 +1,11 @@ +# need to set escape-time first, for wsl deploys +set -sg escape-time 50 setw -g automatic-rename -set-option -g default-shell /bin/zsh -set -g default-command "reattach-to-user-namespace -l ${SHELL}" +set-option -g default-shell $SHELL +# set -g default-command "~/bin/safe-reattach-to-user-namespace -l ${SHELL}" set -g default-terminal "screen-256color" +set -ga terminal-overrides ",xterm-256color*:Tc" set -g prefix C-a unbind C-b @@ -37,7 +40,6 @@ set -g status-right '\ #[fg=white,bg=default]%a %l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' set-option -g renumber-windows on -set -sg escape-time 0 set-option -g destroy-unattached 'off' # Enable mouse control (clickable windows, panes, resizable panes) @@ -45,5 +47,6 @@ set -g mouse on bind-key -T copy-mode-vi 'v' send -X begin-selection bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel +# NOTE: the following line is for macos, but its presence doesnt seem to be a prob. on linux bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy' bind-key p paste-buffer From fce3b73fbbcf6fbe4ed2497aed88d431ea0ddd6c Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 26 Oct 2021 13:36:08 -0700 Subject: [PATCH 027/226] maint: adding gwar instructions --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 1cf893e..07f4dcb 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,11 @@ $ cd ~/.dotfiles $ ./install $ source ~/.zshrc $ base16_ashes +$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +$ git clone ssh://git@pingo.thermokar.st/gwar ~/gwar +$ cd gwar +$ cargo build --release +$ ./target/release/gwar ~/.dotfiles/repos.toml $ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh $ sudo sh Miniconda3-latest-Linux-x86_64.sh -p /opt/miniconda3 -b $ sudo conda update conda From 77216522000059e748d28ce93beb0f3c903a2203 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 26 Oct 2021 16:34:29 -0700 Subject: [PATCH 028/226] maint: misc env cleanup --- zsh/zshenv | 52 +++++++++++----------------------------------------- zsh/zshrc | 33 ++++++++++++++------------------- 2 files changed, 25 insertions(+), 60 deletions(-) diff --git a/zsh/zshenv b/zsh/zshenv index bfacf69..81b59f2 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -1,41 +1,19 @@ -# -# Defines environment variables. -# - -# -# Nix -# - -export NIX_IGNORE_SYMLINK_STORE=1 - -# # Browser -# - if [[ "$OSTYPE" == darwin* ]]; then export BROWSER='open' fi -# # Editors -# - -export EDITOR='vim' -export VISUAL='vim' +export EDITOR='nvim' +export VISUAL='nvim' export PAGER='less' -# # Language -# - if [[ -z "$LANG" ]]; then export LANG='en_US.UTF-8' fi -# # Less -# - # Set the default Less options. # Mouse-wheel scrolling has been disabled by -X (disable screen clearing). # Remove -X and -F (exit if the content fits on one screen) to enable it. @@ -46,10 +24,7 @@ if (( $+commands[lesspipe.sh] )); then export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-' fi -# # Temporary Files -# - if [[ ! -d "$TMPDIR" ]]; then export TMPDIR="/tmp/$USER" mkdir -p -m 700 "$TMPDIR" @@ -59,21 +34,13 @@ TMPPREFIX="${TMPDIR%/}/zsh" if [[ ! -d "$TMPPREFIX" ]]; then mkdir -p "$TMPPREFIX" fi +# Necessary for tmux on WSL, shouldn't impact macos +export TMUX_TMPDIR='/tmp' -# # Paths -# - typeset -gU cdpath fpath mailpath path -# Set the the list of directories that cd searches. -# cdpath=( -# . -# $cdpath -# ) - -# Set the list of directories that Zsh searches for programs. -path=( +check_paths=( # miniconda /opt/miniconda3/bin @@ -81,8 +48,6 @@ path=( /opt/local/bin /opt/local/sbin - $path - # npm $HOME/.npm-packages/bin @@ -98,7 +63,12 @@ path=( /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/ ) -export -U PATH +for fp in $check_paths; do + if [[ -s "$fp" ]]; then + path+=("$fp") + fi +done +export -U PATH export CONDA_ENVS_PATH=$HOME/.conda/envs:/opt/miniconda3/envs export CONDA_PKGS_DIRS=$HOME/.conda/pkgs diff --git a/zsh/zshrc b/zsh/zshrc index de05496..581c416 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -1,30 +1,25 @@ # Matthew Dillon # matthewrdillon@gmail.com -# -# source Prezto. -if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then - source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" -fi -if [[ -s "${HOME}/.nix-profile/etc/profile.d/nix.sh" ]]; then - source $HOME/.nix-profile/etc/profile.d/nix.sh -fi +srcs=( + "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" + "/opt/miniconda3/etc/profile.d/conda.sh" + "$HOME/.cargo/env" +) -if [[ -s "/opt/miniconda3/etc/profile.d/conda.sh" ]]; then - source /opt/miniconda3/etc/profile.d/conda.sh -fi - -source "$HOME/.cargo/env" - -# shortcuts -alias q="conda activate q2dev" -alias i="ipython3" -alias greg="grep" -alias vim="nvim" +for fp in $srcs; do + if [[ -s "$fp" ]]; then + source "$fp" + fi +done BASE16_SHELL=$HOME/.config/base16-shell/ [ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)" +alias q="conda activate q2dev" +alias i="ipython3" +alias vim="nvim" + # Backup shortcuts (borrowed parts from https://github.com/laurent22/rsync-time-backup function prune_backups() { dest_root="/Volumes/field_on_fire/$HOST" From 716df683af0bfe607aaf44d97d0742fec7dae23c Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 28 Oct 2021 20:15:13 -0700 Subject: [PATCH 029/226] maint: wsl paths --- zsh/zshenv | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zsh/zshenv b/zsh/zshenv index 81b59f2..46d9a8c 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -58,6 +58,9 @@ check_paths=( # rust $HOME/.cargo/bin + # WSL + /mnt/c/windows + # misc apps /Applications/Postgres.app/Contents/Versions/latest/bin/ /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/ From f4a3b65189420f5fe16e8d512bb6080756e87213 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 13 Feb 2022 11:07:53 -0700 Subject: [PATCH 030/226] wslg updates --- README.md | 24 +++++++++++++++ install.conf.yaml | 7 ----- nvim/plugins.lua | 6 ++++ personal.toml | 65 ++++++++++++++++++++++++++++++++++++++++ repos.toml => work.toml | 66 ----------------------------------------- zsh/zshrc | 4 +++ 6 files changed, 99 insertions(+), 73 deletions(-) create mode 100644 personal.toml rename repos.toml => work.toml (76%) diff --git a/README.md b/README.md index 07f4dcb..b100cb2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,29 @@ # dotfiles +## wslg ubuntu + +```bash +sudo apt update +sudo apt upgrade +sudo apt install nvim tmux ripgrep zsh tree git build-essential libssl-dev pkg-config +sudo hostname $HOSTNAME +chsh -s $(which zsh) +sudo echo "[interop]\nappendWindowsPath = false" > /etc/wsl.conf +git clone --origin pingo ssh://git@pingo.thermokar.st/dotfiles ~/.dotfiles +git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell +git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" +cd ~/.dotfiles +./install +source ~/.zshrc +base16_ashes +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +git clone ssh://git@pingo.thermokar.st/gwar ~/gwar +cd ~/gwar +cargo --build --release +./target/release/gwar ~/.dotfiles/$REPOS.toml +cd ~/ && rm -rf ~/gwar +``` + ## opensuse tumbleweed ```bash diff --git a/install.conf.yaml b/install.conf.yaml index e5a3023..372181a 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -15,7 +15,6 @@ path: git/gitignore_global ~/.npmrc: npmrc ~/.psqlrc: psqlrc - ~/.vimrc: vimrc ~/.zpreztorc: zsh/zpreztorc ~/.zlogin: zsh/zlogin ~/.zlogout: zsh/zlogout @@ -31,12 +30,6 @@ ~/Library/Application Support/Code/User/tasks.json: create: true path: vscode/tasks.json - ~/.config/kak/kakrc: - create: true - path: kakrc - ~/.config/nvim/init.vim: - create: true - path: nvim/init.vim ~/.config/nvim/init.vim: create: true path: nvim/init.vim diff --git a/nvim/plugins.lua b/nvim/plugins.lua index 894e486..f88c829 100644 --- a/nvim/plugins.lua +++ b/nvim/plugins.lua @@ -134,6 +134,12 @@ return require('packer').startup(function() end, } + ----------------------------------------------------------------------------- + use { 'SuneelFreimuth/vim-gemtext' } + + ----------------------------------------------------------------------------- + use { 'junegunn/goyo.vim' } + ----------------------------------------------------------------------------- if packer_bootstrap then require('packer').sync() diff --git a/personal.toml b/personal.toml new file mode 100644 index 0000000..7c9f69e --- /dev/null +++ b/personal.toml @@ -0,0 +1,65 @@ +# personal +[[workspace]] +path = "$HOME/projects/personal" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@pingo.thermokar.st" +origin.name = "pingo" +repos = [ + "cs685", + "dot_ssh", + "dotfiles", + "elixir-class", + "gitolite-admin", + "gpx-web-utils", + "gwar", + "notes", + "pingo", +] +remotes = [] + +# personal-dokku +[[workspace]] +path = "$HOME/projects/personal" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@pingo.thermokar.st" +origin.name = "pingo" +repos = [ + "akdillon", + "planner", + "thermokar.st", + "zettel", +] +remotes = [ + { name = "dokku", base_addr = "ssh://dokku@pingo.thermokar.st" }, +] + +# mds +[[workspace]] +path = "$HOME/projects/mds" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@pingo.thermokar.st" +origin.name = "pingo" +repos = [ + "arctic_hibernators_schema", + "bactdb", + "bactdb_data", + "ccdb-api", + "ccdb-old", + "ccdb-web", + "drf_ember_pagination", + "hibernators", + "hibernators-web", + "hymenobacterdotinfo", +] +remotes = [] + +# github-thermokarst-personal +[[workspace]] +path = "$HOME/projects/personal" +ssh_key_path = "$HOME/.ssh/id_ecdsa" +origin.base_addr = "ssh://git@github.com/thermokarst" +origin.name = "thermokarst" +repos = [ + "thermokarst", +] +remotes = [] diff --git a/repos.toml b/work.toml similarity index 76% rename from repos.toml rename to work.toml index ef47db9..0bf7381 100644 --- a/repos.toml +++ b/work.toml @@ -1,69 +1,3 @@ -# personal -[[workspace]] -path = "$HOME/projects/personal" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@pingo.thermokar.st" -origin.name = "pingo" -repos = [ - "cs685", - "dot_ssh", - "dotfiles", - "elixir-class", - "gitolite-admin", - "gpx-web-utils", - "gwar", - "notes", - "pingo", -] -remotes = [] - -# personal-dokku -[[workspace]] -path = "$HOME/projects/personal" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@pingo.thermokar.st" -origin.name = "pingo" -repos = [ - "akdillon", - "planner", - "thermokar.st", - "zettel", -] -remotes = [ - { name = "dokku", base_addr = "ssh://dokku@pingo.thermokar.st" }, -] - -# mds -[[workspace]] -path = "$HOME/projects/mds" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@pingo.thermokar.st" -origin.name = "pingo" -repos = [ - "arctic_hibernators_schema", - "bactdb", - "bactdb_data", - "ccdb-api", - "ccdb-old", - "ccdb-web", - "drf_ember_pagination", - "hibernators", - "hibernators-web", - "hymenobacterdotinfo", -] -remotes = [] - -# github-thermokarst-personal -[[workspace]] -path = "$HOME/projects/personal" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@github.com/thermokarst" -origin.name = "thermokarst" -repos = [ - "thermokarst", -] -remotes = [] - # github-thermokarst-qiime2 [[workspace]] path = "$HOME/projects/qiime2" diff --git a/zsh/zshrc b/zsh/zshrc index 581c416..33d6faf 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -64,3 +64,7 @@ function back_things_up() { ln -s $dest_root/$date $dest_root/latest # TODO: once confident pruning is working well, add that in here } + +function devlog() { + vim -c 'Goyo' '+normal Go' +startinsert ~/projects/personal/devlog/logs/$(date '+%Y-%m-%d').gmi +} From 02e9424408c92383854ce72765638b278b9cb2de Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 14 Mar 2022 06:59:10 -0700 Subject: [PATCH 031/226] maint: godot tweaks --- nvim/init.vim | 3 ++- nvim/plugins.lua | 3 +++ personal.toml | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/nvim/init.vim b/nvim/init.vim index fe32b9f..f5a7a1a 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -16,10 +16,11 @@ set.backup = true set.writebackup = true set.list = true -set.listchars = { trail = '~', tab = '>=' } +set.listchars = { trail = '~', tab = '>.' } set.mouse = 'a' set.completeopt = { 'menu', 'menuone', 'noselect' } set.termguicolors = true +set.tabstop = 4 require('plugins') EOF diff --git a/nvim/plugins.lua b/nvim/plugins.lua index f88c829..1775fb1 100644 --- a/nvim/plugins.lua +++ b/nvim/plugins.lua @@ -15,6 +15,9 @@ return require('packer').startup(function() ----------------------------------------------------------------------------- use 'wakatime/vim-wakatime' + ----------------------------------------------------------------------------- + use 'calviken/vim-gdscript3' + ----------------------------------------------------------------------------- use { 'neovim/nvim-lspconfig', diff --git a/personal.toml b/personal.toml index 7c9f69e..c428f65 100644 --- a/personal.toml +++ b/personal.toml @@ -26,6 +26,7 @@ origin.name = "pingo" repos = [ "akdillon", "planner", + # dokku app name is thermokarst, not thermokar.st "thermokar.st", "zettel", ] From cde057f0e146c13c49e77131078cf907d307a660 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 14 Mar 2022 16:40:18 -0700 Subject: [PATCH 032/226] more gdscript tweaks --- install.conf.yaml | 2 ++ nvim/ftplugin/gdscript.vim | 1 + nvim/plugins.lua | 71 ++++++++++++++++++++++---------------- 3 files changed, 45 insertions(+), 29 deletions(-) create mode 100644 nvim/ftplugin/gdscript.vim diff --git a/install.conf.yaml b/install.conf.yaml index 372181a..41e55b9 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -36,6 +36,8 @@ ~/.config/nvim/lua/plugins.lua: create: true path: nvim/plugins.lua + ~/.config/nvim/ftplugin: + path: nvim/ftplugin ~/bin/safe-reattach-to-user-namespace: create: true path: safe-reattach-to-user-namespace.sh diff --git a/nvim/ftplugin/gdscript.vim b/nvim/ftplugin/gdscript.vim new file mode 100644 index 0000000..c24da59 --- /dev/null +++ b/nvim/ftplugin/gdscript.vim @@ -0,0 +1 @@ +setlocal shiftwidth=4 diff --git a/nvim/plugins.lua b/nvim/plugins.lua index 1775fb1..6de6764 100644 --- a/nvim/plugins.lua +++ b/nvim/plugins.lua @@ -10,34 +10,13 @@ end return require('packer').startup(function() ----------------------------------------------------------------------------- - use 'wbthomason/packer.nvim' + use { 'wbthomason/packer.nvim' } ----------------------------------------------------------------------------- - use 'wakatime/vim-wakatime' + use { 'wakatime/vim-wakatime' } ----------------------------------------------------------------------------- - use 'calviken/vim-gdscript3' - - ----------------------------------------------------------------------------- - use { - 'neovim/nvim-lspconfig', - config = function() - lspconfig = require('lspconfig') - - lspconfig.pyright.setup({ - settings = { - python = { - venvPath = "~/.conda/envs", - analysis = { - useLibraryCodeForTypes = true, - } - } - } - }) - - lspconfig.rust_analyzer.setup({}) - end, - } + use { 'habamax/vim-godot' } ----------------------------------------------------------------------------- use { @@ -67,10 +46,10 @@ return require('packer').startup(function() use { 'hrsh7th/nvim-cmp', requires = { - { 'hrsh7th/cmp-vsnip', after = "nvim-cmp" }, - { 'hrsh7th/cmp-nvim-lsp', after = "nvim-cmp" }, - { 'hrsh7th/cmp-buffer', after = "nvim-cmp" }, - { 'hrsh7th/vim-vsnip', after = "nvim-cmp" }, + { 'hrsh7th/cmp-vsnip', after = 'nvim-cmp' }, + { 'hrsh7th/cmp-nvim-lsp', after = 'nvim-cmp' }, + { 'hrsh7th/cmp-buffer', after = 'nvim-cmp' }, + { 'hrsh7th/vim-vsnip', after = 'nvim-cmp' }, }, config = function() local cmp = require('cmp') @@ -96,6 +75,38 @@ return require('packer').startup(function() end, } + ----------------------------------------------------------------------------- + use { + 'neovim/nvim-lspconfig', + after = 'nvim-cmp', + config = function() + lspconfig = require('lspconfig') + + lspconfig.pyright.setup({ + settings = { + python = { + venvPath = "~/.conda/envs", + analysis = { + useLibraryCodeForTypes = true, + } + } + } + }) + + lspconfig.rust_analyzer.setup({}) + + local cmp = require('cmp_nvim_lsp') + local gd_capabilities = cmp.update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ) + lspconfig.gdscript.setup({ + capabilities = gd_capabilities, + cmd = { 'nc', '127.0.0.1', '6008' }, + }) + + end, + } + ----------------------------------------------------------------------------- use { 'lewis6991/gitsigns.nvim', @@ -108,7 +119,9 @@ return require('packer').startup(function() ----------------------------------------------------------------------------- use { 'simrat39/rust-tools.nvim', + after = 'nvim-lspconfig', requires = { + { 'neovim/nvim-lspconfig' }, { 'nvim-lua/popup.nvim' }, { 'nvim-lua/plenary.nvim' }, }, @@ -124,7 +137,7 @@ return require('packer').startup(function() config = function() require('sidebar-nvim').setup({ side = 'right', - sections = { 'datetime', 'git-status', 'lsp-diagnostics', 'todos' } + sections = { 'datetime', 'git', 'diagnostics', 'todos' } }) end, } From 0a3d0c304b0a256c7413d982cc812d51a5ad3d64 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 14 Mar 2022 22:49:23 -0700 Subject: [PATCH 033/226] update $PATH --- zsh/zshenv | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zsh/zshenv b/zsh/zshenv index 46d9a8c..19bcdc0 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -64,6 +64,9 @@ check_paths=( # misc apps /Applications/Postgres.app/Contents/Versions/latest/bin/ /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/ + + # home + $HOME/bin ) for fp in $check_paths; do From cea84294d360aed5b9be3ec196f797116cfced34 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 15 Mar 2022 14:43:31 -0700 Subject: [PATCH 034/226] new scm gutter plugin --- nvim/plugins.lua | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/nvim/plugins.lua b/nvim/plugins.lua index 6de6764..5cebe36 100644 --- a/nvim/plugins.lua +++ b/nvim/plugins.lua @@ -108,13 +108,7 @@ return require('packer').startup(function() } ----------------------------------------------------------------------------- - use { - 'lewis6991/gitsigns.nvim', - requires = { { 'nvim-lua/plenary.nvim' } }, - config = function() - require('gitsigns').setup({}) - end, - } + use { 'mhinz/vim-signify' } ----------------------------------------------------------------------------- use { From 766edf680a65be0bdf3fb6b9d68b459730298334 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 24 May 2022 11:52:40 -0700 Subject: [PATCH 035/226] new: remarkable/gemini sync --- remarkable-sync.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100755 remarkable-sync.sh diff --git a/remarkable-sync.sh b/remarkable-sync.sh new file mode 100755 index 0000000..2bcbd7a --- /dev/null +++ b/remarkable-sync.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -e + +offpunk.py --sync +rsync -r --copy-links ~/remarkable/ root@192.168.1.157:~/sync From b1dd2c897aaf02ef56739fddaffb59ef45a4ff1f Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 24 May 2022 11:53:13 -0700 Subject: [PATCH 036/226] new: ripgrep show hidden files --- install.conf.yaml | 1 + nvim/plugins.lua | 4 +++- ripgreprc | 1 + zsh/zshenv | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 ripgreprc diff --git a/install.conf.yaml b/install.conf.yaml index 41e55b9..01faf31 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -15,6 +15,7 @@ path: git/gitignore_global ~/.npmrc: npmrc ~/.psqlrc: psqlrc + ~/.ripgreprc: ripgreprc ~/.zpreztorc: zsh/zpreztorc ~/.zlogin: zsh/zlogin ~/.zlogout: zsh/zlogout diff --git a/nvim/plugins.lua b/nvim/plugins.lua index 5cebe36..ba738d6 100644 --- a/nvim/plugins.lua +++ b/nvim/plugins.lua @@ -35,7 +35,9 @@ return require('packer').startup(function() { 'kyazdani42/nvim-web-devicons' }, }, config = function() - vim.api.nvim_set_keymap('n', '-', 'Telescope find_files', { noremap = true }) + vim.api.nvim_set_keymap('n', '-', + ':Telescope find_files find_command=rg,--ignore,--ignore-case,--hidden,--files', + { noremap = true }) end, } diff --git a/ripgreprc b/ripgreprc new file mode 100644 index 0000000..93e2cfc --- /dev/null +++ b/ripgreprc @@ -0,0 +1 @@ +--glob=!.git/* diff --git a/zsh/zshenv b/zsh/zshenv index 19bcdc0..c26a015 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -78,3 +78,4 @@ done export -U PATH export CONDA_ENVS_PATH=$HOME/.conda/envs:/opt/miniconda3/envs export CONDA_PKGS_DIRS=$HOME/.conda/pkgs +export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc From a72e1b9e8a93cfc0c09d03cff8891f73a661d36e Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 25 May 2022 16:24:17 -0700 Subject: [PATCH 037/226] maint: drop opensuse --- README.md | 78 ++----------------------------------------------------- 1 file changed, 2 insertions(+), 76 deletions(-) diff --git a/README.md b/README.md index b100cb2..095efe0 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ```bash sudo apt update sudo apt upgrade -sudo apt install nvim tmux ripgrep zsh tree git build-essential libssl-dev pkg-config +sudo apt install neovim tmux ripgrep zsh tree git build-essential libssl-dev pkg-config sudo hostname $HOSTNAME chsh -s $(which zsh) sudo echo "[interop]\nappendWindowsPath = false" > /etc/wsl.conf @@ -19,85 +19,11 @@ base16_ashes curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh git clone ssh://git@pingo.thermokar.st/gwar ~/gwar cd ~/gwar -cargo --build --release +cargo build --release ./target/release/gwar ~/.dotfiles/$REPOS.toml cd ~/ && rm -rf ~/gwar ``` -## opensuse tumbleweed - -```bash -$ sudo visudo # add /opt/miniconda3/bin to secure_paths -$ sudo zypper install git libopenssl-1_1-devel tree zsh ripgrep -$ sudo zypper install -t pattern devel_C_C++ -$ sudo chsh -s $(which zsh) -$ sudo hostname rattusrattus -$ sudo systemd-tmpfiles --create -$ sudo echo "[interop]\nappendWindowsPath = false" > /etc/wsl.conf -$ git clone --origin pingo ssh://git@pingo.thermokar.st/dotfiles ~/.dotfiles -$ git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell -$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" -$ cd ~/.dotfiles -$ ./install -$ source ~/.zshrc -$ base16_ashes -$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -$ git clone ssh://git@pingo.thermokar.st/gwar ~/gwar -$ cd gwar -$ cargo build --release -$ ./target/release/gwar ~/.dotfiles/repos.toml -$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -$ sudo sh Miniconda3-latest-Linux-x86_64.sh -p /opt/miniconda3 -b -$ sudo conda update conda -$ wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py38-linux-conda.yml -$ conda env create -n q2dev --file qiime2-latest-py38-linux-conda.yml -``` - -## macos - -```bash -$ wget -O gwar https://github.com/thermokarst/gwar/releases/download/0.0.1/gwar-macos -$ chmod +x gwar -$ ./gwar ~/.dotfiles/repos.toml -$ git clone --origin pingo ssh://git@pingo.thermokar.st/dotfiles ~/.dotfiles -$ git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell -$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" -$ cd ~/.dotfiles -$ ./install -$ source ~/.zshrc -# At the time of this commit, cmus depends on mp4v2 - the latest version -# (ae4bd4f26c27327c8d188e127022d9231f8c7d4b) doesn't appear to be linking -# correctly, so I had to manually install an older version. -$ sudo -s -$ yes | port install \ - ImageMagick \ - cargo \ - cmus \ - curl \ - git \ - gnupg2 \ - htop \ - nodejs16 \ - pass \ - syncthing-macos \ - the_silver_searcher \ - tmux \ - tmux-pasteboard \ - tree \ - vim \ - watch \ - wget -$ base16_ashes -$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ - https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim -$ vim +PlugInstall -$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -$ sudo sh Miniconda3-latest-MacOSX-x86_64.sh -p /opt/miniconda3 -b -$ sudo conda update conda -$ wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py38-osx-conda.yml -$ conda env create -n q2dev --file qiime2-latest-py38-osx-conda.yml -``` - ## manual apps - chrome From bad48dfdcfbbcb1f09ecdbdfc1c079a8b2c6be21 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 25 May 2022 17:07:48 -0700 Subject: [PATCH 038/226] new: go --- zsh/zshenv | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zsh/zshenv b/zsh/zshenv index c26a015..87afcee 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -67,6 +67,9 @@ check_paths=( # home $HOME/bin + + # go + /usr/local/go/bin ) for fp in $check_paths; do From 051aa4a9b220f350d020f50002cd71969f0dd7c4 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 22 Jun 2022 16:37:32 -0700 Subject: [PATCH 039/226] maint: more wsl paths --- zsh/zshenv | 1 + 1 file changed, 1 insertion(+) diff --git a/zsh/zshenv b/zsh/zshenv index 87afcee..5f3d90d 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -60,6 +60,7 @@ check_paths=( # WSL /mnt/c/windows + /mnt/c/windows/system32 # misc apps /Applications/Postgres.app/Contents/Versions/latest/bin/ From c5bada85020b2d54abc9a17bcb7857b7aa05aed8 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 5 Jul 2022 09:32:48 -0700 Subject: [PATCH 040/226] maint: mpd and new job prep --- README.md | 3 ++- install.conf.yaml | 4 ++-- mpd.conf | 15 +++++++++++++++ work.toml => qiime2.toml | 0 zsh/zlogin | 3 +++ 5 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 mpd.conf rename work.toml => qiime2.toml (100%) diff --git a/README.md b/README.md index 095efe0..6f36a24 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ```bash sudo apt update sudo apt upgrade -sudo apt install neovim tmux ripgrep zsh tree git build-essential libssl-dev pkg-config +sudo apt install neovim tmux ripgrep zsh tree git build-essential libssl-dev pkg-config mpd sudo hostname $HOSTNAME chsh -s $(which zsh) sudo echo "[interop]\nappendWindowsPath = false" > /etc/wsl.conf @@ -33,6 +33,7 @@ cd ~/ && rm -rf ~/gwar - garageband - iterm2 - libreoffice +- logseq - melodics - passff-host - postgres.app diff --git a/install.conf.yaml b/install.conf.yaml index 01faf31..0b0b1a6 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -2,12 +2,12 @@ - '~' - create: - - ~/projects/qiime2 - - ~/projects/qiime2/data/ - ~/projects/mds - ~/projects/personal + - ~/.config/mpd/playlists - link: + ~/.config/mpd/mpd.conf: mpd.conf ~/.tmux.conf: tmux.conf ~/.gitconfig: git/gitconfig ~/.config/git/ignore: diff --git a/mpd.conf b/mpd.conf new file mode 100644 index 0000000..de8d0e8 --- /dev/null +++ b/mpd.conf @@ -0,0 +1,15 @@ +pid_file "~/.config/mpd/mpd.pid" +playlist_directory "~/.config/mpd/playlists" + +music_directory "http://anonymous@wren.local:5005/music" + +database { + plugin "proxy" + host "wren.local" +} + +audio_output { + type "pulse" + name "spleen" + server "/mnt/wslg/PulseServer" +} diff --git a/work.toml b/qiime2.toml similarity index 100% rename from work.toml rename to qiime2.toml diff --git a/zsh/zlogin b/zsh/zlogin index c59f3da..297b8b2 100644 --- a/zsh/zlogin +++ b/zsh/zlogin @@ -9,3 +9,6 @@ zcompile "$zcompdump" fi } &! + +# this seems like the easiest way to get a wsl startup script to work +2>/dev/null 1>/dev/null mpd From 2690012be58c28f585dfdc7ace2cee9751a7d950 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 7 Aug 2022 15:27:55 -0700 Subject: [PATCH 041/226] gitconfig --- git/gitconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/git/gitconfig b/git/gitconfig index 237d112..540ecb0 100644 --- a/git/gitconfig +++ b/git/gitconfig @@ -61,3 +61,6 @@ smudge = git-lfs smudge -- %f process = git-lfs filter-process required = true +[safe] + directory = %(prefix)///wsl.localhost/Ubuntu/home/matthew/projects/personal/notes + directory = //wsl.localhost/Ubuntu/home/matthew/projects/personal/notes From c7dcdf778465a9953273e89c77be64c3831a29db Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 20 Oct 2022 18:36:45 -0700 Subject: [PATCH 042/226] maint: stuff --- nvim/plugins.lua | 3 + qiime2.toml | 161 ----------------------------------------------- zsh/zshrc | 9 +++ 3 files changed, 12 insertions(+), 161 deletions(-) delete mode 100644 qiime2.toml diff --git a/nvim/plugins.lua b/nvim/plugins.lua index ba738d6..2c1c60f 100644 --- a/nvim/plugins.lua +++ b/nvim/plugins.lua @@ -18,6 +18,9 @@ return require('packer').startup(function() ----------------------------------------------------------------------------- use { 'habamax/vim-godot' } + ----------------------------------------------------------------------------- + use { 'Bakudankun/PICO-8.vim' } + ----------------------------------------------------------------------------- use { 'chriskempson/base16-vim', diff --git a/qiime2.toml b/qiime2.toml deleted file mode 100644 index 0bf7381..0000000 --- a/qiime2.toml +++ /dev/null @@ -1,161 +0,0 @@ -# github-thermokarst-qiime2 -[[workspace]] -path = "$HOME/projects/qiime2" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@github.com/thermokarst" -origin.name = "thermokarst" -repos = [ - "q2-no-op", - "workflows-playground", -] -remotes = [] - -# github-thermokarst-forks-qiime2 -[[workspace]] -path = "$HOME/projects/qiime2" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@github.com/qiime2" -origin.name = "qiime2" -repos = [ - "Keemei", - "action-library-packaging", - "busywork", - "conda-channel-resource", - "data302", - "dev-docs", - "docs", - "environment-files", - "library", - "logos", - "package-integration", - "paper1", - "paper2", - "q2-alignment", - "q2-composition", - "q2-cutadapt", - "q2-dada2", - "q2-deblur", - "q2-demux", - "q2-diversity", - "q2-diversity-lib", - "q2-emperor", - "q2-feature-classifier", - "q2-feature-table", - "q2-fragment-insertion", - "q2-gneiss", - "q2-longitudinal", - "q2-metadata", - "q2-mystery-stew", - "q2-phylogeny", - "q2-quality-control", - "q2-quality-filter", - "q2-sample-classifier", - "q2-taxa", - "q2-types", - "q2-vsearch", - "q2cli", - "q2cwl", - "q2galaxy", - "q2lint", - "q2studio", - "q2templates", - "q2view", - "qiime2", - "qiime2.github.io", - "sphinx-ext-qiime2", - "sphinx-qiime2-theme", - "static-site-infrastructure", - "template-repo", - "view.qiime2.org", - "vm-playbooks", - "workshop-playbooks", - "workshops", -] -remotes = [ - { name = "ChrisKeefe", base_addr = "ssh://git@github.com/ChrisKeefe" }, - { name = "Keegan-Evans", base_addr = "ssh://git@github.com/Keegan-Evans" }, - { name = "Oddant1", base_addr = "ssh://git@github.com/Oddant1" }, - { name = "cherman2", base_addr = "ssh://git@github.com/cherman2" }, - { name = "ebolyen", base_addr = "ssh://git@github.com/ebolyen" }, - { name = "gregcaporaso", base_addr = "ssh://git@github.com/gregcaporaso" }, - { name = "lizgehret", base_addr = "ssh://git@github.com/lizgehret" }, - { name = "nbokulich", base_addr = "ssh://git@github.com/nbokulich" }, - { name = "thermokarst-forks", base_addr = "ssh://git@github.com/thermokarst-forks" }, -] - -# github-thermokarst-forks-caporaso-lab -[[workspace]] -path = "$HOME/projects/qiime2" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@github.com/caporaso-lab" -origin.name = "caporaso-lab" -repos = [ - "caporaso-lab.github.io", - "code-of-conduct", - "genome-sampler", - "pretrained-feature-classifiers", - "q2-phylogenomics", -] -remotes = [ - { name = "ebolyen", base_addr = "ssh://git@github.com/ebolyen" }, - { name = "gregcaporaso", base_addr = "ssh://git@github.com/gregcaporaso" }, - { name = "thermokarst-forks", base_addr = "ssh://git@github.com/thermokarst-forks" }, -] - -# github-thermokarst-forks-biocore -[[workspace]] -path = "$HOME/projects/qiime2" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@github.com/biocore" -origin.name = "biocore" -repos = [ - "deblur", - "emperor", - "gneiss", - "scikit-bio", -] -remotes = [ - { name = "ebolyen", base_addr = "ssh://git@github.com/ebolyen" }, - { name = "thermokarst-forks", base_addr = "ssh://git@github.com/thermokarst-forks" }, -] - -# github-thermokarst-forks-bokulich-lab -[[workspace]] -path = "$HOME/projects/qiime2" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@github.com/bokulich-lab" -origin.name = "bokulich-lab" -repos = [ - "RESCRIPt", -] -remotes = [ - { name = "nbokulich", base_addr = "ssh://git@github.com/nbokulich" }, - { name = "thermokarst-forks", base_addr = "ssh://git@github.com/thermokarst-forks" }, -] - -# github-thermokarst-forks-conda-forge -[[workspace]] -path = "$HOME/projects/qiime2" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@github.com/conda-forge" -origin.name = "conda-forge" -repos = [ - "biom-format-feedstock", - "ijson-feedstock", - "scikit-bio-feedstock", -] -remotes = [ - { name = "thermokarst-forks", base_addr = "ssh://git@github.com/thermokarst-forks" }, -] - -# github-gregcaporaso -[[workspace]] -path = "$HOME/projects/qiime2" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@github.com/gregcaporaso" -origin.name = "gregcaporaso" -repos = [ - "caporaso-lab-secrets", - "qiime2-meta-figures", -] -remotes = [] diff --git a/zsh/zshrc b/zsh/zshrc index 33d6faf..7ba4775 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -68,3 +68,12 @@ function back_things_up() { function devlog() { vim -c 'Goyo' '+normal Go' +startinsert ~/projects/personal/devlog/logs/$(date '+%Y-%m-%d').gmi } + +# NOTE: this might need a mapped network drive to work (e.g. Z:\) +function cmd() { + CMD=$1 + shift; + ARGS=$@ + WIN_PWD=$(wslpath -w ${PWD}) + cmd.exe /c "pushd ${WIN_PWD} && ${CMD} ${ARGS}" +} From 1dfcb6068fa27ce5f4528bf88ade4d0b9b06133a Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 25 Jan 2023 19:21:12 -0700 Subject: [PATCH 043/226] wip --- README.md | 2 +- git/gitconfig | 4 ++-- zsh/zshenv | 10 ++++------ 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 6f36a24..5d5a776 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ sudo apt upgrade sudo apt install neovim tmux ripgrep zsh tree git build-essential libssl-dev pkg-config mpd sudo hostname $HOSTNAME chsh -s $(which zsh) -sudo echo "[interop]\nappendWindowsPath = false" > /etc/wsl.conf +sudo echo "[interop]\nappendWindowsPath = false\n\n[boot]\nsystemd = true" > /etc/wsl.conf git clone --origin pingo ssh://git@pingo.thermokar.st/dotfiles ~/.dotfiles git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" diff --git a/git/gitconfig b/git/gitconfig index 540ecb0..646994d 100644 --- a/git/gitconfig +++ b/git/gitconfig @@ -50,8 +50,8 @@ b = "!git for-each-ref --sort='-authordate' --format='%(authordate)%09%(objectname:short)%09%(refname)' refs/heads | sed -e 's-refs/heads/--'" # list aliases la = "!git config -l | grep alias | cut -c 7-" -[credential] - helper = osxkeychain +# [credential] +# helper = osxkeychain [pull] rebase = true [init] diff --git a/zsh/zshenv b/zsh/zshenv index 5f3d90d..35c91cd 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -59,12 +59,8 @@ check_paths=( $HOME/.cargo/bin # WSL - /mnt/c/windows - /mnt/c/windows/system32 - - # misc apps - /Applications/Postgres.app/Contents/Versions/latest/bin/ - /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/ + # /mnt/c/windows + # /mnt/c/windows/system32 # home $HOME/bin @@ -83,3 +79,5 @@ export -U PATH export CONDA_ENVS_PATH=$HOME/.conda/envs:/opt/miniconda3/envs export CONDA_PKGS_DIRS=$HOME/.conda/pkgs export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc + +if [ -e /home/matthew/.nix-profile/etc/profile.d/nix.sh ]; then . /home/matthew/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer From e8846ec72bfebcba554c2620ed6c46fc75d3234d Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 25 Jan 2023 22:13:24 -0700 Subject: [PATCH 044/226] reboot: chezmoi --- README.md | 63 +---- check_status.sh | 21 -- dotbot | 1 - ...executable_safe-reattach-to-user-namespace | 0 git/gitconfig => home/dot_gitconfig | 0 npmrc => home/dot_npmrc | 0 psqlrc => home/dot_psqlrc | 0 ripgreprc => home/dot_ripgreprc | 0 tmux.conf => home/dot_tmux.conf | 0 zsh/zlogin => home/dot_zlogin | 0 zsh/zlogout => home/dot_zlogout | 0 zsh/zpreztorc => home/dot_zpreztorc | 0 zsh/zprofile => home/dot_zprofile | 0 zsh/zshenv => home/dot_zshenv | 0 zsh/zshrc => home/dot_zshrc | 0 .../private_dot_config/git/ignore | 0 home/private_dot_config/helix/config.toml | 4 + .../private_dot_config/mpd/mpd.conf | 0 install | 15 -- install.conf.yaml | 44 --- kakrc | 36 --- mouse.xml | 44 --- nvim/ftplugin/gdscript.vim | 1 - nvim/init.vim | 26 -- nvim/plugins.lua | 162 ----------- remarkable-sync.sh | 6 - rsync_excludes.txt | 31 --- vimrc | 86 ------ vscode/keybindings.json | 11 - vscode/mds.code-workspace | 32 --- vscode/personal.code-workspace | 12 - vscode/qiime2-1.code-workspace | 252 ------------------ vscode/qiime2-2.code-workspace | 252 ------------------ vscode/qiime2-3.code-workspace | 252 ------------------ vscode/settings.json | 31 --- vscode/tasks.json | 10 - 36 files changed, 5 insertions(+), 1387 deletions(-) delete mode 100755 check_status.sh delete mode 160000 dotbot rename safe-reattach-to-user-namespace.sh => home/bin/executable_safe-reattach-to-user-namespace (100%) mode change 100755 => 100644 rename git/gitconfig => home/dot_gitconfig (100%) rename npmrc => home/dot_npmrc (100%) rename psqlrc => home/dot_psqlrc (100%) rename ripgreprc => home/dot_ripgreprc (100%) rename tmux.conf => home/dot_tmux.conf (100%) rename zsh/zlogin => home/dot_zlogin (100%) rename zsh/zlogout => home/dot_zlogout (100%) rename zsh/zpreztorc => home/dot_zpreztorc (100%) rename zsh/zprofile => home/dot_zprofile (100%) rename zsh/zshenv => home/dot_zshenv (100%) rename zsh/zshrc => home/dot_zshrc (100%) rename git/gitignore_global => home/private_dot_config/git/ignore (100%) create mode 100644 home/private_dot_config/helix/config.toml rename mpd.conf => home/private_dot_config/mpd/mpd.conf (100%) delete mode 100755 install delete mode 100644 install.conf.yaml delete mode 100644 kakrc delete mode 100644 mouse.xml delete mode 100644 nvim/ftplugin/gdscript.vim delete mode 100644 nvim/init.vim delete mode 100644 nvim/plugins.lua delete mode 100755 remarkable-sync.sh delete mode 100644 rsync_excludes.txt delete mode 100644 vimrc delete mode 100644 vscode/keybindings.json delete mode 100644 vscode/mds.code-workspace delete mode 100644 vscode/personal.code-workspace delete mode 100644 vscode/qiime2-1.code-workspace delete mode 100644 vscode/qiime2-2.code-workspace delete mode 100644 vscode/qiime2-3.code-workspace delete mode 100644 vscode/settings.json delete mode 100644 vscode/tasks.json diff --git a/README.md b/README.md index 5d5a776..22f2e2e 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,5 @@ # dotfiles -## wslg ubuntu - ```bash -sudo apt update -sudo apt upgrade -sudo apt install neovim tmux ripgrep zsh tree git build-essential libssl-dev pkg-config mpd -sudo hostname $HOSTNAME -chsh -s $(which zsh) -sudo echo "[interop]\nappendWindowsPath = false\n\n[boot]\nsystemd = true" > /etc/wsl.conf -git clone --origin pingo ssh://git@pingo.thermokar.st/dotfiles ~/.dotfiles -git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell -git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" -cd ~/.dotfiles -./install -source ~/.zshrc -base16_ashes -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -git clone ssh://git@pingo.thermokar.st/gwar ~/gwar -cd ~/gwar -cargo build --release -./target/release/gwar ~/.dotfiles/$REPOS.toml -cd ~/ && rm -rf ~/gwar -``` - -## manual apps - -- chrome -- cisco anyconnect -- docker desktop -- firefox -- garageband -- iterm2 -- libreoffice -- logseq -- melodics -- passff-host -- postgres.app -- renoise -- signal -- slack -- steermouse -- thunderbird -- virtualbox -- vscode -- xcode -- zoom - -## optional vscode extensions - -```bash -$ code --install-extension AndrsDC.base16-themes -$ code --install-extension ecmel.vscode-html-css -$ code --install-extension formulahendry.auto-close-tag -$ code --install-extension hollowtree.vue-snippets -$ code --install-extension JakeBecker.elixir-ls -$ code --install-extension karigari.chat -$ code --install-extension lextudio.restructuredtext -$ code --install-extension ms-python.python -$ code --install-extension ms-vscode.Go -$ code --install-extension ms-vsliveshare.vsliveshare -$ code --install-extension redhat.vscode-yaml -$ code --install-extension vscodevim.vim -$ code --install-extension wakatime.vscode-wakatime +chezmoi init ``` diff --git a/check_status.sh b/check_status.sh deleted file mode 100755 index 348fa41..0000000 --- a/check_status.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env zsh - -local a="main" b="pingo/main" -local base=$( git merge-base $a $b ) -local aref=$( git rev-parse $a ) -local bref=$( git rev-parse $b ) - -if [[ $(git diff --stat) != '' ]]; then - echo 'dotfiles: dirty' - exit -fi - -if [[ $aref == "$bref" ]]; then - echo '' -elif [[ $aref == "$base" ]]; then - echo 'dotfiles: needs a pull' -elif [[ $bref == "$base" ]]; then - echo 'dotfiles: needs a push' -else - echo 'dotfiles diverged' -fi diff --git a/dotbot b/dotbot deleted file mode 160000 index 5d83f9e..0000000 --- a/dotbot +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5d83f9e797b1950199e127a8196803f5e33e0916 diff --git a/safe-reattach-to-user-namespace.sh b/home/bin/executable_safe-reattach-to-user-namespace old mode 100755 new mode 100644 similarity index 100% rename from safe-reattach-to-user-namespace.sh rename to home/bin/executable_safe-reattach-to-user-namespace diff --git a/git/gitconfig b/home/dot_gitconfig similarity index 100% rename from git/gitconfig rename to home/dot_gitconfig diff --git a/npmrc b/home/dot_npmrc similarity index 100% rename from npmrc rename to home/dot_npmrc diff --git a/psqlrc b/home/dot_psqlrc similarity index 100% rename from psqlrc rename to home/dot_psqlrc diff --git a/ripgreprc b/home/dot_ripgreprc similarity index 100% rename from ripgreprc rename to home/dot_ripgreprc diff --git a/tmux.conf b/home/dot_tmux.conf similarity index 100% rename from tmux.conf rename to home/dot_tmux.conf diff --git a/zsh/zlogin b/home/dot_zlogin similarity index 100% rename from zsh/zlogin rename to home/dot_zlogin diff --git a/zsh/zlogout b/home/dot_zlogout similarity index 100% rename from zsh/zlogout rename to home/dot_zlogout diff --git a/zsh/zpreztorc b/home/dot_zpreztorc similarity index 100% rename from zsh/zpreztorc rename to home/dot_zpreztorc diff --git a/zsh/zprofile b/home/dot_zprofile similarity index 100% rename from zsh/zprofile rename to home/dot_zprofile diff --git a/zsh/zshenv b/home/dot_zshenv similarity index 100% rename from zsh/zshenv rename to home/dot_zshenv diff --git a/zsh/zshrc b/home/dot_zshrc similarity index 100% rename from zsh/zshrc rename to home/dot_zshrc diff --git a/git/gitignore_global b/home/private_dot_config/git/ignore similarity index 100% rename from git/gitignore_global rename to home/private_dot_config/git/ignore diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml new file mode 100644 index 0000000..9479f7a --- /dev/null +++ b/home/private_dot_config/helix/config.toml @@ -0,0 +1,4 @@ +theme = "base16_terminal" + +[editor] +true-color = true diff --git a/mpd.conf b/home/private_dot_config/mpd/mpd.conf similarity index 100% rename from mpd.conf rename to home/private_dot_config/mpd/mpd.conf diff --git a/install b/install deleted file mode 100755 index 5a7e72c..0000000 --- a/install +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -set -e - -CONFIG="install.conf.yaml" -DOTBOT_DIR="dotbot" - -DOTBOT_BIN="bin/dotbot" -BASEDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -cd "${BASEDIR}" -git -C "${DOTBOT_DIR}" submodule sync --quiet --recursive -git submodule update --init --recursive "${DOTBOT_DIR}" - -"${BASEDIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASEDIR}" -c "${CONFIG}" "${@}" diff --git a/install.conf.yaml b/install.conf.yaml deleted file mode 100644 index 0b0b1a6..0000000 --- a/install.conf.yaml +++ /dev/null @@ -1,44 +0,0 @@ -- clean: - - '~' - -- create: - - ~/projects/mds - - ~/projects/personal - - ~/.config/mpd/playlists - -- link: - ~/.config/mpd/mpd.conf: mpd.conf - ~/.tmux.conf: tmux.conf - ~/.gitconfig: git/gitconfig - ~/.config/git/ignore: - create: true - path: git/gitignore_global - ~/.npmrc: npmrc - ~/.psqlrc: psqlrc - ~/.ripgreprc: ripgreprc - ~/.zpreztorc: zsh/zpreztorc - ~/.zlogin: zsh/zlogin - ~/.zlogout: zsh/zlogout - ~/.zprofile: zsh/zprofile - ~/.zshenv: zsh/zshenv - ~/.zshrc: zsh/zshrc - ~/Library/Application Support/Code/User/settings.json: - create: true - path: vscode/settings.json - ~/Library/Application Support/Code/User/keybindings.json: - create: true - path: vscode/keybindings.json - ~/Library/Application Support/Code/User/tasks.json: - create: true - path: vscode/tasks.json - ~/.config/nvim/init.vim: - create: true - path: nvim/init.vim - ~/.config/nvim/lua/plugins.lua: - create: true - path: nvim/plugins.lua - ~/.config/nvim/ftplugin: - path: nvim/ftplugin - ~/bin/safe-reattach-to-user-namespace: - create: true - path: safe-reattach-to-user-namespace.sh diff --git a/kakrc b/kakrc deleted file mode 100644 index c1093f1..0000000 --- a/kakrc +++ /dev/null @@ -1,36 +0,0 @@ -# inspired by https://gist.github.com/daboross/ce6a5a9f8d14bd4974c5f43b90dfdfaa - -# line numbers -add-highlighter global/ number-lines -# TODO: do I _have_ to use rgb here? -set-face global LineNumbers rgb:707070,default - -# helper popups -set -add global autoinfo normal -set global ui_options ncurses_assistant=off - -set global autowrap_fmtcmd 'fmt -w %c' - -# global: wrap to 100 characters (unless FT override, below) -add-highlighter global/ wrap -width 101 -indent -word -set global autowrap_column 101 - -# global: 4 space indents (unless FT override, below) -set global tabstop 4 -hook global InsertChar \t %{ exec -draft -itersel h@ } -group kakrc-replace-tabs-with-spaces - -#### FT overrides #### -hook global WinSetOption filetype=rust %{ - set buffer formatcmd 'rustfmt' - set buffer tabstop 4 - set buffer indentwidth 4 - add-highlighter buffer/ wrap -word -width 120 - set buffer autowrap_column 120 -} - -hook global WinSetOption filetype=python %{ - set buffer tabstop 4 - set buffer indentwidth 4 - add-highlighter buffer/ wrap -word -width 79 - set buffer autowrap_column 79 -} diff --git a/mouse.xml b/mouse.xml deleted file mode 100644 index a802602..0000000 --- a/mouse.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - 1390 - 254 - 0 - - default - 1 - 2 - 5 - 41 - 41 - 39 - 40 - 5 - 5 - 5 - 1 - 33 - 34 - 36 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 73 - 1 - 72 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - - \ No newline at end of file diff --git a/nvim/ftplugin/gdscript.vim b/nvim/ftplugin/gdscript.vim deleted file mode 100644 index c24da59..0000000 --- a/nvim/ftplugin/gdscript.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal shiftwidth=4 diff --git a/nvim/init.vim b/nvim/init.vim deleted file mode 100644 index f5a7a1a..0000000 --- a/nvim/init.vim +++ /dev/null @@ -1,26 +0,0 @@ -" Stick with vimscript file at the moment, but prefer lua for config - -" TODO: fix this vimscript fallback -set backupdir=~/.vim-tmp -set directory=~/.vim-tmp - -lua << EOF -local set = vim.opt - -set.number = true -set.autoindent = true -set.colorcolumn = {80, 100, 120} -set.cursorline = true -set.expandtab = true -set.backup = true - -set.writebackup = true -set.list = true -set.listchars = { trail = '~', tab = '>.' } -set.mouse = 'a' -set.completeopt = { 'menu', 'menuone', 'noselect' } -set.termguicolors = true -set.tabstop = 4 - -require('plugins') -EOF diff --git a/nvim/plugins.lua b/nvim/plugins.lua deleted file mode 100644 index 2c1c60f..0000000 --- a/nvim/plugins.lua +++ /dev/null @@ -1,162 +0,0 @@ -local fn = vim.fn - -local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' - -if fn.empty(fn.glob(install_path)) > 0 then - packer_bootstrap = fn.system({ - 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path - }) -end - -return require('packer').startup(function() - ----------------------------------------------------------------------------- - use { 'wbthomason/packer.nvim' } - - ----------------------------------------------------------------------------- - use { 'wakatime/vim-wakatime' } - - ----------------------------------------------------------------------------- - use { 'habamax/vim-godot' } - - ----------------------------------------------------------------------------- - use { 'Bakudankun/PICO-8.vim' } - - ----------------------------------------------------------------------------- - use { - 'chriskempson/base16-vim', - config = function() - vim.cmd('source ~/.vimrc_background') - vim.g.base16colorspace = 256 - end, - } - - ----------------------------------------------------------------------------- - use { - 'nvim-telescope/telescope.nvim', - requires = { - { 'nvim-lua/plenary.nvim' }, - { 'kyazdani42/nvim-web-devicons' }, - }, - config = function() - vim.api.nvim_set_keymap('n', '-', - ':Telescope find_files find_command=rg,--ignore,--ignore-case,--hidden,--files', - { noremap = true }) - end, - } - - ----------------------------------------------------------------------------- - use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' } - - ----------------------------------------------------------------------------- - use { - 'hrsh7th/nvim-cmp', - requires = { - { 'hrsh7th/cmp-vsnip', after = 'nvim-cmp' }, - { 'hrsh7th/cmp-nvim-lsp', after = 'nvim-cmp' }, - { 'hrsh7th/cmp-buffer', after = 'nvim-cmp' }, - { 'hrsh7th/vim-vsnip', after = 'nvim-cmp' }, - }, - config = function() - local cmp = require('cmp') - cmp.setup({ - snippet = { - expand = function(args) - vim.fn["vsnip#anonymous"](args.body) - end, - }, - mapping = { - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.close(), - [''] = cmp.mapping.confirm({ select = true }), - }, - sources = { - { name = 'nvim_lsp' }, - { name = 'vsnip' }, - { name = 'buffer' }, - } - }) - end, - } - - ----------------------------------------------------------------------------- - use { - 'neovim/nvim-lspconfig', - after = 'nvim-cmp', - config = function() - lspconfig = require('lspconfig') - - lspconfig.pyright.setup({ - settings = { - python = { - venvPath = "~/.conda/envs", - analysis = { - useLibraryCodeForTypes = true, - } - } - } - }) - - lspconfig.rust_analyzer.setup({}) - - local cmp = require('cmp_nvim_lsp') - local gd_capabilities = cmp.update_capabilities( - vim.lsp.protocol.make_client_capabilities() - ) - lspconfig.gdscript.setup({ - capabilities = gd_capabilities, - cmd = { 'nc', '127.0.0.1', '6008' }, - }) - - end, - } - - ----------------------------------------------------------------------------- - use { 'mhinz/vim-signify' } - - ----------------------------------------------------------------------------- - use { - 'simrat39/rust-tools.nvim', - after = 'nvim-lspconfig', - requires = { - { 'neovim/nvim-lspconfig' }, - { 'nvim-lua/popup.nvim' }, - { 'nvim-lua/plenary.nvim' }, - }, - config = function() - require('rust-tools').setup({}) - end, - } - - ----------------------------------------------------------------------------- - use { - 'GustavoKatel/sidebar.nvim', - requires = { { 'GustavoKatel/todo-comments.nvim' } }, - config = function() - require('sidebar-nvim').setup({ - side = 'right', - sections = { 'datetime', 'git', 'diagnostics', 'todos' } - }) - end, - } - - ----------------------------------------------------------------------------- - use { - 'famiu/feline.nvim', - config = function() - require('feline').setup({ preset = 'noicon' }) - end, - } - - ----------------------------------------------------------------------------- - use { 'SuneelFreimuth/vim-gemtext' } - - ----------------------------------------------------------------------------- - use { 'junegunn/goyo.vim' } - - ----------------------------------------------------------------------------- - if packer_bootstrap then - require('packer').sync() - end -end) diff --git a/remarkable-sync.sh b/remarkable-sync.sh deleted file mode 100755 index 2bcbd7a..0000000 --- a/remarkable-sync.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -e - -offpunk.py --sync -rsync -r --copy-links ~/remarkable/ root@192.168.1.157:~/sync diff --git a/rsync_excludes.txt b/rsync_excludes.txt deleted file mode 100644 index b4be3d3..0000000 --- a/rsync_excludes.txt +++ /dev/null @@ -1,31 +0,0 @@ -- *.pyc -- .DS_Store -- .Trash/ -- .bundle/ -- .cache/ -- .cargo/ -- .cisco/ -- .conda-bld/ -- .conda/ -- .cpan/ -- .dropbox/ -- .electron/ -- .fzf/ -- .gem/ -- .local/ -- .mail/ -- .npm/ -- .nvim/plugged/ -- .rustup/ -- .vim/plugged/ -- .wine/ -- .zprezto/ -- Applications/ -- Library/ -- __pycache__ -- miniconda3/ -- node_modules -- tmp/ -- venv -- .vagrant.d/ -- .vscode/extensions/ diff --git a/vimrc b/vimrc deleted file mode 100644 index a03848e..0000000 --- a/vimrc +++ /dev/null @@ -1,86 +0,0 @@ -" filetype support provides filetype-specific indenting, syntax highlighting, -" omni-completion and other useful settings. -filetype plugin indent on - -syntax on - -" built-in plugin, `%` to jump to condition branch -runtime macros/matchit.vim - -let mapleader=" " - -set autoindent -set backspace=indent,eol,start -set hidden -set incsearch -set ruler -set wildmenu -set wildmode=full -set number -set list -set listchars=tab:▸\ ,extends:>,precedes:<,trail:~ -set cursorline -set colorcolumn=80 -set backup -set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp -set backupskip=/tmp/*,/private/tmp/* -set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp -set writebackup -set expandtab -set updatetime=200 -set history=250 -set hlsearch - -nnoremap [b :bprevious -nnoremap ]b :bnext -nnoremap [B :bfirst -nnoremap ]B :blast - -xnoremap . :normal . - -call plug#begin('~/.vim/plugged') - Plug 'airblade/vim-gitgutter' - Plug 'chriskempson/base16-vim' - Plug 'mattn/calendar-vim' - Plug 'ntpeters/vim-better-whitespace' - Plug 'sheerun/vim-polyglot' - Plug 'tpope/vim-vinegar' - Plug 'vim-airline/vim-airline' - Plug 'vim-airline/vim-airline-themes' - Plug 'vimwiki/vimwiki' - Plug 'wakatime/vim-wakatime' -call plug#end() - -" for Plug 'chriskempson/base16-vim' -let base16colorspace=256 -source ~/.vimrc_background - -" for Plug 'ntpeters/vim-better-whitespace' -let g:better_whitespace_enabled=1 -let g:strip_whitespace_on_save=1 - -" for Plug 'vim-airline/vim-airline' -set laststatus=2 -let g:airline#extensions#tabline#enabled=1 -let g:airline#extensions#tabline#fnamemod=':t' - -" for Plug 'vim-airline/vim-airline-themes' -let g:airline_theme='base16' - -" vimwiki -let notes_wiki = {} -let notes_wiki.path = '/Users/matthew/projects/personal/notes' -let notes_wiki.syntax = 'markdown' -let notes_wiki.ext = '.md' - -let weeklies_wiki = {} -let weeklies_wiki.path = '/Users/matthew/projects/personal/notes/weeklies' -let weeklies_wiki.syntax = 'markdown' -let weeklies_wiki.ext = '.md' - -let pitches_wiki = {} -let pitches_wiki.path = '/Users/matthew/projects/personal/notes/pitches' -let pitches_wiki.syntax = 'markdown' -let pitches_wiki.ext = '.md' - -let g:vimwiki_list = [notes_wiki, weeklies_wiki, pitches_wiki] diff --git a/vscode/keybindings.json b/vscode/keybindings.json deleted file mode 100644 index 0f88c00..0000000 --- a/vscode/keybindings.json +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "key": "ctrl+w k", - "command": "workbench.action.focusActiveEditorGroup", - "when": "!editorFocus" - }, - { - "key": "cmd+m", - "command": "workbench.action.toggleMaximizedPanel" - } -] diff --git a/vscode/mds.code-workspace b/vscode/mds.code-workspace deleted file mode 100644 index 149d793..0000000 --- a/vscode/mds.code-workspace +++ /dev/null @@ -1,32 +0,0 @@ -{ - "folders": [ - { - "name": "ccdb-api", - "path": "/Users/matthew/projects/mds/ccdb-api" - }, - { - "name": "ccdb-web", - "path": "/Users/matthew/projects/mds/ccdb-web" - }, - { - "name": "dotfiles", - "path": "/Users/matthew/.dotfiles" - }, - { - "name": "fathm", - "path": "/Users/matthew/projects/mds/fathm" - }, - { - "name": "hibernators", - "path": "/Users/matthew/projects/mds/hibernators" - }, - { - "name": "hibernators-web", - "path": "/Users/matthew/projects/mds/hibernators-web" - }, - { - "name": "tucotuco", - "path": "/Users/matthew/projects/mds/tucotuco" - } - ] -} \ No newline at end of file diff --git a/vscode/personal.code-workspace b/vscode/personal.code-workspace deleted file mode 100644 index bb1fb86..0000000 --- a/vscode/personal.code-workspace +++ /dev/null @@ -1,12 +0,0 @@ -{ - "folders": [ - { - "name": "dotfiles", - "path": "/Users/matthew/.dotfiles" - }, - { - "name": "elixir-class", - "path": "/Users/matthew/projects/personal/elixir-class" - } - ] -} \ No newline at end of file diff --git a/vscode/qiime2-1.code-workspace b/vscode/qiime2-1.code-workspace deleted file mode 100644 index c6ca305..0000000 --- a/vscode/qiime2-1.code-workspace +++ /dev/null @@ -1,252 +0,0 @@ -{ - "folders": [ - { - "name": "action-library-packaging", - "path": "/Users/matthew/projects/qiime2/action-library-packaging" - }, - { - "name": "bioconda-recipes", - "path": "/Users/matthew/projects/qiime2/bioconda-recipes" - }, - { - "name": "busywork", - "path": "/Users/matthew/projects/qiime2/busywork" - }, - { - "name": "busywork2_action_playground", - "path": "/Users/matthew/projects/qiime2/busywork2_action_playground" - }, - { - "name": "caporaso-lab-secrets", - "path": "/Users/matthew/projects/qiime2/caporaso-lab-secrets" - }, - { - "name": "caporaso-lab.github.io", - "path": "/Users/matthew/projects/qiime2/caporaso-lab.github.io" - }, - { - "name": "data", - "path": "/Users/matthew/projects/qiime2/data" - }, - { - "name": "data302", - "path": "/Users/matthew/projects/qiime2/data302" - }, - { - "name": "deblur", - "path": "/Users/matthew/projects/qiime2/deblur" - }, - { - "name": "dev-docs", - "path": "/Users/matthew/projects/qiime2/dev-docs" - }, - { - "name": "discourse-unhandled-tagger", - "path": "/Users/matthew/projects/qiime2/discourse-unhandled-tagger" - }, - { - "name": "docs", - "path": "/Users/matthew/projects/qiime2/docs" - }, - { - "name": "dotfiles", - "path": "/Users/matthew/.dotfiles" - }, - { - "name": "environment-files", - "path": "/Users/matthew/projects/qiime2/environment-files" - }, - { - "name": "genome-sampler", - "path": "/Users/matthew/projects/qiime2/genome-sampler" - }, - { - "name": "keemei", - "path": "/Users/matthew/projects/qiime2/Keemei" - }, - { - "name": "library", - "path": "/Users/matthew/projects/qiime2/library" - }, - { - "name": "logos", - "path": "/Users/matthew/projects/qiime2/logos" - }, - { - "name": "paper2", - "path": "/Users/matthew/projects/qiime2/paper2" - }, - { - "name": "pretrained-feature-classifiers", - "path": "/Users/matthew/projects/qiime2/pretrained-feature-classifiers" - }, - { - "name": "q2-alignment", - "path": "/Users/matthew/projects/qiime2/q2-alignment" - }, - { - "name": "q2-composition", - "path": "/Users/matthew/projects/qiime2/q2-composition" - }, - { - "name": "q2-cutadapt", - "path": "/Users/matthew/projects/qiime2/q2-cutadapt" - }, - { - "name": "q2-dada2", - "path": "/Users/matthew/projects/qiime2/q2-dada2" - }, - { - "name": "q2-deblur", - "path": "/Users/matthew/projects/qiime2/q2-deblur" - }, - { - "name": "q2-demux", - "path": "/Users/matthew/projects/qiime2/q2-demux" - }, - { - "name": "q2-diversity", - "path": "/Users/matthew/projects/qiime2/q2-diversity" - }, - { - "name": "q2-diversity-lib", - "path": "/Users/matthew/projects/qiime2/q2-diversity-lib" - }, - { - "name": "q2-emperor", - "path": "/Users/matthew/projects/qiime2/q2-emperor" - }, - { - "name": "q2-feature-classifier", - "path": "/Users/matthew/projects/qiime2/q2-feature-classifier" - }, - { - "name": "q2-feature-table", - "path": "/Users/matthew/projects/qiime2/q2-feature-table" - }, - { - "name": "q2-fragment-insertion", - "path": "/Users/matthew/projects/qiime2/q2-fragment-insertion" - }, - { - "name": "q2-gneiss", - "path": "/Users/matthew/projects/qiime2/q2-gneiss" - }, - { - "name": "q2-longitudinal", - "path": "/Users/matthew/projects/qiime2/q2-longitudinal" - }, - { - "name": "q2-metadata", - "path": "/Users/matthew/projects/qiime2/q2-metadata" - }, - { - "name": "q2-mystery-stew", - "path": "/Users/matthew/projects/qiime2/q2-mystery-stew" - }, - { - "name": "q2-no-op", - "path": "/Users/matthew/projects/qiime2/q2-no-op" - }, - { - "name": "q2-phylogenomics", - "path": "/Users/matthew/projects/qiime2/q2-phylogenomics" - }, - { - "name": "q2-phylogeny", - "path": "/Users/matthew/projects/qiime2/q2-phylogeny" - }, - { - "name": "q2-quality-control", - "path": "/Users/matthew/projects/qiime2/q2-quality-control" - }, - { - "name": "q2-quality-filter", - "path": "/Users/matthew/projects/qiime2/q2-quality-filter" - }, - { - "name": "q2-sample-classifier", - "path": "/Users/matthew/projects/qiime2/q2-sample-classifier" - }, - { - "name": "q2-shogun", - "path": "/Users/matthew/projects/qiime2/q2-shogun" - }, - { - "name": "q2-taxa", - "path": "/Users/matthew/projects/qiime2/q2-taxa" - }, - { - "name": "q2-types", - "path": "/Users/matthew/projects/qiime2/q2-types" - }, - { - "name": "q2-vsearch", - "path": "/Users/matthew/projects/qiime2/q2-vsearch" - }, - { - "name": "q2cli", - "path": "/Users/matthew/projects/qiime2/q2cli" - }, - { - "name": "q2cwl", - "path": "/Users/matthew/projects/qiime2/q2cwl" - }, - { - "name": "q2galaxy", - "path": "/Users/matthew/projects/qiime2/q2galaxy" - }, - { - "name": "q2studio", - "path": "/Users/matthew/projects/qiime2/q2studio" - }, - { - "name": "q2templates", - "path": "/Users/matthew/projects/qiime2/q2templates" - }, - { - "name": "q2view", - "path": "/Users/matthew/projects/qiime2/q2view" - }, - { - "name": "qiime2", - "path": "/Users/matthew/projects/qiime2/qiime2" - }, - { - "name": "qiime2-meta-figures", - "path": "/Users/matthew/projects/qiime2/qiime2-meta-figures" - }, - { - "name": "qiime2.github.io", - "path": "/Users/matthew/projects/qiime2/qiime2.github.io" - }, - { - "name": "scikit-bio", - "path": "/Users/matthew/projects/qiime2/scikit-bio" - }, - { - "name": "static-site-infrastructure", - "path": "/Users/matthew/projects/qiime2/static-site-infrastructure" - }, - { - "name": "template-repo", - "path": "/Users/matthew/projects/qiime2/template-repo" - }, - { - "name": "view.qiime2.org", - "path": "/Users/matthew/projects/qiime2/view.qiime2.org" - }, - { - "name": "vm-playbooks", - "path": "/Users/matthew/projects/qiime2/vm-playbooks" - }, - { - "name": "workshop-playbooks", - "path": "/Users/matthew/projects/qiime2/workshop-playbooks" - }, - { - "name": "workshops.qiime2.org", - "path": "/Users/matthew/projects/qiime2/workshops.qiime2.org" - } - ] -} \ No newline at end of file diff --git a/vscode/qiime2-2.code-workspace b/vscode/qiime2-2.code-workspace deleted file mode 100644 index c6ca305..0000000 --- a/vscode/qiime2-2.code-workspace +++ /dev/null @@ -1,252 +0,0 @@ -{ - "folders": [ - { - "name": "action-library-packaging", - "path": "/Users/matthew/projects/qiime2/action-library-packaging" - }, - { - "name": "bioconda-recipes", - "path": "/Users/matthew/projects/qiime2/bioconda-recipes" - }, - { - "name": "busywork", - "path": "/Users/matthew/projects/qiime2/busywork" - }, - { - "name": "busywork2_action_playground", - "path": "/Users/matthew/projects/qiime2/busywork2_action_playground" - }, - { - "name": "caporaso-lab-secrets", - "path": "/Users/matthew/projects/qiime2/caporaso-lab-secrets" - }, - { - "name": "caporaso-lab.github.io", - "path": "/Users/matthew/projects/qiime2/caporaso-lab.github.io" - }, - { - "name": "data", - "path": "/Users/matthew/projects/qiime2/data" - }, - { - "name": "data302", - "path": "/Users/matthew/projects/qiime2/data302" - }, - { - "name": "deblur", - "path": "/Users/matthew/projects/qiime2/deblur" - }, - { - "name": "dev-docs", - "path": "/Users/matthew/projects/qiime2/dev-docs" - }, - { - "name": "discourse-unhandled-tagger", - "path": "/Users/matthew/projects/qiime2/discourse-unhandled-tagger" - }, - { - "name": "docs", - "path": "/Users/matthew/projects/qiime2/docs" - }, - { - "name": "dotfiles", - "path": "/Users/matthew/.dotfiles" - }, - { - "name": "environment-files", - "path": "/Users/matthew/projects/qiime2/environment-files" - }, - { - "name": "genome-sampler", - "path": "/Users/matthew/projects/qiime2/genome-sampler" - }, - { - "name": "keemei", - "path": "/Users/matthew/projects/qiime2/Keemei" - }, - { - "name": "library", - "path": "/Users/matthew/projects/qiime2/library" - }, - { - "name": "logos", - "path": "/Users/matthew/projects/qiime2/logos" - }, - { - "name": "paper2", - "path": "/Users/matthew/projects/qiime2/paper2" - }, - { - "name": "pretrained-feature-classifiers", - "path": "/Users/matthew/projects/qiime2/pretrained-feature-classifiers" - }, - { - "name": "q2-alignment", - "path": "/Users/matthew/projects/qiime2/q2-alignment" - }, - { - "name": "q2-composition", - "path": "/Users/matthew/projects/qiime2/q2-composition" - }, - { - "name": "q2-cutadapt", - "path": "/Users/matthew/projects/qiime2/q2-cutadapt" - }, - { - "name": "q2-dada2", - "path": "/Users/matthew/projects/qiime2/q2-dada2" - }, - { - "name": "q2-deblur", - "path": "/Users/matthew/projects/qiime2/q2-deblur" - }, - { - "name": "q2-demux", - "path": "/Users/matthew/projects/qiime2/q2-demux" - }, - { - "name": "q2-diversity", - "path": "/Users/matthew/projects/qiime2/q2-diversity" - }, - { - "name": "q2-diversity-lib", - "path": "/Users/matthew/projects/qiime2/q2-diversity-lib" - }, - { - "name": "q2-emperor", - "path": "/Users/matthew/projects/qiime2/q2-emperor" - }, - { - "name": "q2-feature-classifier", - "path": "/Users/matthew/projects/qiime2/q2-feature-classifier" - }, - { - "name": "q2-feature-table", - "path": "/Users/matthew/projects/qiime2/q2-feature-table" - }, - { - "name": "q2-fragment-insertion", - "path": "/Users/matthew/projects/qiime2/q2-fragment-insertion" - }, - { - "name": "q2-gneiss", - "path": "/Users/matthew/projects/qiime2/q2-gneiss" - }, - { - "name": "q2-longitudinal", - "path": "/Users/matthew/projects/qiime2/q2-longitudinal" - }, - { - "name": "q2-metadata", - "path": "/Users/matthew/projects/qiime2/q2-metadata" - }, - { - "name": "q2-mystery-stew", - "path": "/Users/matthew/projects/qiime2/q2-mystery-stew" - }, - { - "name": "q2-no-op", - "path": "/Users/matthew/projects/qiime2/q2-no-op" - }, - { - "name": "q2-phylogenomics", - "path": "/Users/matthew/projects/qiime2/q2-phylogenomics" - }, - { - "name": "q2-phylogeny", - "path": "/Users/matthew/projects/qiime2/q2-phylogeny" - }, - { - "name": "q2-quality-control", - "path": "/Users/matthew/projects/qiime2/q2-quality-control" - }, - { - "name": "q2-quality-filter", - "path": "/Users/matthew/projects/qiime2/q2-quality-filter" - }, - { - "name": "q2-sample-classifier", - "path": "/Users/matthew/projects/qiime2/q2-sample-classifier" - }, - { - "name": "q2-shogun", - "path": "/Users/matthew/projects/qiime2/q2-shogun" - }, - { - "name": "q2-taxa", - "path": "/Users/matthew/projects/qiime2/q2-taxa" - }, - { - "name": "q2-types", - "path": "/Users/matthew/projects/qiime2/q2-types" - }, - { - "name": "q2-vsearch", - "path": "/Users/matthew/projects/qiime2/q2-vsearch" - }, - { - "name": "q2cli", - "path": "/Users/matthew/projects/qiime2/q2cli" - }, - { - "name": "q2cwl", - "path": "/Users/matthew/projects/qiime2/q2cwl" - }, - { - "name": "q2galaxy", - "path": "/Users/matthew/projects/qiime2/q2galaxy" - }, - { - "name": "q2studio", - "path": "/Users/matthew/projects/qiime2/q2studio" - }, - { - "name": "q2templates", - "path": "/Users/matthew/projects/qiime2/q2templates" - }, - { - "name": "q2view", - "path": "/Users/matthew/projects/qiime2/q2view" - }, - { - "name": "qiime2", - "path": "/Users/matthew/projects/qiime2/qiime2" - }, - { - "name": "qiime2-meta-figures", - "path": "/Users/matthew/projects/qiime2/qiime2-meta-figures" - }, - { - "name": "qiime2.github.io", - "path": "/Users/matthew/projects/qiime2/qiime2.github.io" - }, - { - "name": "scikit-bio", - "path": "/Users/matthew/projects/qiime2/scikit-bio" - }, - { - "name": "static-site-infrastructure", - "path": "/Users/matthew/projects/qiime2/static-site-infrastructure" - }, - { - "name": "template-repo", - "path": "/Users/matthew/projects/qiime2/template-repo" - }, - { - "name": "view.qiime2.org", - "path": "/Users/matthew/projects/qiime2/view.qiime2.org" - }, - { - "name": "vm-playbooks", - "path": "/Users/matthew/projects/qiime2/vm-playbooks" - }, - { - "name": "workshop-playbooks", - "path": "/Users/matthew/projects/qiime2/workshop-playbooks" - }, - { - "name": "workshops.qiime2.org", - "path": "/Users/matthew/projects/qiime2/workshops.qiime2.org" - } - ] -} \ No newline at end of file diff --git a/vscode/qiime2-3.code-workspace b/vscode/qiime2-3.code-workspace deleted file mode 100644 index c6ca305..0000000 --- a/vscode/qiime2-3.code-workspace +++ /dev/null @@ -1,252 +0,0 @@ -{ - "folders": [ - { - "name": "action-library-packaging", - "path": "/Users/matthew/projects/qiime2/action-library-packaging" - }, - { - "name": "bioconda-recipes", - "path": "/Users/matthew/projects/qiime2/bioconda-recipes" - }, - { - "name": "busywork", - "path": "/Users/matthew/projects/qiime2/busywork" - }, - { - "name": "busywork2_action_playground", - "path": "/Users/matthew/projects/qiime2/busywork2_action_playground" - }, - { - "name": "caporaso-lab-secrets", - "path": "/Users/matthew/projects/qiime2/caporaso-lab-secrets" - }, - { - "name": "caporaso-lab.github.io", - "path": "/Users/matthew/projects/qiime2/caporaso-lab.github.io" - }, - { - "name": "data", - "path": "/Users/matthew/projects/qiime2/data" - }, - { - "name": "data302", - "path": "/Users/matthew/projects/qiime2/data302" - }, - { - "name": "deblur", - "path": "/Users/matthew/projects/qiime2/deblur" - }, - { - "name": "dev-docs", - "path": "/Users/matthew/projects/qiime2/dev-docs" - }, - { - "name": "discourse-unhandled-tagger", - "path": "/Users/matthew/projects/qiime2/discourse-unhandled-tagger" - }, - { - "name": "docs", - "path": "/Users/matthew/projects/qiime2/docs" - }, - { - "name": "dotfiles", - "path": "/Users/matthew/.dotfiles" - }, - { - "name": "environment-files", - "path": "/Users/matthew/projects/qiime2/environment-files" - }, - { - "name": "genome-sampler", - "path": "/Users/matthew/projects/qiime2/genome-sampler" - }, - { - "name": "keemei", - "path": "/Users/matthew/projects/qiime2/Keemei" - }, - { - "name": "library", - "path": "/Users/matthew/projects/qiime2/library" - }, - { - "name": "logos", - "path": "/Users/matthew/projects/qiime2/logos" - }, - { - "name": "paper2", - "path": "/Users/matthew/projects/qiime2/paper2" - }, - { - "name": "pretrained-feature-classifiers", - "path": "/Users/matthew/projects/qiime2/pretrained-feature-classifiers" - }, - { - "name": "q2-alignment", - "path": "/Users/matthew/projects/qiime2/q2-alignment" - }, - { - "name": "q2-composition", - "path": "/Users/matthew/projects/qiime2/q2-composition" - }, - { - "name": "q2-cutadapt", - "path": "/Users/matthew/projects/qiime2/q2-cutadapt" - }, - { - "name": "q2-dada2", - "path": "/Users/matthew/projects/qiime2/q2-dada2" - }, - { - "name": "q2-deblur", - "path": "/Users/matthew/projects/qiime2/q2-deblur" - }, - { - "name": "q2-demux", - "path": "/Users/matthew/projects/qiime2/q2-demux" - }, - { - "name": "q2-diversity", - "path": "/Users/matthew/projects/qiime2/q2-diversity" - }, - { - "name": "q2-diversity-lib", - "path": "/Users/matthew/projects/qiime2/q2-diversity-lib" - }, - { - "name": "q2-emperor", - "path": "/Users/matthew/projects/qiime2/q2-emperor" - }, - { - "name": "q2-feature-classifier", - "path": "/Users/matthew/projects/qiime2/q2-feature-classifier" - }, - { - "name": "q2-feature-table", - "path": "/Users/matthew/projects/qiime2/q2-feature-table" - }, - { - "name": "q2-fragment-insertion", - "path": "/Users/matthew/projects/qiime2/q2-fragment-insertion" - }, - { - "name": "q2-gneiss", - "path": "/Users/matthew/projects/qiime2/q2-gneiss" - }, - { - "name": "q2-longitudinal", - "path": "/Users/matthew/projects/qiime2/q2-longitudinal" - }, - { - "name": "q2-metadata", - "path": "/Users/matthew/projects/qiime2/q2-metadata" - }, - { - "name": "q2-mystery-stew", - "path": "/Users/matthew/projects/qiime2/q2-mystery-stew" - }, - { - "name": "q2-no-op", - "path": "/Users/matthew/projects/qiime2/q2-no-op" - }, - { - "name": "q2-phylogenomics", - "path": "/Users/matthew/projects/qiime2/q2-phylogenomics" - }, - { - "name": "q2-phylogeny", - "path": "/Users/matthew/projects/qiime2/q2-phylogeny" - }, - { - "name": "q2-quality-control", - "path": "/Users/matthew/projects/qiime2/q2-quality-control" - }, - { - "name": "q2-quality-filter", - "path": "/Users/matthew/projects/qiime2/q2-quality-filter" - }, - { - "name": "q2-sample-classifier", - "path": "/Users/matthew/projects/qiime2/q2-sample-classifier" - }, - { - "name": "q2-shogun", - "path": "/Users/matthew/projects/qiime2/q2-shogun" - }, - { - "name": "q2-taxa", - "path": "/Users/matthew/projects/qiime2/q2-taxa" - }, - { - "name": "q2-types", - "path": "/Users/matthew/projects/qiime2/q2-types" - }, - { - "name": "q2-vsearch", - "path": "/Users/matthew/projects/qiime2/q2-vsearch" - }, - { - "name": "q2cli", - "path": "/Users/matthew/projects/qiime2/q2cli" - }, - { - "name": "q2cwl", - "path": "/Users/matthew/projects/qiime2/q2cwl" - }, - { - "name": "q2galaxy", - "path": "/Users/matthew/projects/qiime2/q2galaxy" - }, - { - "name": "q2studio", - "path": "/Users/matthew/projects/qiime2/q2studio" - }, - { - "name": "q2templates", - "path": "/Users/matthew/projects/qiime2/q2templates" - }, - { - "name": "q2view", - "path": "/Users/matthew/projects/qiime2/q2view" - }, - { - "name": "qiime2", - "path": "/Users/matthew/projects/qiime2/qiime2" - }, - { - "name": "qiime2-meta-figures", - "path": "/Users/matthew/projects/qiime2/qiime2-meta-figures" - }, - { - "name": "qiime2.github.io", - "path": "/Users/matthew/projects/qiime2/qiime2.github.io" - }, - { - "name": "scikit-bio", - "path": "/Users/matthew/projects/qiime2/scikit-bio" - }, - { - "name": "static-site-infrastructure", - "path": "/Users/matthew/projects/qiime2/static-site-infrastructure" - }, - { - "name": "template-repo", - "path": "/Users/matthew/projects/qiime2/template-repo" - }, - { - "name": "view.qiime2.org", - "path": "/Users/matthew/projects/qiime2/view.qiime2.org" - }, - { - "name": "vm-playbooks", - "path": "/Users/matthew/projects/qiime2/vm-playbooks" - }, - { - "name": "workshop-playbooks", - "path": "/Users/matthew/projects/qiime2/workshop-playbooks" - }, - { - "name": "workshops.qiime2.org", - "path": "/Users/matthew/projects/qiime2/workshops.qiime2.org" - } - ] -} \ No newline at end of file diff --git a/vscode/settings.json b/vscode/settings.json deleted file mode 100644 index 4ce9c6c..0000000 --- a/vscode/settings.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "editor.cursorStyle": "block", - "editor.minimap.enabled": false, - - "telemetry.enableTelemetry": false, - "telemetry.enableCrashReporter": false, - - "workbench.colorTheme": "Base16 Dark Ashes", - "workbench.sideBar.location": "right", - "window.restoreFullscreen": false, - - "python.jediEnabled": false, - - "git.confirmSync": false, - "githubPullRequests.remotes": [ - "origin", - "upstream", - "thermokarst", - "qiime2" - ], - "[elixir]": { - "editor.tabSize": 2, - "editor.formatOnSave": true - }, - "python.condaPath": "/opt/miniconda3/bin/conda", - "python.defaultInterpreterPath": "~/.conda/envs/q2dev/bin/python", - "python.terminal.activateEnvInCurrentTerminal": true, - "python.languageServer": "Microsoft", - "liveshare.authenticationProvider": "GitHub", - "editor.inlineSuggest.enabled": true -} diff --git a/vscode/tasks.json b/vscode/tasks.json deleted file mode 100644 index 87ebba5..0000000 --- a/vscode/tasks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "q2 test", - "type": "shell", - "command": "make test" - } - ] -} From 6caa9669672e263703074ef69c608f603ed7a594 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 25 Jan 2023 22:20:47 -0700 Subject: [PATCH 045/226] instructions --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 22f2e2e..2e5e1c0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # dotfiles ```bash -chezmoi init +chezmoi init ssh://git@pingo.thermokar.st/dotfiles --apply --guess-repo-url=false ``` From 1458f4a7f9db32b15e183e3cb229c2ac949109f5 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 25 Jan 2023 22:21:34 -0700 Subject: [PATCH 046/226] drop submodules --- .gitmodules | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 .gitmodules diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 1af14d0..0000000 --- a/.gitmodules +++ /dev/null @@ -1,4 +0,0 @@ -[submodule "dotbot"] - path = dotbot - url = https://github.com/anishathalye/dotbot - ignore = dirty From 995356e90f3e90c4252ce9cc65c8bf08b022c575 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 25 Jan 2023 22:22:14 -0700 Subject: [PATCH 047/226] data dir --- personal.toml => data/personal.toml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename personal.toml => data/personal.toml (100%) diff --git a/personal.toml b/data/personal.toml similarity index 100% rename from personal.toml rename to data/personal.toml From a7346e97b0ac0db2cfdcb00dd4ce4a42cbc986d5 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 25 Jan 2023 22:25:19 -0700 Subject: [PATCH 048/226] chezmoiroot --- .chezmoiroot | 1 + 1 file changed, 1 insertion(+) create mode 100644 .chezmoiroot diff --git a/.chezmoiroot b/.chezmoiroot new file mode 100644 index 0000000..5e72f75 --- /dev/null +++ b/.chezmoiroot @@ -0,0 +1 @@ +home From 543dee6e69b80372673a0217ac762030b6a14762 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 25 Jan 2023 22:29:46 -0700 Subject: [PATCH 049/226] helix editor setup --- home/dot_gitconfig | 2 +- home/dot_zshenv | 4 ++-- home/private_dot_config/helix/config.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/home/dot_gitconfig b/home/dot_gitconfig index 646994d..c9c8f70 100644 --- a/home/dot_gitconfig +++ b/home/dot_gitconfig @@ -2,7 +2,7 @@ name = Matthew Dillon email = matthewrdillon@gmail.com [core] - editor = nvim + editor = hx [color] diff = auto status = auto diff --git a/home/dot_zshenv b/home/dot_zshenv index 35c91cd..1ea0524 100644 --- a/home/dot_zshenv +++ b/home/dot_zshenv @@ -4,8 +4,8 @@ if [[ "$OSTYPE" == darwin* ]]; then fi # Editors -export EDITOR='nvim' -export VISUAL='nvim' +export EDITOR='hx' +export VISUAL='hx' export PAGER='less' # Language diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 9479f7a..6ea1f7f 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -1,4 +1,4 @@ -theme = "base16_terminal" +theme = "base16_default" [editor] true-color = true From b4c2428833929c41f72902a3954ff3ba3be43368 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 29 Jan 2023 17:34:52 -0700 Subject: [PATCH 050/226] starting to set up devterm config --- home/.chezmoiexternal.toml.tmpl | 20 +++++++ home/dot_zshrc | 79 -------------------------- home/dot_zshrc.tmpl | 53 +++++++++++++++++ home/run_once_install-packages.sh.tmpl | 13 +++++ 4 files changed, 86 insertions(+), 79 deletions(-) create mode 100644 home/.chezmoiexternal.toml.tmpl delete mode 100644 home/dot_zshrc create mode 100644 home/dot_zshrc.tmpl create mode 100644 home/run_once_install-packages.sh.tmpl diff --git a/home/.chezmoiexternal.toml.tmpl b/home/.chezmoiexternal.toml.tmpl new file mode 100644 index 0000000..3e370ee --- /dev/null +++ b/home/.chezmoiexternal.toml.tmpl @@ -0,0 +1,20 @@ +[".zprezto"] + type = "git-repo" + url = "https://github.com/sorin-ionescu/prezto.git" + refreshPeriod = "168h" + [".zprezto".pull] + args = ["--recurse-submodules"] + [".zprezto".clone] + args = ["--recurse-submodules"] + +{{- if eq .chezmoi.hostname "devterm" }} +["ttyscheme"] + type = "git-repo" + url = "https://github.com/kolunmi/ttyscheme.git" + refreshPeriod = "168h" +{{- else }} +[".config/base16-shell"] + type = "git-repo" + url = "https://github.com/chriskempson/base16-shell.git" + refreshPeriod = "168h" +{{- end }} diff --git a/home/dot_zshrc b/home/dot_zshrc deleted file mode 100644 index 7ba4775..0000000 --- a/home/dot_zshrc +++ /dev/null @@ -1,79 +0,0 @@ -# Matthew Dillon -# matthewrdillon@gmail.com - -srcs=( - "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" - "/opt/miniconda3/etc/profile.d/conda.sh" - "$HOME/.cargo/env" -) - -for fp in $srcs; do - if [[ -s "$fp" ]]; then - source "$fp" - fi -done - -BASE16_SHELL=$HOME/.config/base16-shell/ -[ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)" - -alias q="conda activate q2dev" -alias i="ipython3" -alias vim="nvim" - -# Backup shortcuts (borrowed parts from https://github.com/laurent22/rsync-time-backup -function prune_backups() { - dest_root="/Volumes/field_on_fire/$HOST" - epoch=$(date "+%s") - previous='0000-00-00-000000' - for filename in $(find "$dest_root" -type d -name "????-??-??-??????" -prune | sort -r); do - backup_date=$(basename "$filename") - timestamp=$(date -j -f "%Y-%m-%d-%H%M%S" "$backup_date" "+%s") - if [ -z "$timestamp" ]; then - echo "Error parsing date date: $filename" - continue - fi - if [ $timestamp -ge $((epoch - 86400)) ]; then - true - elif [ $timestamp -ge $((epoch - 2678400)) ]; then - if [ "${backup_date:0:10}" '==' "${previous:0:10}" ]; then - rm -rf "$filename" - fi - else - if [ "${backup_date:0:7}" '==' "${previous:0:7}" ]; then - rm -rf "$filename" - fi - fi - previous=$backup_date - done -} - -function back_things_up() { - date=$(date +"%Y-%m-%d-%H%M%S") - # TODO: update this... - dest_root="/Volumes/field_on_fire/$HOST" - rsync -azP \ - --stats \ - --human-readable \ - --itemize-changes \ - --size-only \ - --link-dest=$dest_root/latest \ - --exclude-from $HOME/.dotfiles/rsync_excludes.txt \ - $HOME/ \ - $dest_root/$date && \ - rm -f $dest_root/latest && \ - ln -s $dest_root/$date $dest_root/latest - # TODO: once confident pruning is working well, add that in here -} - -function devlog() { - vim -c 'Goyo' '+normal Go' +startinsert ~/projects/personal/devlog/logs/$(date '+%Y-%m-%d').gmi -} - -# NOTE: this might need a mapped network drive to work (e.g. Z:\) -function cmd() { - CMD=$1 - shift; - ARGS=$@ - WIN_PWD=$(wslpath -w ${PWD}) - cmd.exe /c "pushd ${WIN_PWD} && ${CMD} ${ARGS}" -} diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl new file mode 100644 index 0000000..a748a7b --- /dev/null +++ b/home/dot_zshrc.tmpl @@ -0,0 +1,53 @@ +srcs=( + "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" + "/opt/miniconda3/etc/profile.d/conda.sh" + "$HOME/.cargo/env" +) + +for fp in $srcs; do + if [[ -s "$fp" ]]; then + source "$fp" + fi +done + +BASE16_SHELL="$HOME/.config/base16-shell/" +[ -n "$PS1" ] && \ + [ -s "$BASE16_SHELL/profile_helper.sh" ] && \ + source "$BASE16_SHELL/profile_helper.sh" + +alias i="ipython3" + +{{- if eq .chezmoi.hostname "devterm" }} +function battery() { + upower -i /org/freedesktop/UPower/devices/battery_axp20x_battery +} + +function battery_percentage() { + battery | grep 'percentage' | awk '{print $2'}' +} + +function battery_time_to_empty() { + battery | grep 'time to empty' | awk '{print $4, $5}' +} + +export LPDEST=devterm_printer +alias receipt="lp" + +function receipt_feed () { + echo -e "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" > /tmp/DEVTERM_PRINTER_IN +} + +function brightness_half { + brightnessctl set 5 +} + +function brightness_max { + brightnessctl set 9 +} + +function brightness_min { + brightnessctl set 1 +} + +# ttyscheme +{{- end}} diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl new file mode 100644 index 0000000..d12e3ee --- /dev/null +++ b/home/run_once_install-packages.sh.tmpl @@ -0,0 +1,13 @@ +{{- if eq .chezmoi.hostname "devterm" }} +#!/bin/sh +sudo apt install \ + ripgrep \ + brightnessctl \ + lynx \ + libncurses-dev \ + zsh \ + tmux \ + tree \ + libssl-dev \ + git +{{- end }} From 6f1f912ac5066ec1afbc89e9b11d48a9382a3b10 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 29 Jan 2023 17:56:00 -0700 Subject: [PATCH 051/226] detail setting debian hostname --- README.md | 8 +++++++- home/run_once_install-packages.sh.tmpl | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2e5e1c0..8e1046d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # dotfiles +on debian machines, first set the fqdn: + ```bash -chezmoi init ssh://git@pingo.thermokar.st/dotfiles --apply --guess-repo-url=false +sudo hostnamectl set-hostname $MY_HOSTNAME.local +``` + +```bash +sh -c "$(curl -fsLS get.chezmoi.io)" -- init ssh://git@pingo.thermokar.st/dotfiles --apply --guess-repo-url=false ``` diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl index d12e3ee..86c779a 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_install-packages.sh.tmpl @@ -1,4 +1,4 @@ -{{- if eq .chezmoi.hostname "devterm" }} +{{ if eq .chezmoi.hostname "devterm" -}} #!/bin/sh sudo apt install \ ripgrep \ @@ -10,4 +10,4 @@ sudo apt install \ tree \ libssl-dev \ git -{{- end }} +{{ end }} From d20996f16aceec1aabd64627cdad4e3525e33349 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 31 Jan 2023 16:57:47 -0700 Subject: [PATCH 052/226] misc qol --- README.md | 16 ++++++++++++++-- home/dot_zshrc.tmpl | 2 +- home/run_once_install-packages.sh.tmpl | 3 ++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8e1046d..a73b396 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,23 @@ # dotfiles -on debian machines, first set the fqdn: +on debian machines, set the fqdn (this is necessary for some of the host-specific chezmoi config): ```bash sudo hostnamectl set-hostname $MY_HOSTNAME.local ``` +set the shell: + ```bash -sh -c "$(curl -fsLS get.chezmoi.io)" -- init ssh://git@pingo.thermokar.st/dotfiles --apply --guess-repo-url=false +chsh -s $(which zsh) +``` + +bootstrap chezmoi: + +```bash +sh -c "$(curl -fsLS get.chezmoi.io)" -- \ + init \ + git://pingo.thermokar.st/dotfiles \ + --apply \ + --guess-repo-url=false ``` diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index a748a7b..6d905f8 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -23,7 +23,7 @@ function battery() { } function battery_percentage() { - battery | grep 'percentage' | awk '{print $2'}' + battery | grep 'percentage' | awk '{print $2}' } function battery_time_to_empty() { diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl index 86c779a..0c9d995 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_install-packages.sh.tmpl @@ -9,5 +9,6 @@ sudo apt install \ tmux \ tree \ libssl-dev \ - git + git \ + -y {{ end }} From 5caff09ee52d9607d598876db9ffe88964e2f1c5 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 30 Apr 2023 16:09:55 -0500 Subject: [PATCH 053/226] macos prep --- README.md | 22 +++++++++++++++++++++- home/run_once_install-packages.sh.tmpl | 21 ++++++++++++++++----- 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a73b396..443a3ce 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,37 @@ # dotfiles -on debian machines, set the fqdn (this is necessary for some of the host-specific chezmoi config): +set the fqdn (this is necessary for some of the host-specific chezmoi config): ```bash +# debian sudo hostnamectl set-hostname $MY_HOSTNAME.local + +# macos +sudo scutil --set HostName $MY_HOSTNAME.local +sudo scutil --set LocalHostName $MY_HOSTNAME +sudo scutil --set ComputerName $MY_HOSTNAME +dscacheutil -flushcache # maybe reboot, too? ``` set the shell: ```bash +# debian chsh -s $(which zsh) + +# macos +sudo chpass -s '/opt/local/bin/zsh' $USER ``` +set up the package manager: + +```bash +xcode-select --install +# grab the pkg installer from: https://www.macports.org/install.php +``` + +patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads) + bootstrap chezmoi: ```bash diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl index 0c9d995..7412a10 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_install-packages.sh.tmpl @@ -1,14 +1,25 @@ {{ if eq .chezmoi.hostname "devterm" -}} #!/bin/sh sudo apt install \ - ripgrep \ brightnessctl \ - lynx \ + git \ libncurses-dev \ - zsh \ + libssl-dev \ + lynx \ + ripgrep \ tmux \ tree \ - libssl-dev \ - git \ + zsh \ -y {{ end }} +{{ if eq .chemoi.hostname "rattusrattus" -}} +#!/bin/sh +sudo port install \ + git \ + helix \ + ripgrep \ + tmux \ + tree \ + zellij \ + zsh +{{ end }} From 0c983c9893ca4e017a6b8d6082635daa630a6587 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 30 Apr 2023 16:19:25 -0500 Subject: [PATCH 054/226] typo --- home/run_once_install-packages.sh.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl index 7412a10..88c2289 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_install-packages.sh.tmpl @@ -12,7 +12,7 @@ sudo apt install \ zsh \ -y {{ end }} -{{ if eq .chemoi.hostname "rattusrattus" -}} +{{ if eq .chezmoi.hostname "rattusrattus" -}} #!/bin/sh sudo port install \ git \ From 4a504a334b4b8a55d3181cbaac98bc6bddad4f51 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sat, 13 May 2023 18:21:10 -0400 Subject: [PATCH 056/226] clean up readme --- README.md | 24 ++++++++++++++++++------ home/run_once_install-packages.sh.tmpl | 5 +++-- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 443a3ce..852a0a6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # dotfiles -set the fqdn (this is necessary for some of the host-specific chezmoi config): +1) set the fqdn (this is necessary for some of the host-specific chezmoi config): ```bash # debian @@ -13,7 +13,7 @@ sudo scutil --set ComputerName $MY_HOSTNAME dscacheutil -flushcache # maybe reboot, too? ``` -set the shell: +2) set the shell: ```bash # debian @@ -23,16 +23,20 @@ chsh -s $(which zsh) sudo chpass -s '/opt/local/bin/zsh' $USER ``` -set up the package manager: +3) set up the package manager: ```bash +# debian - nothing to do here + +# macos xcode-select --install -# grab the pkg installer from: https://www.macports.org/install.php +# download the pkg installer from: https://www.macports.org +# TODO: is there a reasonable unattended install workflow for macports? ``` -patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads) +4) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). size 16 or 17, no anti-aliasing -bootstrap chezmoi: +5) bootstrap chezmoi: ```bash sh -c "$(curl -fsLS get.chezmoi.io)" -- \ @@ -41,3 +45,11 @@ sh -c "$(curl -fsLS get.chezmoi.io)" -- \ --apply \ --guess-repo-url=false ``` + +6) install miniconda: + +```bash +wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh +chmod +x Miniconda3-latest-MacOSX-arm64.sh +sudo ./Miniconda3-latest-MacOSX-arm64.sh -b -u -p /opt/miniconda3 +``` diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl index 88c2289..8c7a8c7 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_install-packages.sh.tmpl @@ -9,10 +9,10 @@ sudo apt install \ ripgrep \ tmux \ tree \ + wget \ zsh \ -y -{{ end }} -{{ if eq .chezmoi.hostname "rattusrattus" -}} +{{ else if eq .chezmoi.os "darwin" -}} #!/bin/sh sudo port install \ git \ @@ -20,6 +20,7 @@ sudo port install \ ripgrep \ tmux \ tree \ + wget \ zellij \ zsh {{ end }} From 852667f36625182552035ce0a18bef0e48ce3164 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sat, 13 May 2023 22:33:14 -0400 Subject: [PATCH 057/226] readme updates --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 852a0a6..9782320 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,17 @@ sh -c "$(curl -fsLS get.chezmoi.io)" -- \ 6) install miniconda: ```bash -wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -chmod +x Miniconda3-latest-MacOSX-arm64.sh -sudo ./Miniconda3-latest-MacOSX-arm64.sh -b -u -p /opt/miniconda3 +# debian +wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh + +# macos +wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -O miniconda.sh + +# then, for either os: +chmod +x miniconda.sh +sudo ./miniconda.sh -b -u -p /opt/miniconda3 ``` + +7) set up software: + +- steermouse (license in email): btn4==fwd, btn5==bck From 6f0ea914e3adcdfc8ebfdf64de3598a889d31df9 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 14 May 2023 14:11:43 -0400 Subject: [PATCH 058/226] misc readme edits --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9782320..78974a0 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ chmod +x miniconda.sh sudo ./miniconda.sh -b -u -p /opt/miniconda3 ``` -7) set up software: +7) set up non-automated software and tools: - steermouse (license in email): btn4==fwd, btn5==bck +- rust (don't use a package manager for this) From 97e4e3989ea84b5ef675d6d4aaf767bcf9115b5f Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 14 May 2023 17:01:11 -0400 Subject: [PATCH 059/226] maint: gwar && PEMDAS --- README.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 78974a0..efbb864 100644 --- a/README.md +++ b/README.md @@ -13,14 +13,11 @@ sudo scutil --set ComputerName $MY_HOSTNAME dscacheutil -flushcache # maybe reboot, too? ``` -2) set the shell: +2) set the shell (linux-only): ```bash # debian chsh -s $(which zsh) - -# macos -sudo chpass -s '/opt/local/bin/zsh' $USER ``` 3) set up the package manager: @@ -46,7 +43,14 @@ sh -c "$(curl -fsLS get.chezmoi.io)" -- \ --guess-repo-url=false ``` -6) install miniconda: +6) set the shell (mac-only): + +```bash +# macos +sudo chpass -s '/opt/local/bin/zsh' $USER +``` + +7) install miniconda: ```bash # debian @@ -60,7 +64,8 @@ chmod +x miniconda.sh sudo ./miniconda.sh -b -u -p /opt/miniconda3 ``` -7) set up non-automated software and tools: +8) set up non-automated software and tools: - steermouse (license in email): btn4==fwd, btn5==bck - rust (don't use a package manager for this) +- gwar (`git clone ssh://git@pingo.thermokar.st/gwar && cd gwar && cargo build --release && cp target/release/gwar ~/bin`) From bea4766f48d712b256dec490e2ffacb442a06af8 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 16 May 2023 16:34:38 -0400 Subject: [PATCH 060/226] colima --- home/dot_zshenv | 2 +- home/run_once_install-packages.sh.tmpl | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/home/dot_zshenv b/home/dot_zshenv index 1ea0524..1676f27 100644 --- a/home/dot_zshenv +++ b/home/dot_zshenv @@ -79,5 +79,5 @@ export -U PATH export CONDA_ENVS_PATH=$HOME/.conda/envs:/opt/miniconda3/envs export CONDA_PKGS_DIRS=$HOME/.conda/pkgs export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc +export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock" -if [ -e /home/matthew/.nix-profile/etc/profile.d/nix.sh ]; then . /home/matthew/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl index 8c7a8c7..86a9222 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_install-packages.sh.tmpl @@ -15,6 +15,10 @@ sudo apt install \ {{ else if eq .chezmoi.os "darwin" -}} #!/bin/sh sudo port install \ + colima \ + curl \ + docker \ + docker-compose \ git \ helix \ ripgrep \ From e189eba3938cfe8ab0ada99f9e5abcb5e39f6911 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 18 May 2023 19:11:04 -0400 Subject: [PATCH 061/226] clear out npmrc && add colima helper --- home/dot_npmrc | 1 - home/dot_zshrc.tmpl | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dot_npmrc b/home/dot_npmrc index ff27651..e69de29 100644 --- a/home/dot_npmrc +++ b/home/dot_npmrc @@ -1 +0,0 @@ -prefix=~/.npm-packages \ No newline at end of file diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 6d905f8..2ea5838 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -16,6 +16,7 @@ BASE16_SHELL="$HOME/.config/base16-shell/" source "$BASE16_SHELL/profile_helper.sh" alias i="ipython3" +alias colima_start="colima start --vm-type vz --mount-type virtiofs" {{- if eq .chezmoi.hostname "devterm" }} function battery() { From af8e15c410a4c9f92f83bff3e8e8f581ec8ec6f0 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Fri, 19 May 2023 10:44:45 -0400 Subject: [PATCH 062/226] helix theme tweak && helix hidden files --- home/private_dot_config/helix/config.toml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 6ea1f7f..7db9fcc 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -1,4 +1,5 @@ -theme = "base16_default" - [editor] -true-color = true +theme = "meliora" + +[editor.file-picker] +hidden = false From 60550d031330ce851d6ce26291b28ade996230c7 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Fri, 19 May 2023 14:39:08 -0400 Subject: [PATCH 063/226] hx conf typo --- home/private_dot_config/helix/config.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 7db9fcc..5e4a4f5 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -1,4 +1,3 @@ -[editor] theme = "meliora" [editor.file-picker] From 7aa7c432e31152fe8d8cc709f770d37c4f3e6fc7 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sat, 27 May 2023 17:42:47 -0400 Subject: [PATCH 064/226] colima is mac-only --- home/dot_zshrc.tmpl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 2ea5838..ab19b6b 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -16,7 +16,10 @@ BASE16_SHELL="$HOME/.config/base16-shell/" source "$BASE16_SHELL/profile_helper.sh" alias i="ipython3" + +{{ if eq .chezmoi.os "darwin" -}} alias colima_start="colima start --vm-type vz --mount-type virtiofs" +{{- end}} {{- if eq .chezmoi.hostname "devterm" }} function battery() { From 653d660cd289d825b1aec0f499d80b7f7cf1b9d0 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 6 Jun 2023 18:41:50 -0400 Subject: [PATCH 065/226] helix rust env --- README.md | 1 + data/personal.toml | 1 + home/private_dot_config/helix/config.toml | 2 +- home/private_dot_config/helix/languages.toml | 5 +++++ 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 home/private_dot_config/helix/languages.toml diff --git a/README.md b/README.md index efbb864..f3d6dd9 100644 --- a/README.md +++ b/README.md @@ -68,4 +68,5 @@ sudo ./miniconda.sh -b -u -p /opt/miniconda3 - steermouse (license in email): btn4==fwd, btn5==bck - rust (don't use a package manager for this) + - rust-analyzer (`rustup component add rust-analyzer`) - gwar (`git clone ssh://git@pingo.thermokar.st/gwar && cd gwar && cargo build --release && cp target/release/gwar ~/bin`) diff --git a/data/personal.toml b/data/personal.toml index c428f65..cd9bbe2 100644 --- a/data/personal.toml +++ b/data/personal.toml @@ -14,6 +14,7 @@ repos = [ "gwar", "notes", "pingo", + "rlox", ] remotes = [] diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 5e4a4f5..d3cb5e5 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -1,4 +1,4 @@ -theme = "meliora" +theme = "base16_default" [editor.file-picker] hidden = false diff --git a/home/private_dot_config/helix/languages.toml b/home/private_dot_config/helix/languages.toml new file mode 100644 index 0000000..fab76e5 --- /dev/null +++ b/home/private_dot_config/helix/languages.toml @@ -0,0 +1,5 @@ +[[language]] +name = "rust" + +[language-server.rust-analyzer.config.check] +command = "clippy" From c3f37a1518390b0fe0ae5cca7d62a666bd125e6f Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 6 Jun 2023 19:07:02 -0400 Subject: [PATCH 066/226] set up age encryption --- home/.chezmoi.toml.tmpl | 4 ++++ home/private_dot_ssh/config.tmpl | 3 +++ .../encrypted_id_ecdsa.pub.age | 12 ++++++++++ .../encrypted_private_id_ecdsa.age | 22 +++++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 home/.chezmoi.toml.tmpl create mode 100644 home/private_dot_ssh/config.tmpl create mode 100644 home/private_dot_ssh/encrypted_id_ecdsa.pub.age create mode 100644 home/private_dot_ssh/encrypted_private_id_ecdsa.age diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl new file mode 100644 index 0000000..8623f33 --- /dev/null +++ b/home/.chezmoi.toml.tmpl @@ -0,0 +1,4 @@ +encryption = "age" +[age] + identity = "~/.key.txt" + recipient = "age1yd87u4ae86erpem2tynyl959ppc8a3jt4ztssykytzaklut6uvus5prt2t" diff --git a/home/private_dot_ssh/config.tmpl b/home/private_dot_ssh/config.tmpl new file mode 100644 index 0000000..5929c2e --- /dev/null +++ b/home/private_dot_ssh/config.tmpl @@ -0,0 +1,3 @@ +{{ if eq .chezmoi.os "darwin" -}} +Include /Users/matthew/.colima/ssh_config +{{ end }} \ No newline at end of file diff --git a/home/private_dot_ssh/encrypted_id_ecdsa.pub.age b/home/private_dot_ssh/encrypted_id_ecdsa.pub.age new file mode 100644 index 0000000..18f5b1c --- /dev/null +++ b/home/private_dot_ssh/encrypted_id_ecdsa.pub.age @@ -0,0 +1,12 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1Y1Z4ZEpoK2RidUgrZFFV +VElqZDlNdXZ3czRwSVZiSWx3WnZGUFIrbkZzCnhTMG1MUWMraFVwSjFNQUFvMjhU +RUFHZE1nTDBwRGt4MXNHTUxVZFhUTUEKLS0tIDNsSjlsMWlSbnlRbTM5TmFVVmQy +am9LSzI0SjBBZ3pXSVhxQnlzTWR5ZFEKrx4z3Usu6NUqMyuM0UJeGa3X7SJed50o +lNYgdEatTd52LmkBDBeId4uilJU4Hw7g+NK80uxLgsXyjjfI+FznigNl8Ofd6n57 +uPMuLj2shrslWRYoLq3Dtw03X/q/2eUuJPG9T7H98RQvsEl/N7zekymgoXUFT44v +eRZBr5mg5i57sX539Z1jZmmaWEcPyR9OYFSRCrtRATOEF520hU2LTxIRSxF194/e +NzGh6lrvK/m8VGClGHk/UqdItH5S6+dAg+P4v2FSFQwls/uzq9j0n/bK0A06F6Vs +lL+mSumS9d+zvXzsu0iHLSoECP31kAfNuWPj9j0WCekISdwJmoXR+gp3iCf6IUOh +w0vP1Vsz4cIWUC6SgoK2rrWqmfSkD2TFPom3MzFhr3yw+60LwtYZQ3LzIJQQ +-----END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_ssh/encrypted_private_id_ecdsa.age b/home/private_dot_ssh/encrypted_private_id_ecdsa.age new file mode 100644 index 0000000..f2104bf --- /dev/null +++ b/home/private_dot_ssh/encrypted_private_id_ecdsa.age @@ -0,0 +1,22 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2SEFzdmNyTWdiSXpIZGhs +T2kxOXpXczc4VE9nWkNFbi9yelJvdmtVOEhVClVaWlZ0dUJLaXhMRCs1dW9MY1Nl +NUpNcGR3WW5vcG1tTCtTOXcwZEt0M1UKLS0tIHhvWDJDTFkzcWd2bjRoRDdzS2hs +RzBLdFZvWlc2VW1OczZOak9YMzlzZmcKARnp+EZvwPa2LvmGeI1EDaaVtroC6SKe +qEhhN3Oq8zX9jEIYJxGU49HHr+V9qS2e3v992alPdstejkuJA1sMBoEzI5UuJFDI +zZ4YUj6tJjzNQiW2L018jYfvywZRbCv55M3y63LTzHMsVIvWRcJYwf5KBDvJXK6g +Bivbxobm41KL6ftMqsPIShQwUmbitdIO2hw7ZxEQc+VXrGZeU2pU5oRSbAXxxY/p +F2OBm/mWfxrcmN7OvhjfQkp52mquK5bYCSBf41hipA+bHhRGajzzhRWuKHqaPB60 +d8KEgPIDP673BAhUNH+PLkoar1b7SDX63OsMmHECkS+cdpuuXAIlm1OaTTEb5tUD ++DxXCD5W5jYQAEjNoihXgxRfXFS7ADUtn7m/xoTwAaTScZmJKXfCMFwP2aOdQFa2 +eWOFFIo93+rpwFuSHNw2r2mEAd7UD3ctEWkpYfagaVT4kWJFa7aprBmi7hb3IPZa +L7KnnokXWZiVmMEuRz69eqJ5/PWM/097mg03E62bS0KHM5yz4QhD2t3ExwqdfR2g +5EYqDnvY0TtT+mJqW1SRNNOTD69Xrrud/j01GobTrDgkAZf8afUm1NXozgZJh+dl +RFqdyvbYtgmQ9VGuJyPgHlHmiCGgNuMJ6h6Q8xI+fOemvjDVZ0sOa/Upggl2Wi8+ +RxbSXSw/SXBH0eOkP2Wi52U8cM6K5Q++YgG8lljYiGSwGqJ87hBSOYJme5qN5UVF +s1e2/OZEixtvtD7wFqZji699ZZwonqXWbP1g8/Wg9oOS0rFKKFpGnprMcbaZp3ac +4ioIpe5xbKyoB5phzWK1L2U6pVD7BdVSbx3S0KNvsvkQ2g9CjrsbkY/7YsKYnZMJ +CLw/paagNm/1RNJTtGi1lz6rPwsYNVE8ilq7QwbTrDUJRQaicywJpyx+uxv0FcA/ +5lR1KBvURANX/8g4AOh1tD4nlHCnQXQ1w1miObJaayxuoEzvawhH6gxP3jMcfpXZ +BSZNelSQuTnErxhjtaIiWgM8ITVw7j+WigVZR080Ipl72xLA +-----END AGE ENCRYPTED FILE----- From 5fd9702ddcd8c9f3f8f7e5f5d75c1d57b9c94a3b Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 6 Jun 2023 21:35:27 -0400 Subject: [PATCH 067/226] readme and trailing newline --- README.md | 13 +++++++++---- home/.chezmoi.toml.tmpl | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f3d6dd9..6dabaf5 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,9 @@ xcode-select --install 4) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). size 16 or 17, no anti-aliasing -5) bootstrap chezmoi: +5) install `age` private key from password manager into `~/.key.txt` + +6) bootstrap chezmoi: ```bash sh -c "$(curl -fsLS get.chezmoi.io)" -- \ @@ -43,14 +45,14 @@ sh -c "$(curl -fsLS get.chezmoi.io)" -- \ --guess-repo-url=false ``` -6) set the shell (mac-only): +7) set the shell (mac-only): ```bash # macos sudo chpass -s '/opt/local/bin/zsh' $USER ``` -7) install miniconda: +8) install miniconda: ```bash # debian @@ -64,9 +66,12 @@ chmod +x miniconda.sh sudo ./miniconda.sh -b -u -p /opt/miniconda3 ``` -8) set up non-automated software and tools: +9) set up non-automated software and tools: - steermouse (license in email): btn4==fwd, btn5==bck +- logitech control center +- lunar +- magnet - rust (don't use a package manager for this) - rust-analyzer (`rustup component add rust-analyzer`) - gwar (`git clone ssh://git@pingo.thermokar.st/gwar && cd gwar && cargo build --release && cp target/release/gwar ~/bin`) diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index 8623f33..0d6da5c 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -2,3 +2,4 @@ encryption = "age" [age] identity = "~/.key.txt" recipient = "age1yd87u4ae86erpem2tynyl959ppc8a3jt4ztssykytzaklut6uvus5prt2t" + From 78ff896f48f98c3b02d9852dc97a4538bc63de15 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 6 Jun 2023 21:36:46 -0400 Subject: [PATCH 068/226] changed my mind on trailing newline --- home/.chezmoi.toml.tmpl | 1 - 1 file changed, 1 deletion(-) diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index 0d6da5c..8623f33 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -2,4 +2,3 @@ encryption = "age" [age] identity = "~/.key.txt" recipient = "age1yd87u4ae86erpem2tynyl959ppc8a3jt4ztssykytzaklut6uvus5prt2t" - From 7d30a521147a10ab4b321112f5e182e856f1f42f Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 8 Jun 2023 11:44:48 -0400 Subject: [PATCH 069/226] set up work-related stuff --- home/.chezmoiignore.tmpl | 3 +++ home/dot_zshrc.tmpl | 7 +++++-- home/encrypted_dot_zshemulateenergy.age | 8 ++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 home/.chezmoiignore.tmpl create mode 100644 home/encrypted_dot_zshemulateenergy.age diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl new file mode 100644 index 0000000..a5c8fd5 --- /dev/null +++ b/home/.chezmoiignore.tmpl @@ -0,0 +1,3 @@ +{{- if ne .chezmoi.os "darwin" }} +.zshemulateenergy +{{- end }} diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index ab19b6b..2bffa2b 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -2,6 +2,9 @@ srcs=( "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" "/opt/miniconda3/etc/profile.d/conda.sh" "$HOME/.cargo/env" + {{ if eq .chezmoi.os "darwin" -}} + "$HOME/.zshemulateenergy" + {{- end }} ) for fp in $srcs; do @@ -19,7 +22,7 @@ alias i="ipython3" {{ if eq .chezmoi.os "darwin" -}} alias colima_start="colima start --vm-type vz --mount-type virtiofs" -{{- end}} +{{- end }} {{- if eq .chezmoi.hostname "devterm" }} function battery() { @@ -54,4 +57,4 @@ function brightness_min { } # ttyscheme -{{- end}} +{{- end }} diff --git a/home/encrypted_dot_zshemulateenergy.age b/home/encrypted_dot_zshemulateenergy.age new file mode 100644 index 0000000..08be3ae --- /dev/null +++ b/home/encrypted_dot_zshemulateenergy.age @@ -0,0 +1,8 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDZVRtc3ZCVmp1eEhBaDg0 +bXQrMlAwTTRQNlZrL0Vhd2QyRE9qczdhcVZNCnV0VFNqcVRtMG9tU2E5Y1F2YWpv +N2x5ZnBTSGZuTFFENXU0QVIrOTVVY1UKLS0tIHRKcEVpQ0lzOHVKYjlkd3A1c2s5 +RTJsY1BURy9VVSt3SjNtV0pEVHVNcVkKV48BhIOn3pX2eoSZLfTaeut9bOxnKzjZ +sUTEhIDOCsmNmW5vSZ2DUADBeLc6fYOm3Wq4voIuMLfQN8m9Yz5l8tIXISRgbdsD +t9Z9S0lT4oB9mnCJEDBSKzyj +-----END AGE ENCRYPTED FILE----- From 04e6025af8346a308b7aff90e09f88e93044b634 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 15 Jun 2023 15:14:14 -0400 Subject: [PATCH 070/226] work config --- home/encrypted_dot_zshemulateenergy.age | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/home/encrypted_dot_zshemulateenergy.age b/home/encrypted_dot_zshemulateenergy.age index 08be3ae..70a5b91 100644 --- a/home/encrypted_dot_zshemulateenergy.age +++ b/home/encrypted_dot_zshemulateenergy.age @@ -1,8 +1,11 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDZVRtc3ZCVmp1eEhBaDg0 -bXQrMlAwTTRQNlZrL0Vhd2QyRE9qczdhcVZNCnV0VFNqcVRtMG9tU2E5Y1F2YWpv -N2x5ZnBTSGZuTFFENXU0QVIrOTVVY1UKLS0tIHRKcEVpQ0lzOHVKYjlkd3A1c2s5 -RTJsY1BURy9VVSt3SjNtV0pEVHVNcVkKV48BhIOn3pX2eoSZLfTaeut9bOxnKzjZ -sUTEhIDOCsmNmW5vSZ2DUADBeLc6fYOm3Wq4voIuMLfQN8m9Yz5l8tIXISRgbdsD -t9Z9S0lT4oB9mnCJEDBSKzyj +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5UWtyTWdSOTl0aEFNaXFH +UzlLNHBjRXlLRG1OSlVWc0EyTjdVOW1kQTEwCngrR05KU0F6dmR0R2FHL2hFRi9L +cnJmYmVXMVRCNll0T1crYm9oelc2YlEKLS0tIHRObCtjTVl6UFRtZk9MelBha25L +WmpMUU5ISGZoME0yd054b0NBbWg0blkKscfDLOwF/oX97O3C2+176Y8ykXRDRLwQ +GjVUmPciW2JLB0AFu2DsynaZudHQ75+yYV/Iju+ElsU5dhBIQOUthJpHyB+ib0Z7 +t2nmOcQL31W7dxnAFvl0SwSFid/eyOyANT8jZJUWrc9wxvR5cwWfiadJvaISdT8g +qRfDFlyDxxyLUNeYhzFArempOU/AKzHnAm0fzHuWLFc3DMVyQjM9HjEsaM9RK53s +MnboChl9MVtmKKEfwPxd7VWakxTQ+BwvXZu3qYedGwUBjCvehj0g3GEhG9hu9npt +w0rjMfLq5RPC61jVeoWICmEIsIPT5PEccDUl7Hk= -----END AGE ENCRYPTED FILE----- From d1cd3f21ef9ef56246089b0c6e8d5b0aba59e22a Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 4 Jul 2023 16:44:53 -0400 Subject: [PATCH 071/226] fix tmux on macos --- home/dot_tmux.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dot_tmux.conf b/home/dot_tmux.conf index 82d47a0..93936d6 100644 --- a/home/dot_tmux.conf +++ b/home/dot_tmux.conf @@ -5,7 +5,7 @@ setw -g automatic-rename set-option -g default-shell $SHELL # set -g default-command "~/bin/safe-reattach-to-user-namespace -l ${SHELL}" set -g default-terminal "screen-256color" -set -ga terminal-overrides ",xterm-256color*:Tc" +set -g allow-passthrough on set -g prefix C-a unbind C-b From 779cc9e007a798e6cdb9eaabf25ed2fc6515cae8 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 30 Jul 2023 14:45:35 -0400 Subject: [PATCH 072/226] work updates --- home/encrypted_dot_zshemulateenergy.age | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/home/encrypted_dot_zshemulateenergy.age b/home/encrypted_dot_zshemulateenergy.age index 70a5b91..ad53d09 100644 --- a/home/encrypted_dot_zshemulateenergy.age +++ b/home/encrypted_dot_zshemulateenergy.age @@ -1,11 +1,13 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5UWtyTWdSOTl0aEFNaXFH -UzlLNHBjRXlLRG1OSlVWc0EyTjdVOW1kQTEwCngrR05KU0F6dmR0R2FHL2hFRi9L -cnJmYmVXMVRCNll0T1crYm9oelc2YlEKLS0tIHRObCtjTVl6UFRtZk9MelBha25L -WmpMUU5ISGZoME0yd054b0NBbWg0blkKscfDLOwF/oX97O3C2+176Y8ykXRDRLwQ -GjVUmPciW2JLB0AFu2DsynaZudHQ75+yYV/Iju+ElsU5dhBIQOUthJpHyB+ib0Z7 -t2nmOcQL31W7dxnAFvl0SwSFid/eyOyANT8jZJUWrc9wxvR5cwWfiadJvaISdT8g -qRfDFlyDxxyLUNeYhzFArempOU/AKzHnAm0fzHuWLFc3DMVyQjM9HjEsaM9RK53s -MnboChl9MVtmKKEfwPxd7VWakxTQ+BwvXZu3qYedGwUBjCvehj0g3GEhG9hu9npt -w0rjMfLq5RPC61jVeoWICmEIsIPT5PEccDUl7Hk= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiYURIV1JVRG5YTE9aSDc2 +YnRpeWxrc0VZbWVTVTNETFlsRTMzcUxVRjFRCnBHK21jN3U0d1orbnFoMVZDM0o0 +NkNudHVIa2FTcUpOMXM4UUNIOG9TSFkKLS0tIHNqSnA0ZE10RUlvMksxcjdadkox +U2ZacTNWbE5SdGVldkFoZTg4U3JKaE0KlHT726MOM7hm2fx4DkW1HMdJyk8d6Edc +jXxBHhrqVjLE4KKUxBBx7NgSmrGEjCa2bXc2i1usbfFM3OUu3oCWcI3+tUWSzZIT +uhPmvXRAkJA0kLlS9+CG8cB9fx6cWl0wRZAz3FvvO+4UK2zdGIEo3z8mmP9t3eHQ +1cfo1p4Wn+8WytifGeS4K50GaCW4zEtH/3JYgC0FB70AuxvThoeB4pu58imYKziN +JiaFnZsKuCW+UBuxvz6zeiIyqoo/4O2vgbUH0fJgMt84fY24i3QMvlgvpT8Z5sfB +8tTUiTWZozhL5OR85DW/epdM4GkEnPFaobV1o+uRi6/5CFxeiSGcEQHXQqKMWzEj +VPcNh0koEwMog7ke2J+v8wZCpQOUOxZuaYWYF22QjySsmvsj/x6DmjcQKVM8oI/5 +EC0vZOYY5Nr+t+k1o2Nm7fW8W2wDcs+u6w== -----END AGE ENCRYPTED FILE----- From 58ac026ff224dfc7dead1c5f0f0beacb876da2a1 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 10 Aug 2023 21:16:10 -0400 Subject: [PATCH 073/226] setting up a new wsl vm --- README.md | 18 ++++++++++-------- home/run_once_install-packages.sh.tmpl | 12 ++++++++++++ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 6dabaf5..d266b53 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ ```bash # debian sudo hostnamectl set-hostname $MY_HOSTNAME.local +# or edit /etc/hostname on wsl, since no systemd # macos sudo scutil --set HostName $MY_HOSTNAME.local @@ -13,17 +14,11 @@ sudo scutil --set ComputerName $MY_HOSTNAME dscacheutil -flushcache # maybe reboot, too? ``` -2) set the shell (linux-only): +2) set up the package manager and bootstrap dependencies: ```bash # debian -chsh -s $(which zsh) -``` - -3) set up the package manager: - -```bash -# debian - nothing to do here +sudo apt install curl zsh git # macos xcode-select --install @@ -31,6 +26,13 @@ xcode-select --install # TODO: is there a reasonable unattended install workflow for macports? ``` +3) set the shell (linux-only): + +```bash +# debian +chsh -s $(which zsh) +``` + 4) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). size 16 or 17, no anti-aliasing 5) install `age` private key from password manager into `~/.key.txt` diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl index 86a9222..59a987d 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_install-packages.sh.tmpl @@ -27,4 +27,16 @@ sudo port install \ wget \ zellij \ zsh +{{ else if eq .chezmoi.hostname "spleen" -}} +#!/bin/sh +sudo apt install \ + ripgrep \ + tmux \ + tree \ + wget \ + -y + +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /rustup.sh && chmod u+x /rustup.sh && /rustup.sh -y +git clone https://github.com/helix-editor/helix.git /helix +export PATH=$PATH:$HOME/.cargo/bin && cargo install --path helix-term && hx --grammar fetch && hx --grammar build {{ end }} From a5ff4922ed53722ac93dd0a9175278f363369346 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 10 Aug 2023 22:13:41 -0400 Subject: [PATCH 074/226] ironing out some hx install still not perfect but itll do for the moment --- home/run_once_install-packages.sh.tmpl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl index 59a987d..7742318 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_install-packages.sh.tmpl @@ -27,16 +27,18 @@ sudo port install \ wget \ zellij \ zsh -{{ else if eq .chezmoi.hostname "spleen" -}} +{{ else if eq .chezmoi.hostname "DESKTOP-R0KQMF4" -}} #!/bin/sh +sudo apt update sudo apt install \ + clang \ ripgrep \ tmux \ tree \ wget \ -y -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /rustup.sh && chmod u+x /rustup.sh && /rustup.sh -y -git clone https://github.com/helix-editor/helix.git /helix -export PATH=$PATH:$HOME/.cargo/bin && cargo install --path helix-term && hx --grammar fetch && hx --grammar build +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh && chmod u+x /tmp/rustup.sh && /tmp/rustup.sh -y && rustup update stable +git clone https://github.com/helix-editor/helix.git --branch 23.05 /tmp/helix +export PATH=$PATH:$HOME/.cargo/bin && cd /tmp/helix && cargo install --path helix-term --locked && hx --grammar fetch && hx --grammar build {{ end }} From 25931051a8ed70b527f93ca1d0249538cf5980f1 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 14 Aug 2023 06:48:26 -0400 Subject: [PATCH 075/226] misc wsl edits --- README.md | 7 +++++-- home/run_once_install-packages.sh.tmpl | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d266b53..4e8e966 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ```bash # debian sudo hostnamectl set-hostname $MY_HOSTNAME.local -# or edit /etc/hostname on wsl, since no systemd +# or don't worry about it on WSL machines # macos sudo scutil --set HostName $MY_HOSTNAME.local @@ -18,6 +18,7 @@ dscacheutil -flushcache # maybe reboot, too? ```bash # debian +sudo apt update sudo apt install curl zsh git # macos @@ -33,7 +34,9 @@ xcode-select --install chsh -s $(which zsh) ``` -4) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). size 16 or 17, no anti-aliasing +4) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). + - wsl: size 11 + - macos: size 16 or 17, no anti-aliasing 5) install `age` private key from password manager into `~/.key.txt` diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl index 7742318..3baeb6b 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_install-packages.sh.tmpl @@ -39,6 +39,8 @@ sudo apt install \ -y curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh && chmod u+x /tmp/rustup.sh && /tmp/rustup.sh -y && rustup update stable -git clone https://github.com/helix-editor/helix.git --branch 23.05 /tmp/helix -export PATH=$PATH:$HOME/.cargo/bin && cd /tmp/helix && cargo install --path helix-term --locked && hx --grammar fetch && hx --grammar build +git clone https://github.com/helix-editor/helix.git --branch 23.05 $HOME/.src/helix +export PATH=$PATH:$HOME/.cargo/bin && cd $HOME/.src/helix && cargo install --path helix-term --locked && hx --grammar fetch && hx --grammar build + +git clone ssh://git@pingo.thermokar.st/gwar $HOME/.src/gwar && cd $HOME/.src/gwar && cargo build --release && cp target/release/gwar ~/bin {{ end }} From cb3998956878cc2afd6e5e216b5fb01fb03a5da0 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 14 Aug 2023 07:20:09 -0400 Subject: [PATCH 076/226] cleaning up hostname handling --- README.md | 22 ++++++++++++++++++---- foo.txt | 3 +++ home/.chezmoi.toml.tmpl | 8 ++++++++ home/dot_zshrc.tmpl | 4 ++-- home/private_dot_ssh/config.tmpl | 4 ++-- home/run_once_install-packages.sh.tmpl | 6 +++--- 6 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 foo.txt diff --git a/README.md b/README.md index 4e8e966..1b20d55 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,19 @@ # dotfiles +## hostnames + +- `rattusrattus`: macbook +- `yersiniapestis`: wsl (debian) +- `devterm`: devterm (debian) + 1) set the fqdn (this is necessary for some of the host-specific chezmoi config): ```bash -# debian +# debian standalone sudo hostnamectl set-hostname $MY_HOSTNAME.local -# or don't worry about it on WSL machines + +# debian wsl +echo "[network]\nhostname = $MY_HOSTNAME" | sudo tee -a /etc/wsl.conf # macos sudo scutil --set HostName $MY_HOSTNAME.local @@ -27,11 +35,14 @@ xcode-select --install # TODO: is there a reasonable unattended install workflow for macports? ``` -3) set the shell (linux-only): +3) set the initial shell: ```bash # debian chsh -s $(which zsh) + +# macos +# NA ``` 4) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). @@ -50,9 +61,12 @@ sh -c "$(curl -fsLS get.chezmoi.io)" -- \ --guess-repo-url=false ``` -7) set the shell (mac-only): +7) set the new shell (in case installing from 3rd-party package manager): ```bash +# debian +# NA + # macos sudo chpass -s '/opt/local/bin/zsh' $USER ``` diff --git a/foo.txt b/foo.txt new file mode 100644 index 0000000..339f573 --- /dev/null +++ b/foo.txt @@ -0,0 +1,3 @@ +[network] +hostname = yersiniapestis + diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index 8623f33..a48d9cc 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -2,3 +2,11 @@ encryption = "age" [age] identity = "~/.key.txt" recipient = "age1yd87u4ae86erpem2tynyl959ppc8a3jt4ztssykytzaklut6uvus5prt2t" + +{{- $hostname = .chezmoi.hostname -}} +{{- if eq .chezmoi.os "darwin" -}} +{{- $hostname := output "scutil" "--get" "ComputerName" | trim -}} +{{- end -}} + +[data] + hostname = {{ $hostname | quote }} diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 2bffa2b..2307d17 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -2,7 +2,7 @@ srcs=( "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" "/opt/miniconda3/etc/profile.d/conda.sh" "$HOME/.cargo/env" - {{ if eq .chezmoi.os "darwin" -}} + {{ if eq .chezmoi.hostname "rattusrattus" -}} "$HOME/.zshemulateenergy" {{- end }} ) @@ -20,7 +20,7 @@ BASE16_SHELL="$HOME/.config/base16-shell/" alias i="ipython3" -{{ if eq .chezmoi.os "darwin" -}} +{{ if eq .chezmoi.hostname "rattusrattus" -}} alias colima_start="colima start --vm-type vz --mount-type virtiofs" {{- end }} diff --git a/home/private_dot_ssh/config.tmpl b/home/private_dot_ssh/config.tmpl index 5929c2e..3a9e33f 100644 --- a/home/private_dot_ssh/config.tmpl +++ b/home/private_dot_ssh/config.tmpl @@ -1,3 +1,3 @@ -{{ if eq .chezmoi.os "darwin" -}} +{{ if eq .chezmoi.hostname "rattusrattus" -}} Include /Users/matthew/.colima/ssh_config -{{ end }} \ No newline at end of file +{{ end }} diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_install-packages.sh.tmpl index 3baeb6b..2571ab9 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_install-packages.sh.tmpl @@ -12,7 +12,7 @@ sudo apt install \ wget \ zsh \ -y -{{ else if eq .chezmoi.os "darwin" -}} +{{ else if eq .chezmoi.hostname "rattusrattus" -}} #!/bin/sh sudo port install \ colima \ @@ -27,7 +27,7 @@ sudo port install \ wget \ zellij \ zsh -{{ else if eq .chezmoi.hostname "DESKTOP-R0KQMF4" -}} +{{ else if eq .chezmoi.hostname "yersiniapestis" -}} #!/bin/sh sudo apt update sudo apt install \ @@ -42,5 +42,5 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh && c git clone https://github.com/helix-editor/helix.git --branch 23.05 $HOME/.src/helix export PATH=$PATH:$HOME/.cargo/bin && cd $HOME/.src/helix && cargo install --path helix-term --locked && hx --grammar fetch && hx --grammar build -git clone ssh://git@pingo.thermokar.st/gwar $HOME/.src/gwar && cd $HOME/.src/gwar && cargo build --release && cp target/release/gwar ~/bin +# git clone ssh://git@pingo.thermokar.st/gwar $HOME/.src/gwar && cd $HOME/.src/gwar && cargo build --release && cp target/release/gwar ~/bin {{ end }} From d1dfddf9acacb823429c2fdc406ef7d04e21633e Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 14 Aug 2023 07:26:21 -0400 Subject: [PATCH 077/226] fixing hostname typos --- README.md | 2 ++ home/.chezmoi.toml.tmpl | 11 +++++------ home/dot_zshenv | 1 + 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1b20d55..54f68f9 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ - `yersiniapestis`: wsl (debian) - `devterm`: devterm (debian) +## steps + 1) set the fqdn (this is necessary for some of the host-specific chezmoi config): ```bash diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index a48d9cc..50e134d 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -1,12 +1,11 @@ -encryption = "age" -[age] - identity = "~/.key.txt" - recipient = "age1yd87u4ae86erpem2tynyl959ppc8a3jt4ztssykytzaklut6uvus5prt2t" - -{{- $hostname = .chezmoi.hostname -}} +{{- $hostname := .chezmoi.hostname -}} {{- if eq .chezmoi.os "darwin" -}} {{- $hostname := output "scutil" "--get" "ComputerName" | trim -}} {{- end -}} +encryption = "age" +[age] + identity = "~/.key.txt" + recipient = "age1yd87u4ae86erpem2tynyl959ppc8a3jt4ztssykytzaklut6uvus5prt2t" [data] hostname = {{ $hostname | quote }} diff --git a/home/dot_zshenv b/home/dot_zshenv index 1676f27..2694a78 100644 --- a/home/dot_zshenv +++ b/home/dot_zshenv @@ -57,6 +57,7 @@ check_paths=( # rust $HOME/.cargo/bin + $HOME/.cargo/env # WSL # /mnt/c/windows From b70757dfba9223c782c6fbf587bb598d895f632c Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 14 Aug 2023 07:27:03 -0400 Subject: [PATCH 078/226] remove wsl debugging leftovers --- foo.txt | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 foo.txt diff --git a/foo.txt b/foo.txt deleted file mode 100644 index 339f573..0000000 --- a/foo.txt +++ /dev/null @@ -1,3 +0,0 @@ -[network] -hostname = yersiniapestis - From 12dabf43e91cc2409320be08596d8e2409d37cf6 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Fri, 18 Aug 2023 06:55:39 -0400 Subject: [PATCH 079/226] colima base memory bump --- home/dot_zshrc.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 2307d17..508da75 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -21,7 +21,7 @@ BASE16_SHELL="$HOME/.config/base16-shell/" alias i="ipython3" {{ if eq .chezmoi.hostname "rattusrattus" -}} -alias colima_start="colima start --vm-type vz --mount-type virtiofs" +alias colima_start="colima start --memory 4 --vm-type vz --mount-type virtiofs" {{- end }} {{- if eq .chezmoi.hostname "devterm" }} From 651c566ae940bc46a78f6c8a115fc4ae858e608f Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 3 Sep 2023 13:55:53 -0400 Subject: [PATCH 080/226] fixing up bootstrappign scripts --- ...tmpl => run_once_01install-packages.sh.tmpl} | 17 +++++++++-------- home/run_once_02install-rust.sh.tmpl | 8 ++++++++ home/run_once_03install-gwar.sh.tmpl | 11 +++++++++++ home/run_once_04install-helix.sh.tmpl | 8 ++++++++ 4 files changed, 36 insertions(+), 8 deletions(-) rename home/{run_once_install-packages.sh.tmpl => run_once_01install-packages.sh.tmpl} (50%) create mode 100644 home/run_once_02install-rust.sh.tmpl create mode 100644 home/run_once_03install-gwar.sh.tmpl create mode 100644 home/run_once_04install-helix.sh.tmpl diff --git a/home/run_once_install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl similarity index 50% rename from home/run_once_install-packages.sh.tmpl rename to home/run_once_01install-packages.sh.tmpl index 2571ab9..25847ff 100644 --- a/home/run_once_install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -1,5 +1,8 @@ -{{ if eq .chezmoi.hostname "devterm" -}} #!/bin/sh + +set -e + +{{ if eq .chezmoi.hostname "devterm" -}} sudo apt install \ brightnessctl \ git \ @@ -12,8 +15,8 @@ sudo apt install \ wget \ zsh \ -y + {{ else if eq .chezmoi.hostname "rattusrattus" -}} -#!/bin/sh sudo port install \ colima \ curl \ @@ -27,20 +30,18 @@ sudo port install \ wget \ zellij \ zsh + {{ else if eq .chezmoi.hostname "yersiniapestis" -}} -#!/bin/sh sudo apt update sudo apt install \ + build-essential \ clang \ + libssl-dev \ + pkg-config \ ripgrep \ tmux \ tree \ wget \ -y -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh && chmod u+x /tmp/rustup.sh && /tmp/rustup.sh -y && rustup update stable -git clone https://github.com/helix-editor/helix.git --branch 23.05 $HOME/.src/helix -export PATH=$PATH:$HOME/.cargo/bin && cd $HOME/.src/helix && cargo install --path helix-term --locked && hx --grammar fetch && hx --grammar build - -# git clone ssh://git@pingo.thermokar.st/gwar $HOME/.src/gwar && cd $HOME/.src/gwar && cargo build --release && cp target/release/gwar ~/bin {{ end }} diff --git a/home/run_once_02install-rust.sh.tmpl b/home/run_once_02install-rust.sh.tmpl new file mode 100644 index 0000000..0bdbb2d --- /dev/null +++ b/home/run_once_02install-rust.sh.tmpl @@ -0,0 +1,8 @@ +#!/bin/sh + +set -e + +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh && \ + chmod u+x /tmp/rustup.sh && \ + /tmp/rustup.sh -y && \ + rustup update stable diff --git a/home/run_once_03install-gwar.sh.tmpl b/home/run_once_03install-gwar.sh.tmpl new file mode 100644 index 0000000..7a663c2 --- /dev/null +++ b/home/run_once_03install-gwar.sh.tmpl @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +if [ ! -d $HOME/.src/gwar ] ; then + git clone ssh://git@pingo.thermokar.st/gwar $HOME/.src/gwar +fi + +cd $HOME/.src/gwar +cargo build --release +cp target/release/gwar ~/bin diff --git a/home/run_once_04install-helix.sh.tmpl b/home/run_once_04install-helix.sh.tmpl new file mode 100644 index 0000000..fb06d73 --- /dev/null +++ b/home/run_once_04install-helix.sh.tmpl @@ -0,0 +1,8 @@ +#!/bin/sh + +git clone https://github.com/helix-editor/helix.git --branch 23.05 $HOME/.src/helix +export PATH=$PATH:$HOME/.cargo/bin +cd $HOME/.src/helix +cargo install --path helix-term --locked +hx --grammar fetch +hx --grammar build From 2892dc35cd416e482896d6d16509aa5fa4a0e29c Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 3 Sep 2023 23:15:10 -0400 Subject: [PATCH 081/226] tweaking rust installation --- README.md | 2 +- home/run_once_02install-rust.sh.tmpl | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 54f68f9..b068ec1 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ sudo hostnamectl set-hostname $MY_HOSTNAME.local # debian wsl -echo "[network]\nhostname = $MY_HOSTNAME" | sudo tee -a /etc/wsl.conf +echo -e "[network]\nhostname = $MY_HOSTNAME" | sudo tee -a /etc/wsl.conf # macos sudo scutil --set HostName $MY_HOSTNAME.local diff --git a/home/run_once_02install-rust.sh.tmpl b/home/run_once_02install-rust.sh.tmpl index 0bdbb2d..e3e7dec 100644 --- a/home/run_once_02install-rust.sh.tmpl +++ b/home/run_once_02install-rust.sh.tmpl @@ -2,7 +2,8 @@ set -e -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh && \ - chmod u+x /tmp/rustup.sh && \ - /tmp/rustup.sh -y && \ - rustup update stable +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh +chmod u+x /tmp/rustup.sh +/tmp/rustup.sh -y --no-modify-path +source $HOME/.cargo/env +rustup update stable From 3a90d4d62de8166df70721ce538a51a54830f54e Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 4 Sep 2023 12:25:44 -0400 Subject: [PATCH 082/226] no markdown list, fix shell sourcing --- README.md | 21 +++++++++------------ home/run_once_02install-rust.sh.tmpl | 2 +- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index b068ec1..30cc4a8 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ## steps -1) set the fqdn (this is necessary for some of the host-specific chezmoi config): +(1) set the fqdn (this is necessary for some of the host-specific chezmoi config): ```bash # debian standalone @@ -24,7 +24,7 @@ sudo scutil --set ComputerName $MY_HOSTNAME dscacheutil -flushcache # maybe reboot, too? ``` -2) set up the package manager and bootstrap dependencies: +(2) set up the package manager and bootstrap dependencies: ```bash # debian @@ -37,7 +37,7 @@ xcode-select --install # TODO: is there a reasonable unattended install workflow for macports? ``` -3) set the initial shell: +(3) set the initial shell: ```bash # debian @@ -47,13 +47,13 @@ chsh -s $(which zsh) # NA ``` -4) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). +(4) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). - wsl: size 11 - macos: size 16 or 17, no anti-aliasing -5) install `age` private key from password manager into `~/.key.txt` +(5) install `age` private key from password manager into `~/.key.txt` -6) bootstrap chezmoi: +(6) bootstrap chezmoi: ```bash sh -c "$(curl -fsLS get.chezmoi.io)" -- \ @@ -63,7 +63,7 @@ sh -c "$(curl -fsLS get.chezmoi.io)" -- \ --guess-repo-url=false ``` -7) set the new shell (in case installing from 3rd-party package manager): +(7) set the new shell (in case installing from 3rd-party package manager): ```bash # debian @@ -73,7 +73,7 @@ sh -c "$(curl -fsLS get.chezmoi.io)" -- \ sudo chpass -s '/opt/local/bin/zsh' $USER ``` -8) install miniconda: +(8) install miniconda: ```bash # debian @@ -87,12 +87,9 @@ chmod +x miniconda.sh sudo ./miniconda.sh -b -u -p /opt/miniconda3 ``` -9) set up non-automated software and tools: +(9) set up non-automated software and tools: - steermouse (license in email): btn4==fwd, btn5==bck - logitech control center - lunar - magnet -- rust (don't use a package manager for this) - - rust-analyzer (`rustup component add rust-analyzer`) -- gwar (`git clone ssh://git@pingo.thermokar.st/gwar && cd gwar && cargo build --release && cp target/release/gwar ~/bin`) diff --git a/home/run_once_02install-rust.sh.tmpl b/home/run_once_02install-rust.sh.tmpl index e3e7dec..86240e9 100644 --- a/home/run_once_02install-rust.sh.tmpl +++ b/home/run_once_02install-rust.sh.tmpl @@ -5,5 +5,5 @@ set -e curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh chmod u+x /tmp/rustup.sh /tmp/rustup.sh -y --no-modify-path -source $HOME/.cargo/env +. $HOME/.cargo/env rustup update stable From a74b00a947bd7ca9edd816cf68d993d3ccfdf655 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 4 Sep 2023 12:29:01 -0400 Subject: [PATCH 083/226] belt and suspenders --- home/run_once_03install-gwar.sh.tmpl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/run_once_03install-gwar.sh.tmpl b/home/run_once_03install-gwar.sh.tmpl index 7a663c2..f67145b 100644 --- a/home/run_once_03install-gwar.sh.tmpl +++ b/home/run_once_03install-gwar.sh.tmpl @@ -7,5 +7,7 @@ if [ ! -d $HOME/.src/gwar ] ; then fi cd $HOME/.src/gwar +# belt-and-suspenders +. $HOME/.cargo/env cargo build --release cp target/release/gwar ~/bin From 87907088e2226ea9778c1b9c5c1770f0fcec50f9 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 4 Sep 2023 16:08:07 -0400 Subject: [PATCH 084/226] clarify steps --- README.md | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 30cc4a8..365423e 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,12 @@ echo -e "[network]\nhostname = $MY_HOSTNAME" | sudo tee -a /etc/wsl.conf sudo scutil --set HostName $MY_HOSTNAME.local sudo scutil --set LocalHostName $MY_HOSTNAME sudo scutil --set ComputerName $MY_HOSTNAME -dscacheutil -flushcache # maybe reboot, too? +dscacheutil -flushcache ``` -(2) set up the package manager and bootstrap dependencies: +(2) reboot + +(3) set up the package manager and bootstrap dependencies: ```bash # debian @@ -37,7 +39,7 @@ xcode-select --install # TODO: is there a reasonable unattended install workflow for macports? ``` -(3) set the initial shell: +(4) set the initial shell: ```bash # debian @@ -47,13 +49,13 @@ chsh -s $(which zsh) # NA ``` -(4) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). +(5) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). - wsl: size 11 - macos: size 16 or 17, no anti-aliasing -(5) install `age` private key from password manager into `~/.key.txt` +(6) install `age` private key from password manager into `~/.key.txt` -(6) bootstrap chezmoi: +(7) bootstrap chezmoi: ```bash sh -c "$(curl -fsLS get.chezmoi.io)" -- \ @@ -63,7 +65,7 @@ sh -c "$(curl -fsLS get.chezmoi.io)" -- \ --guess-repo-url=false ``` -(7) set the new shell (in case installing from 3rd-party package manager): +(8) set the new shell (in case installing from 3rd-party package manager): ```bash # debian @@ -73,7 +75,16 @@ sh -c "$(curl -fsLS get.chezmoi.io)" -- \ sudo chpass -s '/opt/local/bin/zsh' $USER ``` -(8) install miniconda: +(9) restart shell + +(10) grab project source + +```bash +ssh -T git@github.com +gwar ~/.local/share/chezmoi/data/personal.toml +``` + +(11) install miniconda: ```bash # debian @@ -87,7 +98,7 @@ chmod +x miniconda.sh sudo ./miniconda.sh -b -u -p /opt/miniconda3 ``` -(9) set up non-automated software and tools: +(12) set up non-automated software and tools: - steermouse (license in email): btn4==fwd, btn5==bck - logitech control center From af1339820632a67ac6a4c8c9564cfb8ec1eda8b4 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 5 Sep 2023 07:28:45 -0400 Subject: [PATCH 085/226] force true color helix and correctly link runtime assets --- home/private_dot_config/helix/config.toml | 3 +++ home/run_once_04install-helix.sh.tmpl | 1 + 2 files changed, 4 insertions(+) diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index d3cb5e5..50a4df8 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -1,4 +1,7 @@ theme = "base16_default" +[editor] +true-color = true + [editor.file-picker] hidden = false diff --git a/home/run_once_04install-helix.sh.tmpl b/home/run_once_04install-helix.sh.tmpl index fb06d73..ba5a389 100644 --- a/home/run_once_04install-helix.sh.tmpl +++ b/home/run_once_04install-helix.sh.tmpl @@ -4,5 +4,6 @@ git clone https://github.com/helix-editor/helix.git --branch 23.05 $HOME/.src/he export PATH=$PATH:$HOME/.cargo/bin cd $HOME/.src/helix cargo install --path helix-term --locked +ln -s $PWD/runtime ~/.config/helix/runtime hx --grammar fetch hx --grammar build From 261c4244943575ba0ea27aa6ebbc8d67b79f4205 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 25 Sep 2023 12:46:57 -0400 Subject: [PATCH 086/226] force colima dns servers (for resolving npm packages) --- home/dot_zshrc.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 508da75..c92a715 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -21,7 +21,7 @@ BASE16_SHELL="$HOME/.config/base16-shell/" alias i="ipython3" {{ if eq .chezmoi.hostname "rattusrattus" -}} -alias colima_start="colima start --memory 4 --vm-type vz --mount-type virtiofs" +alias colima_start="colima start --memory 4 --vm-type vz --mount-type virtiofs --dns 8.8.8.8 --dns 8.8.4.4" {{- end }} {{- if eq .chezmoi.hostname "devterm" }} From 844a14110b3d8d5d58bb4c08d6b8b012062b0a8b Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 25 Sep 2023 12:53:07 -0400 Subject: [PATCH 087/226] sweet --- home/encrypted_dot_zshemulateenergy.age | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/home/encrypted_dot_zshemulateenergy.age b/home/encrypted_dot_zshemulateenergy.age index ad53d09..1f7f157 100644 --- a/home/encrypted_dot_zshemulateenergy.age +++ b/home/encrypted_dot_zshemulateenergy.age @@ -1,13 +1,16 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiYURIV1JVRG5YTE9aSDc2 -YnRpeWxrc0VZbWVTVTNETFlsRTMzcUxVRjFRCnBHK21jN3U0d1orbnFoMVZDM0o0 -NkNudHVIa2FTcUpOMXM4UUNIOG9TSFkKLS0tIHNqSnA0ZE10RUlvMksxcjdadkox -U2ZacTNWbE5SdGVldkFoZTg4U3JKaE0KlHT726MOM7hm2fx4DkW1HMdJyk8d6Edc -jXxBHhrqVjLE4KKUxBBx7NgSmrGEjCa2bXc2i1usbfFM3OUu3oCWcI3+tUWSzZIT -uhPmvXRAkJA0kLlS9+CG8cB9fx6cWl0wRZAz3FvvO+4UK2zdGIEo3z8mmP9t3eHQ -1cfo1p4Wn+8WytifGeS4K50GaCW4zEtH/3JYgC0FB70AuxvThoeB4pu58imYKziN -JiaFnZsKuCW+UBuxvz6zeiIyqoo/4O2vgbUH0fJgMt84fY24i3QMvlgvpT8Z5sfB -8tTUiTWZozhL5OR85DW/epdM4GkEnPFaobV1o+uRi6/5CFxeiSGcEQHXQqKMWzEj -VPcNh0koEwMog7ke2J+v8wZCpQOUOxZuaYWYF22QjySsmvsj/x6DmjcQKVM8oI/5 -EC0vZOYY5Nr+t+k1o2Nm7fW8W2wDcs+u6w== +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnOVVCejZwOEJXUkRMTVJ1 +cGdxOHQ0Um9xSlBvTS9lMHNWbUlRODVIOUNVCk1yYWpET0VrNGNyS3J2UFNHMTRP +NUdvTWVYM0xSRGhvNEJtUlI2VldOWU0KLS0tIFl3QWxSdU91U3NsSWFnSTlBMkFZ +ejROcEMxSDFQTkFmV0ZDMDZGNFcrNHcKoJDUfA5dSTrgKGmzXJcys68oqXR7n0WD +eq/lQlxHDx77AMzo64sXOjjliUm3HPN1kR+6E3jlTZ0j86FxABGmqxIFfXiBb9JR +X/863ZZ4QOrhAt1Yo1vQmPWha33+KPDxGQa7ic6pYniJCxjKi6rIG05K0mW0NCQd +rqPNNa082T/zEEbXhLlnwVYr8m/BOx6q/devRq64y+Pg2bQKjw0EHPIblAC387Hx +OgNtfl+8Ot1qgB2CfjypTPDHqzRQ+AJWTsGNT4vCW/6IEKVBH102DfJfSpGttTC5 +81XVcQvfPaNRK8yqk1DCiODtc/NEzVoHoB9cWRaYLPWagcg4aP2sut4pYaYiRr5L +dbfqKPbLMTHgrfOld/Bx1vfvfEthXNx1yUq6Q1k02usaw1WJ7oc3C9ZelPxtIjL6 +nihHMnDSkTBzvH1fvx0rZ3861mtcA7c2f+rmJTvXKssD49KyLJek9yHOHs0uy3c2 +vxY5zaam3KOBijmEEZfJRmrQWjijI7U4GYNE4yUUHjyytowmBP4rwskgwwUEaZDJ +HzkUzVayA7BFTtkXJ49va+s1N0sfuDyzY0X5HvrppI4tAKtxXpNgm+ZOY1UnDmLd +bsP0fLQ7AN2acoHtOvrHIwsfoy0FIkVs+uzZ7I45PR2WgZp3hHa6dD3PA5em2veg -----END AGE ENCRYPTED FILE----- From 23c328657f98418ce8bd526f651a2d4158082dec Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 15 Oct 2023 14:35:38 +0200 Subject: [PATCH 088/226] colima tweaks --- home/dot_zshenv | 1 - home/dot_zshrc.tmpl | 2 +- home/encrypted_dot_zshemulateenergy.age | 28 ++++++++++++------------- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/home/dot_zshenv b/home/dot_zshenv index 2694a78..31d22ca 100644 --- a/home/dot_zshenv +++ b/home/dot_zshenv @@ -80,5 +80,4 @@ export -U PATH export CONDA_ENVS_PATH=$HOME/.conda/envs:/opt/miniconda3/envs export CONDA_PKGS_DIRS=$HOME/.conda/pkgs export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc -export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock" diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index c92a715..2812027 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -21,7 +21,7 @@ BASE16_SHELL="$HOME/.config/base16-shell/" alias i="ipython3" {{ if eq .chezmoi.hostname "rattusrattus" -}} -alias colima_start="colima start --memory 4 --vm-type vz --mount-type virtiofs --dns 8.8.8.8 --dns 8.8.4.4" +alias colima_start="colima start --memory 8 --vm-type vz --mount-type virtiofs --dns 8.8.8.8 --dns 8.8.4.4" {{- end }} {{- if eq .chezmoi.hostname "devterm" }} diff --git a/home/encrypted_dot_zshemulateenergy.age b/home/encrypted_dot_zshemulateenergy.age index 1f7f157..4eadd7f 100644 --- a/home/encrypted_dot_zshemulateenergy.age +++ b/home/encrypted_dot_zshemulateenergy.age @@ -1,16 +1,16 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnOVVCejZwOEJXUkRMTVJ1 -cGdxOHQ0Um9xSlBvTS9lMHNWbUlRODVIOUNVCk1yYWpET0VrNGNyS3J2UFNHMTRP -NUdvTWVYM0xSRGhvNEJtUlI2VldOWU0KLS0tIFl3QWxSdU91U3NsSWFnSTlBMkFZ -ejROcEMxSDFQTkFmV0ZDMDZGNFcrNHcKoJDUfA5dSTrgKGmzXJcys68oqXR7n0WD -eq/lQlxHDx77AMzo64sXOjjliUm3HPN1kR+6E3jlTZ0j86FxABGmqxIFfXiBb9JR -X/863ZZ4QOrhAt1Yo1vQmPWha33+KPDxGQa7ic6pYniJCxjKi6rIG05K0mW0NCQd -rqPNNa082T/zEEbXhLlnwVYr8m/BOx6q/devRq64y+Pg2bQKjw0EHPIblAC387Hx -OgNtfl+8Ot1qgB2CfjypTPDHqzRQ+AJWTsGNT4vCW/6IEKVBH102DfJfSpGttTC5 -81XVcQvfPaNRK8yqk1DCiODtc/NEzVoHoB9cWRaYLPWagcg4aP2sut4pYaYiRr5L -dbfqKPbLMTHgrfOld/Bx1vfvfEthXNx1yUq6Q1k02usaw1WJ7oc3C9ZelPxtIjL6 -nihHMnDSkTBzvH1fvx0rZ3861mtcA7c2f+rmJTvXKssD49KyLJek9yHOHs0uy3c2 -vxY5zaam3KOBijmEEZfJRmrQWjijI7U4GYNE4yUUHjyytowmBP4rwskgwwUEaZDJ -HzkUzVayA7BFTtkXJ49va+s1N0sfuDyzY0X5HvrppI4tAKtxXpNgm+ZOY1UnDmLd -bsP0fLQ7AN2acoHtOvrHIwsfoy0FIkVs+uzZ7I45PR2WgZp3hHa6dD3PA5em2veg +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLQ1RDS1RmRkRNR1h0RmZK +T0Juem9IOFNVR2lFakloT0lOR09BZkorZjM4ClZWQkJmNVcwZCtETk01L2x3TzUx +VTFCbWJ2MmxodHFMVGc5bkhuQWhRYkkKLS0tIDlkZjg4dC9zYTM5dEpmWWhDOFRh +Z1pkRFZKaUppMVNFcVZRU3ozZHRGamMKt8HKQe/MXeFxKD0LJykkNlIr8/FoCyce +l3h3owq+DF6RTvIBGU0pNJfMBpjBtT8SGh30zs4+X7HpUE/LbFXX5O+o/mAitawF +4469R7yKSZt9xgaZJxELIQVFQJm5W5H9My9+vhyBRNF/Zf+G6DXBufPxQSjXIMlU +1FgbdH+l8Pd/62xwlL1dyrYBTa42yfgQCRgohGFVWQtsRlwQM88Q8QSmNyBDCo8R +iLjzkRQDlvPEyyeuu4PB6+x88kmxEX+IBclaQGQ4o9GDiZETJiyvPqA3QpWkPBa5 +HMO6PHDHeikkSqsBrIVNfy12esVZbYAVRZ07e9/A+4XhFmW5TN7bZtToD65HbYzx +9I1czhRRrn/qULeBsMFBLqhQAHTvXjdwACTFwq4eSVq1dxwGD+bgiMlcEypGT+Gh +ltTQs8hB4RxiLnpQsrOWcJbmqGckl/hZyX43kDTNVhyLaiDRT1rdzlr9PptyOaYW +X12Y0a1qsMbdWzhD3nLVNtdqmg+Kud4d300eNlU26ijMnUZsOkkYmCUPu/Ax6F7z +jONfOK4Qwn31tjQUtmPLxf7aLogV/B3xjtQ8eEH29NNoGy3VVEWYwBKzT4krU/FE +UFH1OHgyMXVZw5E0mPvJdekvDZjwjQknjDBK6IZz1sWz2UvvNQBOr9a46sG4urlP -----END AGE ENCRYPTED FILE----- From 5a8bd47acd0340d91b1d91a91192269cf9fff8a8 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 23 Oct 2023 10:01:45 +0200 Subject: [PATCH 089/226] clean up some packages - prefer docker desktop - i haven't really had time to play with zellij --- home/run_once_01install-packages.sh.tmpl | 4 ---- 1 file changed, 4 deletions(-) diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 25847ff..64ec59b 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -18,17 +18,13 @@ sudo apt install \ {{ else if eq .chezmoi.hostname "rattusrattus" -}} sudo port install \ - colima \ curl \ - docker \ - docker-compose \ git \ helix \ ripgrep \ tmux \ tree \ wget \ - zellij \ zsh {{ else if eq .chezmoi.hostname "yersiniapestis" -}} From 06e10325863c1caa6a7f161718fd563de02c7184 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 24 Oct 2023 13:52:23 -0400 Subject: [PATCH 090/226] new: zimfw (replaed prezto) --- home/.chezmoiexternal.toml.tmpl | 9 -- home/dot_zpreztorc | 144 -------------------------------- home/dot_zshrc.tmpl | 60 +++++++++++-- home/private_dot_zimrc | 49 +++++++++++ 4 files changed, 103 insertions(+), 159 deletions(-) delete mode 100644 home/dot_zpreztorc create mode 100644 home/private_dot_zimrc diff --git a/home/.chezmoiexternal.toml.tmpl b/home/.chezmoiexternal.toml.tmpl index 3e370ee..bda8828 100644 --- a/home/.chezmoiexternal.toml.tmpl +++ b/home/.chezmoiexternal.toml.tmpl @@ -1,12 +1,3 @@ -[".zprezto"] - type = "git-repo" - url = "https://github.com/sorin-ionescu/prezto.git" - refreshPeriod = "168h" - [".zprezto".pull] - args = ["--recurse-submodules"] - [".zprezto".clone] - args = ["--recurse-submodules"] - {{- if eq .chezmoi.hostname "devterm" }} ["ttyscheme"] type = "git-repo" diff --git a/home/dot_zpreztorc b/home/dot_zpreztorc deleted file mode 100644 index bec0fd1..0000000 --- a/home/dot_zpreztorc +++ /dev/null @@ -1,144 +0,0 @@ -# -# Sets Prezto options. -# - -# General -# - -# Set case-sensitivity for completion, history lookup, etc. -# zstyle ':prezto:*:*' case-sensitive 'yes' - -# Color output (auto set to 'no' on dumb terminals). -zstyle ':prezto:*:*' color 'yes' - -# Set the Zsh modules to load (man zshmodules). -# zstyle ':prezto:load' zmodule 'attr' 'stat' - -# Set the Zsh functions to load (man zshcontrib). -# zstyle ':prezto:load' zfunction 'zargs' 'zmv' - -# Set the Prezto modules to load (browse modules). -# The order matters. -zstyle ':prezto:load' pmodule \ - 'environment' \ - 'terminal' \ - 'editor' \ - 'history' \ - 'directory' \ - 'spectrum' \ - 'utility' \ - 'completion' \ - 'git' \ - 'prompt' \ - 'tmux' \ - 'gpg' - -# -# Editor -# - -# Set the key mapping style to 'emacs' or 'vi'. -zstyle ':prezto:module:editor' key-bindings 'vi' - -# Auto convert .... to ../.. -# zstyle ':prezto:module:editor' dot-expansion 'yes' - -# -# Git -# - -# Ignore submodules when they are 'dirty', 'untracked', 'all', or 'none'. -# zstyle ':prezto:module:git:status:ignore' submodules 'all' - -# Disable aliases -zstyle ':prezto:module:git:alias' skip 'yes' - -# -# GNU Utility -# - -# Set the command prefix on non-GNU systems. -# zstyle ':prezto:module:gnu-utility' prefix 'g' - -# -# History Substring Search -# - -# Set the query found color. -# zstyle ':prezto:module:history-substring-search:color' found '' - -# Set the query not found color. -# zstyle ':prezto:module:history-substring-search:color' not-found '' - -# Set the search globbing flags. -# zstyle ':prezto:module:history-substring-search' globbing-flags '' - -# -# Pacman -# - -# Set the Pacman frontend. -# zstyle ':prezto:module:pacman' frontend 'yaourt' - -# -# Prompt -# - -# Set the prompt theme to load. -# Setting it to 'random' loads a random theme. -# Auto set to 'off' on dumb terminals. -zstyle ':prezto:module:prompt' theme 'peepcode' - -# -# Screen -# - -# Auto start a session when Zsh is launched in a local terminal. -# zstyle ':prezto:module:screen:auto-start' local 'yes' - -# Auto start a session when Zsh is launched in a SSH connection. -# zstyle ':prezto:module:screen:auto-start' remote 'yes' - -# -# SSH -# - -# Set the SSH identities to load into the agent. -# zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_rsa2' 'id_github' - -# -# Syntax Highlighting -# - -# Set syntax highlighters. -# By default, only the main highlighter is enabled. -# zstyle ':prezto:module:syntax-highlighting' highlighters \ -# 'main' \ -# 'brackets' \ -# 'pattern' \ -# 'cursor' \ -# 'root' -# -# Set syntax highlighting styles. -# zstyle ':prezto:module:syntax-highlighting' styles \ -# 'builtin' 'bg=blue' \ -# 'command' 'bg=blue' \ -# 'function' 'bg=blue' -# - -# -# Terminal -# - -# Auto set the tab and window titles. -zstyle ':prezto:module:terminal' auto-title 'yes' - -# -# Tmux -# - -# Auto start a session when Zsh is launched in a local terminal. -# zstyle ':prezto:module:tmux:auto-start' local 'yes' - -# Auto start a session when Zsh is launched in a SSH connection. -# zstyle ':prezto:module:tmux:auto-start' remote 'yes' diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 2812027..a90753c 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -1,5 +1,52 @@ +# Remove older command from the history if a duplicate is to be added. +setopt HIST_IGNORE_ALL_DUPS + +# Set editor default keymap to emacs (`-e`) or vi (`-v`) +bindkey -v + +# Remove path separator from WORDCHARS. +WORDCHARS=${WORDCHARS//[\/]} + +# Disable automatic widget re-binding on each precmd. This can be set when +# zsh-users/zsh-autosuggestions is the last module in your ~/.zimrc. +ZSH_AUTOSUGGEST_MANUAL_REBIND=1 + +# Set what highlighters will be used. +# See https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md +ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) + +ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim + +# Download zimfw plugin manager if missing. +if [[ ! -e ${ZIM_HOME}/zimfw.zsh ]]; then + if (( ${+commands[curl]} )); then + curl -fsSL --create-dirs -o ${ZIM_HOME}/zimfw.zsh \ + https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh + else + mkdir -p ${ZIM_HOME} && wget -nv -O ${ZIM_HOME}/zimfw.zsh \ + https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh + fi +fi + +# Install missing modules, and update ${ZIM_HOME}/init.zsh if missing or outdated. +if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZDOTDIR:-${HOME}}/.zimrc ]]; then + source ${ZIM_HOME}/zimfw.zsh init -q +fi + +# Initialize modules. +source ${ZIM_HOME}/init.zsh + +# zsh-history-substring-search +zmodload -F zsh/terminfo +p:terminfo + +# Bind ^[[A/^[[B manually so up/down works both before and after zle-line-init +for key ('^[[A' '^P' ${terminfo[kcuu1]}) bindkey ${key} history-substring-search-up +for key ('^[[B' '^N' ${terminfo[kcud1]}) bindkey ${key} history-substring-search-down +for key ('k') bindkey -M vicmd ${key} history-substring-search-up +for key ('j') bindkey -M vicmd ${key} history-substring-search-down +unset key + srcs=( - "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" "/opt/miniconda3/etc/profile.d/conda.sh" "$HOME/.cargo/env" {{ if eq .chezmoi.hostname "rattusrattus" -}} @@ -13,11 +60,6 @@ for fp in $srcs; do fi done -BASE16_SHELL="$HOME/.config/base16-shell/" -[ -n "$PS1" ] && \ - [ -s "$BASE16_SHELL/profile_helper.sh" ] && \ - source "$BASE16_SHELL/profile_helper.sh" - alias i="ipython3" {{ if eq .chezmoi.hostname "rattusrattus" -}} @@ -57,4 +99,10 @@ function brightness_min { } # ttyscheme +{{- else }} +BASE16_SHELL="$HOME/.config/base16-shell/" +[ -n "$PS1" ] && \ + [ -s "$BASE16_SHELL/profile_helper.sh" ] && \ + source "$BASE16_SHELL/profile_helper.sh" + {{- end }} diff --git a/home/private_dot_zimrc b/home/private_dot_zimrc new file mode 100644 index 0000000..3994a86 --- /dev/null +++ b/home/private_dot_zimrc @@ -0,0 +1,49 @@ +### Modules ### + +# Sets sane Zsh built-in environment options. +zmodule environment + +# Provides handy git aliases and functions. +zmodule git + +# Applies correct bindkeys for input events. +zmodule input + +# Sets a custom terminal title. +zmodule termtitle + +# Utility aliases and functions. Adds colour to ls, grep and less. +zmodule utility + +### Prompt ### + +# Exposes to prompts how long the last command took to execute, used by asciiship. +zmodule duration-info + +# Exposes git repository status information to prompts, used by asciiship. +zmodule git-info + +# A heavily reduced, ASCII-only version of the Spaceship and Starship prompts. +zmodule asciiship + +### Completion ### + +# Additional completion definitions for Zsh. +zmodule zsh-users/zsh-completions --fpath src + +# Enables and configures smart and extensive tab completion. +# completion must be sourced after all modules that add completion definitions. +zmodule completion + +### Modules that must be initialized last ### + +# Fish-like syntax highlighting for Zsh. +# zsh-users/zsh-syntax-highlighting must be sourced after completion +zmodule zsh-users/zsh-syntax-highlighting + +# Fish-like history search (up arrow) for Zsh. +# zsh-users/zsh-history-substring-search must be sourced after zsh-users/zsh-syntax-highlighting +zmodule zsh-users/zsh-history-substring-search + +# Fish-like autosuggestions for Zsh. +zmodule zsh-users/zsh-autosuggestions From f1d046dbbb508eb829323f4a258a5f5814ea6875 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 26 Dec 2023 14:57:37 -0500 Subject: [PATCH 091/226] git-delta --- home/dot_gitconfig | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/home/dot_gitconfig b/home/dot_gitconfig index c9c8f70..2d531e8 100644 --- a/home/dot_gitconfig +++ b/home/dot_gitconfig @@ -1,8 +1,24 @@ +[include] + path = /opt/local/share/git-delta/themes.gitconfig + [user] name = Matthew Dillon email = matthewrdillon@gmail.com [core] editor = hx + pager = delta +[interactive] + diffFilter = delta --color-only +[delta] + features = chameleon + navigate = true + light = false + side-by-side = true + true-color = always + colorMoved = default + syntax-theme = base16 +[diff] + colorMoved = default [color] diff = auto status = auto @@ -13,12 +29,9 @@ auto = 1 [merge] summary = true - tool = vimdiff conflictstyle = diff3 prompt = false [alias] - unstage = reset HEAD - uncommit = reset --soft HEAD^ # http://stackoverflow.com/a/9074343 lg1 = log \ --graph \ @@ -37,30 +50,15 @@ a = add c = commit --verbose ca = commit -a --verbose - m = commit --amend --verbose d = diff - dc = diff --cached s = status -s - # TODO: drop when ready - # co = checkout - # cob = checkout -b sw = switch swc = switch -c # list branches sorted by last modified b = "!git for-each-ref --sort='-authordate' --format='%(authordate)%09%(objectname:short)%09%(refname)' refs/heads | sed -e 's-refs/heads/--'" # list aliases la = "!git config -l | grep alias | cut -c 7-" -# [credential] -# helper = osxkeychain [pull] rebase = true [init] defaultBranch = main -[filter "lfs"] - clean = git-lfs clean -- %f - smudge = git-lfs smudge -- %f - process = git-lfs filter-process - required = true -[safe] - directory = %(prefix)///wsl.localhost/Ubuntu/home/matthew/projects/personal/notes - directory = //wsl.localhost/Ubuntu/home/matthew/projects/personal/notes From 36584c7a4ba799ce833007ecbc5d98c576705b9e Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 26 Dec 2023 14:57:53 -0500 Subject: [PATCH 092/226] helix: no insert final newline --- home/private_dot_config/helix/config.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 50a4df8..0a0a5bf 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -2,6 +2,7 @@ theme = "base16_default" [editor] true-color = true +insert-final-newline = false [editor.file-picker] hidden = false From 171c7277547a3e1f2b3379411d568be9020e21ab Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 2 Jan 2024 10:55:00 -0500 Subject: [PATCH 093/226] orbstack --- home/dot_zprofile | 3 +++ home/private_dot_ssh/config.tmpl | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/home/dot_zprofile b/home/dot_zprofile index 1300610..3860da4 100644 --- a/home/dot_zprofile +++ b/home/dot_zprofile @@ -1,2 +1,5 @@ # Matthew Dillon # matthewrdillon@gmail.com + +# Added by OrbStack: command-line tools and integration +source ~/.orbstack/shell/init.zsh 2>/dev/null || : diff --git a/home/private_dot_ssh/config.tmpl b/home/private_dot_ssh/config.tmpl index 3a9e33f..2b4e681 100644 --- a/home/private_dot_ssh/config.tmpl +++ b/home/private_dot_ssh/config.tmpl @@ -1,3 +1,3 @@ {{ if eq .chezmoi.hostname "rattusrattus" -}} -Include /Users/matthew/.colima/ssh_config +Include /Users/matthew/.orbstack/ssh/config {{ end }} From e01e420f4d8dffabc19afd9c34794948595d3f9c Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 3 Jan 2024 10:15:57 -0500 Subject: [PATCH 094/226] s/miniconda/miniforge/g --- home/dot_zshenv | 6 ++---- home/dot_zshrc.tmpl | 5 ++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/home/dot_zshenv b/home/dot_zshenv index 31d22ca..994cb80 100644 --- a/home/dot_zshenv +++ b/home/dot_zshenv @@ -41,8 +41,8 @@ export TMUX_TMPDIR='/tmp' typeset -gU cdpath fpath mailpath path check_paths=( - # miniconda - /opt/miniconda3/bin + # conda and friends + /opt/miniforge3/bin # macports /opt/local/bin @@ -77,7 +77,5 @@ for fp in $check_paths; do done export -U PATH -export CONDA_ENVS_PATH=$HOME/.conda/envs:/opt/miniconda3/envs -export CONDA_PKGS_DIRS=$HOME/.conda/pkgs export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index a90753c..dd66a90 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -47,11 +47,10 @@ for key ('j') bindkey -M vicmd ${key} history-substring-search-down unset key srcs=( - "/opt/miniconda3/etc/profile.d/conda.sh" + "/opt/miniforge3/etc/profile.d/conda.sh" + "/opt/miniforge3/etc/profile.d/mamba.sh" "$HOME/.cargo/env" - {{ if eq .chezmoi.hostname "rattusrattus" -}} "$HOME/.zshemulateenergy" - {{- end }} ) for fp in $srcs; do From 678469a557740e5347fbf32a7d630a9c008c821d Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Wed, 10 Jan 2024 15:13:17 -0500 Subject: [PATCH 095/226] readd devlog alias using helix --- home/dot_zshrc.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index dd66a90..05c13b4 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -60,6 +60,7 @@ for fp in $srcs; do done alias i="ipython3" +alias devlog="cd ~/projects/personal/devlog && hx logs/$(date '+%Y-%m-%d').gmi && cd -" {{ if eq .chezmoi.hostname "rattusrattus" -}} alias colima_start="colima start --memory 8 --vm-type vz --mount-type virtiofs --dns 8.8.8.8 --dns 8.8.4.4" From 95975c4e7d9ca6c5079be0751ee4732f261c76ca Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Fri, 12 Jan 2024 14:15:14 -0500 Subject: [PATCH 096/226] updating work config --- home/encrypted_dot_zshemulateenergy.age | 30 +++++++++++++------------ 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/home/encrypted_dot_zshemulateenergy.age b/home/encrypted_dot_zshemulateenergy.age index 4eadd7f..87cb5ce 100644 --- a/home/encrypted_dot_zshemulateenergy.age +++ b/home/encrypted_dot_zshemulateenergy.age @@ -1,16 +1,18 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLQ1RDS1RmRkRNR1h0RmZK -T0Juem9IOFNVR2lFakloT0lOR09BZkorZjM4ClZWQkJmNVcwZCtETk01L2x3TzUx -VTFCbWJ2MmxodHFMVGc5bkhuQWhRYkkKLS0tIDlkZjg4dC9zYTM5dEpmWWhDOFRh -Z1pkRFZKaUppMVNFcVZRU3ozZHRGamMKt8HKQe/MXeFxKD0LJykkNlIr8/FoCyce -l3h3owq+DF6RTvIBGU0pNJfMBpjBtT8SGh30zs4+X7HpUE/LbFXX5O+o/mAitawF -4469R7yKSZt9xgaZJxELIQVFQJm5W5H9My9+vhyBRNF/Zf+G6DXBufPxQSjXIMlU -1FgbdH+l8Pd/62xwlL1dyrYBTa42yfgQCRgohGFVWQtsRlwQM88Q8QSmNyBDCo8R -iLjzkRQDlvPEyyeuu4PB6+x88kmxEX+IBclaQGQ4o9GDiZETJiyvPqA3QpWkPBa5 -HMO6PHDHeikkSqsBrIVNfy12esVZbYAVRZ07e9/A+4XhFmW5TN7bZtToD65HbYzx -9I1czhRRrn/qULeBsMFBLqhQAHTvXjdwACTFwq4eSVq1dxwGD+bgiMlcEypGT+Gh -ltTQs8hB4RxiLnpQsrOWcJbmqGckl/hZyX43kDTNVhyLaiDRT1rdzlr9PptyOaYW -X12Y0a1qsMbdWzhD3nLVNtdqmg+Kud4d300eNlU26ijMnUZsOkkYmCUPu/Ax6F7z -jONfOK4Qwn31tjQUtmPLxf7aLogV/B3xjtQ8eEH29NNoGy3VVEWYwBKzT4krU/FE -UFH1OHgyMXVZw5E0mPvJdekvDZjwjQknjDBK6IZz1sWz2UvvNQBOr9a46sG4urlP +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRc0gxeDhRUzNibGdiVHBW +R2RydGFRRGJPNnNoZ3NYcjF3NytyQmNzTmtvClZYL2k2WTNzamJZUk5iQ0ZxcjB1 +TlhCR0E1MFh1cjVGRXliZm90MHdZTGcKLS0tIDlCdVZ4aGIwVzJrSGRmU2tVdUk0 +M3hXcXFSaVRkRS9CWHRPUEIxSEdFUFUKHLdfebTJvcChneLAlzE5j+2kkQ1FrxwT +9QWLtn7l5zaGZ31vlJx6PZ4v6+xHrZMmwDErWjy7OBwEGDyM7C/R6/R7xg4MmPyP +bXsw2NEUmXdZnRUoV4cVg7/YxZ/SIXo46oMF6Eap/F64fYpR//m+/RoTm6nvAv8b +ui5qNtT8mSRG/imktmK/3Z9UCO1B9yXNTKkmkrLBlz2L2xJZIZ2pksCU/EAhJdC3 +IuP61d4yfh6Vl5cuvTVo5vPsXiXUqw8+x7deDn1bE0di6EjlhjXOlhXqwtH82O0s +8Ctmd40Wsf5AUwk3e6Jiuh2Z75tEbkk9dnPG0ZAXtSzQixN17v4IRxKmURu0pKLJ +UnOzaTcKVPux5neQ7RrtSoDiefO8WwGJA68MWt0emPrkaiL/V0TFZAOp3Wed9z8w +yUXqfgYnFjuIz9CjWP//zvYnn6w0k+zV1v2SyPPoiU3DW9nkGBPqkiF6pRFh7xcK +cA8+wWRF6QBuGZ/KgBA/N4/emHcS0siED1KTAM2/X9LSW1opLY0bMKLYQB0Hi+gb +k7ECBHkWUdgTQxXAixJcfynq/6o1EnmvILITu2e5DmUDLgPopJJZyW64JrBQvi7h +lwq4dhBbakegjBGqaPzTPuJiG9J+DRFjBGVjYeABo4eHmRNy2yf7Rj3S/OsZGVnR +lHHSZB8SHHnoGohCAbqV01AIuqx9BOIaD+1H/XVhe4aNIbjxrJjVRrha7cmZWJub +4ZYtr2eY84QZ6rlEV5HMlM4vmgml9hFGpKXjge4BDdpmexdFKnkQQg0= -----END AGE ENCRYPTED FILE----- From 1c55dba40b37393f412bef19c61edd218b961c09 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 19 Feb 2024 12:52:15 -0500 Subject: [PATCH 097/226] misc tweaks --- home/dot_zshenv | 8 ++++---- home/run_once_04install-helix.sh.tmpl | 9 --------- 2 files changed, 4 insertions(+), 13 deletions(-) delete mode 100644 home/run_once_04install-helix.sh.tmpl diff --git a/home/dot_zshenv b/home/dot_zshenv index 994cb80..87e9873 100644 --- a/home/dot_zshenv +++ b/home/dot_zshenv @@ -44,6 +44,10 @@ check_paths=( # conda and friends /opt/miniforge3/bin + # rust + $HOME/.cargo/bin + $HOME/.cargo/env + # macports /opt/local/bin /opt/local/sbin @@ -55,10 +59,6 @@ check_paths=( $HOME/.yarn/bin $HOME/.config/yarn/global/node_modules/.bin - # rust - $HOME/.cargo/bin - $HOME/.cargo/env - # WSL # /mnt/c/windows # /mnt/c/windows/system32 diff --git a/home/run_once_04install-helix.sh.tmpl b/home/run_once_04install-helix.sh.tmpl deleted file mode 100644 index ba5a389..0000000 --- a/home/run_once_04install-helix.sh.tmpl +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -git clone https://github.com/helix-editor/helix.git --branch 23.05 $HOME/.src/helix -export PATH=$PATH:$HOME/.cargo/bin -cd $HOME/.src/helix -cargo install --path helix-term --locked -ln -s $PWD/runtime ~/.config/helix/runtime -hx --grammar fetch -hx --grammar build From 4dd487a08ee6dbdd2f4a65b9bad15feea66bd773 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 29 Jul 2024 17:36:53 -0400 Subject: [PATCH 098/226] new: jj config --- .../private_jj/config.toml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 home/private_Library/private_Application Support/private_jj/config.toml diff --git a/home/private_Library/private_Application Support/private_jj/config.toml b/home/private_Library/private_Application Support/private_jj/config.toml new file mode 100644 index 0000000..f693c7e --- /dev/null +++ b/home/private_Library/private_Application Support/private_jj/config.toml @@ -0,0 +1,21 @@ +[user] +name = "Matthew Ryan Dillon" +email = "matthewrdillon@gmail.com" + +[git] +push-branch-prefix = "thermokarst/jj-" + +[revsets] +log = "@ | bases | branches | curbranch::@ | @::nextbranch | downstream(@, branchesandheads)" + +[revset-aliases] +'bases' = 'main' +'downstream(x,y)' = '(x::y) & y' +'branches' = 'downstream(trunk(), branches()) & mine()' +'branchesandheads' = 'branches | (heads(trunk()::) & mine())' +'curbranch' = 'latest(branches::@- & branches)' +'nextbranch' = 'roots(@:: & branchesandheads)' + +[ui] +default-command = ["log", "--reversed"] +diff.format = "git" From f63607cb52ff24f27f443e520818caa6a47d7cb2 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 1 Aug 2024 09:12:30 -0400 Subject: [PATCH 099/226] new: personal project --- data/personal.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/personal.toml b/data/personal.toml index cd9bbe2..ae57920 100644 --- a/data/personal.toml +++ b/data/personal.toml @@ -12,6 +12,7 @@ repos = [ "gitolite-admin", "gpx-web-utils", "gwar", + "leaving-hope", "notes", "pingo", "rlox", From 40f1e1a2908a02c6857610a6be4378d0eb46eac0 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 1 Aug 2024 09:12:30 -0400 Subject: [PATCH 100/226] new: jj diff/delta conf --- .../private_jj/config.toml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/home/private_Library/private_Application Support/private_jj/config.toml b/home/private_Library/private_Application Support/private_jj/config.toml index f693c7e..bec4986 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml +++ b/home/private_Library/private_Application Support/private_jj/config.toml @@ -18,4 +18,19 @@ log = "@ | bases | branches | curbranch::@ | @::nextbranch | downstream(@, branc [ui] default-command = ["log", "--reversed"] -diff.format = "git" +pager = "delta" + +[ui.diff] +format = "git" + +[merge-tools.delta] +diff-args = [ + "--color-only", + "--features", "chameleon", + "--navigate", + "--dark", + "--side-by-side", + "--true-color", "always", + "--syntax-theme", "base16", + "$left", "$right", +] From 73ba4b00624d0b17b48474eb0fb21225422f126c Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Fri, 2 Aug 2024 12:11:15 -0400 Subject: [PATCH 101/226] new: hx reload all buffers shortcut --- home/private_dot_config/helix/config.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 0a0a5bf..47e0367 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -6,3 +6,6 @@ insert-final-newline = false [editor.file-picker] hidden = false + +[keys.normal] +C-r = ":reload-all" From 022ace80f18622533922e6b89d82399a4a757002 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 6 Aug 2024 15:30:23 -0400 Subject: [PATCH 102/226] new: trying out kitty tty --- home/private_dot_config/kitty/kitty.conf | 2529 ++++++++++++++++++++++ 1 file changed, 2529 insertions(+) create mode 100644 home/private_dot_config/kitty/kitty.conf diff --git a/home/private_dot_config/kitty/kitty.conf b/home/private_dot_config/kitty/kitty.conf new file mode 100644 index 0000000..a9b5f54 --- /dev/null +++ b/home/private_dot_config/kitty/kitty.conf @@ -0,0 +1,2529 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +#: Fonts {{{ + +#: kitty has very powerful font management. You can configure +#: individual font faces and even specify special fonts for particular +#: characters. + +font_family Iosevka Term +# bold_font auto +# italic_font auto +# bold_italic_font auto + +#: You can specify different fonts for the bold/italic/bold-italic +#: variants. To get a full list of supported fonts use the `kitty +#: +list-fonts` command. By default they are derived automatically, by +#: the OSes font system. When bold_font or bold_italic_font is set to +#: auto on macOS, the priority of bold fonts is semi-bold, bold, +#: heavy. Setting them manually is useful for font families that have +#: many weight variants like Book, Medium, Thick, etc. For example:: + +#: font_family Operator Mono Book +#: bold_font Operator Mono Medium +#: italic_font Operator Mono Book Italic +#: bold_italic_font Operator Mono Medium Italic + +font_size 15.0 + +#: Font size (in pts). + +# force_ltr no + +#: kitty does not support BIDI (bidirectional text), however, for RTL +#: scripts, words are automatically displayed in RTL. That is to say, +#: in an RTL script, the words "HELLO WORLD" display in kitty as +#: "WORLD HELLO", and if you try to select a substring of an RTL- +#: shaped string, you will get the character that would be there had +#: the string been LTR. For example, assuming the Hebrew word ירושלים, +#: selecting the character that on the screen appears to be ם actually +#: writes into the selection buffer the character י. kitty's default +#: behavior is useful in conjunction with a filter to reverse the word +#: order, however, if you wish to manipulate RTL glyphs, it can be +#: very challenging to work with, so this option is provided to turn +#: it off. Furthermore, this option can be used with the command line +#: program GNU FriBidi +#: to get BIDI support, because it will force kitty to always treat +#: the text as LTR, which FriBidi expects for terminals. + +# symbol_map + +#: E.g. symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols + +#: Map the specified Unicode codepoints to a particular font. Useful +#: if you need special rendering for some symbols, such as for +#: Powerline. Avoids the need for patched fonts. Each Unicode code +#: point is specified in the form `U+`. You +#: can specify multiple code points, separated by commas and ranges +#: separated by hyphens. This option can be specified multiple times. +#: The syntax is:: + +#: symbol_map codepoints Font Family Name + +# narrow_symbols + +#: E.g. narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1 + +#: Usually, for Private Use Unicode characters and some symbol/dingbat +#: characters, if the character is followed by one or more spaces, +#: kitty will use those extra cells to render the character larger, if +#: the character in the font has a wide aspect ratio. Using this +#: option you can force kitty to restrict the specified code points to +#: render in the specified number of cells (defaulting to one cell). +#: This option can be specified multiple times. The syntax is:: + +#: narrow_symbols codepoints [optionally the number of cells] + +# disable_ligatures never + +#: Choose how you want to handle multi-character ligatures. The +#: default is to always render them. You can tell kitty to not render +#: them when the cursor is over them by using cursor to make editing +#: easier, or have kitty never render them at all by using always, if +#: you don't like them. The ligature strategy can be set per-window +#: either using the kitty remote control facility or by defining +#: shortcuts for it in kitty.conf, for example:: + +#: map alt+1 disable_ligatures_in active always +#: map alt+2 disable_ligatures_in all never +#: map alt+3 disable_ligatures_in tab cursor + +#: Note that this refers to programming ligatures, typically +#: implemented using the calt OpenType feature. For disabling general +#: ligatures, use the font_features option. + +# font_features + +#: E.g. font_features none + +#: Choose exactly which OpenType features to enable or disable. This +#: is useful as some fonts might have features worthwhile in a +#: terminal. For example, Fira Code includes a discretionary feature, +#: zero, which in that font changes the appearance of the zero (0), to +#: make it more easily distinguishable from Ø. Fira Code also includes +#: other discretionary features known as Stylistic Sets which have the +#: tags ss01 through ss20. + +#: For the exact syntax to use for individual features, see the +#: HarfBuzz documentation . + +#: Note that this code is indexed by PostScript name, and not the font +#: family. This allows you to define very precise feature settings; +#: e.g. you can disable a feature in the italic font but not in the +#: regular font. + +#: On Linux, font features are first read from the FontConfig database +#: and then this option is applied, so they can be configured in a +#: single, central place. + +#: To get the PostScript name for a font, use `kitty +list-fonts +#: --psnames`: + +#: .. code-block:: sh + +#: $ kitty +list-fonts --psnames | grep Fira +#: Fira Code +#: Fira Code Bold (FiraCode-Bold) +#: Fira Code Light (FiraCode-Light) +#: Fira Code Medium (FiraCode-Medium) +#: Fira Code Regular (FiraCode-Regular) +#: Fira Code Retina (FiraCode-Retina) + +#: The part in brackets is the PostScript name. + +#: Enable alternate zero and oldstyle numerals:: + +#: font_features FiraCode-Retina +zero +onum + +#: Enable only alternate zero in the bold font:: + +#: font_features FiraCode-Bold +zero + +#: Disable the normal ligatures, but keep the calt feature which (in +#: this font) breaks up monotony:: + +#: font_features TT2020StyleB-Regular -liga +calt + +#: In conjunction with force_ltr, you may want to disable Arabic +#: shaping entirely, and only look at their isolated forms if they +#: show up in a document. You can do this with e.g.:: + +#: font_features UnifontMedium +isol -medi -fina -init + +# modify_font + +#: Modify font characteristics such as the position or thickness of +#: the underline and strikethrough. The modifications can have the +#: suffix px for pixels or % for percentage of original value. No +#: suffix means use pts. For example:: + +#: modify_font underline_position -2 +#: modify_font underline_thickness 150% +#: modify_font strikethrough_position 2px + +#: Additionally, you can modify the size of the cell in which each +#: font glyph is rendered and the baseline at which the glyph is +#: placed in the cell. For example:: + +#: modify_font cell_width 80% +#: modify_font cell_height -2px +#: modify_font baseline 3 + +#: Note that modifying the baseline will automatically adjust the +#: underline and strikethrough positions by the same amount. +#: Increasing the baseline raises glyphs inside the cell and +#: decreasing it lowers them. Decreasing the cell size might cause +#: rendering artifacts, so use with care. + +# box_drawing_scale 0.001, 1, 1.5, 2 + +#: The sizes of the lines used for the box drawing Unicode characters. +#: These values are in pts. They will be scaled by the monitor DPI to +#: arrive at a pixel value. There must be four values corresponding to +#: thin, normal, thick, and very thick lines. + +# undercurl_style thin-sparse + +#: The style with which undercurls are rendered. This option takes the +#: form (thin|thick)-(sparse|dense). Thin and thick control the +#: thickness of the undercurl. Sparse and dense control how often the +#: curl oscillates. With sparse the curl will peak once per character, +#: with dense twice. + +# text_composition_strategy platform + +#: Control how kitty composites text glyphs onto the background color. +#: The default value of platform tries for text rendering as close to +#: "native" for the platform kitty is running on as possible. + +#: A value of legacy uses the old (pre kitty 0.28) strategy for how +#: glyphs are composited. This will make dark text on light +#: backgrounds look thicker and light text on dark backgrounds +#: thinner. It might also make some text appear like the strokes are +#: uneven. + +#: You can fine tune the actual contrast curve used for glyph +#: composition by specifying up to two space-separated numbers for +#: this setting. + +#: The first number is the gamma adjustment, which controls the +#: thickness of dark text on light backgrounds. Increasing the value +#: will make text appear thicker. The default value for this is 1.0 on +#: Linux and 1.7 on macOS. Valid values are 0.01 and above. The result +#: is scaled based on the luminance difference between the background +#: and the foreground. Dark text on light backgrounds receives the +#: full impact of the curve while light text on dark backgrounds is +#: affected very little. + +#: The second number is an additional multiplicative contrast. It is +#: percentage ranging from 0 to 100. The default value is 0 on Linux +#: and 30 on macOS. + +#: If you wish to achieve similar looking thickness in light and dark +#: themes, a good way to experiment is start by setting the value to +#: 1.0 0 and use a dark theme. Then adjust the second parameter until +#: it looks good. Then switch to a light theme and adjust the first +#: parameter until the perceived thickness matches the dark theme. + +# text_fg_override_threshold 0 + +#: The minimum accepted difference in luminance between the foreground +#: and background color, below which kitty will override the +#: foreground color. It is percentage ranging from 0 to 100. If the +#: difference in luminance of the foreground and background is below +#: this threshold, the foreground color will be set to white if the +#: background is dark or black if the background is light. The default +#: value is 0, which means no overriding is performed. Useful when +#: working with applications that use colors that do not contrast well +#: with your preferred color scheme. + +#: WARNING: Some programs use characters (such as block characters) +#: for graphics display and may expect to be able to set the +#: foreground and background to the same color (or similar colors). +#: If you see unexpected stripes, dots, lines, incorrect color, no +#: color where you expect color, or any kind of graphic display +#: problem try setting text_fg_override_threshold to 0 to see if this +#: is the cause of the problem. + +#: }}} + +#: Cursor customization {{{ + +# cursor #cccccc + +#: Default cursor color. If set to the special value none the cursor +#: will be rendered with a "reverse video" effect. Its color will be +#: the color of the text in the cell it is over and the text will be +#: rendered with the background color of the cell. Note that if the +#: program running in the terminal sets a cursor color, this takes +#: precedence. Also, the cursor colors are modified if the cell +#: background and foreground colors have very low contrast. Note that +#: some themes set this value, so if you want to override it, place +#: your value after the lines where the theme file is included. + +# cursor_text_color #111111 + +#: The color of text under the cursor. If you want it rendered with +#: the background color of the cell underneath instead, use the +#: special keyword: `background`. Note that if cursor is set to none +#: then this option is ignored. Note that some themes set this value, +#: so if you want to override it, place your value after the lines +#: where the theme file is included. + +# cursor_shape block + +#: The cursor shape can be one of block, beam, underline. Note that +#: when reloading the config this will be changed only if the cursor +#: shape has not been set by the program running in the terminal. This +#: sets the default cursor shape, applications running in the terminal +#: can override it. In particular, shell integration +#: in kitty sets +#: the cursor shape to beam at shell prompts. You can avoid this by +#: setting shell_integration to no-cursor. + +# cursor_shape_unfocused hollow + +#: Defines the text cursor shape when the OS window is not focused. +#: The unfocused cursor shape can be one of block, beam, underline, +#: hollow. + +# cursor_beam_thickness 1.5 + +#: The thickness of the beam cursor (in pts). + +# cursor_underline_thickness 2.0 + +#: The thickness of the underline cursor (in pts). + +# cursor_blink_interval -1 + +#: The interval to blink the cursor (in seconds). Set to zero to +#: disable blinking. Negative values mean use system default. Note +#: that the minimum interval will be limited to repaint_delay. + +# cursor_stop_blinking_after 15.0 + +#: Stop blinking cursor after the specified number of seconds of +#: keyboard inactivity. Set to zero to never stop blinking. + +#: }}} + +#: Scrollback {{{ + +# scrollback_lines 2000 + +#: Number of lines of history to keep in memory for scrolling back. +#: Memory is allocated on demand. Negative numbers are (effectively) +#: infinite scrollback. Note that using very large scrollback is not +#: recommended as it can slow down performance of the terminal and +#: also use large amounts of RAM. Instead, consider using +#: scrollback_pager_history_size. Note that on config reload if this +#: is changed it will only affect newly created windows, not existing +#: ones. + +# scrollback_indicator_opacity 1.0 + +#: The opacity of the scrollback indicator which is a small colored +#: rectangle that moves along the right hand side of the window as you +#: scroll, indicating what fraction you have scrolled. The default is +#: one which means fully opaque, aka visible. Set to a value between +#: zero and one to make the indicator less visible. + +# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER + +#: Program with which to view scrollback in a new window. The +#: scrollback buffer is passed as STDIN to this program. If you change +#: it, make sure the program you use can handle ANSI escape sequences +#: for colors and text formatting. INPUT_LINE_NUMBER in the command +#: line above will be replaced by an integer representing which line +#: should be at the top of the screen. Similarly CURSOR_LINE and +#: CURSOR_COLUMN will be replaced by the current cursor position or +#: set to 0 if there is no cursor, for example, when showing the last +#: command output. + +# scrollback_pager_history_size 0 + +#: Separate scrollback history size (in MB), used only for browsing +#: the scrollback buffer with pager. This separate buffer is not +#: available for interactive scrolling but will be piped to the pager +#: program when viewing scrollback buffer in a separate window. The +#: current implementation stores the data in UTF-8, so approximately +#: 10000 lines per megabyte at 100 chars per line, for pure ASCII, +#: unformatted text. A value of zero or less disables this feature. +#: The maximum allowed size is 4GB. Note that on config reload if this +#: is changed it will only affect newly created windows, not existing +#: ones. + +# scrollback_fill_enlarged_window no + +#: Fill new space with lines from the scrollback buffer after +#: enlarging a window. + +# wheel_scroll_multiplier 5.0 + +#: Multiplier for the number of lines scrolled by the mouse wheel. +#: Note that this is only used for low precision scrolling devices, +#: not for high precision scrolling devices on platforms such as macOS +#: and Wayland. Use negative numbers to change scroll direction. See +#: also wheel_scroll_min_lines. + +# wheel_scroll_min_lines 1 + +#: The minimum number of lines scrolled by the mouse wheel. The scroll +#: multiplier wheel_scroll_multiplier only takes effect after it +#: reaches this number. Note that this is only used for low precision +#: scrolling devices like wheel mice that scroll by very small amounts +#: when using the wheel. With a negative number, the minimum number of +#: lines will always be added. + +# touch_scroll_multiplier 1.0 + +#: Multiplier for the number of lines scrolled by a touchpad. Note +#: that this is only used for high precision scrolling devices on +#: platforms such as macOS and Wayland. Use negative numbers to change +#: scroll direction. + +#: }}} + +#: Mouse {{{ + +# mouse_hide_wait 3.0 + +#: Hide mouse cursor after the specified number of seconds of the +#: mouse not being used. Set to zero to disable mouse cursor hiding. +#: Set to a negative value to hide the mouse cursor immediately when +#: typing text. Disabled by default on macOS as getting it to work +#: robustly with the ever-changing sea of bugs that is Cocoa is too +#: much effort. + +# url_color #0087bd +# url_style curly + +#: The color and style for highlighting URLs on mouse-over. url_style +#: can be one of: none, straight, double, curly, dotted, dashed. + +# open_url_with default + +#: The program to open clicked URLs. The special value default will +#: first look for any URL handlers defined via the open_actions +#: facility and if non +#: are found, it will use the Operating System's default URL handler +#: (open on macOS and xdg-open on Linux). + +# url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh + +#: The set of URL prefixes to look for when detecting a URL under the +#: mouse cursor. + +# detect_urls yes + +#: Detect URLs under the mouse. Detected URLs are highlighted with an +#: underline and the mouse cursor becomes a hand over them. Even if +#: this option is disabled, URLs are still clickable. See also the +#: underline_hyperlinks option to control how hyperlinks (as opposed +#: to plain text URLs) are displayed. + +# url_excluded_characters + +#: Additional characters to be disallowed from URLs, when detecting +#: URLs under the mouse cursor. By default, all characters that are +#: legal in URLs are allowed. Additionally, newlines are allowed (but +#: stripped). This is to accommodate programs such as mutt that add +#: hard line breaks even for continued lines. \n can be added to this +#: option to disable this behavior. Special characters can be +#: specified using backslash escapes, to specify a backslash use a +#: double backslash. + +# show_hyperlink_targets no + +#: When the mouse hovers over a terminal hyperlink, show the actual +#: URL that will be activated when the hyperlink is clicked. + +# underline_hyperlinks hover + +#: Control how hyperlinks are underlined. They can either be +#: underlined on mouse hover, always (i.e. permanently underlined) or +#: never which means that kitty will not apply any underline styling +#: to hyperlinks. Uses the url_style and url_color settings for the +#: underline style. Note that reloading the config and changing this +#: value to/from always will only affect text subsequently received by +#: kitty. + +# copy_on_select no + +#: Copy to clipboard or a private buffer on select. With this set to +#: clipboard, selecting text with the mouse will cause the text to be +#: copied to clipboard. Useful on platforms such as macOS that do not +#: have the concept of primary selection. You can instead specify a +#: name such as a1 to copy to a private kitty buffer. Map a shortcut +#: with the paste_from_buffer action to paste from this private +#: buffer. For example:: + +#: copy_on_select a1 +#: map shift+cmd+v paste_from_buffer a1 + +#: Note that copying to the clipboard is a security risk, as all +#: programs, including websites open in your browser can read the +#: contents of the system clipboard. + +# paste_actions quote-urls-at-prompt,confirm + +#: A comma separated list of actions to take when pasting text into +#: the terminal. The supported paste actions are: + +#: quote-urls-at-prompt: +#: If the text being pasted is a URL and the cursor is at a shell prompt, +#: automatically quote the URL (needs shell_integration). +#: replace-dangerous-control-codes +#: Replace dangerous control codes from pasted text, without confirmation. +#: replace-newline +#: Replace the newline character from pasted text, without confirmation. +#: confirm: +#: Confirm the paste if the text to be pasted contains any terminal control codes +#: as this can be dangerous, leading to code execution if the shell/program running +#: in the terminal does not properly handle these. +#: confirm-if-large +#: Confirm the paste if it is very large (larger than 16KB) as pasting +#: large amounts of text into shells can be very slow. +#: filter: +#: Run the filter_paste() function from the file paste-actions.py in +#: the kitty config directory on the pasted text. The text returned by the +#: function will be actually pasted. +#: no-op: +#: Has no effect. + +# strip_trailing_spaces never + +#: Remove spaces at the end of lines when copying to clipboard. A +#: value of smart will do it when using normal selections, but not +#: rectangle selections. A value of always will always do it. + +# select_by_word_characters @-./_~?&=%+# + +#: Characters considered part of a word when double clicking. In +#: addition to these characters any character that is marked as an +#: alphanumeric character in the Unicode database will be matched. + +# select_by_word_characters_forward + +#: Characters considered part of a word when extending the selection +#: forward on double clicking. In addition to these characters any +#: character that is marked as an alphanumeric character in the +#: Unicode database will be matched. + +#: If empty (default) select_by_word_characters will be used for both +#: directions. + +# click_interval -1.0 + +#: The interval between successive clicks to detect double/triple +#: clicks (in seconds). Negative numbers will use the system default +#: instead, if available, or fallback to 0.5. + +# focus_follows_mouse no + +#: Set the active window to the window under the mouse when moving the +#: mouse around. On macOS, this will also cause the OS Window under +#: the mouse to be focused automatically when the mouse enters it. + +# pointer_shape_when_grabbed arrow + +#: The shape of the mouse pointer when the program running in the +#: terminal grabs the mouse. + +# default_pointer_shape beam + +#: The default shape of the mouse pointer. + +# pointer_shape_when_dragging beam + +#: The default shape of the mouse pointer when dragging across text. + +#: Mouse actions {{{ + +#: Mouse buttons can be mapped to perform arbitrary actions. The +#: syntax is: + +#: .. code-block:: none + +#: mouse_map button-name event-type modes action + +#: Where button-name is one of left, middle, right, b1 ... b8 with +#: added keyboard modifiers. For example: ctrl+shift+left refers to +#: holding the Ctrl+Shift keys while clicking with the left mouse +#: button. The value b1 ... b8 can be used to refer to up to eight +#: buttons on a mouse. + +#: event-type is one of press, release, doublepress, triplepress, +#: click, doubleclick. modes indicates whether the action is performed +#: when the mouse is grabbed by the program running in the terminal, +#: or not. The values are grabbed or ungrabbed or a comma separated +#: combination of them. grabbed refers to when the program running in +#: the terminal has requested mouse events. Note that the click and +#: double click events have a delay of click_interval to disambiguate +#: from double and triple presses. + +#: You can run kitty with the kitty --debug-input command line option +#: to see mouse events. See the builtin actions below to get a sense +#: of what is possible. + +#: If you want to unmap a button, map it to nothing. For example, to +#: disable opening of URLs with a plain click:: + +#: mouse_map left click ungrabbed + +#: See all the mappable actions including mouse actions here +#: . + +#: .. note:: +#: Once a selection is started, releasing the button that started it will +#: automatically end it and no release event will be dispatched. + +# clear_all_mouse_actions no + +#: Remove all mouse action definitions up to this point. Useful, for +#: instance, to remove the default mouse actions. + +#: Click the link under the mouse or move the cursor + +# mouse_map left click ungrabbed mouse_handle_click selection link prompt + +#:: First check for a selection and if one exists do nothing. Then +#:: check for a link under the mouse cursor and if one exists, click +#:: it. Finally check if the click happened at the current shell +#:: prompt and if so, move the cursor to the click location. Note +#:: that this requires shell integration +#:: to work. + +#: Click the link under the mouse or move the cursor even when grabbed + +# mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt + +#:: Same as above, except that the action is performed even when the +#:: mouse is grabbed by the program running in the terminal. + +#: Click the link under the mouse cursor + +# mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link + +#:: Variant with Ctrl+Shift is present because the simple click based +#:: version has an unavoidable delay of click_interval, to +#:: disambiguate clicks from double clicks. + +#: Discard press event for link click + +# mouse_map ctrl+shift+left press grabbed discard_event + +#:: Prevent this press event from being sent to the program that has +#:: grabbed the mouse, as the corresponding release event is used to +#:: open a URL. + +#: Paste from the primary selection + +# mouse_map middle release ungrabbed paste_from_selection + +#: Start selecting text + +# mouse_map left press ungrabbed mouse_selection normal + +#: Start selecting text in a rectangle + +# mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle + +#: Select a word + +# mouse_map left doublepress ungrabbed mouse_selection word + +#: Select a line + +# mouse_map left triplepress ungrabbed mouse_selection line + +#: Select line from point + +# mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point + +#:: Select from the clicked point to the end of the line. If you +#:: would like to select the word at the point and then extend to the +#:: rest of the line, change `line_from_point` to +#:: `word_and_line_from_point`. + +#: Extend the current selection + +# mouse_map right press ungrabbed mouse_selection extend + +#:: If you want only the end of the selection to be moved instead of +#:: the nearest boundary, use move-end instead of extend. + +#: Paste from the primary selection even when grabbed + +# mouse_map shift+middle release ungrabbed,grabbed paste_selection +# mouse_map shift+middle press grabbed discard_event + +#: Start selecting text even when grabbed + +# mouse_map shift+left press ungrabbed,grabbed mouse_selection normal + +#: Start selecting text in a rectangle even when grabbed + +# mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle + +#: Select a word even when grabbed + +# mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word + +#: Select a line even when grabbed + +# mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line + +#: Select line from point even when grabbed + +# mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point + +#:: Select from the clicked point to the end of the line even when +#:: grabbed. If you would like to select the word at the point and +#:: then extend to the rest of the line, change `line_from_point` to +#:: `word_and_line_from_point`. + +#: Extend the current selection even when grabbed + +# mouse_map shift+right press ungrabbed,grabbed mouse_selection extend + +#: Show clicked command output in pager + +# mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output + +#:: Requires shell integration +#:: to work. + +#: }}} + +#: }}} + +#: Performance tuning {{{ + +# repaint_delay 10 + +#: Delay between screen updates (in milliseconds). Decreasing it, +#: increases frames-per-second (FPS) at the cost of more CPU usage. +#: The default value yields ~100 FPS which is more than sufficient for +#: most uses. Note that to actually achieve 100 FPS, you have to +#: either set sync_to_monitor to no or use a monitor with a high +#: refresh rate. Also, to minimize latency when there is pending input +#: to be processed, this option is ignored. + +# input_delay 3 + +#: Delay before input from the program running in the terminal is +#: processed (in milliseconds). Note that decreasing it will increase +#: responsiveness, but also increase CPU usage and might cause flicker +#: in full screen programs that redraw the entire screen on each loop, +#: because kitty is so fast that partial screen updates will be drawn. +#: This setting is ignored when the input buffer is almost full. + +# sync_to_monitor yes + +#: Sync screen updates to the refresh rate of the monitor. This +#: prevents screen tearing +#: when scrolling. +#: However, it limits the rendering speed to the refresh rate of your +#: monitor. With a very high speed mouse/high keyboard repeat rate, +#: you may notice some slight input latency. If so, set this to no. + +#: }}} + +#: Terminal bell {{{ + +# enable_audio_bell yes + +#: The audio bell. Useful to disable it in environments that require +#: silence. + +# visual_bell_duration 0.0 + +#: The visual bell duration (in seconds). Flash the screen when a bell +#: occurs for the specified number of seconds. Set to zero to disable. + +# visual_bell_color none + +#: The color used by visual bell. Set to none will fall back to +#: selection background color. If you feel that the visual bell is too +#: bright, you can set it to a darker color. + +# window_alert_on_bell yes + +#: Request window attention on bell. Makes the dock icon bounce on +#: macOS or the taskbar flash on Linux. + +# bell_on_tab "🔔 " + +#: Some text or a Unicode symbol to show on the tab if a window in the +#: tab that does not have focus has a bell. If you want to use leading +#: or trailing spaces, surround the text with quotes. See +#: tab_title_template for how this is rendered. + +#: For backwards compatibility, values of yes, y and true are +#: converted to the default bell symbol and no, n, false and none are +#: converted to the empty string. + +# command_on_bell none + +#: Program to run when a bell occurs. The environment variable +#: KITTY_CHILD_CMDLINE can be used to get the program running in the +#: window in which the bell occurred. + +# bell_path none + +#: Path to a sound file to play as the bell sound. If set to none, the +#: system default bell sound is used. Must be in a format supported by +#: the operating systems sound API, such as WAV or OGA on Linux +#: (libcanberra) or AIFF, MP3 or WAV on macOS (NSSound). + +# linux_bell_theme __custom + +#: The XDG Sound Theme kitty will use to play the bell sound. Defaults +#: to the custom theme name used by GNOME and Budgie, falling back to +#: the default freedesktop theme if it does not exist. This option may +#: be removed if Linux ever provides desktop-agnostic support for +#: setting system sound themes. + +#: }}} + +#: Window layout {{{ + +# remember_window_size yes +# initial_window_width 640 +# initial_window_height 400 + +#: If enabled, the OS Window size will be remembered so that new +#: instances of kitty will have the same size as the previous +#: instance. If disabled, the OS Window will initially have size +#: configured by initial_window_width/height, in pixels. You can use a +#: suffix of "c" on the width/height values to have them interpreted +#: as number of cells instead of pixels. + +# enabled_layouts * + +#: The enabled window layouts. A comma separated list of layout names. +#: The special value all means all layouts. The first listed layout +#: will be used as the startup layout. Default configuration is all +#: layouts in alphabetical order. For a list of available layouts, see +#: the layouts . + +# window_resize_step_cells 2 +# window_resize_step_lines 2 + +#: The step size (in units of cell width/cell height) to use when +#: resizing kitty windows in a layout with the shortcut +#: start_resizing_window. The cells value is used for horizontal +#: resizing, and the lines value is used for vertical resizing. + +# window_border_width 0.5pt + +#: The width of window borders. Can be either in pixels (px) or pts +#: (pt). Values in pts will be rounded to the nearest number of pixels +#: based on screen resolution. If not specified, the unit is assumed +#: to be pts. Note that borders are displayed only when more than one +#: window is visible. They are meant to separate multiple windows. + +# draw_minimal_borders yes + +#: Draw only the minimum borders needed. This means that only the +#: borders that separate the window from a neighbor are drawn. Note +#: that setting a non-zero window_margin_width overrides this and +#: causes all borders to be drawn. + +# window_margin_width 0 + +#: The window margin (in pts) (blank area outside the border). A +#: single value sets all four sides. Two values set the vertical and +#: horizontal sides. Three values set top, horizontal and bottom. Four +#: values set top, right, bottom and left. + +# single_window_margin_width -1 + +#: The window margin to use when only a single window is visible (in +#: pts). Negative values will cause the value of window_margin_width +#: to be used instead. A single value sets all four sides. Two values +#: set the vertical and horizontal sides. Three values set top, +#: horizontal and bottom. Four values set top, right, bottom and left. + +# window_padding_width 0 + +#: The window padding (in pts) (blank area between the text and the +#: window border). A single value sets all four sides. Two values set +#: the vertical and horizontal sides. Three values set top, horizontal +#: and bottom. Four values set top, right, bottom and left. + +# single_window_padding_width -1 + +#: The window padding to use when only a single window is visible (in +#: pts). Negative values will cause the value of window_padding_width +#: to be used instead. A single value sets all four sides. Two values +#: set the vertical and horizontal sides. Three values set top, +#: horizontal and bottom. Four values set top, right, bottom and left. + +# placement_strategy center + +#: When the window size is not an exact multiple of the cell size, the +#: cell area of the terminal window will have some extra padding on +#: the sides. You can control how that padding is distributed with +#: this option. Using a value of center means the cell area will be +#: placed centrally. A value of top-left means the padding will be +#: only at the bottom and right edges. The value can be one of: top- +#: left, top, top-right, left, center, right, bottom-left, bottom, +#: bottom-right. + +# active_border_color #00ff00 + +#: The color for the border of the active window. Set this to none to +#: not draw borders around the active window. + +# inactive_border_color #cccccc + +#: The color for the border of inactive windows. + +# bell_border_color #ff5a00 + +#: The color for the border of inactive windows in which a bell has +#: occurred. + +# inactive_text_alpha 1.0 + +#: Fade the text in inactive windows by the specified amount (a number +#: between zero and one, with zero being fully faded). + +# hide_window_decorations no + +#: Hide the window decorations (title-bar and window borders) with +#: yes. On macOS, titlebar-only and titlebar-and-corners can be used +#: to only hide the titlebar and the rounded corners. Whether this +#: works and exactly what effect it has depends on the window +#: manager/operating system. Note that the effects of changing this +#: option when reloading config are undefined. When using titlebar- +#: only, it is useful to also set window_margin_width and +#: placement_strategy to prevent the rounded corners from clipping +#: text. Or use titlebar-and-corners. + +# window_logo_path none + +#: Path to a logo image. Must be in PNG format. Relative paths are +#: interpreted relative to the kitty config directory. The logo is +#: displayed in a corner of every kitty window. The position is +#: controlled by window_logo_position. Individual windows can be +#: configured to have different logos either using the launch action +#: or the remote control facility. + +# window_logo_position bottom-right + +#: Where to position the window logo in the window. The value can be +#: one of: top-left, top, top-right, left, center, right, bottom-left, +#: bottom, bottom-right. + +# window_logo_alpha 0.5 + +#: The amount the logo should be faded into the background. With zero +#: being fully faded and one being fully opaque. + +# window_logo_scale 0 + +#: The percentage (0-100] of the window size to which the logo should +#: scale. Using a single number means the logo is scaled to that +#: percentage of the shortest window dimension, while preseving aspect +#: ratio of the logo image. + +#: Using two numbers means the width and height of the logo are scaled +#: to the respective percentage of the window's width and height. + +#: Using zero as the percentage disables scaling in that dimension. A +#: single zero (the default) disables all scaling of the window logo. + +# resize_debounce_time 0.1 0.5 + +#: The time to wait (in seconds) before asking the program running in +#: kitty to resize and redraw the screen during a live resize of the +#: OS window, when no new resize events have been received, i.e. when +#: resizing is either paused or finished. On platforms such as macOS, +#: where the operating system sends events corresponding to the start +#: and end of a live resize, the second number is used for redraw- +#: after-pause since kitty can distinguish between a pause and end of +#: resizing. On such systems the first number is ignored and redraw is +#: immediate after end of resize. On other systems only the first +#: number is used so that kitty is "ready" quickly after the end of +#: resizing, while not also continuously redrawing, to save energy. + +# resize_in_steps no + +#: Resize the OS window in steps as large as the cells, instead of +#: with the usual pixel accuracy. Combined with initial_window_width +#: and initial_window_height in number of cells, this option can be +#: used to keep the margins as small as possible when resizing the OS +#: window. Note that this does not currently work on Wayland. + +# visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ + +#: The list of characters for visual window selection. For example, +#: for selecting a window to focus on with focus_visible_window. The +#: value should be a series of unique numbers or alphabets, case +#: insensitive, from the set 0-9A-Z\-=[];',./\\`. Specify your +#: preference as a string of characters. + +# confirm_os_window_close -1 + +#: Ask for confirmation when closing an OS window or a tab with at +#: least this number of kitty windows in it by window manager (e.g. +#: clicking the window close button or pressing the operating system +#: shortcut to close windows) or by the close_tab action. A value of +#: zero disables confirmation. This confirmation also applies to +#: requests to quit the entire application (all OS windows, via the +#: quit action). Negative values are converted to positive ones, +#: however, with shell_integration enabled, using negative values +#: means windows sitting at a shell prompt are not counted, only +#: windows where some command is currently running. Note that if you +#: want confirmation when closing individual windows, you can map the +#: close_window_with_confirmation action. + +#: }}} + +#: Tab bar {{{ + +# tab_bar_edge bottom + +#: The edge to show the tab bar on, top or bottom. + +# tab_bar_margin_width 0.0 + +#: The margin to the left and right of the tab bar (in pts). + +# tab_bar_margin_height 0.0 0.0 + +#: The margin above and below the tab bar (in pts). The first number +#: is the margin between the edge of the OS Window and the tab bar. +#: The second number is the margin between the tab bar and the +#: contents of the current tab. + +# tab_bar_style fade + +#: The tab bar style, can be one of: + +#: fade +#: Each tab's edges fade into the background color. (See also tab_fade) +#: slant +#: Tabs look like the tabs in a physical file. +#: separator +#: Tabs are separated by a configurable separator. (See also +#: tab_separator) +#: powerline +#: Tabs are shown as a continuous line with "fancy" separators. +#: (See also tab_powerline_style) +#: custom +#: A user-supplied Python function called draw_tab is loaded from the file +#: tab_bar.py in the kitty config directory. For examples of how to +#: write such a function, see the functions named draw_tab_with_* in +#: kitty's source code: kitty/tab_bar.py. See also +#: this discussion +#: for examples from kitty users. +#: hidden +#: The tab bar is hidden. If you use this, you might want to create +#: a mapping for the select_tab action which presents you with a list of +#: tabs and allows for easy switching to a tab. + +# tab_bar_align left + +#: The horizontal alignment of the tab bar, can be one of: left, +#: center, right. + +# tab_bar_min_tabs 2 + +#: The minimum number of tabs that must exist before the tab bar is +#: shown. + +# tab_switch_strategy previous + +#: The algorithm to use when switching to a tab when the current tab +#: is closed. The default of previous will switch to the last used +#: tab. A value of left will switch to the tab to the left of the +#: closed tab. A value of right will switch to the tab to the right of +#: the closed tab. A value of last will switch to the right-most tab. + +# tab_fade 0.25 0.5 0.75 1 + +#: Control how each tab fades into the background when using fade for +#: the tab_bar_style. Each number is an alpha (between zero and one) +#: that controls how much the corresponding cell fades into the +#: background, with zero being no fade and one being full fade. You +#: can change the number of cells used by adding/removing entries to +#: this list. + +# tab_separator " ┇" + +#: The separator between tabs in the tab bar when using separator as +#: the tab_bar_style. + +# tab_powerline_style angled + +#: The powerline separator style between tabs in the tab bar when +#: using powerline as the tab_bar_style, can be one of: angled, +#: slanted, round. + +# tab_activity_symbol none + +#: Some text or a Unicode symbol to show on the tab if a window in the +#: tab that does not have focus has some activity. If you want to use +#: leading or trailing spaces, surround the text with quotes. See +#: tab_title_template for how this is rendered. + +# tab_title_max_length 0 + +#: The maximum number of cells that can be used to render the text in +#: a tab. A value of zero means that no limit is applied. + +# tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}" + +#: A template to render the tab title. The default just renders the +#: title with optional symbols for bell and activity. If you wish to +#: include the tab-index as well, use something like: {index}:{title}. +#: Useful if you have shortcuts mapped for goto_tab N. If you prefer +#: to see the index as a superscript, use {sup.index}. All data +#: available is: + +#: title +#: The current tab title. +#: index +#: The tab index usable with goto_tab N goto_tab shortcuts. +#: layout_name +#: The current layout name. +#: num_windows +#: The number of windows in the tab. +#: num_window_groups +#: The number of window groups (a window group is a window and all of its overlay windows) in the tab. +#: tab.active_wd +#: The working directory of the currently active window in the tab +#: (expensive, requires syscall). Use active_oldest_wd to get +#: the directory of the oldest foreground process rather than the newest. +#: tab.active_exe +#: The name of the executable running in the foreground of the currently +#: active window in the tab (expensive, requires syscall). Use +#: active_oldest_exe for the oldest foreground process. +#: max_title_length +#: The maximum title length available. +#: keyboard_mode +#: The name of the current keyboard mode or the empty string if no keyboard mode is active. + +#: Note that formatting is done by Python's string formatting +#: machinery, so you can use, for instance, {layout_name[:2].upper()} +#: to show only the first two letters of the layout name, upper-cased. +#: If you want to style the text, you can use styling directives, for +#: example: +#: `{fmt.fg.red}red{fmt.fg.tab}normal{fmt.bg._00FF00}greenbg{fmt.bg.tab}`. +#: Similarly, for bold and italic: +#: `{fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}`. +#: Note that for backward compatibility, if {bell_symbol} or +#: {activity_symbol} are not present in the template, they are +#: prepended to it. + +# active_tab_title_template none + +#: Template to use for active tabs. If not specified falls back to +#: tab_title_template. + +# active_tab_foreground #000 +# active_tab_background #eee +# active_tab_font_style bold-italic +# inactive_tab_foreground #444 +# inactive_tab_background #999 +# inactive_tab_font_style normal + +#: Tab bar colors and styles. + +# tab_bar_background none + +#: Background color for the tab bar. Defaults to using the terminal +#: background color. + +# tab_bar_margin_color none + +#: Color for the tab bar margin area. Defaults to using the terminal +#: background color for margins above and below the tab bar. For side +#: margins the default color is chosen to match the background color +#: of the neighboring tab. + +#: }}} + +#: Color scheme {{{ + +# foreground #dddddd +# background #000000 + +#: The foreground and background colors. + +# background_opacity 1.0 + +#: The opacity of the background. A number between zero and one, where +#: one is opaque and zero is fully transparent. This will only work if +#: supported by the OS (for instance, when using a compositor under +#: X11). Note that it only sets the background color's opacity in +#: cells that have the same background color as the default terminal +#: background, so that things like the status bar in vim, powerline +#: prompts, etc. still look good. But it means that if you use a color +#: theme with a background color in your editor, it will not be +#: rendered as transparent. Instead you should change the default +#: background color in your kitty config and not use a background +#: color in the editor color scheme. Or use the escape codes to set +#: the terminals default colors in a shell script to launch your +#: editor. Be aware that using a value less than 1.0 is a (possibly +#: significant) performance hit. When using a low value for this +#: setting, it is desirable that you set the background color to a +#: color the matches the general color of the desktop background, for +#: best text rendering. If you want to dynamically change +#: transparency of windows, set dynamic_background_opacity to yes +#: (this is off by default as it has a performance cost). Changing +#: this option when reloading the config will only work if +#: dynamic_background_opacity was enabled in the original config. + +# background_blur 0 + +#: Set to a positive value to enable background blur (blurring of the +#: visuals behind a transparent window) on platforms that support it. +#: Only takes effect when background_opacity is less than one. On +#: macOS, this will also control the blur radius (amount of blurring). +#: Setting it to too high a value will cause severe performance issues +#: and/or rendering artifacts. Usually, values up to 64 work well. +#: Note that this might cause performance issues, depending on how the +#: platform implements it, so use with care. Currently supported on +#: macOS and KDE. + +# background_image none + +#: Path to a background image. Must be in PNG format. + +# background_image_layout tiled + +#: Whether to tile, scale or clamp the background image. The value can +#: be one of tiled, mirror-tiled, scaled, clamped, centered or +#: cscaled. The scaled and cscaled values scale the image to the +#: window size, with cscaled preserving the image aspect ratio. + +# background_image_linear no + +#: When background image is scaled, whether linear interpolation +#: should be used. + +# dynamic_background_opacity no + +#: Allow changing of the background_opacity dynamically, using either +#: keyboard shortcuts (increase_background_opacity and +#: decrease_background_opacity) or the remote control facility. +#: Changing this option by reloading the config is not supported. + +# background_tint 0.0 + +#: How much to tint the background image by the background color. This +#: option makes it easier to read the text. Tinting is done using the +#: current background color for each window. This option applies only +#: if background_opacity is set and transparent windows are supported +#: or background_image is set. + +# background_tint_gaps 1.0 + +#: How much to tint the background image at the window gaps by the +#: background color, after applying background_tint. Since this is +#: multiplicative with background_tint, it can be used to lighten the +#: tint over the window gaps for a *separated* look. + +# dim_opacity 0.4 + +#: How much to dim text that has the DIM/FAINT attribute set. One +#: means no dimming and zero means fully dimmed (i.e. invisible). + +# selection_foreground #000000 +# selection_background #fffacd + +#: The foreground and background colors for text selected with the +#: mouse. Setting both of these to none will cause a "reverse video" +#: effect for selections, where the selection will be the cell text +#: color and the text will become the cell background color. Setting +#: only selection_foreground to none will cause the foreground color +#: to be used unchanged. Note that these colors can be overridden by +#: the program running in the terminal. + +#: The color table {{{ + +#: The 256 terminal colors. There are 8 basic colors, each color has a +#: dull and bright version, for the first 16 colors. You can set the +#: remaining 240 colors as color16 to color255. + +# color0 #000000 +# color8 #767676 + +#: black + +# color1 #cc0403 +# color9 #f2201f + +#: red + +# color2 #19cb00 +# color10 #23fd00 + +#: green + +# color3 #cecb00 +# color11 #fffd00 + +#: yellow + +# color4 #0d73cc +# color12 #1a8fff + +#: blue + +# color5 #cb1ed1 +# color13 #fd28ff + +#: magenta + +# color6 #0dcdcd +# color14 #14ffff + +#: cyan + +# color7 #dddddd +# color15 #ffffff + +#: white + +# mark1_foreground black + +#: Color for marks of type 1 + +# mark1_background #98d3cb + +#: Color for marks of type 1 (light steel blue) + +# mark2_foreground black + +#: Color for marks of type 2 + +# mark2_background #f2dcd3 + +#: Color for marks of type 1 (beige) + +# mark3_foreground black + +#: Color for marks of type 3 + +# mark3_background #f274bc + +#: Color for marks of type 3 (violet) + +#: }}} + +#: }}} + +#: Advanced {{{ + +# shell . + +#: The shell program to execute. The default value of . means to use +#: whatever shell is set as the default shell for the current user. +#: Note that on macOS if you change this, you might need to add +#: --login and --interactive to ensure that the shell starts in +#: interactive mode and reads its startup rc files. Environment +#: variables are expanded in this setting. + +# editor . + +#: The terminal based text editor (such as vim or nano) to use when +#: editing the kitty config file or similar tasks. + +#: The default value of . means to use the environment variables +#: VISUAL and EDITOR in that order. If these variables aren't set, +#: kitty will run your shell ($SHELL -l -i -c env) to see if your +#: shell startup rc files set VISUAL or EDITOR. If that doesn't work, +#: kitty will cycle through various known editors (vim, emacs, etc.) +#: and take the first one that exists on your system. + +# close_on_child_death no + +#: Close the window when the child process (usually the shell) exits. +#: With the default value no, the terminal will remain open when the +#: child exits as long as there are still other processes outputting +#: to the terminal (for example disowned or backgrounded processes). +#: When enabled with yes, the window will close as soon as the child +#: process exits. Note that setting it to yes means that any +#: background processes still using the terminal can fail silently +#: because their stdout/stderr/stdin no longer work. + +# remote_control_password + +#: Allow other programs to control kitty using passwords. This option +#: can be specified multiple times to add multiple passwords. If no +#: passwords are present kitty will ask the user for permission if a +#: program tries to use remote control with a password. A password can +#: also *optionally* be associated with a set of allowed remote +#: control actions. For example:: + +#: remote_control_password "my passphrase" get-colors set-colors focus-window focus-tab + +#: Only the specified actions will be allowed when using this +#: password. Glob patterns can be used too, for example:: + +#: remote_control_password "my passphrase" set-tab-* resize-* + +#: To get a list of available actions, run:: + +#: kitten @ --help + +#: A set of actions to be allowed when no password is sent can be +#: specified by using an empty password. For example:: + +#: remote_control_password "" *-colors + +#: Finally, the path to a python module can be specified that provides +#: a function is_cmd_allowed that is used to check every remote +#: control command. For example:: + +#: remote_control_password "my passphrase" my_rc_command_checker.py + +#: Relative paths are resolved from the kitty configuration directory. +#: See rc_custom_auth for details. + +# allow_remote_control no + +#: Allow other programs to control kitty. If you turn this on, other +#: programs can control all aspects of kitty, including sending text +#: to kitty windows, opening new windows, closing windows, reading the +#: content of windows, etc. Note that this even works over SSH +#: connections. The default setting of no prevents any form of remote +#: control. The meaning of the various values are: + +#: password +#: Remote control requests received over both the TTY device and the socket +#: are confirmed based on passwords, see remote_control_password. + +#: socket-only +#: Remote control requests received over a socket are accepted +#: unconditionally. Requests received over the TTY are denied. +#: See listen_on. + +#: socket +#: Remote control requests received over a socket are accepted +#: unconditionally. Requests received over the TTY are confirmed based on +#: password. + +#: no +#: Remote control is completely disabled. + +#: yes +#: Remote control requests are always accepted. + +# listen_on none + +#: Listen to the specified socket for remote control connections. Note +#: that this will apply to all kitty instances. It can be overridden +#: by the kitty --listen-on command line option. For UNIX sockets, +#: such as unix:${TEMP}/mykitty or unix:@mykitty (on Linux). +#: Environment variables are expanded and relative paths are resolved +#: with respect to the temporary directory. If {kitty_pid} is present, +#: then it is replaced by the PID of the kitty process, otherwise the +#: PID of the kitty process is appended to the value, with a hyphen. +#: For TCP sockets such as tcp:localhost:0 a random port is always +#: used even if a non-zero port number is specified. See the help for +#: kitty --listen-on for more details. Note that this will be ignored +#: unless allow_remote_control is set to either: yes, socket or +#: socket-only. Changing this option by reloading the config is not +#: supported. + +# env + +#: Specify the environment variables to be set in all child processes. +#: Using the name with an equal sign (e.g. env VAR=) will set it to +#: the empty string. Specifying only the name (e.g. env VAR) will +#: remove the variable from the child process' environment. Note that +#: environment variables are expanded recursively, for example:: + +#: env VAR1=a +#: env VAR2=${HOME}/${VAR1}/b + +#: The value of VAR2 will be /a/b. + +# watcher + +#: Path to python file which will be loaded for watchers +#: . Can be +#: specified more than once to load multiple watchers. The watchers +#: will be added to every kitty window. Relative paths are resolved +#: relative to the kitty config directory. Note that reloading the +#: config will only affect windows created after the reload. + +# exe_search_path + +#: Control where kitty finds the programs to run. The default search +#: order is: First search the system wide PATH, then ~/.local/bin and +#: ~/bin. If still not found, the PATH defined in the login shell +#: after sourcing all its startup files is tried. Finally, if present, +#: the PATH specified by the env option is tried. + +#: This option allows you to prepend, append, or remove paths from +#: this search order. It can be specified multiple times for multiple +#: paths. A simple path will be prepended to the search order. A path +#: that starts with the + sign will be append to the search order, +#: after ~/bin above. A path that starts with the - sign will be +#: removed from the entire search order. For example:: + +#: exe_search_path /some/prepended/path +#: exe_search_path +/some/appended/path +#: exe_search_path -/some/excluded/path + +# update_check_interval 24 + +#: The interval to periodically check if an update to kitty is +#: available (in hours). If an update is found, a system notification +#: is displayed informing you of the available update. The default is +#: to check every 24 hours, set to zero to disable. Update checking is +#: only done by the official binary builds. Distro packages or source +#: builds do not do update checking. Changing this option by reloading +#: the config is not supported. + +# startup_session none + +#: Path to a session file to use for all kitty instances. Can be +#: overridden by using the kitty --session =none command line option +#: for individual instances. See sessions +#: in the kitty +#: documentation for details. Note that relative paths are interpreted +#: with respect to the kitty config directory. Environment variables +#: in the path are expanded. Changing this option by reloading the +#: config is not supported. Note that if kitty is invoked with command +#: line arguments specifying a command to run, this option is ignored. + +clipboard_control write-clipboard write-primary no-append + +#: Allow programs running in kitty to read and write from the +#: clipboard. You can control exactly which actions are allowed. The +#: possible actions are: write-clipboard, read-clipboard, write- +#: primary, read-primary, read-clipboard-ask, read-primary-ask. The +#: default is to allow writing to the clipboard and primary selection +#: and to ask for permission when a program tries to read from the +#: clipboard. Note that disabling the read confirmation is a security +#: risk as it means that any program, even the ones running on a +#: remote server via SSH can read your clipboard. See also +#: clipboard_max_size. + +# clipboard_max_size 512 + +#: The maximum size (in MB) of data from programs running in kitty +#: that will be stored for writing to the system clipboard. A value of +#: zero means no size limit is applied. See also clipboard_control. + +# file_transfer_confirmation_bypass + +#: The password that can be supplied to the file transfer kitten +#: to skip the +#: transfer confirmation prompt. This should only be used when +#: initiating transfers from trusted computers, over trusted networks +#: or encrypted transports, as it allows any programs running on the +#: remote machine to read/write to the local filesystem, without +#: permission. + +# allow_hyperlinks yes + +#: Process hyperlink escape sequences (OSC 8). If disabled OSC 8 +#: escape sequences are ignored. Otherwise they become clickable +#: links, that you can click with the mouse or by using the hints +#: kitten . The +#: special value of ask means that kitty will ask before opening the +#: link when clicked. + +# shell_integration enabled + +#: Enable shell integration on supported shells. This enables features +#: such as jumping to previous prompts, browsing the output of the +#: previous command in a pager, etc. on supported shells. Set to +#: disabled to turn off shell integration, completely. It is also +#: possible to disable individual features, set to a space separated +#: list of these values: no-rc, no-cursor, no-title, no-cwd, no- +#: prompt-mark, no-complete, no-sudo. See Shell integration +#: for details. + +# allow_cloning ask + +#: Control whether programs running in the terminal can request new +#: windows to be created. The canonical example is clone-in-kitty +#: . +#: By default, kitty will ask for permission for each clone request. +#: Allowing cloning unconditionally gives programs running in the +#: terminal (including over SSH) permission to execute arbitrary code, +#: as the user who is running the terminal, on the computer that the +#: terminal is running on. + +# clone_source_strategies venv,conda,env_var,path + +#: Control what shell code is sourced when running clone-in-kitty in +#: the newly cloned window. The supported strategies are: + +#: venv +#: Source the file $VIRTUAL_ENV/bin/activate. This is used by the +#: Python stdlib venv module and allows cloning venvs automatically. +#: conda +#: Run conda activate $CONDA_DEFAULT_ENV. This supports the virtual +#: environments created by conda. +#: env_var +#: Execute the contents of the environment variable +#: KITTY_CLONE_SOURCE_CODE with eval. +#: path +#: Source the file pointed to by the environment variable +#: KITTY_CLONE_SOURCE_PATH. + +#: This option must be a comma separated list of the above values. +#: Only the first valid match, in the order specified, is sourced. + +# notify_on_cmd_finish never + +#: Show a desktop notification when a long-running command finishes +#: (needs shell_integration). The possible values are: + +#: never +#: Never send a notification. + +#: unfocused +#: Only send a notification when the window does not have keyboard focus. + +#: invisible +#: Only send a notification when the window both is unfocused and not visible +#: to the user, for example, because it is in an inactive tab or its OS window +#: is not currently active. + +#: always +#: Always send a notification, regardless of window state. + +#: There are two optional arguments: + +#: First, the minimum duration for what is considered a long running +#: command. The default is 5 seconds. Specify a second argument to set +#: the duration. For example: invisible 15. Do not set the value too +#: small, otherwise a command that launches a new OS Window and exits +#: will spam a notification. + +#: Second, the action to perform. The default is notify. The possible +#: values are: + +#: notify +#: Send a desktop notification. + +#: bell +#: Ring the terminal bell. + +#: command +#: Run a custom command. All subsequent arguments are the cmdline to run. + +#: Some more examples:: + +#: # Send a notification when a command takes more than 5 seconds in an unfocused window +#: notify_on_cmd_finish unfocused +#: # Send a notification when a command takes more than 10 seconds in a invisible window +#: notify_on_cmd_finish invisible 10.0 +#: # Ring a bell when a command takes more than 10 seconds in a invisible window +#: notify_on_cmd_finish invisible 10.0 bell +#: # Run 'notify-send' when a command takes more than 10 seconds in a invisible window +#: # Here %c is replaced by the current command line and %s by the job exit code +#: notify_on_cmd_finish invisible 10.0 command notify-send "job finished with status: %s" %c + +# term xterm-kitty + +#: The value of the TERM environment variable to set. Changing this +#: can break many terminal programs, only change it if you know what +#: you are doing, not because you read some advice on "Stack Overflow" +#: to change it. The TERM variable is used by various programs to get +#: information about the capabilities and behavior of the terminal. If +#: you change it, depending on what programs you run, and how +#: different the terminal you are changing it to is, various things +#: from key-presses, to colors, to various advanced features may not +#: work. Changing this option by reloading the config will only affect +#: newly created windows. + +# terminfo_type path + +#: The value of the TERMINFO environment variable to set. This +#: variable is used by programs running in the terminal to search for +#: terminfo databases. The default value of path causes kitty to set +#: it to a filesystem location containing the kitty terminfo database. +#: A value of direct means put the entire database into the env var +#: directly. This can be useful when connecting to containers, for +#: example. But, note that not all software supports this. A value of +#: none means do not touch the variable. + +# forward_stdio no + +#: Forward STDOUT and STDERR of the kitty process to child processes +#: as file descriptors 3 and 4. This is useful for debugging as it +#: allows child processes to print to kitty's STDOUT directly. For +#: example, echo hello world >&3 in a shell will print to the parent +#: kitty's STDOUT. When enabled, this also sets the +#: KITTY_STDIO_FORWARDED=3 environment variable so child processes +#: know about the forwarding. + +# menu_map + +#: Specify entries for various menus in kitty. Currently only the +#: global menubar on macOS is supported. For example:: + +#: menu_map global "Actions::Launch something special" launch --hold --type=os-window sh -c "echo hello world" + +#: This will create a menu entry named "Launch something special" in +#: an "Actions" menu in the macOS global menubar. Sub-menus can be +#: created by adding more levels separated by the :: characters. + +#: }}} + +#: OS specific tweaks {{{ + +# wayland_titlebar_color system + +#: The color of the kitty window's titlebar on Wayland systems with +#: client side window decorations such as GNOME. A value of system +#: means to use the default system colors, a value of background means +#: to use the background color of the currently active kitty window +#: and finally you can use an arbitrary color, such as #12af59 or red. + +# macos_titlebar_color system + +#: The color of the kitty window's titlebar on macOS. A value of +#: system means to use the default system color, light or dark can +#: also be used to set it explicitly. A value of background means to +#: use the background color of the currently active window and finally +#: you can use an arbitrary color, such as #12af59 or red. WARNING: +#: This option works by using a hack when arbitrary color (or +#: background) is configured, as there is no proper Cocoa API for it. +#: It sets the background color of the entire window and makes the +#: titlebar transparent. As such it is incompatible with +#: background_opacity. If you want to use both, you are probably +#: better off just hiding the titlebar with hide_window_decorations. + +macos_option_as_alt yes + +#: Use the Option key as an Alt key on macOS. With this set to no, +#: kitty will use the macOS native Option+Key to enter Unicode +#: character behavior. This will break any Alt+Key keyboard shortcuts +#: in your terminal programs, but you can use the macOS Unicode input +#: technique. You can use the values: left, right or both to use only +#: the left, right or both Option keys as Alt, instead. Note that +#: kitty itself always treats Option the same as Alt. This means you +#: cannot use this option to configure different kitty shortcuts for +#: Option+Key vs. Alt+Key. Also, any kitty shortcuts using +#: Option/Alt+Key will take priority, so that any such key presses +#: will not be passed to terminal programs running inside kitty. +#: Changing this option by reloading the config is not supported. + +# macos_hide_from_tasks no + +#: Hide the kitty window from running tasks on macOS (⌘+Tab and the +#: Dock). Changing this option by reloading the config is not +#: supported. + +# macos_quit_when_last_window_closed no + +#: Have kitty quit when all the top-level windows are closed on macOS. +#: By default, kitty will stay running, even with no open windows, as +#: is the expected behavior on macOS. + +# macos_window_resizable yes + +#: Disable this if you want kitty top-level OS windows to not be +#: resizable on macOS. + +# macos_thicken_font 0 + +#: Draw an extra border around the font with the given width, to +#: increase legibility at small font sizes on macOS. For example, a +#: value of 0.75 will result in rendering that looks similar to sub- +#: pixel antialiasing at common font sizes. Note that in modern kitty, +#: this option is obsolete (although still supported). Consider using +#: text_composition_strategy instead. + +# macos_traditional_fullscreen no + +#: Use the macOS traditional full-screen transition, that is faster, +#: but less pretty. + +# macos_show_window_title_in all + +#: Control where the window title is displayed on macOS. A value of +#: window will show the title of the currently active window at the +#: top of the macOS window. A value of menubar will show the title of +#: the currently active window in the macOS global menu bar, making +#: use of otherwise wasted space. A value of all will show the title +#: in both places, and none hides the title. See +#: macos_menubar_title_max_length for how to control the length of the +#: title in the menu bar. + +# macos_menubar_title_max_length 0 + +#: The maximum number of characters from the window title to show in +#: the macOS global menu bar. Values less than one means that there is +#: no maximum limit. + +# macos_custom_beam_cursor no + +#: Use a custom mouse cursor for macOS that is easier to see on both +#: light and dark backgrounds. Nowadays, the default macOS cursor +#: already comes with a white border. WARNING: this might make your +#: mouse cursor invisible on dual GPU machines. Changing this option +#: by reloading the config is not supported. + +# macos_colorspace srgb + +#: The colorspace in which to interpret terminal colors. The default +#: of srgb will cause colors to match those seen in web browsers. The +#: value of default will use whatever the native colorspace of the +#: display is. The value of displayp3 will use Apple's special +#: snowflake display P3 color space, which will result in over +#: saturated (brighter) colors with some color shift. Reloading +#: configuration will change this value only for newly created OS +#: windows. + +# linux_display_server auto + +#: Choose between Wayland and X11 backends. By default, an appropriate +#: backend based on the system state is chosen automatically. Set it +#: to x11 or wayland to force the choice. Changing this option by +#: reloading the config is not supported. + +# wayland_enable_ime yes + +#: Enable Input Method Extension on Wayland. This is typically used +#: for inputting text in East Asian languages. However, its +#: implementation in Wayland is often buggy and introduces latency +#: into the input loop, so disable this if you know you dont need it. +#: Changing this option by reloading the config is not supported, it +#: will not have any effect. + +#: }}} + +#: Keyboard shortcuts {{{ + +#: Keys are identified simply by their lowercase Unicode characters. +#: For example: a for the A key, [ for the left square bracket key, +#: etc. For functional keys, such as Enter or Escape, the names are +#: present at Functional key definitions +#: . +#: For modifier keys, the names are ctrl (control, ⌃), shift (⇧), alt +#: (opt, option, ⌥), super (cmd, command, ⌘). + +#: Simple shortcut mapping is done with the map directive. For full +#: details on advanced mapping including modal and per application +#: maps, see mapping . Some +#: quick examples to illustrate common tasks:: + +#: # unmap a keyboard shortcut, passing it to the program running in kitty +#: map kitty_mod+space +#: # completely ignore a keyboard event +#: map ctrl+alt+f1 discard_event +#: # combine multiple actions +#: map kitty_mod+e combine : new_window : next_layout +#: # multi-key shortcuts +#: map ctrl+x>ctrl+y>z action + +#: The full list of actions that can be mapped to key presses is +#: available here . + +# kitty_mod ctrl+shift + +#: Special modifier key alias for default shortcuts. You can change +#: the value of this option to alter all default shortcuts that use +#: kitty_mod. + +# clear_all_shortcuts no + +#: Remove all shortcut definitions up to this point. Useful, for +#: instance, to remove the default shortcuts. + +# action_alias + +#: E.g. action_alias launch_tab launch --type=tab --cwd=current + +#: Define action aliases to avoid repeating the same options in +#: multiple mappings. Aliases can be defined for any action and will +#: be expanded recursively. For example, the above alias allows you to +#: create mappings to launch a new tab in the current working +#: directory without duplication:: + +#: map f1 launch_tab vim +#: map f2 launch_tab emacs + +#: Similarly, to alias kitten invocation:: + +#: action_alias hints kitten hints --hints-offset=0 + +# kitten_alias + +#: E.g. kitten_alias hints hints --hints-offset=0 + +#: Like action_alias above, but specifically for kittens. Generally, +#: prefer to use action_alias. This option is a legacy version, +#: present for backwards compatibility. It causes all invocations of +#: the aliased kitten to be substituted. So the example above will +#: cause all invocations of the hints kitten to have the --hints- +#: offset=0 option applied. + +#: Clipboard {{{ + +#: Copy to clipboard + +# map kitty_mod+c copy_to_clipboard +# map cmd+c copy_to_clipboard + +#:: There is also a copy_or_interrupt action that can be optionally +#:: mapped to Ctrl+C. It will copy only if there is a selection and +#:: send an interrupt otherwise. Similarly, +#:: copy_and_clear_or_interrupt will copy and clear the selection or +#:: send an interrupt if there is no selection. + +#: Paste from clipboard + +# map kitty_mod+v paste_from_clipboard +# map cmd+v paste_from_clipboard + +#: Paste from selection + +# map kitty_mod+s paste_from_selection +# map shift+insert paste_from_selection + +#: Pass selection to program + +# map kitty_mod+o pass_selection_to_program + +#:: You can also pass the contents of the current selection to any +#:: program with pass_selection_to_program. By default, the system's +#:: open program is used, but you can specify your own, the selection +#:: will be passed as a command line argument to the program. For +#:: example:: + +#:: map kitty_mod+o pass_selection_to_program firefox + +#:: You can pass the current selection to a terminal program running +#:: in a new kitty window, by using the @selection placeholder:: + +#:: map kitty_mod+y new_window less @selection + +#: }}} + +#: Scrolling {{{ + +#: Scroll line up + +# map kitty_mod+up scroll_line_up +# map kitty_mod+k scroll_line_up +# map opt+cmd+page_up scroll_line_up +# map cmd+up scroll_line_up + +#: Scroll line down + +# map kitty_mod+down scroll_line_down +# map kitty_mod+j scroll_line_down +# map opt+cmd+page_down scroll_line_down +# map cmd+down scroll_line_down + +#: Scroll page up + +# map kitty_mod+page_up scroll_page_up +# map cmd+page_up scroll_page_up + +#: Scroll page down + +# map kitty_mod+page_down scroll_page_down +# map cmd+page_down scroll_page_down + +#: Scroll to top + +# map kitty_mod+home scroll_home +# map cmd+home scroll_home + +#: Scroll to bottom + +# map kitty_mod+end scroll_end +# map cmd+end scroll_end + +#: Scroll to previous shell prompt + +# map kitty_mod+z scroll_to_prompt -1 + +#:: Use a parameter of 0 for scroll_to_prompt to scroll to the last +#:: jumped to or the last clicked position. Requires shell +#:: integration +#:: to work. + +#: Scroll to next shell prompt + +# map kitty_mod+x scroll_to_prompt 1 + +#: Browse scrollback buffer in pager + +# map kitty_mod+h show_scrollback + +#:: You can pipe the contents of the current screen and history +#:: buffer as STDIN to an arbitrary program using launch --stdin- +#:: source. For example, the following opens the scrollback buffer in +#:: less in an overlay window:: + +#:: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R + +#:: For more details on piping screen and buffer contents to external +#:: programs, see launch . + +#: Browse output of the last shell command in pager + +# map kitty_mod+g show_last_command_output + +#:: You can also define additional shortcuts to get the command +#:: output. For example, to get the first command output on screen:: + +#:: map f1 show_first_command_output_on_screen + +#:: To get the command output that was last accessed by a keyboard +#:: action or mouse action:: + +#:: map f1 show_last_visited_command_output + +#:: You can pipe the output of the last command run in the shell +#:: using the launch action. For example, the following opens the +#:: output in less in an overlay window:: + +#:: map f1 launch --stdin-source=@last_cmd_output --stdin-add-formatting --type=overlay less +G -R + +#:: To get the output of the first command on the screen, use +#:: @first_cmd_output_on_screen. To get the output of the last jumped +#:: to command, use @last_visited_cmd_output. + +#:: Requires shell integration +#:: to work. + +#: }}} + +#: Window management {{{ + +#: New window + +# map kitty_mod+enter new_window +# map cmd+enter new_window + +#:: You can open a new kitty window running an arbitrary program, for +#:: example:: + +#:: map kitty_mod+y launch mutt + +#:: You can open a new window with the current working directory set +#:: to the working directory of the current window using:: + +#:: map ctrl+alt+enter launch --cwd=current + +#:: You can open a new window that is allowed to control kitty via +#:: the kitty remote control facility with launch --allow-remote- +#:: control. Any programs running in that window will be allowed to +#:: control kitty. For example:: + +#:: map ctrl+enter launch --allow-remote-control some_program + +#:: You can open a new window next to the currently active window or +#:: as the first window, with:: + +#:: map ctrl+n launch --location=neighbor +#:: map ctrl+f launch --location=first + +#:: For more details, see launch +#:: . + +#: New OS window + +# map kitty_mod+n new_os_window +# map cmd+n new_os_window + +#:: Works like new_window above, except that it opens a top-level OS +#:: window. In particular you can use new_os_window_with_cwd to open +#:: a window with the current working directory. + +#: Close window + +# map kitty_mod+w close_window +# map shift+cmd+d close_window + +#: Next window + +# map kitty_mod+] next_window + +#: Previous window + +# map kitty_mod+[ previous_window + +#: Move window forward + +# map kitty_mod+f move_window_forward + +#: Move window backward + +# map kitty_mod+b move_window_backward + +#: Move window to top + +# map kitty_mod+` move_window_to_top + +#: Start resizing window + +# map kitty_mod+r start_resizing_window +# map cmd+r start_resizing_window + +#: First window + +# map kitty_mod+1 first_window +# map cmd+1 first_window + +#: Second window + +# map kitty_mod+2 second_window +# map cmd+2 second_window + +#: Third window + +# map kitty_mod+3 third_window +# map cmd+3 third_window + +#: Fourth window + +# map kitty_mod+4 fourth_window +# map cmd+4 fourth_window + +#: Fifth window + +# map kitty_mod+5 fifth_window +# map cmd+5 fifth_window + +#: Sixth window + +# map kitty_mod+6 sixth_window +# map cmd+6 sixth_window + +#: Seventh window + +# map kitty_mod+7 seventh_window +# map cmd+7 seventh_window + +#: Eighth window + +# map kitty_mod+8 eighth_window +# map cmd+8 eighth_window + +#: Ninth window + +# map kitty_mod+9 ninth_window +# map cmd+9 ninth_window + +#: Tenth window + +# map kitty_mod+0 tenth_window + +#: Visually select and focus window + +# map kitty_mod+f7 focus_visible_window + +#:: Display overlay numbers and alphabets on the window, and switch +#:: the focus to the window when you press the key. When there are +#:: only two windows, the focus will be switched directly without +#:: displaying the overlay. You can change the overlay characters and +#:: their order with option visual_window_select_characters. + +#: Visually swap window with another + +# map kitty_mod+f8 swap_with_window + +#:: Works like focus_visible_window above, but swaps the window. + +#: }}} + +#: Tab management {{{ + +#: Next tab + +# map kitty_mod+right next_tab +# map shift+cmd+] next_tab +# map ctrl+tab next_tab + +#: Previous tab + +# map kitty_mod+left previous_tab +# map shift+cmd+[ previous_tab +# map ctrl+shift+tab previous_tab + +#: New tab + +# map kitty_mod+t new_tab +# map cmd+t new_tab + +#: Close tab + +# map kitty_mod+q close_tab +# map cmd+w close_tab + +#: Close OS window + +# map shift+cmd+w close_os_window + +#: Move tab forward + +# map kitty_mod+. move_tab_forward + +#: Move tab backward + +# map kitty_mod+, move_tab_backward + +#: Set tab title + +# map kitty_mod+alt+t set_tab_title +# map shift+cmd+i set_tab_title + + +#: You can also create shortcuts to go to specific tabs, with 1 being +#: the first tab, 2 the second tab and -1 being the previously active +#: tab, and any number larger than the last tab being the last tab:: + +#: map ctrl+alt+1 goto_tab 1 +#: map ctrl+alt+2 goto_tab 2 + +#: Just as with new_window above, you can also pass the name of +#: arbitrary commands to run when using new_tab and new_tab_with_cwd. +#: Finally, if you want the new tab to open next to the current tab +#: rather than at the end of the tabs list, use:: + +#: map ctrl+t new_tab !neighbor [optional cmd to run] +#: }}} + +#: Layout management {{{ + +#: Next layout + +# map kitty_mod+l next_layout + + +#: You can also create shortcuts to switch to specific layouts:: + +#: map ctrl+alt+t goto_layout tall +#: map ctrl+alt+s goto_layout stack + +#: Similarly, to switch back to the previous layout:: + +#: map ctrl+alt+p last_used_layout + +#: There is also a toggle_layout action that switches to the named +#: layout or back to the previous layout if in the named layout. +#: Useful to temporarily "zoom" the active window by switching to the +#: stack layout:: + +#: map ctrl+alt+z toggle_layout stack +#: }}} + +#: Font sizes {{{ + +#: You can change the font size for all top-level kitty OS windows at +#: a time or only the current one. + +#: Increase font size + +# map kitty_mod+equal change_font_size all +2.0 +# map kitty_mod+plus change_font_size all +2.0 +# map kitty_mod+kp_add change_font_size all +2.0 +# map cmd+plus change_font_size all +2.0 +# map cmd+equal change_font_size all +2.0 +# map shift+cmd+equal change_font_size all +2.0 + +#: Decrease font size + +# map kitty_mod+minus change_font_size all -2.0 +# map kitty_mod+kp_subtract change_font_size all -2.0 +# map cmd+minus change_font_size all -2.0 +# map shift+cmd+minus change_font_size all -2.0 + +#: Reset font size + +# map kitty_mod+backspace change_font_size all 0 +# map cmd+0 change_font_size all 0 + + +#: To setup shortcuts for specific font sizes:: + +#: map kitty_mod+f6 change_font_size all 10.0 + +#: To setup shortcuts to change only the current OS window's font +#: size:: + +#: map kitty_mod+f6 change_font_size current 10.0 +#: }}} + +#: Select and act on visible text {{{ + +#: Use the hints kitten to select text and either pass it to an +#: external program or insert it into the terminal or copy it to the +#: clipboard. + +#: Open URL + +# map kitty_mod+e open_url_with_hints + +#:: Open a currently visible URL using the keyboard. The program used +#:: to open the URL is specified in open_url_with. + +#: Insert selected path + +# map kitty_mod+p>f kitten hints --type path --program - + +#:: Select a path/filename and insert it into the terminal. Useful, +#:: for instance to run git commands on a filename output from a +#:: previous git command. + +#: Open selected path + +# map kitty_mod+p>shift+f kitten hints --type path + +#:: Select a path/filename and open it with the default open program. + +#: Insert selected line + +# map kitty_mod+p>l kitten hints --type line --program - + +#:: Select a line of text and insert it into the terminal. Useful for +#:: the output of things like: `ls -1`. + +#: Insert selected word + +# map kitty_mod+p>w kitten hints --type word --program - + +#:: Select words and insert into terminal. + +#: Insert selected hash + +# map kitty_mod+p>h kitten hints --type hash --program - + +#:: Select something that looks like a hash and insert it into the +#:: terminal. Useful with git, which uses SHA1 hashes to identify +#:: commits. + +#: Open the selected file at the selected line + +# map kitty_mod+p>n kitten hints --type linenum + +#:: Select something that looks like filename:linenum and open it in +#:: your default editor at the specified line number. + +#: Open the selected hyperlink + +# map kitty_mod+p>y kitten hints --type hyperlink + +#:: Select a hyperlink (i.e. a URL that has been marked as such by +#:: the terminal program, for example, by `ls --hyperlink=auto`). + + +#: The hints kitten has many more modes of operation that you can map +#: to different shortcuts. For a full description see hints kitten +#: . +#: }}} + +#: Miscellaneous {{{ + +#: Show documentation + +# map kitty_mod+f1 show_kitty_doc overview + +#: Toggle fullscreen + +# map kitty_mod+f11 toggle_fullscreen +# map ctrl+cmd+f toggle_fullscreen + +#: Toggle maximized + +# map kitty_mod+f10 toggle_maximized + +#: Toggle macOS secure keyboard entry + +# map opt+cmd+s toggle_macos_secure_keyboard_entry + +#: Unicode input + +# map kitty_mod+u kitten unicode_input +# map ctrl+cmd+space kitten unicode_input + +#: Edit config file + +# map kitty_mod+f2 edit_config_file +# map cmd+, edit_config_file + +#: Open the kitty command shell + +# map kitty_mod+escape kitty_shell window + +#:: Open the kitty shell in a new window / tab / overlay / os_window +#:: to control kitty using commands. + +#: Increase background opacity + +# map kitty_mod+a>m set_background_opacity +0.1 + +#: Decrease background opacity + +# map kitty_mod+a>l set_background_opacity -0.1 + +#: Make background fully opaque + +# map kitty_mod+a>1 set_background_opacity 1 + +#: Reset background opacity + +# map kitty_mod+a>d set_background_opacity default + +#: Reset the terminal + +# map kitty_mod+delete clear_terminal reset active +# map opt+cmd+r clear_terminal reset active + +#:: You can create shortcuts to clear/reset the terminal. For +#:: example:: + +#:: # Reset the terminal +#:: map f1 clear_terminal reset active +#:: # Clear the terminal screen by erasing all contents +#:: map f1 clear_terminal clear active +#:: # Clear the terminal scrollback by erasing it +#:: map f1 clear_terminal scrollback active +#:: # Scroll the contents of the screen into the scrollback +#:: map f1 clear_terminal scroll active +#:: # Clear everything on screen up to the line with the cursor or the start of the current prompt (needs shell integration) +#:: map f1 clear_terminal to_cursor active +#:: # Same as above except cleared lines are moved into scrollback +#:: map f1 clear_terminal to_cursor_scroll active + +#:: If you want to operate on all kitty windows instead of just the +#:: current one, use all instead of active. + +#:: Some useful functions that can be defined in the shell rc files +#:: to perform various kinds of clearing of the current window: + +#:: .. code-block:: sh + +#:: clear-only-screen() { +#:: printf "\e[H\e[2J" +#:: } + +#:: clear-screen-and-scrollback() { +#:: printf "\e[H\e[3J" +#:: } + +#:: clear-screen-saving-contents-in-scrollback() { +#:: printf "\e[H\e[22J" +#:: } + +#:: For instance, using these escape codes, it is possible to remap +#:: Ctrl+L to both scroll the current screen contents into the +#:: scrollback buffer and clear the screen, instead of just clearing +#:: the screen. For ZSH, in ~/.zshrc, add: + +#:: .. code-block:: zsh + +#:: ctrl_l() { +#:: builtin print -rn -- $'\r\e[0J\e[H\e[22J' >"$TTY" +#:: builtin zle .reset-prompt +#:: builtin zle -R +#:: } +#:: zle -N ctrl_l +#:: bindkey '^l' ctrl_l + +#:: Alternatively, you can just add map ctrl+l clear_terminal +#:: to_cursor_scroll active to kitty.conf which works with no changes +#:: to the shell rc files, but only clears up to the prompt, it does +#:: not clear anytext at the prompt itself. + +#: Clear up to cursor line + +# map cmd+k clear_terminal to_cursor active + +#: Reload kitty.conf + +# map kitty_mod+f5 load_config_file +# map ctrl+cmd+, load_config_file + +#:: Reload kitty.conf, applying any changes since the last time it +#:: was loaded. Note that a handful of options cannot be dynamically +#:: changed and require a full restart of kitty. Particularly, when +#:: changing shortcuts for actions located on the macOS global menu +#:: bar, a full restart is needed. You can also map a keybinding to +#:: load a different config file, for example:: + +#:: map f5 load_config /path/to/alternative/kitty.conf + +#:: Note that all options from the original kitty.conf are discarded, +#:: in other words the new configuration *replace* the old ones. + +#: Debug kitty configuration + +# map kitty_mod+f6 debug_config +# map opt+cmd+, debug_config + +#:: Show details about exactly what configuration kitty is running +#:: with and its host environment. Useful for debugging issues. + +#: Send arbitrary text on key presses + +#:: E.g. map ctrl+shift+alt+h send_text all Hello World + +#:: You can tell kitty to send arbitrary (UTF-8) encoded text to the +#:: client program when pressing specified shortcut keys. For +#:: example:: + +#:: map ctrl+alt+a send_text all Special text + +#:: This will send "Special text" when you press the Ctrl+Alt+A key +#:: combination. The text to be sent decodes ANSI C escapes +#:: so you can use escapes like \e to send control +#:: codes or \u21fb to send Unicode characters (or you can just input +#:: the Unicode characters directly as UTF-8 text). You can use +#:: `kitten show_key` to get the key escape codes you want to +#:: emulate. + +#:: The first argument to send_text is the keyboard modes in which to +#:: activate the shortcut. The possible values are normal, +#:: application, kitty or a comma separated combination of them. The +#:: modes normal and application refer to the DECCKM cursor key mode +#:: for terminals, and kitty refers to the kitty extended keyboard +#:: protocol. The special value all means all of them. + +#:: Some more examples:: + +#:: # Output a word and move the cursor to the start of the line (like typing and pressing Home) +#:: map ctrl+alt+a send_text normal Word\e[H +#:: map ctrl+alt+a send_text application Word\eOH +#:: # Run a command at a shell prompt (like typing the command and pressing Enter) +#:: map ctrl+alt+a send_text normal,application some command with arguments\r + +#: Open kitty Website + +# map shift+cmd+/ open_url https://sw.kovidgoyal.net/kitty/ + +#: Hide macOS kitty application + +# map cmd+h hide_macos_app + +#: Hide macOS other applications + +# map opt+cmd+h hide_macos_other_apps + +#: Minimize macOS window + +# map cmd+m minimize_macos_window + +#: Quit kitty + +# map cmd+q quit + +#: }}} + +#: }}} From f36577c93cf8f65f2858ba0273c85acf720d08fc Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 6 Aug 2024 15:40:47 -0400 Subject: [PATCH 103/226] new: trying out zellij (instead of tmux) --- home/private_dot_config/zellij/config.kdl | 365 ++++++++++++++++++++++ 1 file changed, 365 insertions(+) create mode 100644 home/private_dot_config/zellij/config.kdl diff --git a/home/private_dot_config/zellij/config.kdl b/home/private_dot_config/zellij/config.kdl new file mode 100644 index 0000000..ebeb1ac --- /dev/null +++ b/home/private_dot_config/zellij/config.kdl @@ -0,0 +1,365 @@ +// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true" +keybinds { + normal { + // uncomment this and adjust key if using copy_on_select=false + // bind "Alt c" { Copy; } + } + locked { + bind "Ctrl g" { SwitchToMode "Normal"; } + } + resize { + bind "Ctrl n" { SwitchToMode "Normal"; } + bind "h" "Left" { Resize "Increase Left"; } + bind "j" "Down" { Resize "Increase Down"; } + bind "k" "Up" { Resize "Increase Up"; } + bind "l" "Right" { Resize "Increase Right"; } + bind "H" { Resize "Decrease Left"; } + bind "J" { Resize "Decrease Down"; } + bind "K" { Resize "Decrease Up"; } + bind "L" { Resize "Decrease Right"; } + bind "=" "+" { Resize "Increase"; } + bind "-" { Resize "Decrease"; } + } + pane { + bind "Ctrl p" { SwitchToMode "Normal"; } + bind "h" "Left" { MoveFocus "Left"; } + bind "l" "Right" { MoveFocus "Right"; } + bind "j" "Down" { MoveFocus "Down"; } + bind "k" "Up" { MoveFocus "Up"; } + bind "p" { SwitchFocus; } + bind "n" { NewPane; SwitchToMode "Normal"; } + bind "d" { NewPane "Down"; SwitchToMode "Normal"; } + bind "r" { NewPane "Right"; SwitchToMode "Normal"; } + bind "x" { CloseFocus; SwitchToMode "Normal"; } + bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; } + bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } + bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } + bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } + bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} + } + move { + bind "Ctrl h" { SwitchToMode "Normal"; } + bind "n" "Tab" { MovePane; } + bind "p" { MovePaneBackwards; } + bind "h" "Left" { MovePane "Left"; } + bind "j" "Down" { MovePane "Down"; } + bind "k" "Up" { MovePane "Up"; } + bind "l" "Right" { MovePane "Right"; } + } + tab { + bind "Ctrl t" { SwitchToMode "Normal"; } + bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; } + bind "h" "Left" "Up" "k" { GoToPreviousTab; } + bind "l" "Right" "Down" "j" { GoToNextTab; } + bind "n" { NewTab; SwitchToMode "Normal"; } + bind "x" { CloseTab; SwitchToMode "Normal"; } + bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } + bind "b" { BreakPane; SwitchToMode "Normal"; } + bind "]" { BreakPaneRight; SwitchToMode "Normal"; } + bind "[" { BreakPaneLeft; SwitchToMode "Normal"; } + bind "1" { GoToTab 1; SwitchToMode "Normal"; } + bind "2" { GoToTab 2; SwitchToMode "Normal"; } + bind "3" { GoToTab 3; SwitchToMode "Normal"; } + bind "4" { GoToTab 4; SwitchToMode "Normal"; } + bind "5" { GoToTab 5; SwitchToMode "Normal"; } + bind "6" { GoToTab 6; SwitchToMode "Normal"; } + bind "7" { GoToTab 7; SwitchToMode "Normal"; } + bind "8" { GoToTab 8; SwitchToMode "Normal"; } + bind "9" { GoToTab 9; SwitchToMode "Normal"; } + bind "Tab" { ToggleTab; } + } + scroll { + bind "Ctrl s" { SwitchToMode "Normal"; } + bind "e" { EditScrollback; SwitchToMode "Normal"; } + bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } + bind "j" "Down" { ScrollDown; } + bind "k" "Up" { ScrollUp; } + bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } + bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } + bind "d" { HalfPageScrollDown; } + bind "u" { HalfPageScrollUp; } + // uncomment this and adjust key if using copy_on_select=false + // bind "Alt c" { Copy; } + } + search { + bind "Ctrl s" { SwitchToMode "Normal"; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } + bind "j" "Down" { ScrollDown; } + bind "k" "Up" { ScrollUp; } + bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } + bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } + bind "d" { HalfPageScrollDown; } + bind "u" { HalfPageScrollUp; } + bind "n" { Search "down"; } + bind "p" { Search "up"; } + bind "c" { SearchToggleOption "CaseSensitivity"; } + bind "w" { SearchToggleOption "Wrap"; } + bind "o" { SearchToggleOption "WholeWord"; } + } + entersearch { + bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; } + bind "Enter" { SwitchToMode "Search"; } + } + renametab { + bind "Ctrl c" { SwitchToMode "Normal"; } + bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; } + } + renamepane { + bind "Ctrl c" { SwitchToMode "Normal"; } + bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; } + } + session { + bind "Ctrl o" { SwitchToMode "Normal"; } + bind "Ctrl s" { SwitchToMode "Scroll"; } + bind "d" { Detach; } + bind "w" { + LaunchOrFocusPlugin "session-manager" { + floating true + move_to_focused_tab true + }; + SwitchToMode "Normal" + } + } + tmux { + bind "[" { SwitchToMode "Scroll"; } + bind "Ctrl b" { Write 2; SwitchToMode "Normal"; } + bind "\"" { NewPane "Down"; SwitchToMode "Normal"; } + bind "%" { NewPane "Right"; SwitchToMode "Normal"; } + bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; } + bind "c" { NewTab; SwitchToMode "Normal"; } + bind "," { SwitchToMode "RenameTab"; } + bind "p" { GoToPreviousTab; SwitchToMode "Normal"; } + bind "n" { GoToNextTab; SwitchToMode "Normal"; } + bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "o" { FocusNextPane; } + bind "d" { Detach; } + bind "Space" { NextSwapLayout; } + bind "x" { CloseFocus; SwitchToMode "Normal"; } + } + shared_except "locked" { + bind "Ctrl g" { SwitchToMode "Locked"; } + bind "Ctrl q" { Quit; } + bind "Alt n" { NewPane; } + bind "Alt i" { MoveTab "Left"; } + bind "Alt o" { MoveTab "Right"; } + bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } + bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } + bind "Alt j" "Alt Down" { MoveFocus "Down"; } + bind "Alt k" "Alt Up" { MoveFocus "Up"; } + bind "Alt =" "Alt +" { Resize "Increase"; } + bind "Alt -" { Resize "Decrease"; } + bind "Alt [" { PreviousSwapLayout; } + bind "Alt ]" { NextSwapLayout; } + } + shared_except "normal" "locked" { + bind "Enter" "Esc" { SwitchToMode "Normal"; } + } + shared_except "pane" "locked" { + bind "Ctrl p" { SwitchToMode "Pane"; } + } + shared_except "resize" "locked" { + bind "Ctrl n" { SwitchToMode "Resize"; } + } + shared_except "scroll" "locked" { + bind "Ctrl s" { SwitchToMode "Scroll"; } + } + shared_except "session" "locked" { + bind "Ctrl o" { SwitchToMode "Session"; } + } + shared_except "tab" "locked" { + bind "Ctrl t" { SwitchToMode "Tab"; } + } + shared_except "move" "locked" { + bind "Ctrl h" { SwitchToMode "Move"; } + } + shared_except "tmux" "locked" { + bind "Ctrl a" { SwitchToMode "Tmux"; } + } +} + +plugins { + tab-bar location="zellij:tab-bar" + status-bar location="zellij:status-bar" + strider location="zellij:strider" + compact-bar location="zellij:compact-bar" + session-manager location="zellij:session-manager" + welcome-screen location="zellij:session-manager" { + welcome_screen true + } + filepicker location="zellij:strider" { + cwd "/" + } +} + +// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP +// eg. when terminal window with an active zellij session is closed +// Options: +// - detach (Default) +// - quit +// +// on_force_close "quit" + +// Send a request for a simplified ui (without arrow fonts) to plugins +// Options: +// - true +// - false (Default) +// +// simplified_ui true + +// Choose the path to the default shell that zellij will use for opening new panes +// Default: $SHELL +// +// default_shell "fish" + +// Choose the path to override cwd that zellij will use for opening new panes +// +// default_cwd "" + +// Toggle between having pane frames around the panes +// Options: +// - true (default) +// - false +// +// pane_frames true + +// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible +// Options: +// - true (default) +// - false +// +// auto_layout true + +// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected +// Options: +// - true (default) +// - false +// +// session_serialization false + +// Whether pane viewports are serialized along with the session, default is false +// Options: +// - true +// - false (default) +// serialize_pane_viewport true + +// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0 +// defaults to the scrollback size. If this number is higher than the scrollback size, it will +// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true. +// +// scrollback_lines_to_serialize 10000 + +// Define color themes for Zellij +// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes +// Once these themes are defined, one of them should to be selected in the "theme" section of this file +// +// themes { +// dracula { +// fg 248 248 242 +// bg 40 42 54 +// red 255 85 85 +// green 80 250 123 +// yellow 241 250 140 +// blue 98 114 164 +// magenta 255 121 198 +// orange 255 184 108 +// cyan 139 233 253 +// black 0 0 0 +// white 255 255 255 +// } +// } + +// Choose the theme that is specified in the themes section. +// Default: default +// +theme "nord" + +// The name of the default layout to load on startup +// Default: "default" +// +// default_layout "compact" + +// Choose the mode that zellij uses when starting up. +// Default: normal +// +// default_mode "locked" + +// Toggle enabling the mouse mode. +// On certain configurations, or terminals this could +// potentially interfere with copying text. +// Options: +// - true (default) +// - false +// +// mouse_mode false + +// Configure the scroll back buffer size +// This is the number of lines zellij stores for each pane in the scroll back +// buffer. Excess number of lines are discarded in a FIFO fashion. +// Valid values: positive integers +// Default value: 10000 +// +// scroll_buffer_size 10000 + +// Provide a command to execute when copying text. The text will be piped to +// the stdin of the program to perform the copy. This can be used with +// terminal emulators which do not support the OSC 52 ANSI control sequence +// that will be used by default if this option is not set. +// Examples: +// +// copy_command "xclip -selection clipboard" // x11 +// copy_command "wl-copy" // wayland +// copy_command "pbcopy" // osx + +// Choose the destination for copied text +// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. +// Does not apply when using copy_command. +// Options: +// - system (default) +// - primary +// +// copy_clipboard "primary" + +// Enable or disable automatic copy (and clear) of selection when releasing mouse +// Default: true +// +// copy_on_select false + +// Path to the default editor to use to edit pane scrollbuffer +// Default: $EDITOR or $VISUAL +// +// scrollback_editor "/usr/bin/vim" + +// When attaching to an existing session with other users, +// should the session be mirrored (true) +// or should each user have their own cursor (false) +// Default: false +// +// mirror_session true + +// The folder in which Zellij will look for layouts +// +// layout_dir "/path/to/my/layout_dir" + +// The folder in which Zellij will look for themes +// +// theme_dir "/path/to/my/theme_dir" + +// Enable or disable the rendering of styled and colored underlines (undercurl). +// May need to be disabled for certain unsupported terminals +// Default: true +// +// styled_underlines false + +// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know +// metadata info on this session) +// Default: false +// +// disable_session_metadata true From 89bfaebc4e2c4f0ba835ac248ee950580b551ebe Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 7 Aug 2024 10:54:44 -0400 Subject: [PATCH 104/226] new: disable zellij window chrome --- home/private_dot_config/zellij/config.kdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/zellij/config.kdl b/home/private_dot_config/zellij/config.kdl index ebeb1ac..08df538 100644 --- a/home/private_dot_config/zellij/config.kdl +++ b/home/private_dot_config/zellij/config.kdl @@ -228,7 +228,7 @@ plugins { // - true (default) // - false // -// pane_frames true +pane_frames false // Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible // Options: From 45ec90f2ff03ba98deeaa8dac8c070360155c98b Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 7 Aug 2024 10:54:44 -0400 Subject: [PATCH 105/226] new: zellij return to previous tab creature-comfort --- home/private_dot_config/zellij/config.kdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/zellij/config.kdl b/home/private_dot_config/zellij/config.kdl index 08df538..282e107 100644 --- a/home/private_dot_config/zellij/config.kdl +++ b/home/private_dot_config/zellij/config.kdl @@ -123,7 +123,7 @@ keybinds { } tmux { bind "[" { SwitchToMode "Scroll"; } - bind "Ctrl b" { Write 2; SwitchToMode "Normal"; } + bind "Ctrl a" { ToggleTab; SwitchToMode "Normal"; } bind "\"" { NewPane "Down"; SwitchToMode "Normal"; } bind "%" { NewPane "Right"; SwitchToMode "Normal"; } bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; } From f19cbc439c4642b2c3e5db31b2b358bbfbaaa6bb Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 16 Sep 2024 15:15:02 -0400 Subject: [PATCH 106/226] chore: sync rattusrattus packages --- home/run_once_01install-packages.sh.tmpl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 64ec59b..2a30865 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -18,13 +18,22 @@ sudo apt install \ {{ else if eq .chezmoi.hostname "rattusrattus" -}} sudo port install \ + cmus \ curl \ + fzf \ git \ + git-delta \ helix \ + jujutsu \ + kitty \ ripgrep \ tmux \ tree \ + watch \ wget \ + xz \ + zellij \ + zk \ zsh {{ else if eq .chezmoi.hostname "yersiniapestis" -}} From 554cfa9a26745fd05973b206715301dd9e10412e Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 16 Sep 2024 15:42:07 -0400 Subject: [PATCH 107/226] feat(jj): useful alias --- .../private_Application Support/private_jj/config.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/private_Library/private_Application Support/private_jj/config.toml b/home/private_Library/private_Application Support/private_jj/config.toml index bec4986..f2f8898 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml +++ b/home/private_Library/private_Application Support/private_jj/config.toml @@ -15,9 +15,10 @@ log = "@ | bases | branches | curbranch::@ | @::nextbranch | downstream(@, branc 'branchesandheads' = 'branches | (heads(trunk()::) & mine())' 'curbranch' = 'latest(branches::@- & branches)' 'nextbranch' = 'roots(@:: & branchesandheads)' +'stack' = 'bases..@' [ui] -default-command = ["log", "--reversed"] +default-command = ["log"] pager = "delta" [ui.diff] From 28c4208cd26342ed9ff8d567c1080e18f2d3d5cd Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 16 Sep 2024 15:42:07 -0400 Subject: [PATCH 108/226] feat(zk): support for zk notebook --- home/private_dot_config/helix/languages.toml | 13 +++++++++ home/private_dot_config/zk/config.toml | 29 +++++++++++++++++++ home/private_dot_config/zk/templates/daily.md | 1 + .../zk/templates/default.md | 3 ++ 4 files changed, 46 insertions(+) create mode 100644 home/private_dot_config/zk/config.toml create mode 100644 home/private_dot_config/zk/templates/daily.md create mode 100644 home/private_dot_config/zk/templates/default.md diff --git a/home/private_dot_config/helix/languages.toml b/home/private_dot_config/helix/languages.toml index fab76e5..3d948de 100644 --- a/home/private_dot_config/helix/languages.toml +++ b/home/private_dot_config/helix/languages.toml @@ -3,3 +3,16 @@ name = "rust" [language-server.rust-analyzer.config.check] command = "clippy" + +[language-server.zk] +command = "zk" +args = ["lsp"] + + +[[language]] +name = "markdown" +scope = "source.md" +injection-regex = "md|markdown" +file-types = ["md", "markdown"] +roots = [".zk"] +language-servers = ["zk"] diff --git a/home/private_dot_config/zk/config.toml b/home/private_dot_config/zk/config.toml new file mode 100644 index 0000000..a76a122 --- /dev/null +++ b/home/private_dot_config/zk/config.toml @@ -0,0 +1,29 @@ +[notebook] +dir = "~/notebook" + +[note] +language = "en" +default-title = "untitled" +filename = "{{id}}-{{slug title}}" +extension = "md" +template = "default.md" +id-charset = "alphanum" +id-length = 4 +id-case = "lower" + +[group.journal] +paths = ["journal/daily"] + +[group.journal.note] +filename = "{{format-date now}}" +template = "daily.md" + +[lsp] + +[lsp.diagnostics] +wiki-title = "hint" +dead-link = "error" + +[alias] +save = 'jj commit -m "$*"' +daily = 'zk new "$ZK_NOTEBOOK_DIR/journal/daily"' \ No newline at end of file diff --git a/home/private_dot_config/zk/templates/daily.md b/home/private_dot_config/zk/templates/daily.md new file mode 100644 index 0000000..6e22c47 --- /dev/null +++ b/home/private_dot_config/zk/templates/daily.md @@ -0,0 +1 @@ +# {{ format-date now }} diff --git a/home/private_dot_config/zk/templates/default.md b/home/private_dot_config/zk/templates/default.md new file mode 100644 index 0000000..f3747bc --- /dev/null +++ b/home/private_dot_config/zk/templates/default.md @@ -0,0 +1,3 @@ +# {{ title }} + +{{ format-date now }} From 8f63a2f5b862877d2cd24d03fd1bccaf2417410c Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 16 Sep 2024 15:53:23 -0400 Subject: [PATCH 109/226] feat(klog): import klog config --- home/private_dot_config/private_klog/bookmarks.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 home/private_dot_config/private_klog/bookmarks.json diff --git a/home/private_dot_config/private_klog/bookmarks.json b/home/private_dot_config/private_klog/bookmarks.json new file mode 100644 index 0000000..4441106 --- /dev/null +++ b/home/private_dot_config/private_klog/bookmarks.json @@ -0,0 +1,6 @@ +[ + { + "name": "@work", + "path": "/Users/matthew/work.klg" + } +] From f3ca93e7e8529da006a30d0e7fee7009821f8fb6 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 17 Sep 2024 06:22:54 -0400 Subject: [PATCH 110/226] fix(zsh): add missing xdg confg env var --- home/dot_zshenv | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/home/dot_zshenv b/home/dot_zshenv index 87e9873..e0eb740 100644 --- a/home/dot_zshenv +++ b/home/dot_zshenv @@ -34,8 +34,6 @@ TMPPREFIX="${TMPDIR%/}/zsh" if [[ ! -d "$TMPPREFIX" ]]; then mkdir -p "$TMPPREFIX" fi -# Necessary for tmux on WSL, shouldn't impact macos -export TMUX_TMPDIR='/tmp' # Paths typeset -gU cdpath fpath mailpath path @@ -78,4 +76,5 @@ done export -U PATH export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc +export XDG_CONFIG_HOME=$HOME/.config From c33ac05b4dd107a4c8f80b3e3dc93597e29c3105 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 17 Sep 2024 06:22:54 -0400 Subject: [PATCH 111/226] fix(klog): permissions and new work log path --- home/private_dot_config/{private_klog => klog}/bookmarks.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename home/private_dot_config/{private_klog => klog}/bookmarks.json (100%) diff --git a/home/private_dot_config/private_klog/bookmarks.json b/home/private_dot_config/klog/bookmarks.json similarity index 100% rename from home/private_dot_config/private_klog/bookmarks.json rename to home/private_dot_config/klog/bookmarks.json From 5b251e56f4a8c977803fb1f1e996cdbc5fd7ee85 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 17 Sep 2024 06:22:54 -0400 Subject: [PATCH 112/226] feat(zk): sync alias --- home/private_dot_config/zk/config.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/zk/config.toml b/home/private_dot_config/zk/config.toml index a76a122..c0d2140 100644 --- a/home/private_dot_config/zk/config.toml +++ b/home/private_dot_config/zk/config.toml @@ -25,5 +25,8 @@ wiki-title = "hint" dead-link = "error" [alias] -save = 'jj commit -m "$*"' -daily = 'zk new "$ZK_NOTEBOOK_DIR/journal/daily"' \ No newline at end of file +save = 'jj desc -m "$*" && jj branch set main -r @ && jj new' +sync = 'jj git fetch && jj git push' +log = 'jj log -r ".."' +diff = 'jj diff' +daily = 'zk new --no-input "$ZK_NOTEBOOK_DIR/journal/daily"' From 90c1956471e011f78629f3501be8653a4b2df8ea Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 17 Sep 2024 11:07:03 -0400 Subject: [PATCH 113/226] fix: missing changes to klog work path --- home/private_dot_config/klog/bookmarks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/klog/bookmarks.json b/home/private_dot_config/klog/bookmarks.json index 4441106..514a8f4 100644 --- a/home/private_dot_config/klog/bookmarks.json +++ b/home/private_dot_config/klog/bookmarks.json @@ -1,6 +1,6 @@ [ { "name": "@work", - "path": "/Users/matthew/work.klg" + "path": "/Users/matthew/notebook/emulate/work.klg" } ] From f7ecff3786faeaa4db7d0c073fcf6baa48158baa Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 17 Sep 2024 11:07:03 -0400 Subject: [PATCH 114/226] fix: temporarily disabling zellij ctrl n keybinding --- home/private_dot_config/zellij/config.kdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/zellij/config.kdl b/home/private_dot_config/zellij/config.kdl index 282e107..cecf36d 100644 --- a/home/private_dot_config/zellij/config.kdl +++ b/home/private_dot_config/zellij/config.kdl @@ -8,7 +8,7 @@ keybinds { bind "Ctrl g" { SwitchToMode "Normal"; } } resize { - bind "Ctrl n" { SwitchToMode "Normal"; } + // bind "Ctrl n" { SwitchToMode "Normal"; } bind "h" "Left" { Resize "Increase Left"; } bind "j" "Down" { Resize "Increase Down"; } bind "k" "Up" { Resize "Increase Up"; } From 625df6155fc3bc9b97cd7130e49b40f756ca3875 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 17 Sep 2024 11:07:03 -0400 Subject: [PATCH 115/226] feat: adding content param to default template --- home/private_dot_config/zk/templates/default.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/private_dot_config/zk/templates/default.md b/home/private_dot_config/zk/templates/default.md index f3747bc..1d45ba6 100644 --- a/home/private_dot_config/zk/templates/default.md +++ b/home/private_dot_config/zk/templates/default.md @@ -1,3 +1,5 @@ # {{ title }} {{ format-date now }} + +{{ content }} From bec1233fccb93040b968fae69754add3800e5d22 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 24 Sep 2024 06:33:25 -0400 Subject: [PATCH 116/226] feat(klog): set default notebook --- home/private_dot_config/klog/bookmarks.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/klog/bookmarks.json b/home/private_dot_config/klog/bookmarks.json index 514a8f4..e49dd11 100644 --- a/home/private_dot_config/klog/bookmarks.json +++ b/home/private_dot_config/klog/bookmarks.json @@ -1,6 +1,10 @@ [ { - "name": "@work", + "name": "default", + "path": "/Users/matthew/notebook/emulate/work.klg" + }, + { + "name": "work", "path": "/Users/matthew/notebook/emulate/work.klg" } ] From dd99ddbe61911d2a1f3ae956da2b1903aca084b9 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 24 Sep 2024 06:33:25 -0400 Subject: [PATCH 117/226] feat(zellij): set up tabnav plugin and fix some keybinds --- home/.chezmoiexternal.toml.tmpl | 4 ++++ home/private_dot_config/zellij/config.kdl | 12 ++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/home/.chezmoiexternal.toml.tmpl b/home/.chezmoiexternal.toml.tmpl index bda8828..e48bdb3 100644 --- a/home/.chezmoiexternal.toml.tmpl +++ b/home/.chezmoiexternal.toml.tmpl @@ -9,3 +9,7 @@ url = "https://github.com/chriskempson/base16-shell.git" refreshPeriod = "168h" {{- end }} +[".config/zellij/plugins/room.wasm"] + type = "file" + url = "https://github.com/rvcas/room/releases/latest/download/room.wasm" + refreshPeriod = "168h" diff --git a/home/private_dot_config/zellij/config.kdl b/home/private_dot_config/zellij/config.kdl index cecf36d..a68bb17 100644 --- a/home/private_dot_config/zellij/config.kdl +++ b/home/private_dot_config/zellij/config.kdl @@ -1,5 +1,6 @@ // If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true" keybinds { + unbind "Ctrl n" normal { // uncomment this and adjust key if using copy_on_select=false // bind "Alt c" { Copy; } @@ -8,7 +9,7 @@ keybinds { bind "Ctrl g" { SwitchToMode "Normal"; } } resize { - // bind "Ctrl n" { SwitchToMode "Normal"; } + bind "Ctrl r" { SwitchToMode "Normal"; } bind "h" "Left" { Resize "Increase Left"; } bind "j" "Down" { Resize "Increase Down"; } bind "k" "Up" { Resize "Increase Up"; } @@ -158,6 +159,13 @@ keybinds { bind "Alt -" { Resize "Decrease"; } bind "Alt [" { PreviousSwapLayout; } bind "Alt ]" { NextSwapLayout; } + bind "Ctrl u" { + LaunchOrFocusPlugin "file:~/.config/zellij/plugins/room.wasm" { + floating true + ignore_case true + quick_jump true + } + } } shared_except "normal" "locked" { bind "Enter" "Esc" { SwitchToMode "Normal"; } @@ -166,7 +174,7 @@ keybinds { bind "Ctrl p" { SwitchToMode "Pane"; } } shared_except "resize" "locked" { - bind "Ctrl n" { SwitchToMode "Resize"; } + bind "Ctrl r" { SwitchToMode "Resize"; } } shared_except "scroll" "locked" { bind "Ctrl s" { SwitchToMode "Scroll"; } From d667822e3eea82cd96f483b44f1b4440c043ea8f Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 2 Oct 2024 18:07:40 -0400 Subject: [PATCH 118/226] chore: removing some personal repos from bootstrapper --- data/personal.toml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/data/personal.toml b/data/personal.toml index ae57920..5ad969b 100644 --- a/data/personal.toml +++ b/data/personal.toml @@ -5,17 +5,12 @@ ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@pingo.thermokar.st" origin.name = "pingo" repos = [ - "cs685", - "dot_ssh", - "dotfiles", - "elixir-class", + "dsort", "gitolite-admin", "gpx-web-utils", "gwar", "leaving-hope", - "notes", "pingo", - "rlox", ] remotes = [] From 642e0958e01d000d4a0e2c36a9291c260f6f88ae Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 2 Oct 2024 18:07:40 -0400 Subject: [PATCH 119/226] feat: adding prompt for hosttype, rather than relying on hostname --- home/.chezmoi.toml.tmpl | 4 ++++ home/.chezmoiexternal.toml.tmpl | 2 +- home/.chezmoiignore.tmpl | 2 +- home/private_dot_ssh/config.tmpl | 4 ++-- home/run_once_01install-packages.sh.tmpl | 6 +++--- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index 50e134d..05e17f6 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -3,9 +3,13 @@ {{- $hostname := output "scutil" "--get" "ComputerName" | trim -}} {{- end -}} +{{- $choices := list "wsl" "devterm" "personal" "work" -}} +{{- $hosttype := promptChoiceOnce . "hosttype" "What type of host are you on" $choices -}} + encryption = "age" [age] identity = "~/.key.txt" recipient = "age1yd87u4ae86erpem2tynyl959ppc8a3jt4ztssykytzaklut6uvus5prt2t" [data] hostname = {{ $hostname | quote }} + hosttype = {{- $hosttype | quote -}} diff --git a/home/.chezmoiexternal.toml.tmpl b/home/.chezmoiexternal.toml.tmpl index e48bdb3..2e21176 100644 --- a/home/.chezmoiexternal.toml.tmpl +++ b/home/.chezmoiexternal.toml.tmpl @@ -1,4 +1,4 @@ -{{- if eq .chezmoi.hostname "devterm" }} +{{- if eq .hosttype "devterm" }} ["ttyscheme"] type = "git-repo" url = "https://github.com/kolunmi/ttyscheme.git" diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl index a5c8fd5..6703485 100644 --- a/home/.chezmoiignore.tmpl +++ b/home/.chezmoiignore.tmpl @@ -1,3 +1,3 @@ -{{- if ne .chezmoi.os "darwin" }} +{{- if ne .hosttype "work" }} .zshemulateenergy {{- end }} diff --git a/home/private_dot_ssh/config.tmpl b/home/private_dot_ssh/config.tmpl index 2b4e681..6b55614 100644 --- a/home/private_dot_ssh/config.tmpl +++ b/home/private_dot_ssh/config.tmpl @@ -1,3 +1,3 @@ -{{ if eq .chezmoi.hostname "rattusrattus" -}} -Include /Users/matthew/.orbstack/ssh/config +{{ if eq .chezmoi.os "darwin" -}} +Include ~/.orbstack/ssh/config {{ end }} diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 2a30865..145182c 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -2,7 +2,7 @@ set -e -{{ if eq .chezmoi.hostname "devterm" -}} +{{ if eq .hosttype "devterm" -}} sudo apt install \ brightnessctl \ git \ @@ -16,7 +16,7 @@ sudo apt install \ zsh \ -y -{{ else if eq .chezmoi.hostname "rattusrattus" -}} +{{ else if eq .chezmoi.os "darwin" -}} sudo port install \ cmus \ curl \ @@ -36,7 +36,7 @@ sudo port install \ zk \ zsh -{{ else if eq .chezmoi.hostname "yersiniapestis" -}} +{{ else if eq .hosttype "wsl" -}} sudo apt update sudo apt install \ build-essential \ From 15d78d24edddcd2068bff3be5c98686094cb2593 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 3 Oct 2024 11:33:39 -0400 Subject: [PATCH 120/226] feat: template in name and email --- home/.chezmoi.toml.tmpl | 7 ++++++- home/{dot_gitconfig => dot_gitconfig.tmpl} | 4 ++-- home/{dot_zprofile => dot_zprofile.tmpl} | 4 ++-- .../private_jj/{config.toml => config.toml.tmpl} | 4 ++-- 4 files changed, 12 insertions(+), 7 deletions(-) rename home/{dot_gitconfig => dot_gitconfig.tmpl} (96%) rename home/{dot_zprofile => dot_zprofile.tmpl} (71%) rename home/private_Library/private_Application Support/private_jj/{config.toml => config.toml.tmpl} (92%) diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index 05e17f6..248585e 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -6,10 +6,15 @@ {{- $choices := list "wsl" "devterm" "personal" "work" -}} {{- $hosttype := promptChoiceOnce . "hosttype" "What type of host are you on" $choices -}} +{{ $name := promptString "name" -}} +{{ $email := promptString "email" -}} + encryption = "age" [age] identity = "~/.key.txt" recipient = "age1yd87u4ae86erpem2tynyl959ppc8a3jt4ztssykytzaklut6uvus5prt2t" [data] hostname = {{ $hostname | quote }} - hosttype = {{- $hosttype | quote -}} + hosttype = {{ $hosttype | quote }} + name = {{ $name | quote }} + email = {{ $email | quote }} \ No newline at end of file diff --git a/home/dot_gitconfig b/home/dot_gitconfig.tmpl similarity index 96% rename from home/dot_gitconfig rename to home/dot_gitconfig.tmpl index 2d531e8..cec6604 100644 --- a/home/dot_gitconfig +++ b/home/dot_gitconfig.tmpl @@ -2,8 +2,8 @@ path = /opt/local/share/git-delta/themes.gitconfig [user] - name = Matthew Dillon - email = matthewrdillon@gmail.com + name = {{ .name }} + email = {{ .email }} [core] editor = hx pager = delta diff --git a/home/dot_zprofile b/home/dot_zprofile.tmpl similarity index 71% rename from home/dot_zprofile rename to home/dot_zprofile.tmpl index 3860da4..1b073f3 100644 --- a/home/dot_zprofile +++ b/home/dot_zprofile.tmpl @@ -1,5 +1,5 @@ -# Matthew Dillon -# matthewrdillon@gmail.com +# {{ .name }} +# {{ .email }} # Added by OrbStack: command-line tools and integration source ~/.orbstack/shell/init.zsh 2>/dev/null || : diff --git a/home/private_Library/private_Application Support/private_jj/config.toml b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl similarity index 92% rename from home/private_Library/private_Application Support/private_jj/config.toml rename to home/private_Library/private_Application Support/private_jj/config.toml.tmpl index f2f8898..cb0dddb 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -1,6 +1,6 @@ [user] -name = "Matthew Ryan Dillon" -email = "matthewrdillon@gmail.com" +name = {{ .name | quote }} +email = {{ .email | quote }} [git] push-branch-prefix = "thermokarst/jj-" From cc26673603ec46b1b6a43680bf3fe4fc53ed262f Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 3 Oct 2024 11:49:17 -0400 Subject: [PATCH 121/226] chore: removing unused elements --- ...executable_safe-reattach-to-user-namespace | 8 --- home/dot_tmux.conf | 52 ------------------- 2 files changed, 60 deletions(-) delete mode 100644 home/bin/executable_safe-reattach-to-user-namespace delete mode 100644 home/dot_tmux.conf diff --git a/home/bin/executable_safe-reattach-to-user-namespace b/home/bin/executable_safe-reattach-to-user-namespace deleted file mode 100644 index c4200fd..0000000 --- a/home/bin/executable_safe-reattach-to-user-namespace +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env zsh - -# If reattach-to-user-namespace is not available, just run the command. -if [ -n "$(command -v reattach-to-user-namespace)" ]; then - reattach-to-user-namespace $@ -else - exec "$@" -fi diff --git a/home/dot_tmux.conf b/home/dot_tmux.conf deleted file mode 100644 index 93936d6..0000000 --- a/home/dot_tmux.conf +++ /dev/null @@ -1,52 +0,0 @@ -# need to set escape-time first, for wsl deploys -set -sg escape-time 50 -setw -g automatic-rename - -set-option -g default-shell $SHELL -# set -g default-command "~/bin/safe-reattach-to-user-namespace -l ${SHELL}" -set -g default-terminal "screen-256color" -set -g allow-passthrough on - -set -g prefix C-a -unbind C-b -bind C-a last-window - -unbind r -bind r source-file ~/.tmux.conf - -set -g base-index 1 - -bind c new-window -c "#{pane_current_path}" -bind % split-window -h -c "#{pane_current_path}" -bind '"' split-window -c "#{pane_current_path}" - -set-window-option -g mode-keys vi -bind h select-pane -L -bind j select-pane -D -bind k select-pane -U -bind l select-pane -R - -set-option -g status-bg colour18 -set-option -g status-fg colour136 -set -g status-justify centre -set -g status-left-length 50 -set -g status-right-length 140 -set -g status-left '#[fg=green]#H#[default] session:#S' -set -g status-right '\ -#[fg=black,bg=colour119]#(cd ~/.password-store/.bin && ./check_status.sh)#[default] \ -#[fg=black,bg=colour207]#(cd ~/.dotfiles && ./check_status.sh)#[default] \ -#[fg=black,bg=colour226]#(cd ~/.ssh/.bin && ./check_status.sh)#[default] \ -#[fg=black,bg=colour215]#(cd ~/projects/personal/notes/.bin && ./check_status.sh)#[default] \ -#[fg=white,bg=default]%a %l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d' - -set-option -g renumber-windows on -set-option -g destroy-unattached 'off' - -# Enable mouse control (clickable windows, panes, resizable panes) -set -g mouse on - -bind-key -T copy-mode-vi 'v' send -X begin-selection -bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel -# NOTE: the following line is for macos, but its presence doesnt seem to be a prob. on linux -bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy' -bind-key p paste-buffer From 9cae55e1f1f4df41e6cfd45d6996b278919c55c2 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 3 Oct 2024 11:49:33 -0400 Subject: [PATCH 122/226] chore: removing emulate energy config --- home/.chezmoiignore.tmpl | 2 +- home/encrypted_dot_zshemulateenergy.age | 18 ------------------ 2 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 home/encrypted_dot_zshemulateenergy.age diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl index 6703485..12f55a1 100644 --- a/home/.chezmoiignore.tmpl +++ b/home/.chezmoiignore.tmpl @@ -1,3 +1,3 @@ {{- if ne .hosttype "work" }} -.zshemulateenergy +.zshklaviyo {{- end }} diff --git a/home/encrypted_dot_zshemulateenergy.age b/home/encrypted_dot_zshemulateenergy.age deleted file mode 100644 index 87cb5ce..0000000 --- a/home/encrypted_dot_zshemulateenergy.age +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRc0gxeDhRUzNibGdiVHBW -R2RydGFRRGJPNnNoZ3NYcjF3NytyQmNzTmtvClZYL2k2WTNzamJZUk5iQ0ZxcjB1 -TlhCR0E1MFh1cjVGRXliZm90MHdZTGcKLS0tIDlCdVZ4aGIwVzJrSGRmU2tVdUk0 -M3hXcXFSaVRkRS9CWHRPUEIxSEdFUFUKHLdfebTJvcChneLAlzE5j+2kkQ1FrxwT -9QWLtn7l5zaGZ31vlJx6PZ4v6+xHrZMmwDErWjy7OBwEGDyM7C/R6/R7xg4MmPyP -bXsw2NEUmXdZnRUoV4cVg7/YxZ/SIXo46oMF6Eap/F64fYpR//m+/RoTm6nvAv8b -ui5qNtT8mSRG/imktmK/3Z9UCO1B9yXNTKkmkrLBlz2L2xJZIZ2pksCU/EAhJdC3 -IuP61d4yfh6Vl5cuvTVo5vPsXiXUqw8+x7deDn1bE0di6EjlhjXOlhXqwtH82O0s -8Ctmd40Wsf5AUwk3e6Jiuh2Z75tEbkk9dnPG0ZAXtSzQixN17v4IRxKmURu0pKLJ -UnOzaTcKVPux5neQ7RrtSoDiefO8WwGJA68MWt0emPrkaiL/V0TFZAOp3Wed9z8w -yUXqfgYnFjuIz9CjWP//zvYnn6w0k+zV1v2SyPPoiU3DW9nkGBPqkiF6pRFh7xcK -cA8+wWRF6QBuGZ/KgBA/N4/emHcS0siED1KTAM2/X9LSW1opLY0bMKLYQB0Hi+gb -k7ECBHkWUdgTQxXAixJcfynq/6o1EnmvILITu2e5DmUDLgPopJJZyW64JrBQvi7h -lwq4dhBbakegjBGqaPzTPuJiG9J+DRFjBGVjYeABo4eHmRNy2yf7Rj3S/OsZGVnR -lHHSZB8SHHnoGohCAbqV01AIuqx9BOIaD+1H/XVhe4aNIbjxrJjVRrha7cmZWJub -4ZYtr2eY84QZ6rlEV5HMlM4vmgml9hFGpKXjge4BDdpmexdFKnkQQg0= ------END AGE ENCRYPTED FILE----- From 7cde70aed5523b4d773fb4f26366b488123c5553 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 3 Oct 2024 12:03:41 -0400 Subject: [PATCH 123/226] chore: saving misc ssh key --- home/private_dot_ssh/encrypted_id_rsa.pub.age | 22 ++++++ .../encrypted_private_id_rsa.age | 77 +++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 home/private_dot_ssh/encrypted_id_rsa.pub.age create mode 100644 home/private_dot_ssh/encrypted_private_id_rsa.age diff --git a/home/private_dot_ssh/encrypted_id_rsa.pub.age b/home/private_dot_ssh/encrypted_id_rsa.pub.age new file mode 100644 index 0000000..41aa5ce --- /dev/null +++ b/home/private_dot_ssh/encrypted_id_rsa.pub.age @@ -0,0 +1,22 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwekJ1R1Z6M0hLN2pESFBY +NW1BYjFPTjNKMEFaeFJsdWtzK2lnQkl3emdzCitrREJ3RGd4TWh0R25yaDRRd0pi +bDlrbG1ucDV2SXd5NklMeUx3K2F0Z0UKLS0tIDZTUjBYV1Q1TDh4RVJQUzlTUENS +YllMcXlQalVoUkY5VzN6bWJTakt4L2cKlYHzGnnjKZQpZzc7NdjrRsXum2tfcjwk +T45iSastj8gFQLbB3fIElsprJAgCPhu0jcWtbvgiFpESRlmThzP1wWf9DmgDNnHI +68IBPaM4Ru6PWBY6HTMQ4EsyzFrnuKj8ZM/RYF7fjOmKG/K1hYB7+iqwR3tlt1D2 +6Cryn5qLU0Ou68nwnsXdFIcPEolVvMX4XsGrSaSnprNVF3hCW9vtYEdjJvIgKNUz +3xX+J3MfGIR+oSfYb6o81aA9F5xS2obbPaBIW04x9ZQ4ik20GiYt+gI2H3QTOp7z ++/Je1HIF2/biWwP7qgdbusAd+XFbwPs4wh/M3XEqiEVcY+MvshmWUbjShjYq0c0e +ySqF+ZPSw0NKg50O+avZeH1LxPXqshr2RHpGDNFGHaJRIKse0W1hNPZ5rj8daJj1 +f8eIcfZ4fcIAgci3Je5PZHdErEnhU2LsvTEeGuINdNjiEpV+YqMEhZlKE2h0sdeF +oYRQt8enCCqFEizMTm1CQRcix7WYLx2CCJEbH8jnDlnlJnNRQ4utHA+q8c0ERndz +iDtgbjhktDgNRtXx/gvf9Fu1Jh4fHz2brFTIeuI27hy9OmtcNF5Z2U+86K3QkGyr +Dp3NFQUXlkv5NLDeCACbsqE99BBfczhliVFCeR1WaUtriNbXkzO17KDy7vI7XUwb ++V4OW7y5+2v4UQX4GbhViUSioxIfjil5NHXYIXIhlk2QB50odvbkfhfEboir0+vC +fx1+9SzZB+Krp+/29u+mN357OSRTWMkZephjUCPP42rOqe+WYFBVLQJ60JAHsyye +Vb9ge7FPCHHO7TmzD2a5rWU3u0Mzh5l8x0KoVoaP7PZnmQmFJ8TdRAGaMowH/Ej+ +IiHbStLtMqLpRtHMou5+wC+oIJW6mgJCS8m+dJPG522xHpDnTmg3rHRax771i9SP +fpL9OPDcqCQABCU8iTL1K/iisj/1+0sjV3ojBZb6FTk14rrJyCes6BgVU46Yr19T +i52qXa5Pq0i1V4Md72ucws8Y7qaOjkNd/5Zrzy/7qOh7Iuv1fLo= +-----END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_ssh/encrypted_private_id_rsa.age b/home/private_dot_ssh/encrypted_private_id_rsa.age new file mode 100644 index 0000000..88d8440 --- /dev/null +++ b/home/private_dot_ssh/encrypted_private_id_rsa.age @@ -0,0 +1,77 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2dTJtOXhNTXRJSW5XaVk2 +cVFrZlg1bkEvWk0zMEpVTnVIQXZtYWhlRmdVCkFOTDljY3l3dVF6eitzTTZEYk9T +L2V6cWJPQnRnaGRMMkI4Q0I4K1M2bFkKLS0tIEpDQ2hKYWVPS3hvbkt3NDJuTmpa +ZXgwa24wODVLZE1IRENYTXd4SGdXdVEK/4D4Bobna1iIX2ot9uMiyO4hE4mhs9mU +QK691AjAnY0DnOC7P+ZCjMFnA3PphfwXI5AEPMYW/hq0wpNjRZfhZm2vDT/IkSjR +H2knv/AW5WwERu2HxIHETGoQQlrAm+NANeca+OWF3+OFkO1+Mpsu5Dfyr3Txmz9Z +yG8INKwmunU5SqtdpRCg/YQmwylA6Nmmw8fjFREWD+eLxvuDmUYIGBUOfetrP78l +h1Vanx9zhj85J89qAkLFaQ8uZy7NezgIUe81L7+QY98H2wwnc279tvnv/vc3QLc1 +hwH9D5Pdrq6KUNBv1pG5hItLbh1yY3ho5/vMWIMXHw5LxQsE2nLHkvXGhZXN8YyM +bR0BWMH6n1w5KQHR8nnHCuJsCuFC7KUoXAwaljbbbv/xO/+uAihJu3/2RrgMgA+y +dOUtNkl9VrvXll5frAAijZzgd/JgQk3OrJGlpCxamcbPjvKok8aYfqeJa+MVr3lU +akc7lJpBE54rsHw+wR844rgdve4x5z3sSQ1sMmThVu2VvDw+SqKGbcgSu0sdARgz +c/ktCxSbC3x6j2sVv4Eie+1mtkfky9pX6GKzfvrGb6sLXtHL+nwli1F3ahP3TNK3 +7y8+57Ob6/XSGfxGdRe0ylMSXPCQ7NiU8fQAKyY92larkKpBZJfaoyrYwbPmTnPP +W2Y1WtXecKKvE6S0GToMOqKkESJQhQNj57zBSGF+CjPTtuKN/WafwQy2sL9H+XxJ +JLLh4DVfdcnbmz6Kh/+hcGQbpwHcW0Lm1ZOAi+VKgCe45oaUWM5h/D7xb6C4SbAh +IXlPewrk+6TqSUSoK4GLYEaFEC4i5x+1HlouNDHSoFacMrbEgZ3KooK+/+Rcsr1J +L4j1AG6EAaxd39XtffA3a4GsgcoeXmekg5V9b/MwwmXOTjdrq5cJCU5izrQFuFEw +faTi3OgQJJDLiKbaFNzLhfD6bf9gprKFDtjr/wLE7fxHGywPG6QDFo2ARQKfYiSd +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 +-----END AGE ENCRYPTED FILE----- From bd71859cd3798614ac8fd0d13542d32d49206077 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 6 Oct 2024 19:51:42 -0400 Subject: [PATCH 124/226] chore(jj): new release --- .../private_jj/config.toml.tmpl | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl index cb0dddb..4aaf9fb 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -3,19 +3,10 @@ name = {{ .name | quote }} email = {{ .email | quote }} [git] -push-branch-prefix = "thermokarst/jj-" - -[revsets] -log = "@ | bases | branches | curbranch::@ | @::nextbranch | downstream(@, branchesandheads)" +push-bookmark-prefix = "thermokarst/jj-" [revset-aliases] -'bases' = 'main' -'downstream(x,y)' = '(x::y) & y' -'branches' = 'downstream(trunk(), branches()) & mine()' -'branchesandheads' = 'branches | (heads(trunk()::) & mine())' -'curbranch' = 'latest(branches::@- & branches)' -'nextbranch' = 'roots(@:: & branchesandheads)' -'stack' = 'bases..@' +'stack()' = 'main..@' [ui] default-command = ["log"] From ccea083389d4448d1a1b9cb56f1c2c5142ca671c Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 6 Oct 2024 19:51:42 -0400 Subject: [PATCH 125/226] pixi config --- home/dot_zshenv | 3 +++ home/dot_zshrc.tmpl | 2 ++ home/run_once_01install-packages.sh.tmpl | 1 + 3 files changed, 6 insertions(+) diff --git a/home/dot_zshenv b/home/dot_zshenv index e0eb740..4b522ec 100644 --- a/home/dot_zshenv +++ b/home/dot_zshenv @@ -66,6 +66,9 @@ check_paths=( # go /usr/local/go/bin + + # pixi + $HOME/.pixi/bin ) for fp in $check_paths; do diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 05c13b4..7664280 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -106,3 +106,5 @@ BASE16_SHELL="$HOME/.config/base16-shell/" source "$BASE16_SHELL/profile_helper.sh" {{- end }} + +eval "$(direnv hook zsh)" diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 145182c..5a6feed 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -20,6 +20,7 @@ sudo apt install \ sudo port install \ cmus \ curl \ + direnv \ fzf \ git \ git-delta \ From f094b97ad563b5a3df79c54c006acd570f832524 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 10 Oct 2024 11:36:18 -0400 Subject: [PATCH 126/226] chore: update time tracking for new job --- home/private_dot_config/klog/bookmarks.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/klog/bookmarks.json b/home/private_dot_config/klog/bookmarks.json index e49dd11..d58e80a 100644 --- a/home/private_dot_config/klog/bookmarks.json +++ b/home/private_dot_config/klog/bookmarks.json @@ -1,10 +1,10 @@ [ { "name": "default", - "path": "/Users/matthew/notebook/emulate/work.klg" + "path": "/Users/matthew.dillon/notebook/klaviyo/work.klg" }, { "name": "work", - "path": "/Users/matthew/notebook/emulate/work.klg" + "path": "/Users/matthew.dillon/notebook/klaviyo/work.klg" } ] From 2b215fd7882e23a91b40a2800f3cb7ddaacf07d0 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 10 Oct 2024 11:53:25 -0400 Subject: [PATCH 127/226] feat: some work-related packages --- home/run_once_01install-packages.sh.tmpl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 5a6feed..c987168 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -49,5 +49,12 @@ sudo apt install \ tree \ wget \ -y - +{{ end }} + +{{ if eq .hosttype "work" -}} +sudo port install \ + 1password-cli \ + docker-credential-helper-ecr \ + jq \ + shfmt {{ end }} From 66e493f7fa410e412e7a4cca20290c8cb23aa762 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 10 Oct 2024 12:50:57 -0400 Subject: [PATCH 128/226] feat: work vs personal rsa keys --- home/.chezmoiignore.tmpl | 4 + ....age => encrypted_id_rsa_personal.pub.age} | 0 .../encrypted_id_rsa_work.pub.age | 22 ++++++ ... => encrypted_private_id_rsa_personal.age} | 0 .../encrypted_private_id_rsa_work.age | 74 +++++++++++++++++++ home/private_dot_ssh/id_rsa.pub.tmpl | 5 ++ home/private_dot_ssh/private_id_rsa.tmpl | 5 ++ 7 files changed, 110 insertions(+) rename home/private_dot_ssh/{encrypted_id_rsa.pub.age => encrypted_id_rsa_personal.pub.age} (100%) create mode 100644 home/private_dot_ssh/encrypted_id_rsa_work.pub.age rename home/private_dot_ssh/{encrypted_private_id_rsa.age => encrypted_private_id_rsa_personal.age} (100%) create mode 100644 home/private_dot_ssh/encrypted_private_id_rsa_work.age create mode 100644 home/private_dot_ssh/id_rsa.pub.tmpl create mode 100644 home/private_dot_ssh/private_id_rsa.tmpl diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl index 12f55a1..73e6a90 100644 --- a/home/.chezmoiignore.tmpl +++ b/home/.chezmoiignore.tmpl @@ -1,3 +1,7 @@ {{- if ne .hosttype "work" }} .zshklaviyo {{- end }} +.ssh/id_rsa_work +.ssh/id_rsa_personal +.ssh/id_rsa_work.pub +.ssh/id_rsa_personal.pub diff --git a/home/private_dot_ssh/encrypted_id_rsa.pub.age b/home/private_dot_ssh/encrypted_id_rsa_personal.pub.age similarity index 100% rename from home/private_dot_ssh/encrypted_id_rsa.pub.age rename to home/private_dot_ssh/encrypted_id_rsa_personal.pub.age diff --git a/home/private_dot_ssh/encrypted_id_rsa_work.pub.age b/home/private_dot_ssh/encrypted_id_rsa_work.pub.age new file mode 100644 index 0000000..06d02f0 --- /dev/null +++ b/home/private_dot_ssh/encrypted_id_rsa_work.pub.age @@ -0,0 +1,22 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzMEJ4N2R4bFlLR1JIdEVO +Vm93M0h3QmE2c05jRG1CaVJXamVrQWVtQVUwCml0b0xWdExQQ2oxd1p0ODBPcnJa +U1RQR080cHI2VGVmUWt2SWxHVGZrREkKLS0tIDdwMTZJWVQrZFFqSlpJT3Q5VDZz +MXJPWGs1enAvUjNmMC9MbitqREVhZzAK5TvmoMNf7PPPYRjTY/ysv6s6ryX8b/eK +6wuJRiWLEYUlB5cZrMRZuJMJF2v/zXdooyglEsd+cLMac0PEYb+RL6Ao9HZR1lS5 +ZW482zkYS2WTOey2wp8kcqPeMIybWcbBXc1P9fE5+skLnVmmHicV2kH8ZJ2jksk+ +95Mitr+RjUrVhYVP0pY6uNQex3As1OYaipBr/H9/VVM56t1lee8tREnpjWw4V22A +QbwQn0CHZAug1ZUkrERDAdV+1WLpNrtcADyoOGX1j1FG5UzQzEE4K++Al2QOawQL +YoTvEXvHMyz30zmToZmI6hLQWxp6mkYcSMbJVf472v2Nbt8NiGlU6fU6+cnnCQfw +FjykqTF1Lem+yWN+OigBVbSkZFGRMRhgHzdV53Px7qU6uivKbGHXyyp/nL4C1plM +pZnl5JSWt2ukgCKFWQGo+1ccHrUB5dBOJ/G01kmqvIk/eHMd/Qn2WYeMwKz3H7U0 +DB7YDGRTo4j2lKjNUuLRf6zPng0jZ/HDXbgyjYU51R7CKS7alqPsa5d24xZ/iWpF +GYCAdMJXTWdqHj60K25F41Ym9B+dB/TUJ4uz+/ylgcoeVsBjESk22OZp1nRbJ+Ak +qC6gGuoZV9aOyrm3M00SlHOlkZzJT8ZElOTXYX4hpydCBZ5UTU9r8sjIsMTWV4FM +3e+tfG0pyF6zgy2q/X21mFBpZCwy8hgRoUHBtqS5n1+DgiFeasZbFB1tTW66Drz4 +ojtOCgztU54V0LRZuTJJ7WfNDZ+LBWzbnZZfzACCe9llIkY1BbFMfN5BnCWi0zNW +7v4k+nZ+XfWXsQ3+pvAjsInDwvEcjLke/efiXfHEjQ7avsu4iRfApbEWfOazilax +uRPcvXGK30lZKPuaCPjhNmxZm7oh2+jsXSkrirx+rmTx+sLBqU+NXcDp2iZO8Eq8 +ek1MGbyXi9EypJvYMs2eGbHona+YfnvP5ryZBDA8ZAP7qzKLBVrrVUej7NzD3byg +MXxBe8OOjxwhhAB+YK10jegte6SFS2sFIFLEe59kccM0qm40ZJSAOg== +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/private_dot_ssh/encrypted_private_id_rsa.age b/home/private_dot_ssh/encrypted_private_id_rsa_personal.age similarity index 100% rename from home/private_dot_ssh/encrypted_private_id_rsa.age rename to home/private_dot_ssh/encrypted_private_id_rsa_personal.age diff --git a/home/private_dot_ssh/encrypted_private_id_rsa_work.age b/home/private_dot_ssh/encrypted_private_id_rsa_work.age new file mode 100644 index 0000000..f21fa6f --- /dev/null +++ b/home/private_dot_ssh/encrypted_private_id_rsa_work.age @@ -0,0 +1,74 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4aVhyNDdpNERyeS9nYkRG +STB2YUV4Rm8yL1VJRGVYZW11MW1iWXlmdWk0CmJWeUNlcEdlNVhMKzduZFNCSFpo +U1lJVzlKZ09OU0lmdytLZ0FtVzZCd2sKLS0tIG5IM0tzclJuTDVWYWVYak9JL3kx +emYwZEhpNTdlbkRyc2VadEtQbGpvZ2MKIfg4lE/XfD3NVUr+q7KfPUL0mxMxf6Jr +vMSe3nySaXOeHep5HCCFNzIW3UUk+sZml0Y3nZNlIm5ZTCbzG0nCT+R4aYzwFUmq +W22IlXNlTd+4KuGS0UODztBivY4dU2LkKsAZFboYD7RYxhKShSygab9TkJJ18tEU +O8Oqewnh4t7cnos0NegazQ0bWcv9k1SFT3AfovBRIqMfBKbn6Lufgy3k5qLPWOs3 +GuWEtr8lHVeHiFo+g3WrKUc1AEXsYAIyO+0ry05VG0svVAD9krTxCyB0x55cymuy +hSWPNpu0+7cXIsMAwO6EM7TQgM/CDhYDcXu84Kz7iZp1N0QY7X0q7nvc6w/mNRnd +XxezMgJSGFhZ9tktWwbEG5hbzk+BtccLnjLvzr939U5HjoALh+SEu3HJmslpifmr +AHiRxV3/XKTbJDhHqCEXkWiR3m38czIkJrtvOp3VxCUEBXl+xu4kDBu57/0tZqmq +DHo87J3Jj+TmvJqRly4xM+Q2aHfzCxGFMNriSEvAvlMTXBnklFEoSQM+1VR33sVQ +eeisQzwgi9koAwilM+zUbYjcQaZ4AUneUdYUcz6V1gEkSDG8RWBelywmDsSX5srj +r1tvEG95poNOYD/mXRyG9DEUG4RBdzrrAr2/NTEYOrsPATabp/HCdqnmld0nHvkl +LTizBKa1JeQ7Ldw5zoyS5qqzVV/xG0Gs5f6pyLc/oMLV21De5Ypt7i4+Oipxm1mE +gf9eJKjFd1TcfwqiWr549q7sot1ZMCyInutEmNk+c8KlfBDGal1OcvoQaBlMWbus +ozd3hEGOLdwn/PmgGKg3nLOl3HrXYOd+v72zSb0ke1pnpdL0F1QdmL5l+qaJ3VHS +ynFX1Lv/Se9lswktB2z0zjXXpw7qxvv2aP9kEy8vmJbYeYUuYgSczB1CO5VYHTcD +OVoGYj/ACICqDzRaAnAtLjiK+O+3PVAAe2Gwf/qe5KWDTryh/bjNzw4RQdpaipms +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 +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/private_dot_ssh/id_rsa.pub.tmpl b/home/private_dot_ssh/id_rsa.pub.tmpl new file mode 100644 index 0000000..88f4df2 --- /dev/null +++ b/home/private_dot_ssh/id_rsa.pub.tmpl @@ -0,0 +1,5 @@ +{{- if eq .hosttype "work" -}} +{{ join .chezmoi.sourceDir "private_dot_ssh/encrypted_id_rsa_work.pub.age" | include | decrypt }} +{{- else -}} +{{ join .chezmoi.sourceDir "private_dot_ssh/encrypted_id_rsa_personal.pub.age" | include | decrypt }} +{{- end -}} diff --git a/home/private_dot_ssh/private_id_rsa.tmpl b/home/private_dot_ssh/private_id_rsa.tmpl new file mode 100644 index 0000000..97ee1c3 --- /dev/null +++ b/home/private_dot_ssh/private_id_rsa.tmpl @@ -0,0 +1,5 @@ +{{- if eq .hosttype "work" -}} +{{ join .chezmoi.sourceDir "private_dot_ssh/encrypted_private_id_rsa_work.age" | include | decrypt }} +{{- else -}} +{{ join .chezmoi.sourceDir "private_dot_ssh/encrypted_private_id_rsa_personal.age" | include | decrypt }} +{{- end -}} From cfd7c6c13e5abcc5f60d97f2018bbe078bc4bbd9 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 10 Oct 2024 13:26:12 -0400 Subject: [PATCH 129/226] misc updates --- home/dot_zshrc.tmpl | 2 +- home/run_once_01install-packages.sh.tmpl | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 7664280..e0cf44e 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -50,7 +50,7 @@ srcs=( "/opt/miniforge3/etc/profile.d/conda.sh" "/opt/miniforge3/etc/profile.d/mamba.sh" "$HOME/.cargo/env" - "$HOME/.zshemulateenergy" + "$HOME/.zshklaviyo" ) for fp in $srcs; do diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index c987168..b631807 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -55,6 +55,12 @@ sudo apt install \ sudo port install \ 1password-cli \ docker-credential-helper-ecr \ + gh \ jq \ - shfmt + k9s \ + kind \ + libmemcached \ + saml2aws \ + shfmt \ + stern {{ end }} From d29006be1cae6322e8ea2b9b74fa0e386b430194 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Fri, 11 Oct 2024 05:55:19 -0400 Subject: [PATCH 130/226] feat(work) misc env tweaks to support new work setup --- home/.chezmoiignore.tmpl | 1 + home/{dot_zshenv => dot_zshenv.tmpl} | 5 ++ home/dot_zshrc.tmpl | 3 + home/encrypted_dot_apprc.age | 42 +++++++++ home/encrypted_dot_s2a_login.age | 15 ++++ home/encrypted_dot_zshklaviyo.age | 16 ++++ home/encrypted_work_paths.txt | 7 ++ .../kitty/{kitty.conf => kitty.conf.tmpl} | 89 +++++-------------- home/run_once_01install-packages.sh.tmpl | 34 ++++--- 9 files changed, 134 insertions(+), 78 deletions(-) rename home/{dot_zshenv => dot_zshenv.tmpl} (92%) create mode 100644 home/encrypted_dot_apprc.age create mode 100644 home/encrypted_dot_s2a_login.age create mode 100644 home/encrypted_dot_zshklaviyo.age create mode 100644 home/encrypted_work_paths.txt rename home/private_dot_config/kitty/{kitty.conf => kitty.conf.tmpl} (99%) diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl index 73e6a90..bb0c7f4 100644 --- a/home/.chezmoiignore.tmpl +++ b/home/.chezmoiignore.tmpl @@ -5,3 +5,4 @@ .ssh/id_rsa_personal .ssh/id_rsa_work.pub .ssh/id_rsa_personal.pub +work_paths.txt diff --git a/home/dot_zshenv b/home/dot_zshenv.tmpl similarity index 92% rename from home/dot_zshenv rename to home/dot_zshenv.tmpl index 4b522ec..5c14cdf 100644 --- a/home/dot_zshenv +++ b/home/dot_zshenv.tmpl @@ -69,6 +69,11 @@ check_paths=( # pixi $HOME/.pixi/bin + + # homebrew + /opt/homebrew/bin + + {{ join .chezmoi.sourceDir "encrypted_work_paths.txt" | include | decrypt -}} ) for fp in $check_paths; do diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index e0cf44e..888a6e2 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -107,4 +107,7 @@ BASE16_SHELL="$HOME/.config/base16-shell/" {{- end }} +{{ if eq .hosttype "work" -}} +eval "$(/opt/homebrew/bin/brew shellenv)" +{{ end }} eval "$(direnv hook zsh)" diff --git a/home/encrypted_dot_apprc.age b/home/encrypted_dot_apprc.age new file mode 100644 index 0000000..f6faffa --- /dev/null +++ b/home/encrypted_dot_apprc.age @@ -0,0 +1,42 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBubGN2Mk16cTEzdXNjbGhI +SHFSUlVYRzdvbXB0VmNJVk5GNHZSZ280U0RJCnlvbXV6RGFvTlVZd0pEWTJjZkVq +T05xM0g1dm5SekdPc0dNeklKeDRjUUUKLS0tIGJRakZORGlSUit0L3RNK1AyVVNJ +ZzkraEtjRXcxcitvTXI5QUljUnRteFUKan2uiIbA+4a6dpWKWlgNVH/WhofEy1cy +a/n2nExgFJvExjqnIry6P+kQOrb4uUsxE8vuPZzebtnrki/SWYnZezdtef6JAPyi +73yg1WTKWGLj3V3xvjrXG6cn5uyr+Jhy0Bt3Y1YHwZnRUORixJ1KbxqyFojHaOBF +sqe+lv+LC8bxoyaOFHkgxYlbZ/JD30QsKYAMX7HgKrk3HG8fkp7nvtgjXnBv+B0A +DKbayiMR5gbbuV8/Re1zMC3Eviz9dGF2zmnVo/Y2p85xabHImnq6eBChyGb74L8i +bWKyF1rebjP1Yw/X/r3oLVh34d3ZFWD2PZPrdz0ecUO7Z04SWDAcQuKbbOH6xQOL +z9zIOJ1c3K4odjIbEu1/T5a/EBQtbhJLhWjfzsnSC5XcUi5LtkDhcIav7mu58ES0 +bax2tCcLhoIMdCTzgdiNR6WEk1YnRikOjFI42nlyShndEt9PIQNjbwUM0vsoa8VE +JLIZym1WDHXjwZJfUQisa7UP14ypA2cuycjpniStbf7g8BCrqGx2u5Na8Mw/0ShN +X2E1zl0Ggh55e1FpOKzRtE9RHt8eQtWPrv2K9Ru1eEGf2tLhz53Q+QYVEMtTRUOV +swWQoyYkvYCOMEJ78soi+5qOfcGH+/PsuDhWbZCarimlDgP96iFproN2wwUcotqZ +bfaXj1Q2gAo+O7dpp3KTGpRAqxNZPeof7Cct5a/72Hq2mwxnZRs5UqWA6GlTajdx +lCSKZViyfr1NIQgK/1p30bTaDvDDcP2e3tbF0pQPOjrqTjh19JFZzHd6gokkRByY +dVfQPNrRPqRwWemCnxBbroX5APyb4nrO8sJBhDBShEqFaDuXDQz9d95VayhIROG0 +RGEu/ZFGTYuheKS8djQJPD7JgshWBm1D7KQ/OUu6eVpaWzXa9Yx/FTL4nKNnO1sb ++8H3K52l2I8NiqbULfy0oM2cEXArfE+eQayPp4AxIt7c3fo/n1ECH3Sgbq0rkLaY +zxShgfgHKIA+f4rqWM2OBmeBSU9gDS8bT1+Uc37HWmUyYy5SWaH4ARx9nDtzhzqv +JVWuS9T3U2EWN65jsCglRPrVK2+b53IxWPXEL9S3ozPOHuAc/+9/zLeGhi7lFoJu +p4YlamNJpyPwl7gEwgsP7fqtxDC/NR+l4Di53Gk1ja25gTqTzjKnLt8I3mhouwRz +T1nFR9PqmlANoNuxJw4roTQuX+PeHIVg5c3kFDDpr1kcn568quZ9KPuqOl66zsuu +qYl9kAh/P2f56qfq1bCv1BzK0Ioqgzg9Ocx7RzC4Cp6rgoCrCuMdRmvl68i7BX2J +Gt/wpYEnaY833AauvMioFIvvow8E0dx226nX3t2+wBGWBBghn+a+/LT8bsZsp05Q +fR0+gOOsFlD6wZxW15y/9JkWV6goaQErOKOW/cRXKMfonV2Rb5I6bHgIaL+caO8s +tMZTO5CrvEroMLrjlEY4DPZLZMpHlsw3q9K2aObSnqDXhfQN7LR9rDMRJvA3ca3b +fxqnqJbbO5bSIJAG0G2TyKFpUZ132GP2rgARHEOFSg80a6PAZVtapIXiNmRceC1N +sCUFE7tJR/yLz1T1XouuDGLkvt3Bie3iInEsmXy1wXHKRwhKVynL+ooni1P8TUaE +MFE0xMKAD4axhXhscjL5ekzECgkH34ZG4LoaLk9ZFAumXQHusZ9rmLyZyIcrL7RM +WhmGHOVjiyD+oBjN0O8Z31qk7ogA/5tcbW3/Z+kniXwipRPnlOka+KEUgvv37dnR +XZ8VwOh7Q/slHWiiV/frlHV/Q6SeoW7s5QMSa7N2Qm/0bhtJleOvopSouZ0lNuIt +sxuaHOcvBWtM9clkEdpnQXNOuZOEXWkL8vM87YtNwDtkzTAufXmhxmQZZXB7XA29 +/CjlUSDydpc5UNPyqQOJ/5WWWpFHbD8ozLmiXjKuAJTDRPw7kMpGRFdwjIDy9Nn8 +lf2iXxC6B+vwbTPVH6002klnjpdwPICkRtn2rDRLNmG1F7zLq5PrHGTUh86/GXiJ +G7oDH4oWyUJ1cr5p2DAdAyMS2NSZBPNU/dnxjrOtFVli/bLe22IjTAZsi+tvXFIf +msZd3z0J0EwvvpMMU5O9XICeC/2LQ5sPyUqwBv+EldAeWLQCooXjngdnDiIbi/EZ +GORztcUfrYH8Wd7i+XF83n76mhTR2HfcNqwvqmzzJRt26vtyoqUuJeHQ5jQscDa2 +hAp0MFUizV2uR6w6Qtw3hIa/tdD9t0EVy8jIEbMjmcA5uqTF+HzYhuiNVs0TNuit +9+9fHLKqPZqg88pi5dYe3Ms2bQ== +-----END AGE ENCRYPTED FILE----- diff --git a/home/encrypted_dot_s2a_login.age b/home/encrypted_dot_s2a_login.age new file mode 100644 index 0000000..b734c69 --- /dev/null +++ b/home/encrypted_dot_s2a_login.age @@ -0,0 +1,15 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGejQwajloVURtT2JleVpN +TkJDK3AzSStkS00vSW5YZDFSUlFtWldMWnhzCmgvWUZXYlZDUU4raEtiK2VVbUhy +bXBkYVlqRVE0UlJrSlJ5WkF3Y3RXMlUKLS0tIEp6L0tHU09EK21IeE9wcGoxK2do +YXhHU1NWODV1dWgwWnlicjlQemc0U2cK9e6WKZdRfNVvPlQH38eruO1Svx7/xv7E +Ydgisp4Y+moSDuX3cIeTXJj8JjRsyDB4dN0ABIVI1HWoLmlYlyzNBk8Nwm4AX5PG +oMw4Lse/lWcAav7tDzXhUpieJrC7a+RiV170nXOs3r1sJ3SQviZyyNPEmynAtfE/ +0pgJnldoAJ/BtH5urxkelnYQ04H45BBoKIsMMFLiiHDqjVLFpwx4lMct1MU5Cnbu +zUwZ5/kh4hELwaf+lUbuLRWOqXmUSBbJK6Uu9Jpk0uWW/15YIkpJKvT5mGT1Gw7D +ZrIpxKB2lz2yJ9sZZjCvS/BsMIXn1IdbeGTFpep74zu3XF1h0dWGWM2w6NsdFLFt +osk3BH8d+z8lOXO5BzqH8Km8tlt9QFZi9uIXWHkSfxsEMQkJW603B5FfivEbQL4V +Q4ySX1Q0NeOog3cfQWeUKoGVCReSCnfDEvAynSII/xWb+uz6FnkzjWimlfY6VGVc +dTIiF5ct4+ZgKYfplygNQz9U6ZQUzLX3UkupOlqm3n2XdfEYSYFF9hDjFouOALLn +xHIKPFXrOO4/qbYt/w4= +-----END AGE ENCRYPTED FILE----- diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age new file mode 100644 index 0000000..cad76d5 --- /dev/null +++ b/home/encrypted_dot_zshklaviyo.age @@ -0,0 +1,16 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzY1QwVXhoa1IvUGM4d2lr +aFJXb29LSVBwTDM3d0xCeHdIa0RRZE5XY1RZCkI1ZFkrY2lCSHY0dG1kaThCTkZ3 +U0F4ZDhwWDZLNWdzY2l2Zk45dVZvVlEKLS0tIFJDUG1oWnA0WFQxZXFBUFhVbE9o +dGFWN0VVL1I3Z3pHdWRjVE93M3BTNE0KjnuD9ElEH28PcosxYPPGR+bd31JwMXqk +8lzpU7zKVlCZOCD57sn0rvvIRvoPaNC2sg9oqO4GleuqkYnfaZ8UMlBwCpOf0av9 +zMKZyefDvr9dkdMsge4ES+Ifmv2OdcKtAk3rSVi92Do2LBmWgaukO99gLpWnw+Qw +T+FkrBIjP6noNLashxa1QWzkvZa9OE56kJ1O2hRKMm/dSVYYB+0aSk7sloToUTWN +v29lwnOamz1XtGiWI3xF3pJVmcNxQx2P+T6Q+JAt84vru+amk39MoMO7lTLgWYSw +vnzoiPzvU/S5amttUtbq/u2yQHCFAM+eSsRnsSjbV/K5HqFbpp06cikDDpxdZ3tJ +OTXqtrBGb6N1aVPb78qSvF+D/UC4Habohoxua5MlZ1mZjuRVm3Nqom/DTH+s+xGJ +uQ6T28yYNWCQc/2yTxRTghIUvKqDJvJdsGhOH6bP9FdwdfDF13RW53MGe1HuRcVn +8IlEC6yrxpcBg7eBAleCwzhIbZXm7c681rct/aZ8wcliMfqqgGzcyK/4niKRq7or +H+VYfpT43NLBRa1NIciv1Y94WsPllgQn0GGj/KHxxuXg2Rb+TF1VKb5UpZESVcXa +fFQt6UZCyoI= +-----END AGE ENCRYPTED FILE----- diff --git a/home/encrypted_work_paths.txt b/home/encrypted_work_paths.txt new file mode 100644 index 0000000..8706fc1 --- /dev/null +++ b/home/encrypted_work_paths.txt @@ -0,0 +1,7 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByV0J4aGFoR3hDSTJvNVp2 +a1F1NzJmaERoYWwycStJeC9OS0tLaUp0aXpvCjhndzJrQmhRaWo4STRzdWtYTE94 +Y0V4UHJ5UHlwaXZJOVJXSjdhMktvUWcKLS0tIDRtUHptRjYzT0RHQVJxT2RBbXNa +OUwxak52ZVhQL2psSUlpRVhHdzUxZjgKtcrEfrCDzTmLFhPNcnJ/PBMoiIxF0KAE +B2lhLyJ6+0OVTHMM6byVr+JnjnIXoA35537EUkQZ+A== +-----END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_config/kitty/kitty.conf b/home/private_dot_config/kitty/kitty.conf.tmpl similarity index 99% rename from home/private_dot_config/kitty/kitty.conf rename to home/private_dot_config/kitty/kitty.conf.tmpl index a9b5f54..5ebdfec 100644 --- a/home/private_dot_config/kitty/kitty.conf +++ b/home/private_dot_config/kitty/kitty.conf.tmpl @@ -1,6 +1,6 @@ # vim:fileencoding=utf-8:foldmethod=marker -#: Fonts {{{ +#: Fonts #: kitty has very powerful font management. You can configure #: individual font faces and even specify special fonts for particular @@ -246,9 +246,7 @@ font_size 15.0 #: problem try setting text_fg_override_threshold to 0 to see if this #: is the cause of the problem. -#: }}} - -#: Cursor customization {{{ +#: Cursor customization # cursor #cccccc @@ -307,9 +305,7 @@ font_size 15.0 #: Stop blinking cursor after the specified number of seconds of #: keyboard inactivity. Set to zero to never stop blinking. -#: }}} - -#: Scrollback {{{ +#: Scrollback # scrollback_lines 2000 @@ -384,9 +380,7 @@ font_size 15.0 #: platforms such as macOS and Wayland. Use negative numbers to change #: scroll direction. -#: }}} - -#: Mouse {{{ +#: Mouse # mouse_hide_wait 3.0 @@ -540,7 +534,7 @@ font_size 15.0 #: The default shape of the mouse pointer when dragging across text. -#: Mouse actions {{{ +#: Mouse actions #: Mouse buttons can be mapped to perform arbitrary actions. The #: syntax is: @@ -696,11 +690,7 @@ font_size 15.0 #:: Requires shell integration #:: to work. -#: }}} - -#: }}} - -#: Performance tuning {{{ +#: Performance tuning # repaint_delay 10 @@ -730,9 +720,7 @@ font_size 15.0 #: monitor. With a very high speed mouse/high keyboard repeat rate, #: you may notice some slight input latency. If so, set this to no. -#: }}} - -#: Terminal bell {{{ +#: Terminal bell # enable_audio_bell yes @@ -787,9 +775,7 @@ font_size 15.0 #: be removed if Linux ever provides desktop-agnostic support for #: setting system sound themes. -#: }}} - -#: Window layout {{{ +#: Window layout # remember_window_size yes # initial_window_width 640 @@ -984,9 +970,7 @@ font_size 15.0 #: want confirmation when closing individual windows, you can map the #: close_window_with_confirmation action. -#: }}} - -#: Tab bar {{{ +#: Tab bar # tab_bar_edge bottom @@ -1149,9 +1133,7 @@ font_size 15.0 #: margins the default color is chosen to match the background color #: of the neighboring tab. -#: }}} - -#: Color scheme {{{ +#: Color scheme # foreground #dddddd # background #000000 @@ -1248,7 +1230,7 @@ font_size 15.0 #: to be used unchanged. Note that these colors can be overridden by #: the program running in the terminal. -#: The color table {{{ +#: The color table #: The 256 terminal colors. There are 8 basic colors, each color has a #: dull and bright version, for the first 16 colors. You can set the @@ -1318,13 +1300,9 @@ font_size 15.0 #: Color for marks of type 3 (violet) -#: }}} +#: Advanced -#: }}} - -#: Advanced {{{ - -# shell . +shell . #: The shell program to execute. The default value of . means to use #: whatever shell is set as the default shell for the current user. @@ -1677,9 +1655,7 @@ clipboard_control write-clipboard write-primary no-append #: an "Actions" menu in the macOS global menubar. Sub-menus can be #: created by adding more levels separated by the :: characters. -#: }}} - -#: OS specific tweaks {{{ +#: OS specific tweaks # wayland_titlebar_color system @@ -1801,9 +1777,7 @@ macos_option_as_alt yes #: Changing this option by reloading the config is not supported, it #: will not have any effect. -#: }}} - -#: Keyboard shortcuts {{{ +#: Keyboard shortcuts #: Keys are identified simply by their lowercase Unicode characters. #: For example: a for the A key, [ for the left square bracket key, @@ -1869,7 +1843,7 @@ macos_option_as_alt yes #: cause all invocations of the hints kitten to have the --hints- #: offset=0 option applied. -#: Clipboard {{{ +#: Clipboard #: Copy to clipboard @@ -1909,9 +1883,7 @@ macos_option_as_alt yes #:: map kitty_mod+y new_window less @selection -#: }}} - -#: Scrolling {{{ +#: Scrolling #: Scroll line up @@ -2001,9 +1973,7 @@ macos_option_as_alt yes #:: Requires shell integration #:: to work. -#: }}} - -#: Window management {{{ +#: Window management #: New window @@ -2140,9 +2110,7 @@ macos_option_as_alt yes #:: Works like focus_visible_window above, but swaps the window. -#: }}} - -#: Tab management {{{ +#: Tab management #: Next tab @@ -2197,9 +2165,7 @@ macos_option_as_alt yes #: rather than at the end of the tabs list, use:: #: map ctrl+t new_tab !neighbor [optional cmd to run] -#: }}} - -#: Layout management {{{ +#: Layout management #: Next layout @@ -2221,9 +2187,7 @@ macos_option_as_alt yes #: stack layout:: #: map ctrl+alt+z toggle_layout stack -#: }}} - -#: Font sizes {{{ +#: Font sizes #: You can change the font size for all top-level kitty OS windows at #: a time or only the current one. @@ -2258,9 +2222,7 @@ macos_option_as_alt yes #: size:: #: map kitty_mod+f6 change_font_size current 10.0 -#: }}} - -#: Select and act on visible text {{{ +#: Select and act on visible text #: Use the hints kitten to select text and either pass it to an #: external program or insert it into the terminal or copy it to the @@ -2326,9 +2288,7 @@ macos_option_as_alt yes #: The hints kitten has many more modes of operation that you can map #: to different shortcuts. For a full description see hints kitten #: . -#: }}} - -#: Miscellaneous {{{ +#: Miscellaneous #: Show documentation @@ -2524,6 +2484,3 @@ macos_option_as_alt yes # map cmd+q quit -#: }}} - -#: }}} diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index b631807..0ee2f0e 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -16,7 +16,7 @@ sudo apt install \ zsh \ -y -{{ else if eq .chezmoi.os "darwin" -}} +{{ else if eq .hosttype "personal" -}} sudo port install \ cmus \ curl \ @@ -52,15 +52,25 @@ sudo apt install \ {{ end }} {{ if eq .hosttype "work" -}} -sudo port install \ - 1password-cli \ - docker-credential-helper-ecr \ - gh \ - jq \ - k9s \ - kind \ - libmemcached \ - saml2aws \ - shfmt \ - stern +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +eval "$(/opt/homebrew/bin/brew shellenv)" +brew install \ + cmus \ + curl \ + direnv \ + fzf \ + git \ + git-delta \ + helix \ + jj \ + kitty \ + ripgrep \ + tmux \ + tree \ + watch \ + wget \ + xz \ + zellij \ + zk \ + zsh {{ end }} From db8c403acfdca2d3087414e0b9261d50739245e5 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 14 Oct 2024 21:44:45 -0400 Subject: [PATCH 131/226] chore: ignore log files --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 1e19e61..b59793a 100644 --- a/.gitignore +++ b/.gitignore @@ -107,3 +107,5 @@ dmypy.json .pyre/ # End of https://www.gitignore.io/api/python + +step.log From 9e11acc2ca3e14a3ce28f8c87e6e73352443d214 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 14 Oct 2024 21:44:45 -0400 Subject: [PATCH 132/226] chore: refactoring bootstrapped env for faster shell load time --- home/encrypted_dot_apprc.age | 49 +++++------------------- home/encrypted_dot_zshklaviyo.age | 49 +++++++++++++++++------- home/run_once_01install-packages.sh.tmpl | 10 ++++- 3 files changed, 53 insertions(+), 55 deletions(-) diff --git a/home/encrypted_dot_apprc.age b/home/encrypted_dot_apprc.age index f6faffa..320ace9 100644 --- a/home/encrypted_dot_apprc.age +++ b/home/encrypted_dot_apprc.age @@ -1,42 +1,11 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBubGN2Mk16cTEzdXNjbGhI -SHFSUlVYRzdvbXB0VmNJVk5GNHZSZ280U0RJCnlvbXV6RGFvTlVZd0pEWTJjZkVq -T05xM0g1dm5SekdPc0dNeklKeDRjUUUKLS0tIGJRakZORGlSUit0L3RNK1AyVVNJ -ZzkraEtjRXcxcitvTXI5QUljUnRteFUKan2uiIbA+4a6dpWKWlgNVH/WhofEy1cy -a/n2nExgFJvExjqnIry6P+kQOrb4uUsxE8vuPZzebtnrki/SWYnZezdtef6JAPyi -73yg1WTKWGLj3V3xvjrXG6cn5uyr+Jhy0Bt3Y1YHwZnRUORixJ1KbxqyFojHaOBF -sqe+lv+LC8bxoyaOFHkgxYlbZ/JD30QsKYAMX7HgKrk3HG8fkp7nvtgjXnBv+B0A -DKbayiMR5gbbuV8/Re1zMC3Eviz9dGF2zmnVo/Y2p85xabHImnq6eBChyGb74L8i -bWKyF1rebjP1Yw/X/r3oLVh34d3ZFWD2PZPrdz0ecUO7Z04SWDAcQuKbbOH6xQOL -z9zIOJ1c3K4odjIbEu1/T5a/EBQtbhJLhWjfzsnSC5XcUi5LtkDhcIav7mu58ES0 -bax2tCcLhoIMdCTzgdiNR6WEk1YnRikOjFI42nlyShndEt9PIQNjbwUM0vsoa8VE -JLIZym1WDHXjwZJfUQisa7UP14ypA2cuycjpniStbf7g8BCrqGx2u5Na8Mw/0ShN -X2E1zl0Ggh55e1FpOKzRtE9RHt8eQtWPrv2K9Ru1eEGf2tLhz53Q+QYVEMtTRUOV -swWQoyYkvYCOMEJ78soi+5qOfcGH+/PsuDhWbZCarimlDgP96iFproN2wwUcotqZ -bfaXj1Q2gAo+O7dpp3KTGpRAqxNZPeof7Cct5a/72Hq2mwxnZRs5UqWA6GlTajdx -lCSKZViyfr1NIQgK/1p30bTaDvDDcP2e3tbF0pQPOjrqTjh19JFZzHd6gokkRByY -dVfQPNrRPqRwWemCnxBbroX5APyb4nrO8sJBhDBShEqFaDuXDQz9d95VayhIROG0 -RGEu/ZFGTYuheKS8djQJPD7JgshWBm1D7KQ/OUu6eVpaWzXa9Yx/FTL4nKNnO1sb -+8H3K52l2I8NiqbULfy0oM2cEXArfE+eQayPp4AxIt7c3fo/n1ECH3Sgbq0rkLaY -zxShgfgHKIA+f4rqWM2OBmeBSU9gDS8bT1+Uc37HWmUyYy5SWaH4ARx9nDtzhzqv -JVWuS9T3U2EWN65jsCglRPrVK2+b53IxWPXEL9S3ozPOHuAc/+9/zLeGhi7lFoJu -p4YlamNJpyPwl7gEwgsP7fqtxDC/NR+l4Di53Gk1ja25gTqTzjKnLt8I3mhouwRz -T1nFR9PqmlANoNuxJw4roTQuX+PeHIVg5c3kFDDpr1kcn568quZ9KPuqOl66zsuu -qYl9kAh/P2f56qfq1bCv1BzK0Ioqgzg9Ocx7RzC4Cp6rgoCrCuMdRmvl68i7BX2J -Gt/wpYEnaY833AauvMioFIvvow8E0dx226nX3t2+wBGWBBghn+a+/LT8bsZsp05Q -fR0+gOOsFlD6wZxW15y/9JkWV6goaQErOKOW/cRXKMfonV2Rb5I6bHgIaL+caO8s -tMZTO5CrvEroMLrjlEY4DPZLZMpHlsw3q9K2aObSnqDXhfQN7LR9rDMRJvA3ca3b -fxqnqJbbO5bSIJAG0G2TyKFpUZ132GP2rgARHEOFSg80a6PAZVtapIXiNmRceC1N -sCUFE7tJR/yLz1T1XouuDGLkvt3Bie3iInEsmXy1wXHKRwhKVynL+ooni1P8TUaE -MFE0xMKAD4axhXhscjL5ekzECgkH34ZG4LoaLk9ZFAumXQHusZ9rmLyZyIcrL7RM -WhmGHOVjiyD+oBjN0O8Z31qk7ogA/5tcbW3/Z+kniXwipRPnlOka+KEUgvv37dnR -XZ8VwOh7Q/slHWiiV/frlHV/Q6SeoW7s5QMSa7N2Qm/0bhtJleOvopSouZ0lNuIt -sxuaHOcvBWtM9clkEdpnQXNOuZOEXWkL8vM87YtNwDtkzTAufXmhxmQZZXB7XA29 -/CjlUSDydpc5UNPyqQOJ/5WWWpFHbD8ozLmiXjKuAJTDRPw7kMpGRFdwjIDy9Nn8 -lf2iXxC6B+vwbTPVH6002klnjpdwPICkRtn2rDRLNmG1F7zLq5PrHGTUh86/GXiJ -G7oDH4oWyUJ1cr5p2DAdAyMS2NSZBPNU/dnxjrOtFVli/bLe22IjTAZsi+tvXFIf -msZd3z0J0EwvvpMMU5O9XICeC/2LQ5sPyUqwBv+EldAeWLQCooXjngdnDiIbi/EZ -GORztcUfrYH8Wd7i+XF83n76mhTR2HfcNqwvqmzzJRt26vtyoqUuJeHQ5jQscDa2 -hAp0MFUizV2uR6w6Qtw3hIa/tdD9t0EVy8jIEbMjmcA5uqTF+HzYhuiNVs0TNuit -9+9fHLKqPZqg88pi5dYe3Ms2bQ== +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYcS9JQTB5TkZGVTlFVEkx +T0pkZWtQeVA0OGJGcTJCTi9zK2o5VkNVQ3dnClFQdWVuWUpwOStuZTNqQ0N1dm9z +aUJsMktNd1N6MDhaN1RlYmZ1YVAwSE0KLS0tIElubG8wNVlOUXYzdTBieGpYRGFQ +RFhHSTM2Yit0WWVRVXpWcUhDVlU3a2sKwiBHRNxbfp6imiMrKPiBmSmq7W8qZOTY +dY6gANHwmwYahtVAFjLMySiTiheRCNqMRbkII8sbOZRvE0Nx7BneE2enHc+gX5kJ +PnOjbqmAYtR58FBhX3aL578cxkdMmEJC+lT4189ywPhWsuZb2j9ysbyNT4WwYcdk +NjY58Tpt/v5kDb5Roj6eMfoQiR3lBJEbPeP7QI9VlJNa1vP242bK7gYWLKMsTB4Q +pbdF+3dJ58khvCpdw3gNz11tBCE+qKeiPwQSj1ghPzeNOOM4fpPftdU8HPDWNMWh +qNJtqwwZl6FLCw== -----END AGE ENCRYPTED FILE----- diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index cad76d5..55062ad 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,16 +1,37 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzY1QwVXhoa1IvUGM4d2lr -aFJXb29LSVBwTDM3d0xCeHdIa0RRZE5XY1RZCkI1ZFkrY2lCSHY0dG1kaThCTkZ3 -U0F4ZDhwWDZLNWdzY2l2Zk45dVZvVlEKLS0tIFJDUG1oWnA0WFQxZXFBUFhVbE9o -dGFWN0VVL1I3Z3pHdWRjVE93M3BTNE0KjnuD9ElEH28PcosxYPPGR+bd31JwMXqk -8lzpU7zKVlCZOCD57sn0rvvIRvoPaNC2sg9oqO4GleuqkYnfaZ8UMlBwCpOf0av9 -zMKZyefDvr9dkdMsge4ES+Ifmv2OdcKtAk3rSVi92Do2LBmWgaukO99gLpWnw+Qw -T+FkrBIjP6noNLashxa1QWzkvZa9OE56kJ1O2hRKMm/dSVYYB+0aSk7sloToUTWN -v29lwnOamz1XtGiWI3xF3pJVmcNxQx2P+T6Q+JAt84vru+amk39MoMO7lTLgWYSw -vnzoiPzvU/S5amttUtbq/u2yQHCFAM+eSsRnsSjbV/K5HqFbpp06cikDDpxdZ3tJ -OTXqtrBGb6N1aVPb78qSvF+D/UC4Habohoxua5MlZ1mZjuRVm3Nqom/DTH+s+xGJ -uQ6T28yYNWCQc/2yTxRTghIUvKqDJvJdsGhOH6bP9FdwdfDF13RW53MGe1HuRcVn -8IlEC6yrxpcBg7eBAleCwzhIbZXm7c681rct/aZ8wcliMfqqgGzcyK/4niKRq7or -H+VYfpT43NLBRa1NIciv1Y94WsPllgQn0GGj/KHxxuXg2Rb+TF1VKb5UpZESVcXa -fFQt6UZCyoI= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBha1d3Mnd6ZDF0TkIzdjRE +ejZmYjNDUGV5UkZDTExDSkF5bGRNSDJkT0hzCjg3b3NRdWlOWTZoOTd6b0pSZVZN +ekNZVVN3bG1RQmNxaWVWUTZZQ2RWRjAKLS0tIGJzaXgvV3c1UzYydUFac1lxUDlW +WlVOU3FGRVo1bjR0R3dFaHVDbkdJZVkKz4isjEW9zwflDos5NtUBHAZasHOnE9hQ +5krXjJnAuify0C69lC9Byavooeorx3y2jADRs+Ojen7eq4WhsKBrRUdTNaTCIcRf +DAoaCJDAgDyVHz2MGoMkaJISHjvGWML86F8FNoUQAJ9oSCTl1M1wGgzb8M4/Z1y+ +Q0cKBwcxVDHD2FNr0RKyXOvN4H9kFgQN7QieFO1eLHltz8cruTMUkIdv0lISxVS4 +ngza9aJDQKbG6zkecbDj8V2kaqkEGMZl+otA6btihdsgb2ENFE6vv4s1RLRH9/+T ++QkgJaDF7nSiXhsev24kHafpKKmLXMoqWUC1fmi6QAI7taqo6nMxMhELw4jR61I5 +0xQ84+VsTLFSGIL3CsQpdayJ5qCuAHSfOlMUZkB9tve+0q9lMf1ylOz1hys3D82t +mUjXoXG94qc+VxgO3e7L+uc/u8P4A/M7UKUQZ0bB6NrnZZuxfwOZMrIa9ZVIS8K4 +3THY4Es++8fo2g6w73wr4oA9Bja0z2XXyIuD1tmcRKIAvItE1lmmjud/leO8Yfm7 +1y4S3y+Nv1diMxr+GYdovzIEUMqgw3BqyIzQBtopHTe4472fwvSgMKCVkw8SEBPQ +I9GapyN2XlI3uYFlsIZhMEVVBXAYcOVJ6j5fVb2+ImMlqsLl7EIPJRl+2dA0J0Ik +/FyZmzDYa464rP0cQTg0Nax3Gk5gHThLaS2IlUAY3fHmSnHkq/O4RegCVFLUrkCp +4l14387SlFxT9WffDVCgn/DMCP0F4SkIMfRJ4OpwhvhqJHaRJ+03/VP3hUcspZ5i +mkUnWJvyPnG//2tfR0Wid9Gf6911oH6YuxNjTjew5OTx5vKGVGQJnwdNQ26uJFIf +y/VyLu4XDPzZijCfsESxZ+w9SrvaTup87v2uBsaECUVi1ehWO35mFZGP/XCwcuB/ +yBzKMxLSYw78T4tlRnPh/0FgANwRO5sBUmsN9bHFFxKOmuD2CRTeLaWKsDnSyHCQ +sf/HnIoyXaNdYTGa1sFjLNWJOQIwYqa3biUxfyCOjkJbfG36Y4LWlClOTKTM1BiF +ZwZLC8iilgnVxIe+XrTB96+F8hn45mWdOSe3skzq1JbDHTJGxtmFqGGsTHsNSrFb +nBQSVDN7v7QNwGSG7Nw22lIIpDFiiHmetQZnUvZuEgUAiLGKGylAgFXO48hNy4M2 +aAsCEO4xNXuQFpTgsmIn7MFiZN7u/2y8sox7RTF5tYq/SpHxfAiFpemLnmkD31GR +jOHbRqzjP0RFrR6uk+zaZjIaGg1UE9+IgqGtemR3NXQ6LOT8HcQ5YFVsyvIsed2o +v/SaLPa1twrW/m5oy9NjONTuTvmddTZKx7rkV4Jl8DPFcu6dnvRcLZ4Qp2IeEkVj +GfUouCyxr99MMPgd1T20Z2eIMPcyCO/eThhoRr80j8P+e5giLNWDaE3MMzWvGDNa +AyRRU5/VW/Ul3gtGYiHE++Bi4paHZGzcZeK/WdjcvIFhzZRGfM8Yz4bGJIeSkZ8P +OZga0vzJf8zKhwt+sDcyOvrdlJlIfZbPJYtx+uGdyvdujszbe4Ek4ElREm+NPyni +n9dGO7JutUYGXICvEiF1D9d5koJFk5sGnHXWNHtv2RQlyM/6n8fctLthrzDpl5Ko +Neror9hd+QNd1SButett+Vy9igPMELiuv5VuN83ana4OdHnIhg3Gy5a8hXqdVFOZ +qzYVhGSIdzeBGxnaMVO3Vxn1oscYi+U5G/7qRmYJBXsWo4Kl6A4MUzEQdywMdcdM +V/9vSJu9pr6qyhTtDe+xwZXQX2n2UYsjTZPNMwnUwgfZTAyhkZ0H93kZ9nuta0k6 +iBFxdiWlv3F9DwjxjADKMtCxYNA3GVp64TiMcfd2iz6fnyz7zTM5fJKPlNXofMYO +1pEh/ZSkHUKEwqan5Jd6kfehJj/x5jnkmMt6zz7NCxX5tXvnahF/FI3AqSWMd5aI +01igVBqjrnR7ORKxnJRthoFqRIiUAdlyZxHV1CwB509HOiY= -----END AGE ENCRYPTED FILE----- diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 0ee2f0e..083269b 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -55,6 +55,7 @@ sudo apt install \ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" eval "$(/opt/homebrew/bin/brew shellenv)" brew install \ + bzip2 \ cmus \ curl \ direnv \ @@ -64,7 +65,12 @@ brew install \ helix \ jj \ kitty \ + libmemcached \ + openssl@1.1 \ + readline \ ripgrep \ + snappy \ + sqlite \ tmux \ tree \ watch \ @@ -72,5 +78,7 @@ brew install \ xz \ zellij \ zk \ - zsh + zlib \ + zsh \ + zstd {{ end }} From 4b37136a70b4ddf6fe5cd28c7d4879714ccfc4db Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 14 Oct 2024 21:44:45 -0400 Subject: [PATCH 133/226] feat: moving package management into encrypted --- home/.chezmoiignore.tmpl | 3 +- home/dot_zshenv.tmpl | 2 +- home/encrypted_work_packages.age | 15 ++++++++++ ...ork_paths.txt => encrypted_work_paths.age} | 0 home/run_once_01install-packages.sh.tmpl | 30 +------------------ 5 files changed, 19 insertions(+), 31 deletions(-) create mode 100644 home/encrypted_work_packages.age rename home/{encrypted_work_paths.txt => encrypted_work_paths.age} (100%) diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl index bb0c7f4..9098c7a 100644 --- a/home/.chezmoiignore.tmpl +++ b/home/.chezmoiignore.tmpl @@ -5,4 +5,5 @@ .ssh/id_rsa_personal .ssh/id_rsa_work.pub .ssh/id_rsa_personal.pub -work_paths.txt +work_paths +work_packages diff --git a/home/dot_zshenv.tmpl b/home/dot_zshenv.tmpl index 5c14cdf..78a7322 100644 --- a/home/dot_zshenv.tmpl +++ b/home/dot_zshenv.tmpl @@ -73,7 +73,7 @@ check_paths=( # homebrew /opt/homebrew/bin - {{ join .chezmoi.sourceDir "encrypted_work_paths.txt" | include | decrypt -}} + {{ join .chezmoi.sourceDir "encrypted_work_paths.age" | include | decrypt -}} ) for fp in $check_paths; do diff --git a/home/encrypted_work_packages.age b/home/encrypted_work_packages.age new file mode 100644 index 0000000..c275192 --- /dev/null +++ b/home/encrypted_work_packages.age @@ -0,0 +1,15 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRV1N4OElFeituUlRNSFcx +YVVYSTVvVGpFMGs5am8vZTlEcCtLUDBTeVgwClZVL2s3RFd6R25HdkVDWk8rbnpl +VnVKQ1B2NUw1WldvbFhBb3M0QVFMUUkKLS0tIFJuOWlBYmNRaXFHekRQeC9VeG5y +bTV6dTdlSWFMSzJRYTZSWGtHR2Z1TzQKqVwn7lrI5Y4fctHqvEwy8LLRXH3DLG4d +VCi3n8RJS3UsrgC+lGhqrgIdRNqSX0aldEbrntJ84yNIBRaJdeTO9nx9ml5bTp0R +h4Fqept6XUpGwMGijTwUMwofyjkhpEjcvomQfOVccG9ZdpUym/apAdJ0N9qlC5xs +UsgC5PCwmmGFXjyl7AvorXUzkGgQzjNolVo0acUaJEZ8p/zI286j6DSQFy3lv8nB +cHleiDEUCmMCc8MWfMmQZZQN8aAwW4qksU0eBhj6JtzwojZIsg5dxe0PCJg15XDn +pBNWvb49Jzec56eZN6a1fjzCW8sTxVIBlAZCM+eV5WaaK6+IlezKRfltEnYrL1RO +wzLW2Ni+DCtzDEIX6Bj2uGgXTn3li5Clju9ye9GQbCqU+EY9aoz5u9rrAFZ/So+b +Zc63ZkFuUVsh8UosgC8UluPNPheMqQb8fkdHzpynyKNRlLxBO8Xw4Ii0t9KfkKLL +AHc+rpBCLabk6eNG3M5zQFCZfoYgY2x8Go5ZDfI1KLjLWfL5m87dVVTcCGhAFYeZ +rfn+KPTuaR08bVbwV8Fq9a2+4GCczWLOy4SIwzASKQc/tMXPGRiC +-----END AGE ENCRYPTED FILE----- diff --git a/home/encrypted_work_paths.txt b/home/encrypted_work_paths.age similarity index 100% rename from home/encrypted_work_paths.txt rename to home/encrypted_work_paths.age diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 083269b..1dc7c61 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -52,33 +52,5 @@ sudo apt install \ {{ end }} {{ if eq .hosttype "work" -}} -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -eval "$(/opt/homebrew/bin/brew shellenv)" -brew install \ - bzip2 \ - cmus \ - curl \ - direnv \ - fzf \ - git \ - git-delta \ - helix \ - jj \ - kitty \ - libmemcached \ - openssl@1.1 \ - readline \ - ripgrep \ - snappy \ - sqlite \ - tmux \ - tree \ - watch \ - wget \ - xz \ - zellij \ - zk \ - zlib \ - zsh \ - zstd + {{ join .chezmoi.sourceDir "encrypted_work_packages.age" | include | decrypt -}} {{ end }} From b639b23a8493722286200a9ea97147827c7302d3 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 16 Oct 2024 09:00:21 -0400 Subject: [PATCH 134/226] chore: work-specific display config (non-hidpi) --- home/private_dot_config/kitty/kitty.conf.tmpl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/home/private_dot_config/kitty/kitty.conf.tmpl b/home/private_dot_config/kitty/kitty.conf.tmpl index 5ebdfec..1a804d9 100644 --- a/home/private_dot_config/kitty/kitty.conf.tmpl +++ b/home/private_dot_config/kitty/kitty.conf.tmpl @@ -6,7 +6,11 @@ #: individual font faces and even specify special fonts for particular #: characters. +{{ if eq .hosttype "work" -}} +font_family Iosevka Term Extralight +{{- else -}} font_family Iosevka Term +{{- end }} # bold_font auto # italic_font auto # bold_italic_font auto @@ -24,7 +28,11 @@ font_family Iosevka Term #: italic_font Operator Mono Book Italic #: bold_italic_font Operator Mono Medium Italic +{{ if eq .hosttype "work" -}} +font_size 14.0 +{{- else -}} font_size 15.0 +{{- end }} #: Font size (in pts). From de6066b1879611a89f88817899ed49fffe67738b Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 16 Oct 2024 09:04:55 -0400 Subject: [PATCH 135/226] chore: new jj api --- home/private_dot_config/zk/config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/zk/config.toml b/home/private_dot_config/zk/config.toml index c0d2140..f627666 100644 --- a/home/private_dot_config/zk/config.toml +++ b/home/private_dot_config/zk/config.toml @@ -25,7 +25,7 @@ wiki-title = "hint" dead-link = "error" [alias] -save = 'jj desc -m "$*" && jj branch set main -r @ && jj new' +save = 'jj desc -m "$*" && jj bookmark set main -r @ && jj new' sync = 'jj git fetch && jj git push' log = 'jj log -r ".."' diff = 'jj diff' From f94d4c38d4b1a4ff7ccc4b3746c477a9526f41cf Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 16 Oct 2024 19:01:09 -0400 Subject: [PATCH 136/226] chore: misc refactorings --- home/encrypted_dot_s2a_login.age | 21 ++++----- home/encrypted_dot_zshklaviyo.age | 77 +++++++++++++++++-------------- 2 files changed, 50 insertions(+), 48 deletions(-) diff --git a/home/encrypted_dot_s2a_login.age b/home/encrypted_dot_s2a_login.age index b734c69..aaaed59 100644 --- a/home/encrypted_dot_s2a_login.age +++ b/home/encrypted_dot_s2a_login.age @@ -1,15 +1,10 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGejQwajloVURtT2JleVpN -TkJDK3AzSStkS00vSW5YZDFSUlFtWldMWnhzCmgvWUZXYlZDUU4raEtiK2VVbUhy -bXBkYVlqRVE0UlJrSlJ5WkF3Y3RXMlUKLS0tIEp6L0tHU09EK21IeE9wcGoxK2do -YXhHU1NWODV1dWgwWnlicjlQemc0U2cK9e6WKZdRfNVvPlQH38eruO1Svx7/xv7E -Ydgisp4Y+moSDuX3cIeTXJj8JjRsyDB4dN0ABIVI1HWoLmlYlyzNBk8Nwm4AX5PG -oMw4Lse/lWcAav7tDzXhUpieJrC7a+RiV170nXOs3r1sJ3SQviZyyNPEmynAtfE/ -0pgJnldoAJ/BtH5urxkelnYQ04H45BBoKIsMMFLiiHDqjVLFpwx4lMct1MU5Cnbu -zUwZ5/kh4hELwaf+lUbuLRWOqXmUSBbJK6Uu9Jpk0uWW/15YIkpJKvT5mGT1Gw7D -ZrIpxKB2lz2yJ9sZZjCvS/BsMIXn1IdbeGTFpep74zu3XF1h0dWGWM2w6NsdFLFt -osk3BH8d+z8lOXO5BzqH8Km8tlt9QFZi9uIXWHkSfxsEMQkJW603B5FfivEbQL4V -Q4ySX1Q0NeOog3cfQWeUKoGVCReSCnfDEvAynSII/xWb+uz6FnkzjWimlfY6VGVc -dTIiF5ct4+ZgKYfplygNQz9U6ZQUzLX3UkupOlqm3n2XdfEYSYFF9hDjFouOALLn -xHIKPFXrOO4/qbYt/w4= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLVVd1WlkyUitSUWdFSzBG +ZnJWc3pYZmVGSzBxKzhRcmpnSGVjSnZVdUdZCmFDOHcySkhtVXd4L2tuaERDRjRq +UzBvY1h5cmhQM09JTzZpTEVJQVcyWDgKLS0tIE9pYm9CUzRFdjh4NkN3eWEvUE9V +KzZyUm1qMVA5Tm54c1UzZTdROW5qakUKBuIeMGy+Jff9ZUueA8j7zSu1M0LVYTHH +udpQLQIJXMS/UGRSWimfIn9jdRv1wrovPYE/hQJCLcuL3cf5iejZAmmKj/+3ODF0 +cS4RAO/t8W2GFCXvoc2fiiqN6lu5Cq79aLMu7W5CtgOLB2nbov+WgapZ4T/5gogX +n7Ks/+M13urAphxvdBegNkDOLz7bkF0JJ8v3HcHS9JPZ9WkpOF4nBGycwdnYFplU +ws0nrpLwFg6QEmScqxtyh8G2ZXQgd+P3m3M68jtQkD6nK2Q= -----END AGE ENCRYPTED FILE----- diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index 55062ad..b3dbc03 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,37 +1,44 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBha1d3Mnd6ZDF0TkIzdjRE -ejZmYjNDUGV5UkZDTExDSkF5bGRNSDJkT0hzCjg3b3NRdWlOWTZoOTd6b0pSZVZN -ekNZVVN3bG1RQmNxaWVWUTZZQ2RWRjAKLS0tIGJzaXgvV3c1UzYydUFac1lxUDlW -WlVOU3FGRVo1bjR0R3dFaHVDbkdJZVkKz4isjEW9zwflDos5NtUBHAZasHOnE9hQ -5krXjJnAuify0C69lC9Byavooeorx3y2jADRs+Ojen7eq4WhsKBrRUdTNaTCIcRf -DAoaCJDAgDyVHz2MGoMkaJISHjvGWML86F8FNoUQAJ9oSCTl1M1wGgzb8M4/Z1y+ -Q0cKBwcxVDHD2FNr0RKyXOvN4H9kFgQN7QieFO1eLHltz8cruTMUkIdv0lISxVS4 -ngza9aJDQKbG6zkecbDj8V2kaqkEGMZl+otA6btihdsgb2ENFE6vv4s1RLRH9/+T -+QkgJaDF7nSiXhsev24kHafpKKmLXMoqWUC1fmi6QAI7taqo6nMxMhELw4jR61I5 -0xQ84+VsTLFSGIL3CsQpdayJ5qCuAHSfOlMUZkB9tve+0q9lMf1ylOz1hys3D82t -mUjXoXG94qc+VxgO3e7L+uc/u8P4A/M7UKUQZ0bB6NrnZZuxfwOZMrIa9ZVIS8K4 -3THY4Es++8fo2g6w73wr4oA9Bja0z2XXyIuD1tmcRKIAvItE1lmmjud/leO8Yfm7 -1y4S3y+Nv1diMxr+GYdovzIEUMqgw3BqyIzQBtopHTe4472fwvSgMKCVkw8SEBPQ -I9GapyN2XlI3uYFlsIZhMEVVBXAYcOVJ6j5fVb2+ImMlqsLl7EIPJRl+2dA0J0Ik -/FyZmzDYa464rP0cQTg0Nax3Gk5gHThLaS2IlUAY3fHmSnHkq/O4RegCVFLUrkCp -4l14387SlFxT9WffDVCgn/DMCP0F4SkIMfRJ4OpwhvhqJHaRJ+03/VP3hUcspZ5i -mkUnWJvyPnG//2tfR0Wid9Gf6911oH6YuxNjTjew5OTx5vKGVGQJnwdNQ26uJFIf -y/VyLu4XDPzZijCfsESxZ+w9SrvaTup87v2uBsaECUVi1ehWO35mFZGP/XCwcuB/ -yBzKMxLSYw78T4tlRnPh/0FgANwRO5sBUmsN9bHFFxKOmuD2CRTeLaWKsDnSyHCQ -sf/HnIoyXaNdYTGa1sFjLNWJOQIwYqa3biUxfyCOjkJbfG36Y4LWlClOTKTM1BiF -ZwZLC8iilgnVxIe+XrTB96+F8hn45mWdOSe3skzq1JbDHTJGxtmFqGGsTHsNSrFb -nBQSVDN7v7QNwGSG7Nw22lIIpDFiiHmetQZnUvZuEgUAiLGKGylAgFXO48hNy4M2 -aAsCEO4xNXuQFpTgsmIn7MFiZN7u/2y8sox7RTF5tYq/SpHxfAiFpemLnmkD31GR -jOHbRqzjP0RFrR6uk+zaZjIaGg1UE9+IgqGtemR3NXQ6LOT8HcQ5YFVsyvIsed2o -v/SaLPa1twrW/m5oy9NjONTuTvmddTZKx7rkV4Jl8DPFcu6dnvRcLZ4Qp2IeEkVj -GfUouCyxr99MMPgd1T20Z2eIMPcyCO/eThhoRr80j8P+e5giLNWDaE3MMzWvGDNa -AyRRU5/VW/Ul3gtGYiHE++Bi4paHZGzcZeK/WdjcvIFhzZRGfM8Yz4bGJIeSkZ8P -OZga0vzJf8zKhwt+sDcyOvrdlJlIfZbPJYtx+uGdyvdujszbe4Ek4ElREm+NPyni -n9dGO7JutUYGXICvEiF1D9d5koJFk5sGnHXWNHtv2RQlyM/6n8fctLthrzDpl5Ko -Neror9hd+QNd1SButett+Vy9igPMELiuv5VuN83ana4OdHnIhg3Gy5a8hXqdVFOZ -qzYVhGSIdzeBGxnaMVO3Vxn1oscYi+U5G/7qRmYJBXsWo4Kl6A4MUzEQdywMdcdM -V/9vSJu9pr6qyhTtDe+xwZXQX2n2UYsjTZPNMwnUwgfZTAyhkZ0H93kZ9nuta0k6 -iBFxdiWlv3F9DwjxjADKMtCxYNA3GVp64TiMcfd2iz6fnyz7zTM5fJKPlNXofMYO -1pEh/ZSkHUKEwqan5Jd6kfehJj/x5jnkmMt6zz7NCxX5tXvnahF/FI3AqSWMd5aI -01igVBqjrnR7ORKxnJRthoFqRIiUAdlyZxHV1CwB509HOiY= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEVmJUajVURHZLVzJWeEFX +NHMrSGxiNXdlczNHaXVDTk94NkZuTlcrYno0ClQyRnZFc1pETkFDeVVoamRBczdy +SzJ6TzdMLzJjR3FadVZEeTZ1dUFCQTgKLS0tIGRpTnVkbzZSZG5GWGhUcXJSejNo +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 -----END AGE ENCRYPTED FILE----- From 769865358c3a500e44a521d5bb4f1e244d227f2e Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 17 Oct 2024 09:08:37 -0400 Subject: [PATCH 137/226] feat: add github handle --- home/.chezmoi.toml.tmpl | 4 +++- .../private_Application Support/private_jj/config.toml.tmpl | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index 248585e..753394e 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -8,6 +8,7 @@ {{ $name := promptString "name" -}} {{ $email := promptString "email" -}} +{{ $github := promptString "github" -}} encryption = "age" [age] @@ -17,4 +18,5 @@ encryption = "age" hostname = {{ $hostname | quote }} hosttype = {{ $hosttype | quote }} name = {{ $name | quote }} - email = {{ $email | quote }} \ No newline at end of file + email = {{ $email | quote }} + github = {{ $github | quote }} \ No newline at end of file diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl index 4aaf9fb..1fb9e0f 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -3,7 +3,8 @@ name = {{ .name | quote }} email = {{ .email | quote }} [git] -push-bookmark-prefix = "thermokarst/jj-" +push-bookmark-prefix = "{{ .github }}/jj-" +private-commits = "description(glob:'private:*')" [revset-aliases] 'stack()' = 'main..@' From 802098e25761e5fbea49c127f992d0244ef0f6a1 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Fri, 18 Oct 2024 07:19:15 -0400 Subject: [PATCH 138/226] chore: misc work cleanup --- home/encrypted_dot_zshklaviyo.age | 87 ++++++++++++++++--------------- 1 file changed, 45 insertions(+), 42 deletions(-) diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index b3dbc03..9a94452 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,44 +1,47 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEVmJUajVURHZLVzJWeEFX -NHMrSGxiNXdlczNHaXVDTk94NkZuTlcrYno0ClQyRnZFc1pETkFDeVVoamRBczdy -SzJ6TzdMLzJjR3FadVZEeTZ1dUFCQTgKLS0tIGRpTnVkbzZSZG5GWGhUcXJSejNo -S1oreit2ZkFFU200UElQZGlDKzluWGMKux5D+S5ZDH/UhftmFN3xAcfW6K6z2PK9 -jZMkA0CbsyVkrkeB8g26Hkh91QZ5MASze3Rx6gEplPuTz8353d4Hcnp1nnlmb+CX -xdiTo2IGQ7/Rgavo+2crwm0D+k2clvPw3hH72GRgF7N1GmAi5JjqDJPwCs7tGqza -x810FO3JTma0siVL5mn6LsZwuOVz3NDzXK189CN1CwddZwsjIuwZ/PrfZ3hpiASD -EifGE7spQM/l22xzWe+FawOl64AiMLcsQV/DLD+fIWw68BQULFUJEFndKILSc7kK -HiDqSM2YwCZxfTvHRkb72TlHr/Zr0cdoEAHG4lNsSicfYnXA7d9y1r/ctvdwT/OW -lC5yPD4V9kSoZzzzESiLwRlR3L+ojxmPmwitVqdSPzgIAnhbFkPGTMMIkHHgJN17 -N5z4N0vpG54LxKW+lGYJaDB93p2UJwxYPF7D90E2vSbjB/NO77iV0pckqA5r+Voe -8kaqa40Yy0DEx/gL0tsZ3vSH9JI5oHUv0REj/cs5DaYSlPJSbUN06XD3DK4GdLOm -qp7BK/JnAcFhfawchl1mhFGkIRO7E/r3IQc5F15t2VnJdd3vcJg9cSkAggEtpH10 -LV6qQzAL6eceevquytXHVP/PHpHTgF1Kl/e5Ps/64o0i/lsuU5jvEQZsI+ILYs48 -XORnmDjH2TgBT4dMqY5AsxJeGj9wieGdiZ4nI3F3ygyP1N9gqfHeROYimO6GmiNG -HTrqqLLKXiPfs3+0zgIsTkQZVofHm8wORIlUK1t+Wdb9rmeiO/kVrJVdcBs3xLIb -9cKugTk4Wqm64JnPizceoEjaAePfp8ZyXDyYvsb2JWEZa5xTeD0XMkd7W8ofBZq4 -C2L8fkrlUk4Id3uC+luyjN/Zi8c3u/Gc440Z31cujvLp6gVpUux4ChYMF0dg44tp -+zUFm3Dap+YFaXwv3S/31xPrLSHO7jEnezVBDSBt3h5ZPp+U8joFLkFDU8JSOuZ8 -sIt4nUR0LjvEzONKOb2H8Z+nL1FKEFgHoaTV3ZSRRXJsTdh02oW0N5KJ0bA2kbKO -/aJm90B4ZSmhyYYpakq+KuEnNM9QPMvYVWboR2oqmt74tAGuB6ati3Ohn0WZWlWg -z8PMTzxuKSDzE36jTzhbpRk2fRIk4YMA2hwGLvsb8f7jWDzpRCKLDeoE0fmYKvGf -mUALDUIMYZ94vwinHgDoF0zgee3wKZJ8dbm4cNbKjZ3mdovijOJxU5ggwE6WEe85 -UsrzMWVFrZKHyOA5fXNgWObmI0tKWIB03OnSqZYX+GyBIKyq2OODbtgNgTaCueVc -m7I92rfKDkK/2JZ8IS9S7o596slTJccrpWJJDMkF689N1m+42/JBXrmoY6hqLRuE -e89wWxJMOWVKMrFIjfzkC4NWC1DCpMWneai9aTV26Cc0Unikaq5ffasuDyuDixXB -B3U6ERzzgvz4kVW9JU9bo61HXW0nX/jw4EPZSKbwBVbWrc9rIGzagtnx5nu5kIi2 -kBhbMPxqVEe//FMpFMdTEmEeAYeZwM2ZN1J459D5oVu4ON8IcIvIbiObpDrGFfKI -fSgYYwzGOY5LEYVRbZuX0frpYtqFVGbQ99C9NIisuDQBQ7OPgI3u82arVpjXRBcd -yTzPyI6UNBwdAK2iClI9PDw5rIxBG+xGWbyymEf34l003GQKH/aeqTQJTX8R5FXj -FndB3mZvtfMCRQbrGre0/uBWZvwU4hPiNUNs420eSiit9TXJDNsl9aSUQxHI247B -AvoYKY8qfDEHSuIn9rhMrQ18ZVs5iuaaYr9QtoAfkfEcQklSqBHwNaaKqlLOfMEb -0Qvf+YLvd3m8eDNna4zMD9Xz5bHcq3JiEuoIGlvLOlbooid6ukUrKUEYVa5Smc0q -DJLpML70QRFJ6w86kHdwYN+ruRpL1Wi3f7nDaln6iakH434vlDtBVd9IiRk2rM+B -FuFjhkYNRXSqPtFzqSOZRkS0JEUFFkzbBDQXWnbHz/vwLSIyvU/iaP6M99Kphbyw -guPSY8RNjg+MW7GN/5dmACuSg2UtzfS2LKi8dCJshcFEoBpNZjYOsLKsoPgDls6Y -EjB+P+ShPpeYutU7lmbNzvbNPm7sxnSyjvB9kRXoev2ZWJAi2yQbJj4erL3TzOV0 -IhUB2LkCRmpfuUwgG0eF1FGbkOkGtaJPaWjWBNtTC8FRqU1Na6ioT5VMlnS6tx9E -JWXsYdJCPivGmIh+vOrBgSsN953APcD1gJ6NbSXOIY9cYdbBYhtWFHWV8RnVV824 -1SouidKXFu3gZU7VY9N0vTUGLfT55cR8FtMZ+ANomJPwIf/uXfugFTwdPuCPNI45 -CcKZHy8yv8qWvRr/qY5g3aRy23zBlVP+CVM4PAQDLp7DxyzVCNsCrfrUrP3KiJjN -wYls8iTgf0y/ekC9BFKgN6ZNENXza2xIpdP6VQFiP9pO +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHWDQvTlorK0QxK2xTNUdT +R1NXNWZsN1dFd3QzM0lBSW43aFRlWUduTjJjCkxQZXMzd0ZQLzVGOHBQa0NOWFF5 +WG9PY1luNTBvdE01UUk1bkxYcFlIQXMKLS0tIE00dmVjL2Uyc1h2REhMQlhiejNK +ekQxRTJ0V201TjFocC9FVldWTzdaZVEKAbp5F8z7Ga3KzzVNGlQgKIKrKlICKMMY +Da96foHngZGKKycg5pf75c4MxgjtyoIk3eUgWvnd91qc/i9KOa/yXJClFpZoA/HJ +CkXfnVTTRvSNKJMHsHelyOcLnosHFH353wC7cq2bW1GqeS8EbLy4sAwsGx5zludd +WYJYOgqi7Z1/G1KUgXnvWZFvDHH+rIdmny3NYc/cJddWyTA+F9ftJUJNAPLwvq5p +b19VXcr4CR+oFUcbf5Q8SYZR66qH2ZUNXhzn8N0wDuNPLiXN/r575Ne1n+tCB5vF +BB1yo/E7KXrFQkTUC6LJVLydfxrDTctJvMu9YXIduDRE5bwItugA8LHz2e/QOnoq +qF3nwQNlAzkyw2roNd/F0I0HhJLQAWHJBB5OiMhqStnhZHDFHTx/aTeuHKZ5t1Z6 +rwlJwT+ocuwNdywTKCzQAYTTFcR4Dg1dNpJfgUVqbx8cNP+2jIKQH/LgQb2DTa4m +ezMnKyNy98W1Xv8vHDzhvdBuBQZoouNv/sNB1WMRyZxIOR/i+UyUw7cEy0OQbgVA +5wxspgy3i0aPzgg2E89qFwgQiQMrVq1xNV39wKk1GeKKyYlLA+7SlAKu99GKbocW +Q89SDxQrsAPlcQLVtYwDGnzzvdtYk7jYUdoD/iQkECYws6i2ezyArr5UXYFNqBrE +VBXMjkr+jCt2QPuXc02wB9iFLc6QKDWHhlSHHMNWO3/OEMFbuew9CN5pgUG4GsZ1 +hh90lB5hnJq7HdLYdK95c2y/Szq+BmDhtTQLs1y7lSGzXIMbxcAjFLkl1DfdEkgc ++wGcLtTsCbpsKNWAlpCGQUuNxjeyiuf6TUVEwcO7NORO4XRb04+dMFhdIl6m/zq9 +RvKyxJwFZv+o73pRBjwnUq51XdWz3e2AVBPLmp0qLA4+4LYXpo9midcT01aaDkNj +l4XgK8dxI5FFWZOchdpSPXtJDy1xJygUECK3Hi2Vhew3vcooscl6EWDlx1oqLSo2 +yo+IsL0cqtfb5/l6mJW31tvMiM1ruvWshHurh462PjBAEryti4q8Yg6qDWBXa+6+ +B+onXvf7bxv/6ZKOZSZBjYX+1bhsl7BE91pRgf3b0n/0ukadtiobBmD+fuHJsCx3 +bJotxYfY4qf0ygAKLGxBmFotYGrdFKE+JZtnw6OuMpyiDtihJvGNqhLV3E9vIY9d +/ev5I+8tOqK2beN/JjAgTD9zRpgcWQehxvOzIiFoUvTnCFQtvNgAkfyzgA+muhi8 +Tz8/slt4yc2tqGUtdcIe+B9qkCa5WsFZ9gyUCMNg1g3z+HjigZpu4AesQN/Y+BPS +p8w78xxDqoGottUdQXy/0sfB2B1WgGuRk8++955JxsWYhCx6p7sz/gd5A1Qx+g/K +wmB5+C/GbgNhx+mWvLU5ph0CuVd9fDMJiSVOvG456YndAAGNfkbO5bFJDQMITQXS ++wviz35iX3C2nixzhLT2A8DjzVeCxBa9v7rENg7qFYuHvx1VpMJh5OrvtFY0mu/j +jq/s86ZPtfFZDSyboj59TL9G4fm+DPaEGbjFxb61uNbr9WWnglo9Dp+t6nrPmH0t +z8eANSmPnPzwk11IMuU/JNMHgf31rI+hsXM+vbgwC1lkIQNQYKhUuSvGFxFgPUbI +vIWwQtJTKVjHo4ooKJB53joXd51Wt6AeuLKEnx9jLAJHqURCFol9yU3BpxNDjuug +E6jrju/V9rKjwpeo3AVvFaGAUjpi/jkswQUcAiJtydgiDrxjykJNcf5zLhvAO0aQ +EDODGiLyoyV98yRCHzv7Zu2Ps/mkNoVz70Y3J3On+bmdhRTwoRvpvW0BPSOWdkYn +qBoUc2pwLpDGTt3Elf6G6cUB0E7wcye78MbLXgdKCA70uw2kGTK19oVqAPf1MbZQ +4R6pVm2GYWw0VK4yQng9vVPJmJWUdK8fkBg/5FQ6BkUObmQV0HDdsvU3khGlNPCd +3AJbyQldONIGo4Oqvu6+QzCpBC57sNzIvrI/Ywk9gpUatS0UfX9l8Ywm11qV1e0b +H6ZNIeDwLv5Tv7/Fx5E3vnJrbH17wDB5sd5jbpI72+eo3XibK8n7UlUjHiKCV8+X +ZKqyqNEp8u65awgUHSiJ5SC2bLGpJzNbb27Z6kN6tnTFrTLxoliLVb1ovCPCW9Jq +HG745ZUMiN0u6Z4EzhQ6iXW/lL/PL4cXKNLYXR6YwnaVkpM2kpJMe6Sg2+CVBFbA +Ysd0UjZt+6GYmSO0gAkFQnNy3xBUWtYhBdlfe3q5vAOUThljgHyJmjk1OnzAcAWq +kBSLuPK0Ckco6Q7TxxkwiUyEyqlMoSVsaxtuhY1yx+u0Bhsa/pofPMwV/lWRDhyZ +Q0FrUqFTS/k+VRjTWDK7H6tWpVvDKyuk3qnqW5Taaj0bYRCX4iS4ehAGrMSG0Kc0 +KoXakZLyQcz4y66ZBCbux6LD4USbtcLmZXqJpwI8FT9KxZhl8193XGUyC+bku3vR +zYdf3uZA0gIBSr6hyVb4LiN8a1N7lE6qJ064JMvHXlDRW3FH2hQ9VUglBOZ4bTEM +zMmKIkFd9V8dYQA6s4w+YJ/tn83Dhm8qXcucB1xBpW5c5qwm5vCx6NMJvmx8WjWH +1A== -----END AGE ENCRYPTED FILE----- From 8174b07865953672e6f8db658484917e4517de57 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Fri, 18 Oct 2024 07:19:15 -0400 Subject: [PATCH 139/226] hack: stuffing python lsp config into editor will circle back and convert to a template --- home/private_dot_config/helix/languages.toml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/helix/languages.toml b/home/private_dot_config/helix/languages.toml index 3d948de..1601b05 100644 --- a/home/private_dot_config/helix/languages.toml +++ b/home/private_dot_config/helix/languages.toml @@ -8,7 +8,6 @@ command = "clippy" command = "zk" args = ["lsp"] - [[language]] name = "markdown" scope = "source.md" @@ -16,3 +15,13 @@ injection-regex = "md|markdown" file-types = ["md", "markdown"] roots = [".zk"] language-servers = ["zk"] + +[language-server.pyright] +command = "pyright-langserver" +args = ["--stdio"] +config = {} +environment = { "PYENV_VERSION" = "pyright" } + +[[language]] +name = "python" +language-servers = ["pyright"] From ffbdffa6be11e7ab9ff9ef33880d8fdc5c133708 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 21 Oct 2024 07:15:28 -0400 Subject: [PATCH 140/226] feat: templatify language config --- .../helix/{languages.toml => languages.toml.tmpl} | 2 ++ 1 file changed, 2 insertions(+) rename home/private_dot_config/helix/{languages.toml => languages.toml.tmpl} (92%) diff --git a/home/private_dot_config/helix/languages.toml b/home/private_dot_config/helix/languages.toml.tmpl similarity index 92% rename from home/private_dot_config/helix/languages.toml rename to home/private_dot_config/helix/languages.toml.tmpl index 1601b05..77898c2 100644 --- a/home/private_dot_config/helix/languages.toml +++ b/home/private_dot_config/helix/languages.toml.tmpl @@ -16,6 +16,7 @@ file-types = ["md", "markdown"] roots = [".zk"] language-servers = ["zk"] +{{ if eq .hosttype "work" -}} [language-server.pyright] command = "pyright-langserver" args = ["--stdio"] @@ -25,3 +26,4 @@ environment = { "PYENV_VERSION" = "pyright" } [[language]] name = "python" language-servers = ["pyright"] +{{- end }} From 818b91c9adf4f7535aed2acc5485c29307e1bffa Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 21 Oct 2024 13:30:41 -0400 Subject: [PATCH 141/226] feat: misc work-related tweaks --- home/encrypted_dot_zshklaviyo.age | 93 ++++++++++++++++--------------- 1 file changed, 48 insertions(+), 45 deletions(-) diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index 9a94452..0d27545 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,47 +1,50 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHWDQvTlorK0QxK2xTNUdT -R1NXNWZsN1dFd3QzM0lBSW43aFRlWUduTjJjCkxQZXMzd0ZQLzVGOHBQa0NOWFF5 -WG9PY1luNTBvdE01UUk1bkxYcFlIQXMKLS0tIE00dmVjL2Uyc1h2REhMQlhiejNK -ekQxRTJ0V201TjFocC9FVldWTzdaZVEKAbp5F8z7Ga3KzzVNGlQgKIKrKlICKMMY -Da96foHngZGKKycg5pf75c4MxgjtyoIk3eUgWvnd91qc/i9KOa/yXJClFpZoA/HJ -CkXfnVTTRvSNKJMHsHelyOcLnosHFH353wC7cq2bW1GqeS8EbLy4sAwsGx5zludd -WYJYOgqi7Z1/G1KUgXnvWZFvDHH+rIdmny3NYc/cJddWyTA+F9ftJUJNAPLwvq5p -b19VXcr4CR+oFUcbf5Q8SYZR66qH2ZUNXhzn8N0wDuNPLiXN/r575Ne1n+tCB5vF -BB1yo/E7KXrFQkTUC6LJVLydfxrDTctJvMu9YXIduDRE5bwItugA8LHz2e/QOnoq -qF3nwQNlAzkyw2roNd/F0I0HhJLQAWHJBB5OiMhqStnhZHDFHTx/aTeuHKZ5t1Z6 -rwlJwT+ocuwNdywTKCzQAYTTFcR4Dg1dNpJfgUVqbx8cNP+2jIKQH/LgQb2DTa4m -ezMnKyNy98W1Xv8vHDzhvdBuBQZoouNv/sNB1WMRyZxIOR/i+UyUw7cEy0OQbgVA -5wxspgy3i0aPzgg2E89qFwgQiQMrVq1xNV39wKk1GeKKyYlLA+7SlAKu99GKbocW -Q89SDxQrsAPlcQLVtYwDGnzzvdtYk7jYUdoD/iQkECYws6i2ezyArr5UXYFNqBrE -VBXMjkr+jCt2QPuXc02wB9iFLc6QKDWHhlSHHMNWO3/OEMFbuew9CN5pgUG4GsZ1 -hh90lB5hnJq7HdLYdK95c2y/Szq+BmDhtTQLs1y7lSGzXIMbxcAjFLkl1DfdEkgc -+wGcLtTsCbpsKNWAlpCGQUuNxjeyiuf6TUVEwcO7NORO4XRb04+dMFhdIl6m/zq9 -RvKyxJwFZv+o73pRBjwnUq51XdWz3e2AVBPLmp0qLA4+4LYXpo9midcT01aaDkNj -l4XgK8dxI5FFWZOchdpSPXtJDy1xJygUECK3Hi2Vhew3vcooscl6EWDlx1oqLSo2 -yo+IsL0cqtfb5/l6mJW31tvMiM1ruvWshHurh462PjBAEryti4q8Yg6qDWBXa+6+ -B+onXvf7bxv/6ZKOZSZBjYX+1bhsl7BE91pRgf3b0n/0ukadtiobBmD+fuHJsCx3 -bJotxYfY4qf0ygAKLGxBmFotYGrdFKE+JZtnw6OuMpyiDtihJvGNqhLV3E9vIY9d -/ev5I+8tOqK2beN/JjAgTD9zRpgcWQehxvOzIiFoUvTnCFQtvNgAkfyzgA+muhi8 -Tz8/slt4yc2tqGUtdcIe+B9qkCa5WsFZ9gyUCMNg1g3z+HjigZpu4AesQN/Y+BPS -p8w78xxDqoGottUdQXy/0sfB2B1WgGuRk8++955JxsWYhCx6p7sz/gd5A1Qx+g/K -wmB5+C/GbgNhx+mWvLU5ph0CuVd9fDMJiSVOvG456YndAAGNfkbO5bFJDQMITQXS -+wviz35iX3C2nixzhLT2A8DjzVeCxBa9v7rENg7qFYuHvx1VpMJh5OrvtFY0mu/j -jq/s86ZPtfFZDSyboj59TL9G4fm+DPaEGbjFxb61uNbr9WWnglo9Dp+t6nrPmH0t -z8eANSmPnPzwk11IMuU/JNMHgf31rI+hsXM+vbgwC1lkIQNQYKhUuSvGFxFgPUbI -vIWwQtJTKVjHo4ooKJB53joXd51Wt6AeuLKEnx9jLAJHqURCFol9yU3BpxNDjuug -E6jrju/V9rKjwpeo3AVvFaGAUjpi/jkswQUcAiJtydgiDrxjykJNcf5zLhvAO0aQ -EDODGiLyoyV98yRCHzv7Zu2Ps/mkNoVz70Y3J3On+bmdhRTwoRvpvW0BPSOWdkYn -qBoUc2pwLpDGTt3Elf6G6cUB0E7wcye78MbLXgdKCA70uw2kGTK19oVqAPf1MbZQ -4R6pVm2GYWw0VK4yQng9vVPJmJWUdK8fkBg/5FQ6BkUObmQV0HDdsvU3khGlNPCd -3AJbyQldONIGo4Oqvu6+QzCpBC57sNzIvrI/Ywk9gpUatS0UfX9l8Ywm11qV1e0b -H6ZNIeDwLv5Tv7/Fx5E3vnJrbH17wDB5sd5jbpI72+eo3XibK8n7UlUjHiKCV8+X -ZKqyqNEp8u65awgUHSiJ5SC2bLGpJzNbb27Z6kN6tnTFrTLxoliLVb1ovCPCW9Jq -HG745ZUMiN0u6Z4EzhQ6iXW/lL/PL4cXKNLYXR6YwnaVkpM2kpJMe6Sg2+CVBFbA -Ysd0UjZt+6GYmSO0gAkFQnNy3xBUWtYhBdlfe3q5vAOUThljgHyJmjk1OnzAcAWq -kBSLuPK0Ckco6Q7TxxkwiUyEyqlMoSVsaxtuhY1yx+u0Bhsa/pofPMwV/lWRDhyZ -Q0FrUqFTS/k+VRjTWDK7H6tWpVvDKyuk3qnqW5Taaj0bYRCX4iS4ehAGrMSG0Kc0 -KoXakZLyQcz4y66ZBCbux6LD4USbtcLmZXqJpwI8FT9KxZhl8193XGUyC+bku3vR -zYdf3uZA0gIBSr6hyVb4LiN8a1N7lE6qJ064JMvHXlDRW3FH2hQ9VUglBOZ4bTEM -zMmKIkFd9V8dYQA6s4w+YJ/tn83Dhm8qXcucB1xBpW5c5qwm5vCx6NMJvmx8WjWH -1A== +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBocStzekFScmJMQWJONENJ +b1REQjIrajZjK0ZhUnczSVQyZVRHQ2hVWm4wCndnSGIrSlpZb0VTaFJ0cWNPZFcw +S2hiQ29pU0MzbkYrUzRBMG1DekxOZWsKLS0tIERLRlNMS01TYmkzZ2hDRGJMa2E1 +blRUdk1sTlgrQnhkUCtHVlBvRFRiaUkKDwwMC5DAvNsBj2oOKAxBJHDFHwQLMQy/ +7z3nWEwV7JnqMwi6GAfuqiwVJXjJLCsoMro2QSvxqGg0EXXs954FDKa6P6ijB2CI +cVK+fe+NA7n5OtxUob5oGUcdUHaXTPpNDQQwxFyAK22XBZWubssnamc5anVHe8th +TmN1FXo8uLFHH2tJgacZisYidRjHdRqTXpM43faAY2e+/9f/YFN4iIPd5BNZBhpJ +dgblOdBs7OOVCgtwPYPs2MyIUoXDDcO4pxGXSd2YWhRRs2d0HPbf6PufEO2B+X2i +oujtJif+iQoFd0kUS0VzrEje6TPM5UypUdzLA2nXpQAeuDcIQsSb6hYlNAoUxNO7 +SOqmYHmRVmNvZseckKamxOgPrQ/fJpJVR/R8fowbN8hGY+7tYq/IcC9iOUtoKiVW +LtI3lFpL4tx4HU6V01ZU+fLrvhyPmCCWHuhD8sXTWZ2mZYSPATbzL17ObICEWgkp +4VGxlOkZesrvLiyfNH/bPwGsHhuaR4FM5fR4mjsg0OBtU7hCl0QT6O6i71XShmrI +9/x2t/WGO02EHvZfOroEO2Kn8Avab3xM8/49z03OJ3dv18RkULim5TzoHJ7XHuOm +BzCeg1L/AQuvCtKQ69E91JeORz3T5n/bLhN1CP+Lq5ksrGqD8l2umEdL0UrKKedj +JM9JwALgzCfAga0d0wouhAFa51NwRbMMu8hayd5BWVVrcHxaumzo5dEx0c4t1epx +PrYnoOQnMAswLn5Q6atIlEHVqRf/mCFK+aqyXWOkpKEPynOW7EBPMGbTcTWsg7n6 +LwTsDP8s/9QuRql7zCuHuK9lVe5qNxnabp520k09lR4vRUkm2EDfK6vmnFTfs09u +CJBjD3GYIV6piuKpRrgGMRqFuvQ+YwCIbNDxUj2hgO4/7oXAjea7Fokc3ChcNqTx +tN0edKEwRMN4OznzuWNs132hlvPzYoB25xw1mWDbHtzQWfuxHqvfVTQSt2gAyS3n +LwqoqfGcFUznRWbl05JD6hgDCRtp3YtfnSxAh4DFlEXyGoBtkyyGFDTlRpuyhkbO +GHdYrY4GWEd/VJbd8yNzenPm1as7iedO/2WRzQpuDssoVW0z6OQ+o+5yqLs9wD65 +nBJ5CEBr4eHlIktowPuwbsy6MTmtoGQ3+DtGlK07+FE1H0zbP7Oj4lA0ealLoapb +roAeRFbs+aB8RWLZrbYb2/Ia9pTQEsxX/fP+6F3O63EgNCM+XPHzAJh2BnrAgugP +Dk6o9GcGY3J2MUKO3wkuoANXk3wLjye8az7f563g6P+NRp+9rSDEI8Lv8j8Jvq1Q +ohByfBVd1SLszVn+1Fo6bHZrHemyCOZfdVFDU5lYoMQod6DRLSRShQJZufHwNq61 +/20fbeR5tLPuUbJxIg8QlyDXDhVeMvVYwKIo5PNSPofFaEbK0HtEbtbOaBz8M8SH +0HYmyTnqXnnZNeKiuu/QSBwgfsgpiX7xpXLaAmsMaf8pbaIWzePZGEfYLQa2MD7q +6Qtyz+io0s9m3HFKY58lx+yrZZq2QCMt5RK2jjc1J7blZBwURrFWhvO+9FcQASD5 +jM1MxS9vp6g4GpPok5LJrNZdsT3McPJar7IFSyIrihQFnFnsfxmsMcuecthBG3Iv +RaczZnMghTMMqm35GKOuwGMwjdGbdVa7Ztjkkc8qDPQ0pHY3qpZUsMBhHAG8HPpn +mnrCR8QnztsJjlfNrmxvQHGmGwd4pEx4++qTcH4GYuIciXdHA+qpG8np2unyt+Ns +4mYwGeIrcJPetU2USS+5G50gjokKZcnCVsGPowE7er3dfeE+F/sUMCdTLDjt3vhQ +HDJOeAQPvAH/RFGuBSd39NshqTSY/7u1Vdo3s5Cm0S2VqmogrT9F/QvhkiVK4I4+ +/xMDvH08FIx19MKpM9vcWMb3QszIo5XS2dtrRStd7af6v9Aa2RboRXXavOZgFdVc +DzwtBedETZRvnDYiwN0HnMCybW3MH1MIYWy7B8RgjzqmYkyk3SHn3Lk5iXKgP+uL +67e1tpOVi+jrm4Kd5tp8A+TWaI/gMrchwF+SsltEkvdSHh92JHVpaHDgzNVG2Ljw +++GF8Rxm3XyZ8a9RcEAMMKObg7Z6uryEpyQ+m+wrhrFGRSbhWsAYY/DBAMGJeXCy +/Ufg/Bi2YgqwTCAkAW2TQeZLMqS2xvme/kri1NpNjQzASdLTm7dabrSel+aBT/vh +17BUN77duKMVZ3TfZE//aZzSixIQH44xMZO5iOSeGb6lxCZqbRJbUhE5vD0Uy+ws +4BmSKcF0CWclWCzjSmgHLE3ZDac2sAS89h4+oH+2URgUkOEqQs448sxIoanEHi1k +3UerrA3CCRdyLlyTJfasmqi2LzQkFWj2ZOWPsQ2APiAK57NDnHdqNzZYRI4PuRoZ +F8WLP7v3FqWELbCmc1CGnYx8ZWUmEt1TNesZz3TGu9vfJR3SixGTVOHRVmdjVOsV +iwUM4mG46NzzLfpNbDPiq9xAL6B7UwD4wjUl517TFZIEOt6xiwzmKfNWyXYvhRyX +n+YHf0TOm7DJI1SGq01jdiQPotfPYAQWyisvlq2VLhvXqqoo/MpxKguB6B4aCL+l +zdMA9nGJn9HEP1UWKKXz2qUTZ2p55TcE4cfVi9yH0IpQA93fsGjVp5N8t23nho40 +VCN8i8b0Wc7/Nh1q4FO2UGc1hSLO356DqRo/Xjo2H8uTu5bqij+l5hQCbAR1Jb0w +WY6hhNTPStMWwZRhxFfwYGChKmdwyY4bO9NjwU0ewih/zHwXM4KS4vuNw+lF9j2d +0V3DglSwWQ82IH1QlSBlOIwT7q0saAJ3xJcZtQ1VAD+TOTC7 -----END AGE ENCRYPTED FILE----- From 61b12ab87e600c65e07d2596d8760eaf0fc4a928 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 23 Oct 2024 21:24:58 -0400 Subject: [PATCH 142/226] feat: new work packages --- home/encrypted_work_packages.age | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/home/encrypted_work_packages.age b/home/encrypted_work_packages.age index c275192..f8a540c 100644 --- a/home/encrypted_work_packages.age +++ b/home/encrypted_work_packages.age @@ -1,15 +1,16 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRV1N4OElFeituUlRNSFcx -YVVYSTVvVGpFMGs5am8vZTlEcCtLUDBTeVgwClZVL2s3RFd6R25HdkVDWk8rbnpl -VnVKQ1B2NUw1WldvbFhBb3M0QVFMUUkKLS0tIFJuOWlBYmNRaXFHekRQeC9VeG5y -bTV6dTdlSWFMSzJRYTZSWGtHR2Z1TzQKqVwn7lrI5Y4fctHqvEwy8LLRXH3DLG4d -VCi3n8RJS3UsrgC+lGhqrgIdRNqSX0aldEbrntJ84yNIBRaJdeTO9nx9ml5bTp0R -h4Fqept6XUpGwMGijTwUMwofyjkhpEjcvomQfOVccG9ZdpUym/apAdJ0N9qlC5xs -UsgC5PCwmmGFXjyl7AvorXUzkGgQzjNolVo0acUaJEZ8p/zI286j6DSQFy3lv8nB -cHleiDEUCmMCc8MWfMmQZZQN8aAwW4qksU0eBhj6JtzwojZIsg5dxe0PCJg15XDn -pBNWvb49Jzec56eZN6a1fjzCW8sTxVIBlAZCM+eV5WaaK6+IlezKRfltEnYrL1RO -wzLW2Ni+DCtzDEIX6Bj2uGgXTn3li5Clju9ye9GQbCqU+EY9aoz5u9rrAFZ/So+b -Zc63ZkFuUVsh8UosgC8UluPNPheMqQb8fkdHzpynyKNRlLxBO8Xw4Ii0t9KfkKLL -AHc+rpBCLabk6eNG3M5zQFCZfoYgY2x8Go5ZDfI1KLjLWfL5m87dVVTcCGhAFYeZ -rfn+KPTuaR08bVbwV8Fq9a2+4GCczWLOy4SIwzASKQc/tMXPGRiC +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXQ0tGTHh2cm9Dd3RyVjk1 +RGw0a2U1dDNhTGxIVVBNOUxIeThuRllBWnc0Cm5wSFd1RTAyaUptaHk3Y05VYkcy +REtiWFdkWkE3NDFHVjZmdk5yMWd5c0UKLS0tIFVySXI4bmFiQ3B6K0ZYQUNpK1VW +WWs2QmsxajNWNXdNdW1WN0tqYVltQzAKRt8AYM34DDCutguPZeS2yN9oJ5FCCGCz +PFmV+aLrqn14Mf8TrsuZvxdMx8th2CAkueZCblvBOQzj+FwETeXW/XTmy0y8Wy7N +F5yNzQfLOig9rW0qyK82sWEglunFM2u6g1rqCul9fZwuhvGOa1vSGYfnHNFwlIIl +fPZ8h4HEWOf75p0qakt0mA+KrbAKmvrTFVmPvBcqaVfImka5e+PYNXeJ9lw8Rl8M +5pka+BKBSmDYtfhN8Y9i9UhPbv+UfDULNURCsWT9isx8tAeYmIJPdJ6+VoKHlt1R +gXgg08268d0X+ZFWIKJyluFNLBt35YSFNeNMKGe1DcTzop+VWxjVgS7uSRQj2Sti +jym2L8m7bfieFvo37IG+wrIC0J1i4tqxIIZqPSYCrM45h5D2pkPT+8IQGnO+PUXu +DbYypym6ndbD5VLY/etETIIYxWBkcHeOVGBEy5d2BR627ii0AW8gxU5pWHW3IZcn +Diwi5tnq5TD27eIYd4U6DxqneIwmWJvnxfZ3EpUqgAAhg/Wc3ZiTz7SMf9QO8tAW +KZQYi3oKd+d44WcM5uhGyKF5j7HB4qicPfGVuTH0fh4YNHF66AhEJuhRhAvZawpa +9PlqpoIrmMUU1DuD6PSLGe8VmL6EPp1zfg== -----END AGE ENCRYPTED FILE----- From dc3aa66274ba2ad0d99367dfe1cc036ec1cb54f7 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 23 Oct 2024 21:24:58 -0400 Subject: [PATCH 143/226] chore: little bit of a hack here, will circle back later --- .../private_Application Support/private_jj/config.toml.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl index 1fb9e0f..5b3d37b 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -3,7 +3,7 @@ name = {{ .name | quote }} email = {{ .email | quote }} [git] -push-bookmark-prefix = "{{ .github }}/jj-" +push-bookmark-prefix = "202410_{{ .github }}_jj_" private-commits = "description(glob:'private:*')" [revset-aliases] From 4b6e98709e77c2c9b3f4068d5341bfafc0a9d199 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 23 Oct 2024 21:24:58 -0400 Subject: [PATCH 144/226] feat: new helix theme --- .../helix/themes/base16-ashes.toml | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 home/private_dot_config/helix/themes/base16-ashes.toml diff --git a/home/private_dot_config/helix/themes/base16-ashes.toml b/home/private_dot_config/helix/themes/base16-ashes.toml new file mode 100644 index 0000000..7596819 --- /dev/null +++ b/home/private_dot_config/helix/themes/base16-ashes.toml @@ -0,0 +1,93 @@ +# Scheme name: Ashes +# Scheme author: Jannik Siebert (https://github.com/janniks) +# Template author: Tinted Theming (https://github.com/tinted-theming) + +"attributes" = "base09" +"comment" = { fg = "base03", modifiers = ["italic"] } +"constant" = "base09" +"constant.character.escape" = "base0C" +"constant.numeric" = "base09" +"constructor" = "base0D" +"debug" = "base03" +"diagnostic" = { modifiers = ["underlined"] } +"diff.delta" = "base09" +"diff.minus" = "base08" +"diff.plus" = "base0B" +"error" = "base08" +"function" = "base0D" +"hint" = "base03" +"info" = "base0D" +"keyword" = "base0E" +"label" = "base0E" +"namespace" = "base0E" +"operator" = "base05" +"special" = "base0D" +"string" = "base0B" +"type" = "base0A" +"variable" = "base08" +"variable.other.member" = "base0B" +"warning" = "base09" + +"markup.bold" = { fg = "base0A", modifiers = ["bold"] } +"markup.heading" = "base0D" +"markup.italic" = { fg = "base0E", modifiers = ["italic"] } +"markup.link.text" = "base08" +"markup.link.url" = { fg = "base09", modifiers = ["underlined"] } +"markup.list" = "base08" +"markup.quote" = "base0C" +"markup.raw" = "base0B" +"markup.strikethrough" = { modifiers = ["crossed_out"] } + +"diagnostic.hint" = { underline = { style = "curl" } } +"diagnostic.info" = { underline = { style = "curl" } } +"diagnostic.warning" = { underline = { style = "curl" } } +"diagnostic.error" = { underline = { style = "curl" } } + +"ui.background" = { bg = "base00" } +"ui.bufferline.active" = { fg = "base00", bg = "base03", modifiers = ["bold"] } +"ui.bufferline" = { fg = "base04", bg = "base00" } +"ui.cursor" = { fg = "base0A", modifiers = ["reversed"] } +"ui.cursor.insert" = { fg = "base0A", modifiers = ["reversed"] } +"ui.cursorline.primary" = { fg = "base05", bg = "base01" } +"ui.cursor.match" = { fg = "base0A", modifiers = ["reversed"] } +"ui.cursor.select" = { fg = "base0A", modifiers = ["reversed"] } +"ui.gutter" = { bg = "base00" } +"ui.help" = { fg = "base06", bg = "base01" } +"ui.linenr" = { fg = "base03", bg = "base00" } +"ui.linenr.selected" = { fg = "base04", bg = "base01", modifiers = ["bold"] } +"ui.menu" = { fg = "base05", bg = "base01" } +"ui.menu.scroll" = { fg = "base03", bg = "base01" } +"ui.menu.selected" = { fg = "base01", bg = "base04" } +"ui.popup" = { bg = "base01" } +"ui.selection" = { bg = "base02" } +"ui.selection.primary" = { bg = "base02" } +"ui.statusline" = { fg = "base04", bg = "base01" } +"ui.statusline.inactive" = { bg = "base01", fg = "base03" } +"ui.statusline.insert" = { fg = "base00", bg = "base0B" } +"ui.statusline.normal" = { fg = "base00", bg = "base03" } +"ui.statusline.select" = { fg = "base00", bg = "base0F" } +"ui.text" = "base05" +"ui.text.focus" = "base05" +"ui.virtual.indent-guide" = { fg = "base03" } +"ui.virtual.inlay-hint" = { fg = "base03" } +"ui.virtual.ruler" = { bg = "base01" } +"ui.virtual.jump-label" = { fg = "base0A", modifiers = ["bold"] } +"ui.window" = { bg = "base01" } + +[palette] +base00 = "#1c2023" # Default Background +base01 = "#393f45" # Lighter Background (Used for status bars, line number and folding marks) +base02 = "#565e65" # Selection Background +base03 = "#747c84" # Comments, Invisibles, Line Highlighting +base04 = "#adb3ba" # Dark Foreground (Used for status bars) +base05 = "#c7ccd1" # Default Foreground, Caret, Delimiters, Operators +base06 = "#dfe2e5" # Light Foreground (Not often used) +base07 = "#f3f4f5" # Light Background (Not often used) +base08 = "#c7ae95" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted +base09 = "#c7c795" # Integers, Boolean, Constants, XML Attributes, Markup Link Url +base0A = "#aec795" # Classes, Markup Bold, Search Text Background +base0B = "#95c7ae" # Strings, Inherited Class, Markup Code, Diff Inserted +base0C = "#95aec7" # Support, Regular Expressions, Escape Characters, Markup Quotes +base0D = "#ae95c7" # Functions, Methods, Attribute IDs, Headings +base0E = "#c795ae" # Keywords, Storage, Selector, Markup Italic, Diff Changed +base0F = "#c79595" # Deprecated, Opening/Closing Embedded Language Tags, e.g. From 2a11d78908f3b5f2792737e0077767e0eacc9479 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 24 Oct 2024 13:11:06 -0400 Subject: [PATCH 145/226] feat: convenience function for relative date --- home/dot_zshrc.tmpl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 888a6e2..a652122 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -111,3 +111,7 @@ BASE16_SHELL="$HOME/.config/base16-shell/" eval "$(/opt/homebrew/bin/brew shellenv)" {{ end }} eval "$(direnv hook zsh)" + +function reldate() { + date -v "${1}" "+%Y-%m-%d" +} From 79eb32a3f828a8c261c5408a97c8033557f2bfd7 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 27 Oct 2024 08:19:05 -0400 Subject: [PATCH 146/226] feat: clean up unused zellij config --- home/private_dot_config/zellij/config.kdl | 160 +--------------------- 1 file changed, 2 insertions(+), 158 deletions(-) diff --git a/home/private_dot_config/zellij/config.kdl b/home/private_dot_config/zellij/config.kdl index a68bb17..5e6883d 100644 --- a/home/private_dot_config/zellij/config.kdl +++ b/home/private_dot_config/zellij/config.kdl @@ -1,127 +1,4 @@ -// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true" -keybinds { - unbind "Ctrl n" - normal { - // uncomment this and adjust key if using copy_on_select=false - // bind "Alt c" { Copy; } - } - locked { - bind "Ctrl g" { SwitchToMode "Normal"; } - } - resize { - bind "Ctrl r" { SwitchToMode "Normal"; } - bind "h" "Left" { Resize "Increase Left"; } - bind "j" "Down" { Resize "Increase Down"; } - bind "k" "Up" { Resize "Increase Up"; } - bind "l" "Right" { Resize "Increase Right"; } - bind "H" { Resize "Decrease Left"; } - bind "J" { Resize "Decrease Down"; } - bind "K" { Resize "Decrease Up"; } - bind "L" { Resize "Decrease Right"; } - bind "=" "+" { Resize "Increase"; } - bind "-" { Resize "Decrease"; } - } - pane { - bind "Ctrl p" { SwitchToMode "Normal"; } - bind "h" "Left" { MoveFocus "Left"; } - bind "l" "Right" { MoveFocus "Right"; } - bind "j" "Down" { MoveFocus "Down"; } - bind "k" "Up" { MoveFocus "Up"; } - bind "p" { SwitchFocus; } - bind "n" { NewPane; SwitchToMode "Normal"; } - bind "d" { NewPane "Down"; SwitchToMode "Normal"; } - bind "r" { NewPane "Right"; SwitchToMode "Normal"; } - bind "x" { CloseFocus; SwitchToMode "Normal"; } - bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; } - bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } - bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } - bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } - bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} - } - move { - bind "Ctrl h" { SwitchToMode "Normal"; } - bind "n" "Tab" { MovePane; } - bind "p" { MovePaneBackwards; } - bind "h" "Left" { MovePane "Left"; } - bind "j" "Down" { MovePane "Down"; } - bind "k" "Up" { MovePane "Up"; } - bind "l" "Right" { MovePane "Right"; } - } - tab { - bind "Ctrl t" { SwitchToMode "Normal"; } - bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; } - bind "h" "Left" "Up" "k" { GoToPreviousTab; } - bind "l" "Right" "Down" "j" { GoToNextTab; } - bind "n" { NewTab; SwitchToMode "Normal"; } - bind "x" { CloseTab; SwitchToMode "Normal"; } - bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } - bind "b" { BreakPane; SwitchToMode "Normal"; } - bind "]" { BreakPaneRight; SwitchToMode "Normal"; } - bind "[" { BreakPaneLeft; SwitchToMode "Normal"; } - bind "1" { GoToTab 1; SwitchToMode "Normal"; } - bind "2" { GoToTab 2; SwitchToMode "Normal"; } - bind "3" { GoToTab 3; SwitchToMode "Normal"; } - bind "4" { GoToTab 4; SwitchToMode "Normal"; } - bind "5" { GoToTab 5; SwitchToMode "Normal"; } - bind "6" { GoToTab 6; SwitchToMode "Normal"; } - bind "7" { GoToTab 7; SwitchToMode "Normal"; } - bind "8" { GoToTab 8; SwitchToMode "Normal"; } - bind "9" { GoToTab 9; SwitchToMode "Normal"; } - bind "Tab" { ToggleTab; } - } - scroll { - bind "Ctrl s" { SwitchToMode "Normal"; } - bind "e" { EditScrollback; SwitchToMode "Normal"; } - bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; } - bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } - bind "j" "Down" { ScrollDown; } - bind "k" "Up" { ScrollUp; } - bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } - bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } - bind "d" { HalfPageScrollDown; } - bind "u" { HalfPageScrollUp; } - // uncomment this and adjust key if using copy_on_select=false - // bind "Alt c" { Copy; } - } - search { - bind "Ctrl s" { SwitchToMode "Normal"; } - bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } - bind "j" "Down" { ScrollDown; } - bind "k" "Up" { ScrollUp; } - bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } - bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } - bind "d" { HalfPageScrollDown; } - bind "u" { HalfPageScrollUp; } - bind "n" { Search "down"; } - bind "p" { Search "up"; } - bind "c" { SearchToggleOption "CaseSensitivity"; } - bind "w" { SearchToggleOption "Wrap"; } - bind "o" { SearchToggleOption "WholeWord"; } - } - entersearch { - bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; } - bind "Enter" { SwitchToMode "Search"; } - } - renametab { - bind "Ctrl c" { SwitchToMode "Normal"; } - bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; } - } - renamepane { - bind "Ctrl c" { SwitchToMode "Normal"; } - bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; } - } - session { - bind "Ctrl o" { SwitchToMode "Normal"; } - bind "Ctrl s" { SwitchToMode "Scroll"; } - bind "d" { Detach; } - bind "w" { - LaunchOrFocusPlugin "session-manager" { - floating true - move_to_focused_tab true - }; - SwitchToMode "Normal" - } - } +keybinds clear-defaults=true { tmux { bind "[" { SwitchToMode "Scroll"; } bind "Ctrl a" { ToggleTab; SwitchToMode "Normal"; } @@ -144,22 +21,7 @@ keybinds { bind "d" { Detach; } bind "Space" { NextSwapLayout; } bind "x" { CloseFocus; SwitchToMode "Normal"; } - } - shared_except "locked" { - bind "Ctrl g" { SwitchToMode "Locked"; } - bind "Ctrl q" { Quit; } - bind "Alt n" { NewPane; } - bind "Alt i" { MoveTab "Left"; } - bind "Alt o" { MoveTab "Right"; } - bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } - bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } - bind "Alt j" "Alt Down" { MoveFocus "Down"; } - bind "Alt k" "Alt Up" { MoveFocus "Up"; } - bind "Alt =" "Alt +" { Resize "Increase"; } - bind "Alt -" { Resize "Decrease"; } - bind "Alt [" { PreviousSwapLayout; } - bind "Alt ]" { NextSwapLayout; } - bind "Ctrl u" { + bind "u" { LaunchOrFocusPlugin "file:~/.config/zellij/plugins/room.wasm" { floating true ignore_case true @@ -170,24 +32,6 @@ keybinds { shared_except "normal" "locked" { bind "Enter" "Esc" { SwitchToMode "Normal"; } } - shared_except "pane" "locked" { - bind "Ctrl p" { SwitchToMode "Pane"; } - } - shared_except "resize" "locked" { - bind "Ctrl r" { SwitchToMode "Resize"; } - } - shared_except "scroll" "locked" { - bind "Ctrl s" { SwitchToMode "Scroll"; } - } - shared_except "session" "locked" { - bind "Ctrl o" { SwitchToMode "Session"; } - } - shared_except "tab" "locked" { - bind "Ctrl t" { SwitchToMode "Tab"; } - } - shared_except "move" "locked" { - bind "Ctrl h" { SwitchToMode "Move"; } - } shared_except "tmux" "locked" { bind "Ctrl a" { SwitchToMode "Tmux"; } } From 8d6580fd6c09dc841c26eaa3fac572ca7289ffd8 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 31 Oct 2024 09:23:44 -0400 Subject: [PATCH 147/226] chore: misc work-related updates --- home/encrypted_dot_zshklaviyo.age | 96 +++++++++---------- .../private_jj/config.toml.tmpl | 2 +- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index 0d27545..099bb53 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,50 +1,50 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBocStzekFScmJMQWJONENJ -b1REQjIrajZjK0ZhUnczSVQyZVRHQ2hVWm4wCndnSGIrSlpZb0VTaFJ0cWNPZFcw -S2hiQ29pU0MzbkYrUzRBMG1DekxOZWsKLS0tIERLRlNMS01TYmkzZ2hDRGJMa2E1 -blRUdk1sTlgrQnhkUCtHVlBvRFRiaUkKDwwMC5DAvNsBj2oOKAxBJHDFHwQLMQy/ -7z3nWEwV7JnqMwi6GAfuqiwVJXjJLCsoMro2QSvxqGg0EXXs954FDKa6P6ijB2CI -cVK+fe+NA7n5OtxUob5oGUcdUHaXTPpNDQQwxFyAK22XBZWubssnamc5anVHe8th -TmN1FXo8uLFHH2tJgacZisYidRjHdRqTXpM43faAY2e+/9f/YFN4iIPd5BNZBhpJ -dgblOdBs7OOVCgtwPYPs2MyIUoXDDcO4pxGXSd2YWhRRs2d0HPbf6PufEO2B+X2i -oujtJif+iQoFd0kUS0VzrEje6TPM5UypUdzLA2nXpQAeuDcIQsSb6hYlNAoUxNO7 -SOqmYHmRVmNvZseckKamxOgPrQ/fJpJVR/R8fowbN8hGY+7tYq/IcC9iOUtoKiVW -LtI3lFpL4tx4HU6V01ZU+fLrvhyPmCCWHuhD8sXTWZ2mZYSPATbzL17ObICEWgkp -4VGxlOkZesrvLiyfNH/bPwGsHhuaR4FM5fR4mjsg0OBtU7hCl0QT6O6i71XShmrI -9/x2t/WGO02EHvZfOroEO2Kn8Avab3xM8/49z03OJ3dv18RkULim5TzoHJ7XHuOm -BzCeg1L/AQuvCtKQ69E91JeORz3T5n/bLhN1CP+Lq5ksrGqD8l2umEdL0UrKKedj -JM9JwALgzCfAga0d0wouhAFa51NwRbMMu8hayd5BWVVrcHxaumzo5dEx0c4t1epx -PrYnoOQnMAswLn5Q6atIlEHVqRf/mCFK+aqyXWOkpKEPynOW7EBPMGbTcTWsg7n6 -LwTsDP8s/9QuRql7zCuHuK9lVe5qNxnabp520k09lR4vRUkm2EDfK6vmnFTfs09u -CJBjD3GYIV6piuKpRrgGMRqFuvQ+YwCIbNDxUj2hgO4/7oXAjea7Fokc3ChcNqTx -tN0edKEwRMN4OznzuWNs132hlvPzYoB25xw1mWDbHtzQWfuxHqvfVTQSt2gAyS3n -LwqoqfGcFUznRWbl05JD6hgDCRtp3YtfnSxAh4DFlEXyGoBtkyyGFDTlRpuyhkbO -GHdYrY4GWEd/VJbd8yNzenPm1as7iedO/2WRzQpuDssoVW0z6OQ+o+5yqLs9wD65 -nBJ5CEBr4eHlIktowPuwbsy6MTmtoGQ3+DtGlK07+FE1H0zbP7Oj4lA0ealLoapb -roAeRFbs+aB8RWLZrbYb2/Ia9pTQEsxX/fP+6F3O63EgNCM+XPHzAJh2BnrAgugP -Dk6o9GcGY3J2MUKO3wkuoANXk3wLjye8az7f563g6P+NRp+9rSDEI8Lv8j8Jvq1Q -ohByfBVd1SLszVn+1Fo6bHZrHemyCOZfdVFDU5lYoMQod6DRLSRShQJZufHwNq61 -/20fbeR5tLPuUbJxIg8QlyDXDhVeMvVYwKIo5PNSPofFaEbK0HtEbtbOaBz8M8SH -0HYmyTnqXnnZNeKiuu/QSBwgfsgpiX7xpXLaAmsMaf8pbaIWzePZGEfYLQa2MD7q -6Qtyz+io0s9m3HFKY58lx+yrZZq2QCMt5RK2jjc1J7blZBwURrFWhvO+9FcQASD5 -jM1MxS9vp6g4GpPok5LJrNZdsT3McPJar7IFSyIrihQFnFnsfxmsMcuecthBG3Iv -RaczZnMghTMMqm35GKOuwGMwjdGbdVa7Ztjkkc8qDPQ0pHY3qpZUsMBhHAG8HPpn -mnrCR8QnztsJjlfNrmxvQHGmGwd4pEx4++qTcH4GYuIciXdHA+qpG8np2unyt+Ns -4mYwGeIrcJPetU2USS+5G50gjokKZcnCVsGPowE7er3dfeE+F/sUMCdTLDjt3vhQ -HDJOeAQPvAH/RFGuBSd39NshqTSY/7u1Vdo3s5Cm0S2VqmogrT9F/QvhkiVK4I4+ -/xMDvH08FIx19MKpM9vcWMb3QszIo5XS2dtrRStd7af6v9Aa2RboRXXavOZgFdVc -DzwtBedETZRvnDYiwN0HnMCybW3MH1MIYWy7B8RgjzqmYkyk3SHn3Lk5iXKgP+uL -67e1tpOVi+jrm4Kd5tp8A+TWaI/gMrchwF+SsltEkvdSHh92JHVpaHDgzNVG2Ljw -++GF8Rxm3XyZ8a9RcEAMMKObg7Z6uryEpyQ+m+wrhrFGRSbhWsAYY/DBAMGJeXCy -/Ufg/Bi2YgqwTCAkAW2TQeZLMqS2xvme/kri1NpNjQzASdLTm7dabrSel+aBT/vh -17BUN77duKMVZ3TfZE//aZzSixIQH44xMZO5iOSeGb6lxCZqbRJbUhE5vD0Uy+ws -4BmSKcF0CWclWCzjSmgHLE3ZDac2sAS89h4+oH+2URgUkOEqQs448sxIoanEHi1k -3UerrA3CCRdyLlyTJfasmqi2LzQkFWj2ZOWPsQ2APiAK57NDnHdqNzZYRI4PuRoZ -F8WLP7v3FqWELbCmc1CGnYx8ZWUmEt1TNesZz3TGu9vfJR3SixGTVOHRVmdjVOsV -iwUM4mG46NzzLfpNbDPiq9xAL6B7UwD4wjUl517TFZIEOt6xiwzmKfNWyXYvhRyX -n+YHf0TOm7DJI1SGq01jdiQPotfPYAQWyisvlq2VLhvXqqoo/MpxKguB6B4aCL+l -zdMA9nGJn9HEP1UWKKXz2qUTZ2p55TcE4cfVi9yH0IpQA93fsGjVp5N8t23nho40 -VCN8i8b0Wc7/Nh1q4FO2UGc1hSLO356DqRo/Xjo2H8uTu5bqij+l5hQCbAR1Jb0w -WY6hhNTPStMWwZRhxFfwYGChKmdwyY4bO9NjwU0ewih/zHwXM4KS4vuNw+lF9j2d -0V3DglSwWQ82IH1QlSBlOIwT7q0saAJ3xJcZtQ1VAD+TOTC7 +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnc0VIdHNOMi90ZURJYVIz +OEV3N1A2UGZIMUx0QWVZeklZK2NGdnh1eEhBCldEeVM4L3RybURERWFCQnMrUHJM +WlFmb0Fwa3MvZzh1N2Z4ZXNsYy9iNlEKLS0tIGV5OTZLdFNPYWRPVGxwbVU1b2xs +S0ZROTRDeE9xazEvUDZLbHJWRnAzT28KTlGHRcCRxLbpNDBwtoc/hBCp5LnHtgb3 ++DC/wBi6wsdgbpCkNwQufTFqqVjoLVMn4KjMunYvEytgx1scYtwk4ShcvRZpeld0 +MZ6r9anRnk9brGPzg++dhHdBN0fX/qrMZlDlcn/+mpYzJXYgkZUnQBSt4gJgj79k +QQbWUnV01vd7v8YWvzW/Si2mDHXuc+3gf6v1Uk86aIP1TxDyHy+VAUcxeQo3BDwv +pOgc7NqX4LiwphrjXxsplZ6eN/uTAdNkHGzgBqUSPdwLmwBmZGWjImGH68wzDhq4 +2PNE9nVutECNSQRGBUDHU7cYmJ7WnRJNeQD917LO7Y6PMzed70k4UxyBbGbVuvsq +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 -----END AGE ENCRYPTED FILE----- diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl index 5b3d37b..1d7ee2c 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -3,7 +3,7 @@ name = {{ .name | quote }} email = {{ .email | quote }} [git] -push-bookmark-prefix = "202410_{{ .github }}_jj_" +push-bookmark-prefix = "202411_{{ .github }}_jj_" private-commits = "description(glob:'private:*')" [revset-aliases] From 2af78f2234222383eee4269b40ed96c14b36716b Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 31 Oct 2024 09:23:44 -0400 Subject: [PATCH 148/226] feat: jj tab-complete --- home/dot_zshrc.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index a652122..be1d365 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -111,6 +111,7 @@ BASE16_SHELL="$HOME/.config/base16-shell/" eval "$(/opt/homebrew/bin/brew shellenv)" {{ end }} eval "$(direnv hook zsh)" +eval "$(jj util completion zsh)" function reldate() { date -v "${1}" "+%Y-%m-%d" From b3b352dd644779dcb51ec9e5853f1361333eb7f3 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 31 Oct 2024 09:23:44 -0400 Subject: [PATCH 149/226] feat: split view with tasks when loading zk daily --- home/dot_zshrc.tmpl | 4 ++++ home/private_dot_config/zk/config.toml | 3 +++ 2 files changed, 7 insertions(+) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index be1d365..4938948 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -116,3 +116,7 @@ eval "$(jj util completion zsh)" function reldate() { date -v "${1}" "+%Y-%m-%d" } + +function _zkhx() { + hx --hsplit tasks.xit ${1} +} diff --git a/home/private_dot_config/zk/config.toml b/home/private_dot_config/zk/config.toml index f627666..d29c280 100644 --- a/home/private_dot_config/zk/config.toml +++ b/home/private_dot_config/zk/config.toml @@ -30,3 +30,6 @@ sync = 'jj git fetch && jj git push' log = 'jj log -r ".."' diff = 'jj diff' daily = 'zk new --no-input "$ZK_NOTEBOOK_DIR/journal/daily"' + +[tool] +editor = "hx --hsplit journal/tasks.xit" From ae4ca58450c8591efbbd0c4fd262bf9c9e918a34 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 4 Nov 2024 06:09:51 -0500 Subject: [PATCH 150/226] feat: base16->catppuccin this is an experiment. ive been using base16_ashes since ~2012 --- home/.chezmoiexternal.toml.tmpl | 5 - home/dot_zshrc.tmpl | 8 +- home/private_dot_config/helix/config.toml | 2 +- home/private_dot_config/kitty/kitty.conf.tmpl | 2558 +---------------- 4 files changed, 72 insertions(+), 2501 deletions(-) diff --git a/home/.chezmoiexternal.toml.tmpl b/home/.chezmoiexternal.toml.tmpl index 2e21176..dbf289c 100644 --- a/home/.chezmoiexternal.toml.tmpl +++ b/home/.chezmoiexternal.toml.tmpl @@ -3,11 +3,6 @@ type = "git-repo" url = "https://github.com/kolunmi/ttyscheme.git" refreshPeriod = "168h" -{{- else }} -[".config/base16-shell"] - type = "git-repo" - url = "https://github.com/chriskempson/base16-shell.git" - refreshPeriod = "168h" {{- end }} [".config/zellij/plugins/room.wasm"] type = "file" diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 4938948..758a942 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -99,13 +99,7 @@ function brightness_min { } # ttyscheme -{{- else }} -BASE16_SHELL="$HOME/.config/base16-shell/" -[ -n "$PS1" ] && \ - [ -s "$BASE16_SHELL/profile_helper.sh" ] && \ - source "$BASE16_SHELL/profile_helper.sh" - -{{- end }} +{{- end -}} {{ if eq .hosttype "work" -}} eval "$(/opt/homebrew/bin/brew shellenv)" diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 47e0367..a671703 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -1,4 +1,4 @@ -theme = "base16_default" +theme = "catppuccin_mocha" [editor] true-color = true diff --git a/home/private_dot_config/kitty/kitty.conf.tmpl b/home/private_dot_config/kitty/kitty.conf.tmpl index 1a804d9..87b842a 100644 --- a/home/private_dot_config/kitty/kitty.conf.tmpl +++ b/home/private_dot_config/kitty/kitty.conf.tmpl @@ -1,2494 +1,76 @@ -# vim:fileencoding=utf-8:foldmethod=marker - -#: Fonts - -#: kitty has very powerful font management. You can configure -#: individual font faces and even specify special fonts for particular -#: characters. - -{{ if eq .hosttype "work" -}} font_family Iosevka Term Extralight -{{- else -}} -font_family Iosevka Term -{{- end }} -# bold_font auto -# italic_font auto -# bold_italic_font auto - -#: You can specify different fonts for the bold/italic/bold-italic -#: variants. To get a full list of supported fonts use the `kitty -#: +list-fonts` command. By default they are derived automatically, by -#: the OSes font system. When bold_font or bold_italic_font is set to -#: auto on macOS, the priority of bold fonts is semi-bold, bold, -#: heavy. Setting them manually is useful for font families that have -#: many weight variants like Book, Medium, Thick, etc. For example:: - -#: font_family Operator Mono Book -#: bold_font Operator Mono Medium -#: italic_font Operator Mono Book Italic -#: bold_italic_font Operator Mono Medium Italic - -{{ if eq .hosttype "work" -}} font_size 14.0 -{{- else -}} -font_size 15.0 -{{- end }} - -#: Font size (in pts). - -# force_ltr no - -#: kitty does not support BIDI (bidirectional text), however, for RTL -#: scripts, words are automatically displayed in RTL. That is to say, -#: in an RTL script, the words "HELLO WORLD" display in kitty as -#: "WORLD HELLO", and if you try to select a substring of an RTL- -#: shaped string, you will get the character that would be there had -#: the string been LTR. For example, assuming the Hebrew word ירושלים, -#: selecting the character that on the screen appears to be ם actually -#: writes into the selection buffer the character י. kitty's default -#: behavior is useful in conjunction with a filter to reverse the word -#: order, however, if you wish to manipulate RTL glyphs, it can be -#: very challenging to work with, so this option is provided to turn -#: it off. Furthermore, this option can be used with the command line -#: program GNU FriBidi -#: to get BIDI support, because it will force kitty to always treat -#: the text as LTR, which FriBidi expects for terminals. - -# symbol_map - -#: E.g. symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols - -#: Map the specified Unicode codepoints to a particular font. Useful -#: if you need special rendering for some symbols, such as for -#: Powerline. Avoids the need for patched fonts. Each Unicode code -#: point is specified in the form `U+`. You -#: can specify multiple code points, separated by commas and ranges -#: separated by hyphens. This option can be specified multiple times. -#: The syntax is:: - -#: symbol_map codepoints Font Family Name - -# narrow_symbols - -#: E.g. narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1 - -#: Usually, for Private Use Unicode characters and some symbol/dingbat -#: characters, if the character is followed by one or more spaces, -#: kitty will use those extra cells to render the character larger, if -#: the character in the font has a wide aspect ratio. Using this -#: option you can force kitty to restrict the specified code points to -#: render in the specified number of cells (defaulting to one cell). -#: This option can be specified multiple times. The syntax is:: - -#: narrow_symbols codepoints [optionally the number of cells] - -# disable_ligatures never - -#: Choose how you want to handle multi-character ligatures. The -#: default is to always render them. You can tell kitty to not render -#: them when the cursor is over them by using cursor to make editing -#: easier, or have kitty never render them at all by using always, if -#: you don't like them. The ligature strategy can be set per-window -#: either using the kitty remote control facility or by defining -#: shortcuts for it in kitty.conf, for example:: - -#: map alt+1 disable_ligatures_in active always -#: map alt+2 disable_ligatures_in all never -#: map alt+3 disable_ligatures_in tab cursor - -#: Note that this refers to programming ligatures, typically -#: implemented using the calt OpenType feature. For disabling general -#: ligatures, use the font_features option. - -# font_features - -#: E.g. font_features none - -#: Choose exactly which OpenType features to enable or disable. This -#: is useful as some fonts might have features worthwhile in a -#: terminal. For example, Fira Code includes a discretionary feature, -#: zero, which in that font changes the appearance of the zero (0), to -#: make it more easily distinguishable from Ø. Fira Code also includes -#: other discretionary features known as Stylistic Sets which have the -#: tags ss01 through ss20. - -#: For the exact syntax to use for individual features, see the -#: HarfBuzz documentation . - -#: Note that this code is indexed by PostScript name, and not the font -#: family. This allows you to define very precise feature settings; -#: e.g. you can disable a feature in the italic font but not in the -#: regular font. - -#: On Linux, font features are first read from the FontConfig database -#: and then this option is applied, so they can be configured in a -#: single, central place. - -#: To get the PostScript name for a font, use `kitty +list-fonts -#: --psnames`: - -#: .. code-block:: sh - -#: $ kitty +list-fonts --psnames | grep Fira -#: Fira Code -#: Fira Code Bold (FiraCode-Bold) -#: Fira Code Light (FiraCode-Light) -#: Fira Code Medium (FiraCode-Medium) -#: Fira Code Regular (FiraCode-Regular) -#: Fira Code Retina (FiraCode-Retina) - -#: The part in brackets is the PostScript name. - -#: Enable alternate zero and oldstyle numerals:: - -#: font_features FiraCode-Retina +zero +onum - -#: Enable only alternate zero in the bold font:: - -#: font_features FiraCode-Bold +zero - -#: Disable the normal ligatures, but keep the calt feature which (in -#: this font) breaks up monotony:: - -#: font_features TT2020StyleB-Regular -liga +calt - -#: In conjunction with force_ltr, you may want to disable Arabic -#: shaping entirely, and only look at their isolated forms if they -#: show up in a document. You can do this with e.g.:: - -#: font_features UnifontMedium +isol -medi -fina -init - -# modify_font - -#: Modify font characteristics such as the position or thickness of -#: the underline and strikethrough. The modifications can have the -#: suffix px for pixels or % for percentage of original value. No -#: suffix means use pts. For example:: - -#: modify_font underline_position -2 -#: modify_font underline_thickness 150% -#: modify_font strikethrough_position 2px - -#: Additionally, you can modify the size of the cell in which each -#: font glyph is rendered and the baseline at which the glyph is -#: placed in the cell. For example:: - -#: modify_font cell_width 80% -#: modify_font cell_height -2px -#: modify_font baseline 3 - -#: Note that modifying the baseline will automatically adjust the -#: underline and strikethrough positions by the same amount. -#: Increasing the baseline raises glyphs inside the cell and -#: decreasing it lowers them. Decreasing the cell size might cause -#: rendering artifacts, so use with care. - -# box_drawing_scale 0.001, 1, 1.5, 2 - -#: The sizes of the lines used for the box drawing Unicode characters. -#: These values are in pts. They will be scaled by the monitor DPI to -#: arrive at a pixel value. There must be four values corresponding to -#: thin, normal, thick, and very thick lines. - -# undercurl_style thin-sparse - -#: The style with which undercurls are rendered. This option takes the -#: form (thin|thick)-(sparse|dense). Thin and thick control the -#: thickness of the undercurl. Sparse and dense control how often the -#: curl oscillates. With sparse the curl will peak once per character, -#: with dense twice. - -# text_composition_strategy platform - -#: Control how kitty composites text glyphs onto the background color. -#: The default value of platform tries for text rendering as close to -#: "native" for the platform kitty is running on as possible. - -#: A value of legacy uses the old (pre kitty 0.28) strategy for how -#: glyphs are composited. This will make dark text on light -#: backgrounds look thicker and light text on dark backgrounds -#: thinner. It might also make some text appear like the strokes are -#: uneven. - -#: You can fine tune the actual contrast curve used for glyph -#: composition by specifying up to two space-separated numbers for -#: this setting. - -#: The first number is the gamma adjustment, which controls the -#: thickness of dark text on light backgrounds. Increasing the value -#: will make text appear thicker. The default value for this is 1.0 on -#: Linux and 1.7 on macOS. Valid values are 0.01 and above. The result -#: is scaled based on the luminance difference between the background -#: and the foreground. Dark text on light backgrounds receives the -#: full impact of the curve while light text on dark backgrounds is -#: affected very little. - -#: The second number is an additional multiplicative contrast. It is -#: percentage ranging from 0 to 100. The default value is 0 on Linux -#: and 30 on macOS. - -#: If you wish to achieve similar looking thickness in light and dark -#: themes, a good way to experiment is start by setting the value to -#: 1.0 0 and use a dark theme. Then adjust the second parameter until -#: it looks good. Then switch to a light theme and adjust the first -#: parameter until the perceived thickness matches the dark theme. - -# text_fg_override_threshold 0 - -#: The minimum accepted difference in luminance between the foreground -#: and background color, below which kitty will override the -#: foreground color. It is percentage ranging from 0 to 100. If the -#: difference in luminance of the foreground and background is below -#: this threshold, the foreground color will be set to white if the -#: background is dark or black if the background is light. The default -#: value is 0, which means no overriding is performed. Useful when -#: working with applications that use colors that do not contrast well -#: with your preferred color scheme. - -#: WARNING: Some programs use characters (such as block characters) -#: for graphics display and may expect to be able to set the -#: foreground and background to the same color (or similar colors). -#: If you see unexpected stripes, dots, lines, incorrect color, no -#: color where you expect color, or any kind of graphic display -#: problem try setting text_fg_override_threshold to 0 to see if this -#: is the cause of the problem. - -#: Cursor customization - -# cursor #cccccc - -#: Default cursor color. If set to the special value none the cursor -#: will be rendered with a "reverse video" effect. Its color will be -#: the color of the text in the cell it is over and the text will be -#: rendered with the background color of the cell. Note that if the -#: program running in the terminal sets a cursor color, this takes -#: precedence. Also, the cursor colors are modified if the cell -#: background and foreground colors have very low contrast. Note that -#: some themes set this value, so if you want to override it, place -#: your value after the lines where the theme file is included. - -# cursor_text_color #111111 - -#: The color of text under the cursor. If you want it rendered with -#: the background color of the cell underneath instead, use the -#: special keyword: `background`. Note that if cursor is set to none -#: then this option is ignored. Note that some themes set this value, -#: so if you want to override it, place your value after the lines -#: where the theme file is included. - -# cursor_shape block - -#: The cursor shape can be one of block, beam, underline. Note that -#: when reloading the config this will be changed only if the cursor -#: shape has not been set by the program running in the terminal. This -#: sets the default cursor shape, applications running in the terminal -#: can override it. In particular, shell integration -#: in kitty sets -#: the cursor shape to beam at shell prompts. You can avoid this by -#: setting shell_integration to no-cursor. - -# cursor_shape_unfocused hollow - -#: Defines the text cursor shape when the OS window is not focused. -#: The unfocused cursor shape can be one of block, beam, underline, -#: hollow. - -# cursor_beam_thickness 1.5 - -#: The thickness of the beam cursor (in pts). - -# cursor_underline_thickness 2.0 - -#: The thickness of the underline cursor (in pts). - -# cursor_blink_interval -1 - -#: The interval to blink the cursor (in seconds). Set to zero to -#: disable blinking. Negative values mean use system default. Note -#: that the minimum interval will be limited to repaint_delay. - -# cursor_stop_blinking_after 15.0 - -#: Stop blinking cursor after the specified number of seconds of -#: keyboard inactivity. Set to zero to never stop blinking. - -#: Scrollback - -# scrollback_lines 2000 - -#: Number of lines of history to keep in memory for scrolling back. -#: Memory is allocated on demand. Negative numbers are (effectively) -#: infinite scrollback. Note that using very large scrollback is not -#: recommended as it can slow down performance of the terminal and -#: also use large amounts of RAM. Instead, consider using -#: scrollback_pager_history_size. Note that on config reload if this -#: is changed it will only affect newly created windows, not existing -#: ones. - -# scrollback_indicator_opacity 1.0 - -#: The opacity of the scrollback indicator which is a small colored -#: rectangle that moves along the right hand side of the window as you -#: scroll, indicating what fraction you have scrolled. The default is -#: one which means fully opaque, aka visible. Set to a value between -#: zero and one to make the indicator less visible. - -# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER - -#: Program with which to view scrollback in a new window. The -#: scrollback buffer is passed as STDIN to this program. If you change -#: it, make sure the program you use can handle ANSI escape sequences -#: for colors and text formatting. INPUT_LINE_NUMBER in the command -#: line above will be replaced by an integer representing which line -#: should be at the top of the screen. Similarly CURSOR_LINE and -#: CURSOR_COLUMN will be replaced by the current cursor position or -#: set to 0 if there is no cursor, for example, when showing the last -#: command output. - -# scrollback_pager_history_size 0 - -#: Separate scrollback history size (in MB), used only for browsing -#: the scrollback buffer with pager. This separate buffer is not -#: available for interactive scrolling but will be piped to the pager -#: program when viewing scrollback buffer in a separate window. The -#: current implementation stores the data in UTF-8, so approximately -#: 10000 lines per megabyte at 100 chars per line, for pure ASCII, -#: unformatted text. A value of zero or less disables this feature. -#: The maximum allowed size is 4GB. Note that on config reload if this -#: is changed it will only affect newly created windows, not existing -#: ones. - -# scrollback_fill_enlarged_window no - -#: Fill new space with lines from the scrollback buffer after -#: enlarging a window. - -# wheel_scroll_multiplier 5.0 - -#: Multiplier for the number of lines scrolled by the mouse wheel. -#: Note that this is only used for low precision scrolling devices, -#: not for high precision scrolling devices on platforms such as macOS -#: and Wayland. Use negative numbers to change scroll direction. See -#: also wheel_scroll_min_lines. - -# wheel_scroll_min_lines 1 - -#: The minimum number of lines scrolled by the mouse wheel. The scroll -#: multiplier wheel_scroll_multiplier only takes effect after it -#: reaches this number. Note that this is only used for low precision -#: scrolling devices like wheel mice that scroll by very small amounts -#: when using the wheel. With a negative number, the minimum number of -#: lines will always be added. - -# touch_scroll_multiplier 1.0 - -#: Multiplier for the number of lines scrolled by a touchpad. Note -#: that this is only used for high precision scrolling devices on -#: platforms such as macOS and Wayland. Use negative numbers to change -#: scroll direction. - -#: Mouse - -# mouse_hide_wait 3.0 - -#: Hide mouse cursor after the specified number of seconds of the -#: mouse not being used. Set to zero to disable mouse cursor hiding. -#: Set to a negative value to hide the mouse cursor immediately when -#: typing text. Disabled by default on macOS as getting it to work -#: robustly with the ever-changing sea of bugs that is Cocoa is too -#: much effort. - -# url_color #0087bd -# url_style curly - -#: The color and style for highlighting URLs on mouse-over. url_style -#: can be one of: none, straight, double, curly, dotted, dashed. - -# open_url_with default - -#: The program to open clicked URLs. The special value default will -#: first look for any URL handlers defined via the open_actions -#: facility and if non -#: are found, it will use the Operating System's default URL handler -#: (open on macOS and xdg-open on Linux). - -# url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh - -#: The set of URL prefixes to look for when detecting a URL under the -#: mouse cursor. - -# detect_urls yes - -#: Detect URLs under the mouse. Detected URLs are highlighted with an -#: underline and the mouse cursor becomes a hand over them. Even if -#: this option is disabled, URLs are still clickable. See also the -#: underline_hyperlinks option to control how hyperlinks (as opposed -#: to plain text URLs) are displayed. - -# url_excluded_characters - -#: Additional characters to be disallowed from URLs, when detecting -#: URLs under the mouse cursor. By default, all characters that are -#: legal in URLs are allowed. Additionally, newlines are allowed (but -#: stripped). This is to accommodate programs such as mutt that add -#: hard line breaks even for continued lines. \n can be added to this -#: option to disable this behavior. Special characters can be -#: specified using backslash escapes, to specify a backslash use a -#: double backslash. - -# show_hyperlink_targets no - -#: When the mouse hovers over a terminal hyperlink, show the actual -#: URL that will be activated when the hyperlink is clicked. - -# underline_hyperlinks hover - -#: Control how hyperlinks are underlined. They can either be -#: underlined on mouse hover, always (i.e. permanently underlined) or -#: never which means that kitty will not apply any underline styling -#: to hyperlinks. Uses the url_style and url_color settings for the -#: underline style. Note that reloading the config and changing this -#: value to/from always will only affect text subsequently received by -#: kitty. - -# copy_on_select no - -#: Copy to clipboard or a private buffer on select. With this set to -#: clipboard, selecting text with the mouse will cause the text to be -#: copied to clipboard. Useful on platforms such as macOS that do not -#: have the concept of primary selection. You can instead specify a -#: name such as a1 to copy to a private kitty buffer. Map a shortcut -#: with the paste_from_buffer action to paste from this private -#: buffer. For example:: - -#: copy_on_select a1 -#: map shift+cmd+v paste_from_buffer a1 - -#: Note that copying to the clipboard is a security risk, as all -#: programs, including websites open in your browser can read the -#: contents of the system clipboard. - -# paste_actions quote-urls-at-prompt,confirm - -#: A comma separated list of actions to take when pasting text into -#: the terminal. The supported paste actions are: - -#: quote-urls-at-prompt: -#: If the text being pasted is a URL and the cursor is at a shell prompt, -#: automatically quote the URL (needs shell_integration). -#: replace-dangerous-control-codes -#: Replace dangerous control codes from pasted text, without confirmation. -#: replace-newline -#: Replace the newline character from pasted text, without confirmation. -#: confirm: -#: Confirm the paste if the text to be pasted contains any terminal control codes -#: as this can be dangerous, leading to code execution if the shell/program running -#: in the terminal does not properly handle these. -#: confirm-if-large -#: Confirm the paste if it is very large (larger than 16KB) as pasting -#: large amounts of text into shells can be very slow. -#: filter: -#: Run the filter_paste() function from the file paste-actions.py in -#: the kitty config directory on the pasted text. The text returned by the -#: function will be actually pasted. -#: no-op: -#: Has no effect. - -# strip_trailing_spaces never - -#: Remove spaces at the end of lines when copying to clipboard. A -#: value of smart will do it when using normal selections, but not -#: rectangle selections. A value of always will always do it. - -# select_by_word_characters @-./_~?&=%+# - -#: Characters considered part of a word when double clicking. In -#: addition to these characters any character that is marked as an -#: alphanumeric character in the Unicode database will be matched. - -# select_by_word_characters_forward - -#: Characters considered part of a word when extending the selection -#: forward on double clicking. In addition to these characters any -#: character that is marked as an alphanumeric character in the -#: Unicode database will be matched. - -#: If empty (default) select_by_word_characters will be used for both -#: directions. - -# click_interval -1.0 - -#: The interval between successive clicks to detect double/triple -#: clicks (in seconds). Negative numbers will use the system default -#: instead, if available, or fallback to 0.5. - -# focus_follows_mouse no - -#: Set the active window to the window under the mouse when moving the -#: mouse around. On macOS, this will also cause the OS Window under -#: the mouse to be focused automatically when the mouse enters it. - -# pointer_shape_when_grabbed arrow - -#: The shape of the mouse pointer when the program running in the -#: terminal grabs the mouse. - -# default_pointer_shape beam - -#: The default shape of the mouse pointer. - -# pointer_shape_when_dragging beam - -#: The default shape of the mouse pointer when dragging across text. - -#: Mouse actions - -#: Mouse buttons can be mapped to perform arbitrary actions. The -#: syntax is: - -#: .. code-block:: none - -#: mouse_map button-name event-type modes action - -#: Where button-name is one of left, middle, right, b1 ... b8 with -#: added keyboard modifiers. For example: ctrl+shift+left refers to -#: holding the Ctrl+Shift keys while clicking with the left mouse -#: button. The value b1 ... b8 can be used to refer to up to eight -#: buttons on a mouse. - -#: event-type is one of press, release, doublepress, triplepress, -#: click, doubleclick. modes indicates whether the action is performed -#: when the mouse is grabbed by the program running in the terminal, -#: or not. The values are grabbed or ungrabbed or a comma separated -#: combination of them. grabbed refers to when the program running in -#: the terminal has requested mouse events. Note that the click and -#: double click events have a delay of click_interval to disambiguate -#: from double and triple presses. - -#: You can run kitty with the kitty --debug-input command line option -#: to see mouse events. See the builtin actions below to get a sense -#: of what is possible. - -#: If you want to unmap a button, map it to nothing. For example, to -#: disable opening of URLs with a plain click:: - -#: mouse_map left click ungrabbed - -#: See all the mappable actions including mouse actions here -#: . - -#: .. note:: -#: Once a selection is started, releasing the button that started it will -#: automatically end it and no release event will be dispatched. - -# clear_all_mouse_actions no - -#: Remove all mouse action definitions up to this point. Useful, for -#: instance, to remove the default mouse actions. - -#: Click the link under the mouse or move the cursor - -# mouse_map left click ungrabbed mouse_handle_click selection link prompt - -#:: First check for a selection and if one exists do nothing. Then -#:: check for a link under the mouse cursor and if one exists, click -#:: it. Finally check if the click happened at the current shell -#:: prompt and if so, move the cursor to the click location. Note -#:: that this requires shell integration -#:: to work. - -#: Click the link under the mouse or move the cursor even when grabbed - -# mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt - -#:: Same as above, except that the action is performed even when the -#:: mouse is grabbed by the program running in the terminal. - -#: Click the link under the mouse cursor - -# mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link - -#:: Variant with Ctrl+Shift is present because the simple click based -#:: version has an unavoidable delay of click_interval, to -#:: disambiguate clicks from double clicks. - -#: Discard press event for link click - -# mouse_map ctrl+shift+left press grabbed discard_event - -#:: Prevent this press event from being sent to the program that has -#:: grabbed the mouse, as the corresponding release event is used to -#:: open a URL. - -#: Paste from the primary selection - -# mouse_map middle release ungrabbed paste_from_selection - -#: Start selecting text - -# mouse_map left press ungrabbed mouse_selection normal - -#: Start selecting text in a rectangle - -# mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle - -#: Select a word - -# mouse_map left doublepress ungrabbed mouse_selection word - -#: Select a line - -# mouse_map left triplepress ungrabbed mouse_selection line - -#: Select line from point - -# mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point - -#:: Select from the clicked point to the end of the line. If you -#:: would like to select the word at the point and then extend to the -#:: rest of the line, change `line_from_point` to -#:: `word_and_line_from_point`. - -#: Extend the current selection - -# mouse_map right press ungrabbed mouse_selection extend - -#:: If you want only the end of the selection to be moved instead of -#:: the nearest boundary, use move-end instead of extend. - -#: Paste from the primary selection even when grabbed - -# mouse_map shift+middle release ungrabbed,grabbed paste_selection -# mouse_map shift+middle press grabbed discard_event - -#: Start selecting text even when grabbed - -# mouse_map shift+left press ungrabbed,grabbed mouse_selection normal - -#: Start selecting text in a rectangle even when grabbed - -# mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle - -#: Select a word even when grabbed - -# mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word - -#: Select a line even when grabbed - -# mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line - -#: Select line from point even when grabbed - -# mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point - -#:: Select from the clicked point to the end of the line even when -#:: grabbed. If you would like to select the word at the point and -#:: then extend to the rest of the line, change `line_from_point` to -#:: `word_and_line_from_point`. - -#: Extend the current selection even when grabbed - -# mouse_map shift+right press ungrabbed,grabbed mouse_selection extend - -#: Show clicked command output in pager - -# mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output - -#:: Requires shell integration -#:: to work. - -#: Performance tuning - -# repaint_delay 10 - -#: Delay between screen updates (in milliseconds). Decreasing it, -#: increases frames-per-second (FPS) at the cost of more CPU usage. -#: The default value yields ~100 FPS which is more than sufficient for -#: most uses. Note that to actually achieve 100 FPS, you have to -#: either set sync_to_monitor to no or use a monitor with a high -#: refresh rate. Also, to minimize latency when there is pending input -#: to be processed, this option is ignored. - -# input_delay 3 - -#: Delay before input from the program running in the terminal is -#: processed (in milliseconds). Note that decreasing it will increase -#: responsiveness, but also increase CPU usage and might cause flicker -#: in full screen programs that redraw the entire screen on each loop, -#: because kitty is so fast that partial screen updates will be drawn. -#: This setting is ignored when the input buffer is almost full. - -# sync_to_monitor yes - -#: Sync screen updates to the refresh rate of the monitor. This -#: prevents screen tearing -#: when scrolling. -#: However, it limits the rendering speed to the refresh rate of your -#: monitor. With a very high speed mouse/high keyboard repeat rate, -#: you may notice some slight input latency. If so, set this to no. - -#: Terminal bell - -# enable_audio_bell yes - -#: The audio bell. Useful to disable it in environments that require -#: silence. - -# visual_bell_duration 0.0 - -#: The visual bell duration (in seconds). Flash the screen when a bell -#: occurs for the specified number of seconds. Set to zero to disable. - -# visual_bell_color none - -#: The color used by visual bell. Set to none will fall back to -#: selection background color. If you feel that the visual bell is too -#: bright, you can set it to a darker color. - -# window_alert_on_bell yes - -#: Request window attention on bell. Makes the dock icon bounce on -#: macOS or the taskbar flash on Linux. - -# bell_on_tab "🔔 " - -#: Some text or a Unicode symbol to show on the tab if a window in the -#: tab that does not have focus has a bell. If you want to use leading -#: or trailing spaces, surround the text with quotes. See -#: tab_title_template for how this is rendered. - -#: For backwards compatibility, values of yes, y and true are -#: converted to the default bell symbol and no, n, false and none are -#: converted to the empty string. - -# command_on_bell none - -#: Program to run when a bell occurs. The environment variable -#: KITTY_CHILD_CMDLINE can be used to get the program running in the -#: window in which the bell occurred. - -# bell_path none - -#: Path to a sound file to play as the bell sound. If set to none, the -#: system default bell sound is used. Must be in a format supported by -#: the operating systems sound API, such as WAV or OGA on Linux -#: (libcanberra) or AIFF, MP3 or WAV on macOS (NSSound). - -# linux_bell_theme __custom - -#: The XDG Sound Theme kitty will use to play the bell sound. Defaults -#: to the custom theme name used by GNOME and Budgie, falling back to -#: the default freedesktop theme if it does not exist. This option may -#: be removed if Linux ever provides desktop-agnostic support for -#: setting system sound themes. - -#: Window layout - -# remember_window_size yes -# initial_window_width 640 -# initial_window_height 400 - -#: If enabled, the OS Window size will be remembered so that new -#: instances of kitty will have the same size as the previous -#: instance. If disabled, the OS Window will initially have size -#: configured by initial_window_width/height, in pixels. You can use a -#: suffix of "c" on the width/height values to have them interpreted -#: as number of cells instead of pixels. - -# enabled_layouts * - -#: The enabled window layouts. A comma separated list of layout names. -#: The special value all means all layouts. The first listed layout -#: will be used as the startup layout. Default configuration is all -#: layouts in alphabetical order. For a list of available layouts, see -#: the layouts . - -# window_resize_step_cells 2 -# window_resize_step_lines 2 - -#: The step size (in units of cell width/cell height) to use when -#: resizing kitty windows in a layout with the shortcut -#: start_resizing_window. The cells value is used for horizontal -#: resizing, and the lines value is used for vertical resizing. - -# window_border_width 0.5pt - -#: The width of window borders. Can be either in pixels (px) or pts -#: (pt). Values in pts will be rounded to the nearest number of pixels -#: based on screen resolution. If not specified, the unit is assumed -#: to be pts. Note that borders are displayed only when more than one -#: window is visible. They are meant to separate multiple windows. - -# draw_minimal_borders yes - -#: Draw only the minimum borders needed. This means that only the -#: borders that separate the window from a neighbor are drawn. Note -#: that setting a non-zero window_margin_width overrides this and -#: causes all borders to be drawn. - -# window_margin_width 0 - -#: The window margin (in pts) (blank area outside the border). A -#: single value sets all four sides. Two values set the vertical and -#: horizontal sides. Three values set top, horizontal and bottom. Four -#: values set top, right, bottom and left. - -# single_window_margin_width -1 - -#: The window margin to use when only a single window is visible (in -#: pts). Negative values will cause the value of window_margin_width -#: to be used instead. A single value sets all four sides. Two values -#: set the vertical and horizontal sides. Three values set top, -#: horizontal and bottom. Four values set top, right, bottom and left. - -# window_padding_width 0 - -#: The window padding (in pts) (blank area between the text and the -#: window border). A single value sets all four sides. Two values set -#: the vertical and horizontal sides. Three values set top, horizontal -#: and bottom. Four values set top, right, bottom and left. - -# single_window_padding_width -1 - -#: The window padding to use when only a single window is visible (in -#: pts). Negative values will cause the value of window_padding_width -#: to be used instead. A single value sets all four sides. Two values -#: set the vertical and horizontal sides. Three values set top, -#: horizontal and bottom. Four values set top, right, bottom and left. - -# placement_strategy center - -#: When the window size is not an exact multiple of the cell size, the -#: cell area of the terminal window will have some extra padding on -#: the sides. You can control how that padding is distributed with -#: this option. Using a value of center means the cell area will be -#: placed centrally. A value of top-left means the padding will be -#: only at the bottom and right edges. The value can be one of: top- -#: left, top, top-right, left, center, right, bottom-left, bottom, -#: bottom-right. - -# active_border_color #00ff00 - -#: The color for the border of the active window. Set this to none to -#: not draw borders around the active window. - -# inactive_border_color #cccccc - -#: The color for the border of inactive windows. - -# bell_border_color #ff5a00 - -#: The color for the border of inactive windows in which a bell has -#: occurred. - -# inactive_text_alpha 1.0 - -#: Fade the text in inactive windows by the specified amount (a number -#: between zero and one, with zero being fully faded). - -# hide_window_decorations no - -#: Hide the window decorations (title-bar and window borders) with -#: yes. On macOS, titlebar-only and titlebar-and-corners can be used -#: to only hide the titlebar and the rounded corners. Whether this -#: works and exactly what effect it has depends on the window -#: manager/operating system. Note that the effects of changing this -#: option when reloading config are undefined. When using titlebar- -#: only, it is useful to also set window_margin_width and -#: placement_strategy to prevent the rounded corners from clipping -#: text. Or use titlebar-and-corners. - -# window_logo_path none - -#: Path to a logo image. Must be in PNG format. Relative paths are -#: interpreted relative to the kitty config directory. The logo is -#: displayed in a corner of every kitty window. The position is -#: controlled by window_logo_position. Individual windows can be -#: configured to have different logos either using the launch action -#: or the remote control facility. - -# window_logo_position bottom-right - -#: Where to position the window logo in the window. The value can be -#: one of: top-left, top, top-right, left, center, right, bottom-left, -#: bottom, bottom-right. - -# window_logo_alpha 0.5 - -#: The amount the logo should be faded into the background. With zero -#: being fully faded and one being fully opaque. - -# window_logo_scale 0 - -#: The percentage (0-100] of the window size to which the logo should -#: scale. Using a single number means the logo is scaled to that -#: percentage of the shortest window dimension, while preseving aspect -#: ratio of the logo image. - -#: Using two numbers means the width and height of the logo are scaled -#: to the respective percentage of the window's width and height. - -#: Using zero as the percentage disables scaling in that dimension. A -#: single zero (the default) disables all scaling of the window logo. - -# resize_debounce_time 0.1 0.5 - -#: The time to wait (in seconds) before asking the program running in -#: kitty to resize and redraw the screen during a live resize of the -#: OS window, when no new resize events have been received, i.e. when -#: resizing is either paused or finished. On platforms such as macOS, -#: where the operating system sends events corresponding to the start -#: and end of a live resize, the second number is used for redraw- -#: after-pause since kitty can distinguish between a pause and end of -#: resizing. On such systems the first number is ignored and redraw is -#: immediate after end of resize. On other systems only the first -#: number is used so that kitty is "ready" quickly after the end of -#: resizing, while not also continuously redrawing, to save energy. - -# resize_in_steps no - -#: Resize the OS window in steps as large as the cells, instead of -#: with the usual pixel accuracy. Combined with initial_window_width -#: and initial_window_height in number of cells, this option can be -#: used to keep the margins as small as possible when resizing the OS -#: window. Note that this does not currently work on Wayland. - -# visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ - -#: The list of characters for visual window selection. For example, -#: for selecting a window to focus on with focus_visible_window. The -#: value should be a series of unique numbers or alphabets, case -#: insensitive, from the set 0-9A-Z\-=[];',./\\`. Specify your -#: preference as a string of characters. - -# confirm_os_window_close -1 - -#: Ask for confirmation when closing an OS window or a tab with at -#: least this number of kitty windows in it by window manager (e.g. -#: clicking the window close button or pressing the operating system -#: shortcut to close windows) or by the close_tab action. A value of -#: zero disables confirmation. This confirmation also applies to -#: requests to quit the entire application (all OS windows, via the -#: quit action). Negative values are converted to positive ones, -#: however, with shell_integration enabled, using negative values -#: means windows sitting at a shell prompt are not counted, only -#: windows where some command is currently running. Note that if you -#: want confirmation when closing individual windows, you can map the -#: close_window_with_confirmation action. - -#: Tab bar - -# tab_bar_edge bottom - -#: The edge to show the tab bar on, top or bottom. - -# tab_bar_margin_width 0.0 - -#: The margin to the left and right of the tab bar (in pts). - -# tab_bar_margin_height 0.0 0.0 - -#: The margin above and below the tab bar (in pts). The first number -#: is the margin between the edge of the OS Window and the tab bar. -#: The second number is the margin between the tab bar and the -#: contents of the current tab. - -# tab_bar_style fade - -#: The tab bar style, can be one of: - -#: fade -#: Each tab's edges fade into the background color. (See also tab_fade) -#: slant -#: Tabs look like the tabs in a physical file. -#: separator -#: Tabs are separated by a configurable separator. (See also -#: tab_separator) -#: powerline -#: Tabs are shown as a continuous line with "fancy" separators. -#: (See also tab_powerline_style) -#: custom -#: A user-supplied Python function called draw_tab is loaded from the file -#: tab_bar.py in the kitty config directory. For examples of how to -#: write such a function, see the functions named draw_tab_with_* in -#: kitty's source code: kitty/tab_bar.py. See also -#: this discussion -#: for examples from kitty users. -#: hidden -#: The tab bar is hidden. If you use this, you might want to create -#: a mapping for the select_tab action which presents you with a list of -#: tabs and allows for easy switching to a tab. - -# tab_bar_align left - -#: The horizontal alignment of the tab bar, can be one of: left, -#: center, right. - -# tab_bar_min_tabs 2 - -#: The minimum number of tabs that must exist before the tab bar is -#: shown. - -# tab_switch_strategy previous - -#: The algorithm to use when switching to a tab when the current tab -#: is closed. The default of previous will switch to the last used -#: tab. A value of left will switch to the tab to the left of the -#: closed tab. A value of right will switch to the tab to the right of -#: the closed tab. A value of last will switch to the right-most tab. - -# tab_fade 0.25 0.5 0.75 1 - -#: Control how each tab fades into the background when using fade for -#: the tab_bar_style. Each number is an alpha (between zero and one) -#: that controls how much the corresponding cell fades into the -#: background, with zero being no fade and one being full fade. You -#: can change the number of cells used by adding/removing entries to -#: this list. - -# tab_separator " ┇" - -#: The separator between tabs in the tab bar when using separator as -#: the tab_bar_style. - -# tab_powerline_style angled - -#: The powerline separator style between tabs in the tab bar when -#: using powerline as the tab_bar_style, can be one of: angled, -#: slanted, round. - -# tab_activity_symbol none - -#: Some text or a Unicode symbol to show on the tab if a window in the -#: tab that does not have focus has some activity. If you want to use -#: leading or trailing spaces, surround the text with quotes. See -#: tab_title_template for how this is rendered. - -# tab_title_max_length 0 - -#: The maximum number of cells that can be used to render the text in -#: a tab. A value of zero means that no limit is applied. - -# tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}" - -#: A template to render the tab title. The default just renders the -#: title with optional symbols for bell and activity. If you wish to -#: include the tab-index as well, use something like: {index}:{title}. -#: Useful if you have shortcuts mapped for goto_tab N. If you prefer -#: to see the index as a superscript, use {sup.index}. All data -#: available is: - -#: title -#: The current tab title. -#: index -#: The tab index usable with goto_tab N goto_tab shortcuts. -#: layout_name -#: The current layout name. -#: num_windows -#: The number of windows in the tab. -#: num_window_groups -#: The number of window groups (a window group is a window and all of its overlay windows) in the tab. -#: tab.active_wd -#: The working directory of the currently active window in the tab -#: (expensive, requires syscall). Use active_oldest_wd to get -#: the directory of the oldest foreground process rather than the newest. -#: tab.active_exe -#: The name of the executable running in the foreground of the currently -#: active window in the tab (expensive, requires syscall). Use -#: active_oldest_exe for the oldest foreground process. -#: max_title_length -#: The maximum title length available. -#: keyboard_mode -#: The name of the current keyboard mode or the empty string if no keyboard mode is active. - -#: Note that formatting is done by Python's string formatting -#: machinery, so you can use, for instance, {layout_name[:2].upper()} -#: to show only the first two letters of the layout name, upper-cased. -#: If you want to style the text, you can use styling directives, for -#: example: -#: `{fmt.fg.red}red{fmt.fg.tab}normal{fmt.bg._00FF00}greenbg{fmt.bg.tab}`. -#: Similarly, for bold and italic: -#: `{fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}`. -#: Note that for backward compatibility, if {bell_symbol} or -#: {activity_symbol} are not present in the template, they are -#: prepended to it. - -# active_tab_title_template none - -#: Template to use for active tabs. If not specified falls back to -#: tab_title_template. - -# active_tab_foreground #000 -# active_tab_background #eee -# active_tab_font_style bold-italic -# inactive_tab_foreground #444 -# inactive_tab_background #999 -# inactive_tab_font_style normal - -#: Tab bar colors and styles. - -# tab_bar_background none - -#: Background color for the tab bar. Defaults to using the terminal -#: background color. - -# tab_bar_margin_color none - -#: Color for the tab bar margin area. Defaults to using the terminal -#: background color for margins above and below the tab bar. For side -#: margins the default color is chosen to match the background color -#: of the neighboring tab. - -#: Color scheme - -# foreground #dddddd -# background #000000 - -#: The foreground and background colors. - -# background_opacity 1.0 - -#: The opacity of the background. A number between zero and one, where -#: one is opaque and zero is fully transparent. This will only work if -#: supported by the OS (for instance, when using a compositor under -#: X11). Note that it only sets the background color's opacity in -#: cells that have the same background color as the default terminal -#: background, so that things like the status bar in vim, powerline -#: prompts, etc. still look good. But it means that if you use a color -#: theme with a background color in your editor, it will not be -#: rendered as transparent. Instead you should change the default -#: background color in your kitty config and not use a background -#: color in the editor color scheme. Or use the escape codes to set -#: the terminals default colors in a shell script to launch your -#: editor. Be aware that using a value less than 1.0 is a (possibly -#: significant) performance hit. When using a low value for this -#: setting, it is desirable that you set the background color to a -#: color the matches the general color of the desktop background, for -#: best text rendering. If you want to dynamically change -#: transparency of windows, set dynamic_background_opacity to yes -#: (this is off by default as it has a performance cost). Changing -#: this option when reloading the config will only work if -#: dynamic_background_opacity was enabled in the original config. - -# background_blur 0 - -#: Set to a positive value to enable background blur (blurring of the -#: visuals behind a transparent window) on platforms that support it. -#: Only takes effect when background_opacity is less than one. On -#: macOS, this will also control the blur radius (amount of blurring). -#: Setting it to too high a value will cause severe performance issues -#: and/or rendering artifacts. Usually, values up to 64 work well. -#: Note that this might cause performance issues, depending on how the -#: platform implements it, so use with care. Currently supported on -#: macOS and KDE. - -# background_image none - -#: Path to a background image. Must be in PNG format. - -# background_image_layout tiled - -#: Whether to tile, scale or clamp the background image. The value can -#: be one of tiled, mirror-tiled, scaled, clamped, centered or -#: cscaled. The scaled and cscaled values scale the image to the -#: window size, with cscaled preserving the image aspect ratio. - -# background_image_linear no - -#: When background image is scaled, whether linear interpolation -#: should be used. - -# dynamic_background_opacity no - -#: Allow changing of the background_opacity dynamically, using either -#: keyboard shortcuts (increase_background_opacity and -#: decrease_background_opacity) or the remote control facility. -#: Changing this option by reloading the config is not supported. - -# background_tint 0.0 - -#: How much to tint the background image by the background color. This -#: option makes it easier to read the text. Tinting is done using the -#: current background color for each window. This option applies only -#: if background_opacity is set and transparent windows are supported -#: or background_image is set. - -# background_tint_gaps 1.0 - -#: How much to tint the background image at the window gaps by the -#: background color, after applying background_tint. Since this is -#: multiplicative with background_tint, it can be used to lighten the -#: tint over the window gaps for a *separated* look. - -# dim_opacity 0.4 - -#: How much to dim text that has the DIM/FAINT attribute set. One -#: means no dimming and zero means fully dimmed (i.e. invisible). - -# selection_foreground #000000 -# selection_background #fffacd - -#: The foreground and background colors for text selected with the -#: mouse. Setting both of these to none will cause a "reverse video" -#: effect for selections, where the selection will be the cell text -#: color and the text will become the cell background color. Setting -#: only selection_foreground to none will cause the foreground color -#: to be used unchanged. Note that these colors can be overridden by -#: the program running in the terminal. - -#: The color table - -#: The 256 terminal colors. There are 8 basic colors, each color has a -#: dull and bright version, for the first 16 colors. You can set the -#: remaining 240 colors as color16 to color255. - -# color0 #000000 -# color8 #767676 - -#: black - -# color1 #cc0403 -# color9 #f2201f - -#: red - -# color2 #19cb00 -# color10 #23fd00 - -#: green - -# color3 #cecb00 -# color11 #fffd00 - -#: yellow - -# color4 #0d73cc -# color12 #1a8fff - -#: blue - -# color5 #cb1ed1 -# color13 #fd28ff - -#: magenta - -# color6 #0dcdcd -# color14 #14ffff - -#: cyan - -# color7 #dddddd -# color15 #ffffff - -#: white - -# mark1_foreground black - -#: Color for marks of type 1 - -# mark1_background #98d3cb - -#: Color for marks of type 1 (light steel blue) - -# mark2_foreground black - -#: Color for marks of type 2 - -# mark2_background #f2dcd3 - -#: Color for marks of type 1 (beige) - -# mark3_foreground black - -#: Color for marks of type 3 - -# mark3_background #f274bc - -#: Color for marks of type 3 (violet) - -#: Advanced - shell . - -#: The shell program to execute. The default value of . means to use -#: whatever shell is set as the default shell for the current user. -#: Note that on macOS if you change this, you might need to add -#: --login and --interactive to ensure that the shell starts in -#: interactive mode and reads its startup rc files. Environment -#: variables are expanded in this setting. - -# editor . - -#: The terminal based text editor (such as vim or nano) to use when -#: editing the kitty config file or similar tasks. - -#: The default value of . means to use the environment variables -#: VISUAL and EDITOR in that order. If these variables aren't set, -#: kitty will run your shell ($SHELL -l -i -c env) to see if your -#: shell startup rc files set VISUAL or EDITOR. If that doesn't work, -#: kitty will cycle through various known editors (vim, emacs, etc.) -#: and take the first one that exists on your system. - -# close_on_child_death no - -#: Close the window when the child process (usually the shell) exits. -#: With the default value no, the terminal will remain open when the -#: child exits as long as there are still other processes outputting -#: to the terminal (for example disowned or backgrounded processes). -#: When enabled with yes, the window will close as soon as the child -#: process exits. Note that setting it to yes means that any -#: background processes still using the terminal can fail silently -#: because their stdout/stderr/stdin no longer work. - -# remote_control_password - -#: Allow other programs to control kitty using passwords. This option -#: can be specified multiple times to add multiple passwords. If no -#: passwords are present kitty will ask the user for permission if a -#: program tries to use remote control with a password. A password can -#: also *optionally* be associated with a set of allowed remote -#: control actions. For example:: - -#: remote_control_password "my passphrase" get-colors set-colors focus-window focus-tab - -#: Only the specified actions will be allowed when using this -#: password. Glob patterns can be used too, for example:: - -#: remote_control_password "my passphrase" set-tab-* resize-* - -#: To get a list of available actions, run:: - -#: kitten @ --help - -#: A set of actions to be allowed when no password is sent can be -#: specified by using an empty password. For example:: - -#: remote_control_password "" *-colors - -#: Finally, the path to a python module can be specified that provides -#: a function is_cmd_allowed that is used to check every remote -#: control command. For example:: - -#: remote_control_password "my passphrase" my_rc_command_checker.py - -#: Relative paths are resolved from the kitty configuration directory. -#: See rc_custom_auth for details. - -# allow_remote_control no - -#: Allow other programs to control kitty. If you turn this on, other -#: programs can control all aspects of kitty, including sending text -#: to kitty windows, opening new windows, closing windows, reading the -#: content of windows, etc. Note that this even works over SSH -#: connections. The default setting of no prevents any form of remote -#: control. The meaning of the various values are: - -#: password -#: Remote control requests received over both the TTY device and the socket -#: are confirmed based on passwords, see remote_control_password. - -#: socket-only -#: Remote control requests received over a socket are accepted -#: unconditionally. Requests received over the TTY are denied. -#: See listen_on. - -#: socket -#: Remote control requests received over a socket are accepted -#: unconditionally. Requests received over the TTY are confirmed based on -#: password. - -#: no -#: Remote control is completely disabled. - -#: yes -#: Remote control requests are always accepted. - -# listen_on none - -#: Listen to the specified socket for remote control connections. Note -#: that this will apply to all kitty instances. It can be overridden -#: by the kitty --listen-on command line option. For UNIX sockets, -#: such as unix:${TEMP}/mykitty or unix:@mykitty (on Linux). -#: Environment variables are expanded and relative paths are resolved -#: with respect to the temporary directory. If {kitty_pid} is present, -#: then it is replaced by the PID of the kitty process, otherwise the -#: PID of the kitty process is appended to the value, with a hyphen. -#: For TCP sockets such as tcp:localhost:0 a random port is always -#: used even if a non-zero port number is specified. See the help for -#: kitty --listen-on for more details. Note that this will be ignored -#: unless allow_remote_control is set to either: yes, socket or -#: socket-only. Changing this option by reloading the config is not -#: supported. - -# env - -#: Specify the environment variables to be set in all child processes. -#: Using the name with an equal sign (e.g. env VAR=) will set it to -#: the empty string. Specifying only the name (e.g. env VAR) will -#: remove the variable from the child process' environment. Note that -#: environment variables are expanded recursively, for example:: - -#: env VAR1=a -#: env VAR2=${HOME}/${VAR1}/b - -#: The value of VAR2 will be /a/b. - -# watcher - -#: Path to python file which will be loaded for watchers -#: . Can be -#: specified more than once to load multiple watchers. The watchers -#: will be added to every kitty window. Relative paths are resolved -#: relative to the kitty config directory. Note that reloading the -#: config will only affect windows created after the reload. - -# exe_search_path - -#: Control where kitty finds the programs to run. The default search -#: order is: First search the system wide PATH, then ~/.local/bin and -#: ~/bin. If still not found, the PATH defined in the login shell -#: after sourcing all its startup files is tried. Finally, if present, -#: the PATH specified by the env option is tried. - -#: This option allows you to prepend, append, or remove paths from -#: this search order. It can be specified multiple times for multiple -#: paths. A simple path will be prepended to the search order. A path -#: that starts with the + sign will be append to the search order, -#: after ~/bin above. A path that starts with the - sign will be -#: removed from the entire search order. For example:: - -#: exe_search_path /some/prepended/path -#: exe_search_path +/some/appended/path -#: exe_search_path -/some/excluded/path - -# update_check_interval 24 - -#: The interval to periodically check if an update to kitty is -#: available (in hours). If an update is found, a system notification -#: is displayed informing you of the available update. The default is -#: to check every 24 hours, set to zero to disable. Update checking is -#: only done by the official binary builds. Distro packages or source -#: builds do not do update checking. Changing this option by reloading -#: the config is not supported. - -# startup_session none - -#: Path to a session file to use for all kitty instances. Can be -#: overridden by using the kitty --session =none command line option -#: for individual instances. See sessions -#: in the kitty -#: documentation for details. Note that relative paths are interpreted -#: with respect to the kitty config directory. Environment variables -#: in the path are expanded. Changing this option by reloading the -#: config is not supported. Note that if kitty is invoked with command -#: line arguments specifying a command to run, this option is ignored. - clipboard_control write-clipboard write-primary no-append - -#: Allow programs running in kitty to read and write from the -#: clipboard. You can control exactly which actions are allowed. The -#: possible actions are: write-clipboard, read-clipboard, write- -#: primary, read-primary, read-clipboard-ask, read-primary-ask. The -#: default is to allow writing to the clipboard and primary selection -#: and to ask for permission when a program tries to read from the -#: clipboard. Note that disabling the read confirmation is a security -#: risk as it means that any program, even the ones running on a -#: remote server via SSH can read your clipboard. See also -#: clipboard_max_size. - -# clipboard_max_size 512 - -#: The maximum size (in MB) of data from programs running in kitty -#: that will be stored for writing to the system clipboard. A value of -#: zero means no size limit is applied. See also clipboard_control. - -# file_transfer_confirmation_bypass - -#: The password that can be supplied to the file transfer kitten -#: to skip the -#: transfer confirmation prompt. This should only be used when -#: initiating transfers from trusted computers, over trusted networks -#: or encrypted transports, as it allows any programs running on the -#: remote machine to read/write to the local filesystem, without -#: permission. - -# allow_hyperlinks yes - -#: Process hyperlink escape sequences (OSC 8). If disabled OSC 8 -#: escape sequences are ignored. Otherwise they become clickable -#: links, that you can click with the mouse or by using the hints -#: kitten . The -#: special value of ask means that kitty will ask before opening the -#: link when clicked. - -# shell_integration enabled - -#: Enable shell integration on supported shells. This enables features -#: such as jumping to previous prompts, browsing the output of the -#: previous command in a pager, etc. on supported shells. Set to -#: disabled to turn off shell integration, completely. It is also -#: possible to disable individual features, set to a space separated -#: list of these values: no-rc, no-cursor, no-title, no-cwd, no- -#: prompt-mark, no-complete, no-sudo. See Shell integration -#: for details. - -# allow_cloning ask - -#: Control whether programs running in the terminal can request new -#: windows to be created. The canonical example is clone-in-kitty -#: . -#: By default, kitty will ask for permission for each clone request. -#: Allowing cloning unconditionally gives programs running in the -#: terminal (including over SSH) permission to execute arbitrary code, -#: as the user who is running the terminal, on the computer that the -#: terminal is running on. - -# clone_source_strategies venv,conda,env_var,path - -#: Control what shell code is sourced when running clone-in-kitty in -#: the newly cloned window. The supported strategies are: - -#: venv -#: Source the file $VIRTUAL_ENV/bin/activate. This is used by the -#: Python stdlib venv module and allows cloning venvs automatically. -#: conda -#: Run conda activate $CONDA_DEFAULT_ENV. This supports the virtual -#: environments created by conda. -#: env_var -#: Execute the contents of the environment variable -#: KITTY_CLONE_SOURCE_CODE with eval. -#: path -#: Source the file pointed to by the environment variable -#: KITTY_CLONE_SOURCE_PATH. - -#: This option must be a comma separated list of the above values. -#: Only the first valid match, in the order specified, is sourced. - -# notify_on_cmd_finish never - -#: Show a desktop notification when a long-running command finishes -#: (needs shell_integration). The possible values are: - -#: never -#: Never send a notification. - -#: unfocused -#: Only send a notification when the window does not have keyboard focus. - -#: invisible -#: Only send a notification when the window both is unfocused and not visible -#: to the user, for example, because it is in an inactive tab or its OS window -#: is not currently active. - -#: always -#: Always send a notification, regardless of window state. - -#: There are two optional arguments: - -#: First, the minimum duration for what is considered a long running -#: command. The default is 5 seconds. Specify a second argument to set -#: the duration. For example: invisible 15. Do not set the value too -#: small, otherwise a command that launches a new OS Window and exits -#: will spam a notification. - -#: Second, the action to perform. The default is notify. The possible -#: values are: - -#: notify -#: Send a desktop notification. - -#: bell -#: Ring the terminal bell. - -#: command -#: Run a custom command. All subsequent arguments are the cmdline to run. - -#: Some more examples:: - -#: # Send a notification when a command takes more than 5 seconds in an unfocused window -#: notify_on_cmd_finish unfocused -#: # Send a notification when a command takes more than 10 seconds in a invisible window -#: notify_on_cmd_finish invisible 10.0 -#: # Ring a bell when a command takes more than 10 seconds in a invisible window -#: notify_on_cmd_finish invisible 10.0 bell -#: # Run 'notify-send' when a command takes more than 10 seconds in a invisible window -#: # Here %c is replaced by the current command line and %s by the job exit code -#: notify_on_cmd_finish invisible 10.0 command notify-send "job finished with status: %s" %c - -# term xterm-kitty - -#: The value of the TERM environment variable to set. Changing this -#: can break many terminal programs, only change it if you know what -#: you are doing, not because you read some advice on "Stack Overflow" -#: to change it. The TERM variable is used by various programs to get -#: information about the capabilities and behavior of the terminal. If -#: you change it, depending on what programs you run, and how -#: different the terminal you are changing it to is, various things -#: from key-presses, to colors, to various advanced features may not -#: work. Changing this option by reloading the config will only affect -#: newly created windows. - -# terminfo_type path - -#: The value of the TERMINFO environment variable to set. This -#: variable is used by programs running in the terminal to search for -#: terminfo databases. The default value of path causes kitty to set -#: it to a filesystem location containing the kitty terminfo database. -#: A value of direct means put the entire database into the env var -#: directly. This can be useful when connecting to containers, for -#: example. But, note that not all software supports this. A value of -#: none means do not touch the variable. - -# forward_stdio no - -#: Forward STDOUT and STDERR of the kitty process to child processes -#: as file descriptors 3 and 4. This is useful for debugging as it -#: allows child processes to print to kitty's STDOUT directly. For -#: example, echo hello world >&3 in a shell will print to the parent -#: kitty's STDOUT. When enabled, this also sets the -#: KITTY_STDIO_FORWARDED=3 environment variable so child processes -#: know about the forwarding. - -# menu_map - -#: Specify entries for various menus in kitty. Currently only the -#: global menubar on macOS is supported. For example:: - -#: menu_map global "Actions::Launch something special" launch --hold --type=os-window sh -c "echo hello world" - -#: This will create a menu entry named "Launch something special" in -#: an "Actions" menu in the macOS global menubar. Sub-menus can be -#: created by adding more levels separated by the :: characters. - -#: OS specific tweaks - -# wayland_titlebar_color system - -#: The color of the kitty window's titlebar on Wayland systems with -#: client side window decorations such as GNOME. A value of system -#: means to use the default system colors, a value of background means -#: to use the background color of the currently active kitty window -#: and finally you can use an arbitrary color, such as #12af59 or red. - -# macos_titlebar_color system - -#: The color of the kitty window's titlebar on macOS. A value of -#: system means to use the default system color, light or dark can -#: also be used to set it explicitly. A value of background means to -#: use the background color of the currently active window and finally -#: you can use an arbitrary color, such as #12af59 or red. WARNING: -#: This option works by using a hack when arbitrary color (or -#: background) is configured, as there is no proper Cocoa API for it. -#: It sets the background color of the entire window and makes the -#: titlebar transparent. As such it is incompatible with -#: background_opacity. If you want to use both, you are probably -#: better off just hiding the titlebar with hide_window_decorations. - macos_option_as_alt yes -#: Use the Option key as an Alt key on macOS. With this set to no, -#: kitty will use the macOS native Option+Key to enter Unicode -#: character behavior. This will break any Alt+Key keyboard shortcuts -#: in your terminal programs, but you can use the macOS Unicode input -#: technique. You can use the values: left, right or both to use only -#: the left, right or both Option keys as Alt, instead. Note that -#: kitty itself always treats Option the same as Alt. This means you -#: cannot use this option to configure different kitty shortcuts for -#: Option+Key vs. Alt+Key. Also, any kitty shortcuts using -#: Option/Alt+Key will take priority, so that any such key presses -#: will not be passed to terminal programs running inside kitty. -#: Changing this option by reloading the config is not supported. - -# macos_hide_from_tasks no - -#: Hide the kitty window from running tasks on macOS (⌘+Tab and the -#: Dock). Changing this option by reloading the config is not -#: supported. - -# macos_quit_when_last_window_closed no - -#: Have kitty quit when all the top-level windows are closed on macOS. -#: By default, kitty will stay running, even with no open windows, as -#: is the expected behavior on macOS. - -# macos_window_resizable yes - -#: Disable this if you want kitty top-level OS windows to not be -#: resizable on macOS. - -# macos_thicken_font 0 - -#: Draw an extra border around the font with the given width, to -#: increase legibility at small font sizes on macOS. For example, a -#: value of 0.75 will result in rendering that looks similar to sub- -#: pixel antialiasing at common font sizes. Note that in modern kitty, -#: this option is obsolete (although still supported). Consider using -#: text_composition_strategy instead. - -# macos_traditional_fullscreen no - -#: Use the macOS traditional full-screen transition, that is faster, -#: but less pretty. - -# macos_show_window_title_in all - -#: Control where the window title is displayed on macOS. A value of -#: window will show the title of the currently active window at the -#: top of the macOS window. A value of menubar will show the title of -#: the currently active window in the macOS global menu bar, making -#: use of otherwise wasted space. A value of all will show the title -#: in both places, and none hides the title. See -#: macos_menubar_title_max_length for how to control the length of the -#: title in the menu bar. - -# macos_menubar_title_max_length 0 - -#: The maximum number of characters from the window title to show in -#: the macOS global menu bar. Values less than one means that there is -#: no maximum limit. - -# macos_custom_beam_cursor no - -#: Use a custom mouse cursor for macOS that is easier to see on both -#: light and dark backgrounds. Nowadays, the default macOS cursor -#: already comes with a white border. WARNING: this might make your -#: mouse cursor invisible on dual GPU machines. Changing this option -#: by reloading the config is not supported. - -# macos_colorspace srgb - -#: The colorspace in which to interpret terminal colors. The default -#: of srgb will cause colors to match those seen in web browsers. The -#: value of default will use whatever the native colorspace of the -#: display is. The value of displayp3 will use Apple's special -#: snowflake display P3 color space, which will result in over -#: saturated (brighter) colors with some color shift. Reloading -#: configuration will change this value only for newly created OS -#: windows. - -# linux_display_server auto - -#: Choose between Wayland and X11 backends. By default, an appropriate -#: backend based on the system state is chosen automatically. Set it -#: to x11 or wayland to force the choice. Changing this option by -#: reloading the config is not supported. - -# wayland_enable_ime yes - -#: Enable Input Method Extension on Wayland. This is typically used -#: for inputting text in East Asian languages. However, its -#: implementation in Wayland is often buggy and introduces latency -#: into the input loop, so disable this if you know you dont need it. -#: Changing this option by reloading the config is not supported, it -#: will not have any effect. - -#: Keyboard shortcuts - -#: Keys are identified simply by their lowercase Unicode characters. -#: For example: a for the A key, [ for the left square bracket key, -#: etc. For functional keys, such as Enter or Escape, the names are -#: present at Functional key definitions -#: . -#: For modifier keys, the names are ctrl (control, ⌃), shift (⇧), alt -#: (opt, option, ⌥), super (cmd, command, ⌘). - -#: Simple shortcut mapping is done with the map directive. For full -#: details on advanced mapping including modal and per application -#: maps, see mapping . Some -#: quick examples to illustrate common tasks:: - -#: # unmap a keyboard shortcut, passing it to the program running in kitty -#: map kitty_mod+space -#: # completely ignore a keyboard event -#: map ctrl+alt+f1 discard_event -#: # combine multiple actions -#: map kitty_mod+e combine : new_window : next_layout -#: # multi-key shortcuts -#: map ctrl+x>ctrl+y>z action - -#: The full list of actions that can be mapped to key presses is -#: available here . - -# kitty_mod ctrl+shift - -#: Special modifier key alias for default shortcuts. You can change -#: the value of this option to alter all default shortcuts that use -#: kitty_mod. - -# clear_all_shortcuts no - -#: Remove all shortcut definitions up to this point. Useful, for -#: instance, to remove the default shortcuts. - -# action_alias - -#: E.g. action_alias launch_tab launch --type=tab --cwd=current - -#: Define action aliases to avoid repeating the same options in -#: multiple mappings. Aliases can be defined for any action and will -#: be expanded recursively. For example, the above alias allows you to -#: create mappings to launch a new tab in the current working -#: directory without duplication:: - -#: map f1 launch_tab vim -#: map f2 launch_tab emacs - -#: Similarly, to alias kitten invocation:: - -#: action_alias hints kitten hints --hints-offset=0 - -# kitten_alias - -#: E.g. kitten_alias hints hints --hints-offset=0 - -#: Like action_alias above, but specifically for kittens. Generally, -#: prefer to use action_alias. This option is a legacy version, -#: present for backwards compatibility. It causes all invocations of -#: the aliased kitten to be substituted. So the example above will -#: cause all invocations of the hints kitten to have the --hints- -#: offset=0 option applied. - -#: Clipboard - -#: Copy to clipboard - -# map kitty_mod+c copy_to_clipboard -# map cmd+c copy_to_clipboard - -#:: There is also a copy_or_interrupt action that can be optionally -#:: mapped to Ctrl+C. It will copy only if there is a selection and -#:: send an interrupt otherwise. Similarly, -#:: copy_and_clear_or_interrupt will copy and clear the selection or -#:: send an interrupt if there is no selection. - -#: Paste from clipboard - -# map kitty_mod+v paste_from_clipboard -# map cmd+v paste_from_clipboard - -#: Paste from selection - -# map kitty_mod+s paste_from_selection -# map shift+insert paste_from_selection - -#: Pass selection to program - -# map kitty_mod+o pass_selection_to_program - -#:: You can also pass the contents of the current selection to any -#:: program with pass_selection_to_program. By default, the system's -#:: open program is used, but you can specify your own, the selection -#:: will be passed as a command line argument to the program. For -#:: example:: - -#:: map kitty_mod+o pass_selection_to_program firefox - -#:: You can pass the current selection to a terminal program running -#:: in a new kitty window, by using the @selection placeholder:: - -#:: map kitty_mod+y new_window less @selection - -#: Scrolling - -#: Scroll line up - -# map kitty_mod+up scroll_line_up -# map kitty_mod+k scroll_line_up -# map opt+cmd+page_up scroll_line_up -# map cmd+up scroll_line_up - -#: Scroll line down - -# map kitty_mod+down scroll_line_down -# map kitty_mod+j scroll_line_down -# map opt+cmd+page_down scroll_line_down -# map cmd+down scroll_line_down - -#: Scroll page up - -# map kitty_mod+page_up scroll_page_up -# map cmd+page_up scroll_page_up - -#: Scroll page down - -# map kitty_mod+page_down scroll_page_down -# map cmd+page_down scroll_page_down - -#: Scroll to top - -# map kitty_mod+home scroll_home -# map cmd+home scroll_home - -#: Scroll to bottom - -# map kitty_mod+end scroll_end -# map cmd+end scroll_end - -#: Scroll to previous shell prompt - -# map kitty_mod+z scroll_to_prompt -1 - -#:: Use a parameter of 0 for scroll_to_prompt to scroll to the last -#:: jumped to or the last clicked position. Requires shell -#:: integration -#:: to work. - -#: Scroll to next shell prompt - -# map kitty_mod+x scroll_to_prompt 1 - -#: Browse scrollback buffer in pager - -# map kitty_mod+h show_scrollback - -#:: You can pipe the contents of the current screen and history -#:: buffer as STDIN to an arbitrary program using launch --stdin- -#:: source. For example, the following opens the scrollback buffer in -#:: less in an overlay window:: - -#:: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R - -#:: For more details on piping screen and buffer contents to external -#:: programs, see launch . - -#: Browse output of the last shell command in pager - -# map kitty_mod+g show_last_command_output - -#:: You can also define additional shortcuts to get the command -#:: output. For example, to get the first command output on screen:: - -#:: map f1 show_first_command_output_on_screen - -#:: To get the command output that was last accessed by a keyboard -#:: action or mouse action:: - -#:: map f1 show_last_visited_command_output - -#:: You can pipe the output of the last command run in the shell -#:: using the launch action. For example, the following opens the -#:: output in less in an overlay window:: - -#:: map f1 launch --stdin-source=@last_cmd_output --stdin-add-formatting --type=overlay less +G -R - -#:: To get the output of the first command on the screen, use -#:: @first_cmd_output_on_screen. To get the output of the last jumped -#:: to command, use @last_visited_cmd_output. - -#:: Requires shell integration -#:: to work. - -#: Window management - -#: New window - -# map kitty_mod+enter new_window -# map cmd+enter new_window - -#:: You can open a new kitty window running an arbitrary program, for -#:: example:: - -#:: map kitty_mod+y launch mutt - -#:: You can open a new window with the current working directory set -#:: to the working directory of the current window using:: - -#:: map ctrl+alt+enter launch --cwd=current - -#:: You can open a new window that is allowed to control kitty via -#:: the kitty remote control facility with launch --allow-remote- -#:: control. Any programs running in that window will be allowed to -#:: control kitty. For example:: - -#:: map ctrl+enter launch --allow-remote-control some_program - -#:: You can open a new window next to the currently active window or -#:: as the first window, with:: - -#:: map ctrl+n launch --location=neighbor -#:: map ctrl+f launch --location=first - -#:: For more details, see launch -#:: . - -#: New OS window - -# map kitty_mod+n new_os_window -# map cmd+n new_os_window - -#:: Works like new_window above, except that it opens a top-level OS -#:: window. In particular you can use new_os_window_with_cwd to open -#:: a window with the current working directory. - -#: Close window - -# map kitty_mod+w close_window -# map shift+cmd+d close_window - -#: Next window - -# map kitty_mod+] next_window - -#: Previous window - -# map kitty_mod+[ previous_window - -#: Move window forward - -# map kitty_mod+f move_window_forward - -#: Move window backward - -# map kitty_mod+b move_window_backward - -#: Move window to top - -# map kitty_mod+` move_window_to_top - -#: Start resizing window - -# map kitty_mod+r start_resizing_window -# map cmd+r start_resizing_window - -#: First window - -# map kitty_mod+1 first_window -# map cmd+1 first_window - -#: Second window - -# map kitty_mod+2 second_window -# map cmd+2 second_window - -#: Third window - -# map kitty_mod+3 third_window -# map cmd+3 third_window - -#: Fourth window - -# map kitty_mod+4 fourth_window -# map cmd+4 fourth_window - -#: Fifth window - -# map kitty_mod+5 fifth_window -# map cmd+5 fifth_window - -#: Sixth window - -# map kitty_mod+6 sixth_window -# map cmd+6 sixth_window - -#: Seventh window - -# map kitty_mod+7 seventh_window -# map cmd+7 seventh_window - -#: Eighth window - -# map kitty_mod+8 eighth_window -# map cmd+8 eighth_window - -#: Ninth window - -# map kitty_mod+9 ninth_window -# map cmd+9 ninth_window - -#: Tenth window - -# map kitty_mod+0 tenth_window - -#: Visually select and focus window - -# map kitty_mod+f7 focus_visible_window - -#:: Display overlay numbers and alphabets on the window, and switch -#:: the focus to the window when you press the key. When there are -#:: only two windows, the focus will be switched directly without -#:: displaying the overlay. You can change the overlay characters and -#:: their order with option visual_window_select_characters. - -#: Visually swap window with another - -# map kitty_mod+f8 swap_with_window - -#:: Works like focus_visible_window above, but swaps the window. - -#: Tab management - -#: Next tab - -# map kitty_mod+right next_tab -# map shift+cmd+] next_tab -# map ctrl+tab next_tab - -#: Previous tab - -# map kitty_mod+left previous_tab -# map shift+cmd+[ previous_tab -# map ctrl+shift+tab previous_tab - -#: New tab - -# map kitty_mod+t new_tab -# map cmd+t new_tab - -#: Close tab - -# map kitty_mod+q close_tab -# map cmd+w close_tab - -#: Close OS window - -# map shift+cmd+w close_os_window - -#: Move tab forward - -# map kitty_mod+. move_tab_forward - -#: Move tab backward - -# map kitty_mod+, move_tab_backward - -#: Set tab title - -# map kitty_mod+alt+t set_tab_title -# map shift+cmd+i set_tab_title - - -#: You can also create shortcuts to go to specific tabs, with 1 being -#: the first tab, 2 the second tab and -1 being the previously active -#: tab, and any number larger than the last tab being the last tab:: - -#: map ctrl+alt+1 goto_tab 1 -#: map ctrl+alt+2 goto_tab 2 - -#: Just as with new_window above, you can also pass the name of -#: arbitrary commands to run when using new_tab and new_tab_with_cwd. -#: Finally, if you want the new tab to open next to the current tab -#: rather than at the end of the tabs list, use:: - -#: map ctrl+t new_tab !neighbor [optional cmd to run] -#: Layout management - -#: Next layout - -# map kitty_mod+l next_layout - - -#: You can also create shortcuts to switch to specific layouts:: - -#: map ctrl+alt+t goto_layout tall -#: map ctrl+alt+s goto_layout stack - -#: Similarly, to switch back to the previous layout:: - -#: map ctrl+alt+p last_used_layout - -#: There is also a toggle_layout action that switches to the named -#: layout or back to the previous layout if in the named layout. -#: Useful to temporarily "zoom" the active window by switching to the -#: stack layout:: - -#: map ctrl+alt+z toggle_layout stack -#: Font sizes - -#: You can change the font size for all top-level kitty OS windows at -#: a time or only the current one. - -#: Increase font size - -# map kitty_mod+equal change_font_size all +2.0 -# map kitty_mod+plus change_font_size all +2.0 -# map kitty_mod+kp_add change_font_size all +2.0 -# map cmd+plus change_font_size all +2.0 -# map cmd+equal change_font_size all +2.0 -# map shift+cmd+equal change_font_size all +2.0 - -#: Decrease font size - -# map kitty_mod+minus change_font_size all -2.0 -# map kitty_mod+kp_subtract change_font_size all -2.0 -# map cmd+minus change_font_size all -2.0 -# map shift+cmd+minus change_font_size all -2.0 - -#: Reset font size - -# map kitty_mod+backspace change_font_size all 0 -# map cmd+0 change_font_size all 0 - - -#: To setup shortcuts for specific font sizes:: - -#: map kitty_mod+f6 change_font_size all 10.0 - -#: To setup shortcuts to change only the current OS window's font -#: size:: - -#: map kitty_mod+f6 change_font_size current 10.0 -#: Select and act on visible text - -#: Use the hints kitten to select text and either pass it to an -#: external program or insert it into the terminal or copy it to the -#: clipboard. - -#: Open URL - -# map kitty_mod+e open_url_with_hints - -#:: Open a currently visible URL using the keyboard. The program used -#:: to open the URL is specified in open_url_with. - -#: Insert selected path - -# map kitty_mod+p>f kitten hints --type path --program - - -#:: Select a path/filename and insert it into the terminal. Useful, -#:: for instance to run git commands on a filename output from a -#:: previous git command. - -#: Open selected path - -# map kitty_mod+p>shift+f kitten hints --type path - -#:: Select a path/filename and open it with the default open program. - -#: Insert selected line - -# map kitty_mod+p>l kitten hints --type line --program - - -#:: Select a line of text and insert it into the terminal. Useful for -#:: the output of things like: `ls -1`. - -#: Insert selected word - -# map kitty_mod+p>w kitten hints --type word --program - - -#:: Select words and insert into terminal. - -#: Insert selected hash - -# map kitty_mod+p>h kitten hints --type hash --program - - -#:: Select something that looks like a hash and insert it into the -#:: terminal. Useful with git, which uses SHA1 hashes to identify -#:: commits. - -#: Open the selected file at the selected line - -# map kitty_mod+p>n kitten hints --type linenum - -#:: Select something that looks like filename:linenum and open it in -#:: your default editor at the specified line number. - -#: Open the selected hyperlink - -# map kitty_mod+p>y kitten hints --type hyperlink - -#:: Select a hyperlink (i.e. a URL that has been marked as such by -#:: the terminal program, for example, by `ls --hyperlink=auto`). - - -#: The hints kitten has many more modes of operation that you can map -#: to different shortcuts. For a full description see hints kitten -#: . -#: Miscellaneous - -#: Show documentation - -# map kitty_mod+f1 show_kitty_doc overview - -#: Toggle fullscreen - -# map kitty_mod+f11 toggle_fullscreen -# map ctrl+cmd+f toggle_fullscreen - -#: Toggle maximized - -# map kitty_mod+f10 toggle_maximized - -#: Toggle macOS secure keyboard entry - -# map opt+cmd+s toggle_macos_secure_keyboard_entry - -#: Unicode input - -# map kitty_mod+u kitten unicode_input -# map ctrl+cmd+space kitten unicode_input - -#: Edit config file - -# map kitty_mod+f2 edit_config_file -# map cmd+, edit_config_file - -#: Open the kitty command shell - -# map kitty_mod+escape kitty_shell window - -#:: Open the kitty shell in a new window / tab / overlay / os_window -#:: to control kitty using commands. - -#: Increase background opacity - -# map kitty_mod+a>m set_background_opacity +0.1 - -#: Decrease background opacity - -# map kitty_mod+a>l set_background_opacity -0.1 - -#: Make background fully opaque - -# map kitty_mod+a>1 set_background_opacity 1 - -#: Reset background opacity - -# map kitty_mod+a>d set_background_opacity default - -#: Reset the terminal - -# map kitty_mod+delete clear_terminal reset active -# map opt+cmd+r clear_terminal reset active - -#:: You can create shortcuts to clear/reset the terminal. For -#:: example:: - -#:: # Reset the terminal -#:: map f1 clear_terminal reset active -#:: # Clear the terminal screen by erasing all contents -#:: map f1 clear_terminal clear active -#:: # Clear the terminal scrollback by erasing it -#:: map f1 clear_terminal scrollback active -#:: # Scroll the contents of the screen into the scrollback -#:: map f1 clear_terminal scroll active -#:: # Clear everything on screen up to the line with the cursor or the start of the current prompt (needs shell integration) -#:: map f1 clear_terminal to_cursor active -#:: # Same as above except cleared lines are moved into scrollback -#:: map f1 clear_terminal to_cursor_scroll active - -#:: If you want to operate on all kitty windows instead of just the -#:: current one, use all instead of active. - -#:: Some useful functions that can be defined in the shell rc files -#:: to perform various kinds of clearing of the current window: - -#:: .. code-block:: sh - -#:: clear-only-screen() { -#:: printf "\e[H\e[2J" -#:: } - -#:: clear-screen-and-scrollback() { -#:: printf "\e[H\e[3J" -#:: } - -#:: clear-screen-saving-contents-in-scrollback() { -#:: printf "\e[H\e[22J" -#:: } - -#:: For instance, using these escape codes, it is possible to remap -#:: Ctrl+L to both scroll the current screen contents into the -#:: scrollback buffer and clear the screen, instead of just clearing -#:: the screen. For ZSH, in ~/.zshrc, add: - -#:: .. code-block:: zsh - -#:: ctrl_l() { -#:: builtin print -rn -- $'\r\e[0J\e[H\e[22J' >"$TTY" -#:: builtin zle .reset-prompt -#:: builtin zle -R -#:: } -#:: zle -N ctrl_l -#:: bindkey '^l' ctrl_l - -#:: Alternatively, you can just add map ctrl+l clear_terminal -#:: to_cursor_scroll active to kitty.conf which works with no changes -#:: to the shell rc files, but only clears up to the prompt, it does -#:: not clear anytext at the prompt itself. - -#: Clear up to cursor line - -# map cmd+k clear_terminal to_cursor active - -#: Reload kitty.conf - -# map kitty_mod+f5 load_config_file -# map ctrl+cmd+, load_config_file - -#:: Reload kitty.conf, applying any changes since the last time it -#:: was loaded. Note that a handful of options cannot be dynamically -#:: changed and require a full restart of kitty. Particularly, when -#:: changing shortcuts for actions located on the macOS global menu -#:: bar, a full restart is needed. You can also map a keybinding to -#:: load a different config file, for example:: - -#:: map f5 load_config /path/to/alternative/kitty.conf - -#:: Note that all options from the original kitty.conf are discarded, -#:: in other words the new configuration *replace* the old ones. - -#: Debug kitty configuration - -# map kitty_mod+f6 debug_config -# map opt+cmd+, debug_config - -#:: Show details about exactly what configuration kitty is running -#:: with and its host environment. Useful for debugging issues. - -#: Send arbitrary text on key presses - -#:: E.g. map ctrl+shift+alt+h send_text all Hello World - -#:: You can tell kitty to send arbitrary (UTF-8) encoded text to the -#:: client program when pressing specified shortcut keys. For -#:: example:: - -#:: map ctrl+alt+a send_text all Special text - -#:: This will send "Special text" when you press the Ctrl+Alt+A key -#:: combination. The text to be sent decodes ANSI C escapes -#:: so you can use escapes like \e to send control -#:: codes or \u21fb to send Unicode characters (or you can just input -#:: the Unicode characters directly as UTF-8 text). You can use -#:: `kitten show_key` to get the key escape codes you want to -#:: emulate. - -#:: The first argument to send_text is the keyboard modes in which to -#:: activate the shortcut. The possible values are normal, -#:: application, kitty or a comma separated combination of them. The -#:: modes normal and application refer to the DECCKM cursor key mode -#:: for terminals, and kitty refers to the kitty extended keyboard -#:: protocol. The special value all means all of them. - -#:: Some more examples:: - -#:: # Output a word and move the cursor to the start of the line (like typing and pressing Home) -#:: map ctrl+alt+a send_text normal Word\e[H -#:: map ctrl+alt+a send_text application Word\eOH -#:: # Run a command at a shell prompt (like typing the command and pressing Enter) -#:: map ctrl+alt+a send_text normal,application some command with arguments\r - -#: Open kitty Website - -# map shift+cmd+/ open_url https://sw.kovidgoyal.net/kitty/ - -#: Hide macOS kitty application - -# map cmd+h hide_macos_app - -#: Hide macOS other applications - -# map opt+cmd+h hide_macos_other_apps - -#: Minimize macOS window - -# map cmd+m minimize_macos_window - -#: Quit kitty - -# map cmd+q quit - +# The basic colors +foreground #cdd6f4 +background #1e1e2e +selection_foreground #1e1e2e +selection_background #f5e0dc + +# Cursor colors +cursor #f5e0dc +cursor_text_color #1e1e2e + +# URL underline color when hovering with mouse +url_color #f5e0dc + +# Kitty window border colors +active_border_color #b4befe +inactive_border_color #6c7086 +bell_border_color #f9e2af + +# OS Window titlebar colors +wayland_titlebar_color system +macos_titlebar_color system + +# Tab bar colors +active_tab_foreground #11111b +active_tab_background #cba6f7 +inactive_tab_foreground #cdd6f4 +inactive_tab_background #181825 +tab_bar_background #11111b + +# Colors for marks (marked text in the terminal) +mark1_foreground #1e1e2e +mark1_background #b4befe +mark2_foreground #1e1e2e +mark2_background #cba6f7 +mark3_foreground #1e1e2e +mark3_background #74c7ec + +# The 16 terminal colors + +# black +color0 #45475a +color8 #585b70 + +# red +color1 #f38ba8 +color9 #f38ba8 + +# green +color2 #a6e3a1 +color10 #a6e3a1 + +# yellow +color3 #f9e2af +color11 #f9e2af + +# blue +color4 #89b4fa +color12 #89b4fa + +# magenta +color5 #f5c2e7 +color13 #f5c2e7 + +# cyan +color6 #94e2d5 +color14 #94e2d5 + +# white +color7 #bac2de +color15 #a6adc8 From efd7cb5b0ee997215f285b4408797c45d2a230ad Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 4 Nov 2024 06:24:40 -0500 Subject: [PATCH 151/226] feat: missed zellij theme update --- home/private_dot_config/zellij/config.kdl | 90 ++++++++++++++++++----- 1 file changed, 73 insertions(+), 17 deletions(-) diff --git a/home/private_dot_config/zellij/config.kdl b/home/private_dot_config/zellij/config.kdl index 5e6883d..50dccd3 100644 --- a/home/private_dot_config/zellij/config.kdl +++ b/home/private_dot_config/zellij/config.kdl @@ -111,27 +111,83 @@ pane_frames false // Define color themes for Zellij // For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes // Once these themes are defined, one of them should to be selected in the "theme" section of this file -// -// themes { -// dracula { -// fg 248 248 242 -// bg 40 42 54 -// red 255 85 85 -// green 80 250 123 -// yellow 241 250 140 -// blue 98 114 164 -// magenta 255 121 198 -// orange 255 184 108 -// cyan 139 233 253 -// black 0 0 0 -// white 255 255 255 -// } -// } + + themes { + dracula { + fg 248 248 242 + bg 40 42 54 + red 255 85 85 + green 80 250 123 + yellow 241 250 140 + blue 98 114 164 + magenta 255 121 198 + orange 255 184 108 + cyan 139 233 253 + black 0 0 0 + white 255 255 255 + } + + catppuccin-latte { + bg "#acb0be" // Surface2 + fg "#4c4f69" // Text + red "#d20f39" + green "#40a02b" + blue "#1e66f5" + yellow "#df8e1d" + magenta "#ea76cb" // Pink + orange "#fe640b" // Peach + cyan "#04a5e5" // Sky + black "#e6e9ef" // Mantle + white "#4c4f69" // Text + } + + catppuccin-frappe { + bg "#626880" // Surface2 + fg "#c6d0f5" // Text + red "#e78284" + green "#a6d189" + blue "#8caaee" + yellow "#e5c890" + magenta "#f4b8e4" // Pink + orange "#ef9f76" // Peach + cyan "#99d1db" // Sky + black "#292c3c" // Mantle + white "#c6d0f5" // Text + } + + catppuccin-macchiato { + bg "#5b6078" // Surface2 + fg "#cad3f5" // Text + red "#ed8796" + green "#a6da95" + blue "#8aadf4" + yellow "#eed49f" + magenta "#f5bde6" // Pink + orange "#f5a97f" // Peach + cyan "#91d7e3" // Sky + black "#1e2030" // Mantle + white "#cad3f5" // Text + } + + catppuccin-mocha { + bg "#585b70" // Surface2 + fg "#cdd6f4" // Text + red "#f38ba8" + green "#a6e3a1" + blue "#89b4fa" + yellow "#f9e2af" + magenta "#f5c2e7" // Pink + orange "#fab387" // Peach + cyan "#89dceb" // Sky + black "#181825" // Mantle + white "#cdd6f4" // Text + } + } // Choose the theme that is specified in the themes section. // Default: default // -theme "nord" +theme "catppuccin-mocha" // The name of the default layout to load on startup // Default: "default" From 809bda01e736685e56f333e08354092e3fbcba57 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 11 Nov 2024 11:12:01 +0800 Subject: [PATCH 152/226] feat: promote zellij room to non-prefixed command --- home/private_dot_config/zellij/config.kdl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/zellij/config.kdl b/home/private_dot_config/zellij/config.kdl index 50dccd3..0a3c146 100644 --- a/home/private_dot_config/zellij/config.kdl +++ b/home/private_dot_config/zellij/config.kdl @@ -21,7 +21,9 @@ keybinds clear-defaults=true { bind "d" { Detach; } bind "Space" { NextSwapLayout; } bind "x" { CloseFocus; SwitchToMode "Normal"; } - bind "u" { + } + shared_except "locked" { + bind "Ctrl u" { LaunchOrFocusPlugin "file:~/.config/zellij/plugins/room.wasm" { floating true ignore_case true From 624d525b894518c1c1c5e3185a4ce9c1af92c074 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 11 Nov 2024 11:12:01 +0800 Subject: [PATCH 153/226] feat: ide-like test-running --- ...cutable_get_python_function_at_position.py | 45 +++++++++++++++++++ .../executable_literal_run_test_under_cursor | 27 +++++++++++ home/bin/executable_pytester.py | 35 +++++++++++++++ home/private_dot_config/helix/config.toml | 3 ++ 4 files changed, 110 insertions(+) create mode 100644 home/bin/executable_get_python_function_at_position.py create mode 100644 home/bin/executable_literal_run_test_under_cursor create mode 100644 home/bin/executable_pytester.py diff --git a/home/bin/executable_get_python_function_at_position.py b/home/bin/executable_get_python_function_at_position.py new file mode 100644 index 0000000..4b8b8f9 --- /dev/null +++ b/home/bin/executable_get_python_function_at_position.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python + +import argparse +import ast +import pathlib + + +def find_definition(fp, line): + symbols = {} + with fp.open() as fh: + tree = ast.parse(fh.read()) + + for node in ast.walk(tree): + if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef, ast.ClassDef)): + start, end = compute_size(node) + symbols[node.name] = (start, end) + + matches = [] + for key, (start, end) in symbols.items(): + if start <= line <= end: + matches.append(key) + + return matches + + +def compute_size(node): + min_lineno = node.lineno + max_lineno = node.lineno + for node in ast.walk(node): + if hasattr(node, "lineno"): + min_lineno = min(min_lineno, node.lineno) + max_lineno = max(max_lineno, node.lineno) + return (min_lineno, max_lineno + 1) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument('filepath', type=pathlib.Path) + parser.add_argument('line', type=int) + + args = parser.parse_args() + + symbols = find_definition(args.filepath, args.line) + for symbol in symbols: + print(symbol) diff --git a/home/bin/executable_literal_run_test_under_cursor b/home/bin/executable_literal_run_test_under_cursor new file mode 100644 index 0000000..d11fd51 --- /dev/null +++ b/home/bin/executable_literal_run_test_under_cursor @@ -0,0 +1,27 @@ +#!/usr/bin/env sh + +set -e + +tmpfile=$(mktemp) +zellij action dump-screen $tmpfile +status_line=$(cat $tmpfile | rg -e "(?:NOR|INS|SEL)\s+[\x{2800}-\x{28FF}]*\s+(\S*)\s[^│]* (\d+):*.*" -o --replace '$1 $2') +filename=$(echo $status_line | awk '{ print $1 }') +escaped_filename=$(echo "$filename" | sed 's/[\/&]/\\&/g') +line_number=$(echo $status_line | awk '{ print $2 }') +extension="${filename##*.}" + +case "$extension" in + "py") + # this is pretty pytest-specific, but will probably be fine for the time being + test_runner=${PYTEST:-pytest} + cmd="get_python_function_at_position.py $filename $line_number | pytester.py - | sed 's/^/$test_runner /;s/$/ $escaped_filename/' | sh" + ;; + *) + echo "uh oh!" + exit 1 + ;; +esac + +full_cmd="echo \"running $cmd\" && $cmd" + +zellij action new-pane --direction down -- zsh -c "$full_cmd" diff --git a/home/bin/executable_pytester.py b/home/bin/executable_pytester.py new file mode 100644 index 0000000..48b0977 --- /dev/null +++ b/home/bin/executable_pytester.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python + +import argparse +import os +import pathlib +import sys + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('symbols', type=argparse.FileType('r')) + + args = parser.parse_args() + + symbols = args.symbols.read() + try: + symbols = symbols.strip() + symbols = symbols.split("\n") + expressions = " and ".join(symbols) + if expressions: + print(f"-k \"{expressions}\"") + else: + print("") + finally: + args.symbols.close() + + +if __name__ == "__main__": + try: + main() + sys.stdout.flush() + except BrokenPipeError: + devnull = os.open(os.devnull, os.O_WRONLY) + os.dup2(devnull, sys.stdout.fileno()) + sys.exit(1) diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index a671703..dfb9549 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -9,3 +9,6 @@ hidden = false [keys.normal] C-r = ":reload-all" + +[keys.normal.C-m] +t = ":sh run_test_under_cursor" From 119613ee58e2a3dcf93fec59158721a46f9c504c Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 13 Nov 2024 16:34:18 +0800 Subject: [PATCH 154/226] feat: ignore per-project direnv configs --- home/private_dot_config/git/ignore | 1 + 1 file changed, 1 insertion(+) diff --git a/home/private_dot_config/git/ignore b/home/private_dot_config/git/ignore index 018d046..4db18e4 100644 --- a/home/private_dot_config/git/ignore +++ b/home/private_dot_config/git/ignore @@ -2,3 +2,4 @@ .DS_Store .idea .vscode +.envrc From 32a71872147f6c9776f45b2ca70a8a0c9933e91f Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 14 Nov 2024 11:27:52 +0800 Subject: [PATCH 155/226] feat: yazi support --- home/private_dot_config/helix/config.toml | 1 + home/private_dot_config/helix/yazi-picker.sh | 12 ++++++++++++ home/run_once_01install-packages.sh.tmpl | 2 ++ 3 files changed, 15 insertions(+) create mode 100644 home/private_dot_config/helix/yazi-picker.sh diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index dfb9549..166702f 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -9,6 +9,7 @@ hidden = false [keys.normal] C-r = ":reload-all" +C-y = ":sh zellij run -c -f -x 10% -y 10% --width 80% --height 80% -- bash ~/.config/helix/yazi-picker.sh open" [keys.normal.C-m] t = ":sh run_test_under_cursor" diff --git a/home/private_dot_config/helix/yazi-picker.sh b/home/private_dot_config/helix/yazi-picker.sh new file mode 100644 index 0000000..4d4d1b3 --- /dev/null +++ b/home/private_dot_config/helix/yazi-picker.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +paths=$(yazi --chooser-file=/dev/stdout | while read -r; do printf "%q " "$REPLY"; done) + +if [[ -n "$paths" ]]; then + zellij action toggle-floating-panes + zellij action write 27 # send key + zellij action write-chars ":$1 $paths" + zellij action write 13 # send key +else + zellij action toggle-floating-panes +fi diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 1dc7c61..0d2b399 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -34,6 +34,7 @@ sudo port install \ wget \ xz \ zellij \ + yazi \ zk \ zsh @@ -48,6 +49,7 @@ sudo apt install \ tmux \ tree \ wget \ + yazi \ -y {{ end }} From 7996b27bcf4f678c46b144708df8bd7748fe9665 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 1 Dec 2024 16:58:39 -0500 Subject: [PATCH 156/226] feat: in-editor diff view --- home/private_dot_config/helix/config.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 166702f..14ddb9b 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -13,3 +13,4 @@ C-y = ":sh zellij run -c -f -x 10% -y 10% --width 80% --height 80% -- bash ~/.co [keys.normal.C-m] t = ":sh run_test_under_cursor" +j = ":sh zellij run -f -x 10% -y 10% --width 80% --height 80% -- jj diff" From e5accddcba625356573222a8393be418d60a832b Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 1 Dec 2024 19:27:57 -0500 Subject: [PATCH 157/226] feat: drop macports for home mac --- README.md | 9 +-------- home/dot_zshenv.tmpl | 7 ------- home/run_once_01install-packages.sh.tmpl | 12 ++++++++---- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 365423e..6539a9d 100644 --- a/README.md +++ b/README.md @@ -32,11 +32,6 @@ dscacheutil -flushcache # debian sudo apt update sudo apt install curl zsh git - -# macos -xcode-select --install -# download the pkg installer from: https://www.macports.org -# TODO: is there a reasonable unattended install workflow for macports? ``` (4) set the initial shell: @@ -49,9 +44,7 @@ chsh -s $(which zsh) # NA ``` -(5) install a patched font, [Anonymice Pro](https://www.nerdfonts.com/font-downloads). - - wsl: size 11 - - macos: size 16 or 17, no anti-aliasing +(5) https://typeof.net/Iosevka/ (6) install `age` private key from password manager into `~/.key.txt` diff --git a/home/dot_zshenv.tmpl b/home/dot_zshenv.tmpl index 78a7322..1b82d07 100644 --- a/home/dot_zshenv.tmpl +++ b/home/dot_zshenv.tmpl @@ -39,17 +39,10 @@ fi typeset -gU cdpath fpath mailpath path check_paths=( - # conda and friends - /opt/miniforge3/bin - # rust $HOME/.cargo/bin $HOME/.cargo/env - # macports - /opt/local/bin - /opt/local/sbin - # npm $HOME/.npm-packages/bin diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 0d2b399..9001e38 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -17,7 +17,10 @@ sudo apt install \ -y {{ else if eq .hosttype "personal" -}} -sudo port install \ +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +eval "$(/opt/homebrew/bin/brew shellenv)" +brew install \ + bzip2 \ cmus \ curl \ direnv \ @@ -25,17 +28,18 @@ sudo port install \ git \ git-delta \ helix \ - jujutsu \ + jj \ kitty \ ripgrep \ - tmux \ + sqlite \ tree \ watch \ wget \ xz \ - zellij \ yazi \ + zellij \ zk \ + zlib \ zsh {{ else if eq .hosttype "wsl" -}} From 2cd087b7c2304805b42a9c759c470a10145f6ab6 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 1 Dec 2024 19:27:57 -0500 Subject: [PATCH 158/226] feat: roc editor support --- .../helix/languages.toml.tmpl | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/home/private_dot_config/helix/languages.toml.tmpl b/home/private_dot_config/helix/languages.toml.tmpl index 77898c2..1682053 100644 --- a/home/private_dot_config/helix/languages.toml.tmpl +++ b/home/private_dot_config/helix/languages.toml.tmpl @@ -27,3 +27,30 @@ environment = { "PYENV_VERSION" = "pyright" } name = "python" language-servers = ["pyright"] {{- end }} + +[language-server.roc-ls] +command = "roc_language_server" + +[[language]] +name = "roc" +scope = "source.roc" +injection-regex = "roc" +file-types = ["roc"] +shebangs = ["roc"] +roots = [] +comment-token = "#" +language-servers = ["roc-ls"] +indent = { tab-width = 2, unit = " " } +auto-format = true +formatter = { command = "roc", args =[ "format", "--stdin", "--stdout"]} + +[language.auto-pairs] +'(' = ')' +'{' = '}' +'[' = ']' +'"' = '"' + +[[grammar]] + +name = "roc" +source = { git = "https://github.com/faldor20/tree-sitter-roc.git", rev = "ef46edd0c03ea30a22f7e92bc68628fb7231dc8a" } From e731821c3acabd0d99c09ad37753b7066102ffa2 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 3 Dec 2024 13:45:55 -0500 Subject: [PATCH 159/226] chore: december branch name --- .../private_Application Support/private_jj/config.toml.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl index 1d7ee2c..66e33cf 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -3,7 +3,7 @@ name = {{ .name | quote }} email = {{ .email | quote }} [git] -push-bookmark-prefix = "202411_{{ .github }}_jj_" +push-bookmark-prefix = "202412_{{ .github }}_jj_" private-commits = "description(glob:'private:*')" [revset-aliases] From d97474bff62108acc8661133916f1c5cf4446f2a Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 2 Jan 2025 14:40:16 -0500 Subject: [PATCH 160/226] maint: bump branch prefix --- .../private_Application Support/private_jj/config.toml.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl index 66e33cf..26bf8d3 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -3,7 +3,7 @@ name = {{ .name | quote }} email = {{ .email | quote }} [git] -push-bookmark-prefix = "202412_{{ .github }}_jj_" +push-bookmark-prefix = "202501_{{ .github }}_jj_" private-commits = "description(glob:'private:*')" [revset-aliases] From e2378b0737d76c425391f04fac8cf9c5590aa528 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 2 Jan 2025 14:40:58 -0500 Subject: [PATCH 161/226] feat: bifurcating profiles --- foo.age | 22 ++++++ home/.chezmoi.toml.tmpl | 12 ++- home/.chezmoiignore.tmpl | 4 - home/dot_gitconfig-work.tmpl | 5 ++ home/dot_gitconfig.tmpl | 6 +- home/dot_zprofile.tmpl | 2 +- .../private_jj/config.toml.tmpl | 11 ++- home/private_dot_ssh/encrypted_id_rsa_jj.age | 77 +++++++++++++++++++ .../encrypted_id_rsa_jj.pub.age | 22 ++++++ home/private_dot_ssh/id_rsa.pub.tmpl | 5 -- home/private_dot_ssh/private_id_rsa.tmpl | 5 -- 11 files changed, 148 insertions(+), 23 deletions(-) create mode 100644 foo.age create mode 100644 home/dot_gitconfig-work.tmpl create mode 100644 home/private_dot_ssh/encrypted_id_rsa_jj.age create mode 100644 home/private_dot_ssh/encrypted_id_rsa_jj.pub.age delete mode 100644 home/private_dot_ssh/id_rsa.pub.tmpl delete mode 100644 home/private_dot_ssh/private_id_rsa.tmpl diff --git a/foo.age b/foo.age new file mode 100644 index 0000000..41aa5ce --- /dev/null +++ b/foo.age @@ -0,0 +1,22 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwekJ1R1Z6M0hLN2pESFBY +NW1BYjFPTjNKMEFaeFJsdWtzK2lnQkl3emdzCitrREJ3RGd4TWh0R25yaDRRd0pi +bDlrbG1ucDV2SXd5NklMeUx3K2F0Z0UKLS0tIDZTUjBYV1Q1TDh4RVJQUzlTUENS +YllMcXlQalVoUkY5VzN6bWJTakt4L2cKlYHzGnnjKZQpZzc7NdjrRsXum2tfcjwk +T45iSastj8gFQLbB3fIElsprJAgCPhu0jcWtbvgiFpESRlmThzP1wWf9DmgDNnHI +68IBPaM4Ru6PWBY6HTMQ4EsyzFrnuKj8ZM/RYF7fjOmKG/K1hYB7+iqwR3tlt1D2 +6Cryn5qLU0Ou68nwnsXdFIcPEolVvMX4XsGrSaSnprNVF3hCW9vtYEdjJvIgKNUz +3xX+J3MfGIR+oSfYb6o81aA9F5xS2obbPaBIW04x9ZQ4ik20GiYt+gI2H3QTOp7z ++/Je1HIF2/biWwP7qgdbusAd+XFbwPs4wh/M3XEqiEVcY+MvshmWUbjShjYq0c0e +ySqF+ZPSw0NKg50O+avZeH1LxPXqshr2RHpGDNFGHaJRIKse0W1hNPZ5rj8daJj1 +f8eIcfZ4fcIAgci3Je5PZHdErEnhU2LsvTEeGuINdNjiEpV+YqMEhZlKE2h0sdeF +oYRQt8enCCqFEizMTm1CQRcix7WYLx2CCJEbH8jnDlnlJnNRQ4utHA+q8c0ERndz +iDtgbjhktDgNRtXx/gvf9Fu1Jh4fHz2brFTIeuI27hy9OmtcNF5Z2U+86K3QkGyr +Dp3NFQUXlkv5NLDeCACbsqE99BBfczhliVFCeR1WaUtriNbXkzO17KDy7vI7XUwb ++V4OW7y5+2v4UQX4GbhViUSioxIfjil5NHXYIXIhlk2QB50odvbkfhfEboir0+vC +fx1+9SzZB+Krp+/29u+mN357OSRTWMkZephjUCPP42rOqe+WYFBVLQJ60JAHsyye +Vb9ge7FPCHHO7TmzD2a5rWU3u0Mzh5l8x0KoVoaP7PZnmQmFJ8TdRAGaMowH/Ej+ +IiHbStLtMqLpRtHMou5+wC+oIJW6mgJCS8m+dJPG522xHpDnTmg3rHRax771i9SP +fpL9OPDcqCQABCU8iTL1K/iisj/1+0sjV3ojBZb6FTk14rrJyCes6BgVU46Yr19T +i52qXa5Pq0i1V4Md72ucws8Y7qaOjkNd/5Zrzy/7qOh7Iuv1fLo= +-----END AGE ENCRYPTED FILE----- diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index 753394e..ee0c717 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -7,8 +7,10 @@ {{- $hosttype := promptChoiceOnce . "hosttype" "What type of host are you on" $choices -}} {{ $name := promptString "name" -}} -{{ $email := promptString "email" -}} -{{ $github := promptString "github" -}} +{{ $email_personal := promptString "email_personal" -}} +{{ $email_work := promptString "email_work" -}} +{{ $github_personal := promptString "github_personal" -}} +{{ $github_work := promptString "github_work" -}} encryption = "age" [age] @@ -18,5 +20,7 @@ encryption = "age" hostname = {{ $hostname | quote }} hosttype = {{ $hosttype | quote }} name = {{ $name | quote }} - email = {{ $email | quote }} - github = {{ $github | quote }} \ No newline at end of file + email_personal = {{ $email_personal | quote }} + email_work = {{ $email_work | quote }} + github_personal = {{ $github_personal | quote }} + github_work = {{ $github_work | quote }} \ No newline at end of file diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl index 9098c7a..cbc6c9b 100644 --- a/home/.chezmoiignore.tmpl +++ b/home/.chezmoiignore.tmpl @@ -1,9 +1,5 @@ {{- if ne .hosttype "work" }} .zshklaviyo {{- end }} -.ssh/id_rsa_work -.ssh/id_rsa_personal -.ssh/id_rsa_work.pub -.ssh/id_rsa_personal.pub work_paths work_packages diff --git a/home/dot_gitconfig-work.tmpl b/home/dot_gitconfig-work.tmpl new file mode 100644 index 0000000..f1d6984 --- /dev/null +++ b/home/dot_gitconfig-work.tmpl @@ -0,0 +1,5 @@ +[user] + email = {{ .email_work }} + +[core] + sshCommand = "ssh -i ~/.ssh/id_rsa_work" diff --git a/home/dot_gitconfig.tmpl b/home/dot_gitconfig.tmpl index cec6604..fb8909f 100644 --- a/home/dot_gitconfig.tmpl +++ b/home/dot_gitconfig.tmpl @@ -1,9 +1,8 @@ [include] path = /opt/local/share/git-delta/themes.gitconfig - [user] name = {{ .name }} - email = {{ .email }} + email = {{ .email_personal }} [core] editor = hx pager = delta @@ -62,3 +61,6 @@ rebase = true [init] defaultBranch = main + +[includeIf "gitdir:~/Klaviyo/"] + path = ~/.gitconfig-work diff --git a/home/dot_zprofile.tmpl b/home/dot_zprofile.tmpl index 1b073f3..f8d5647 100644 --- a/home/dot_zprofile.tmpl +++ b/home/dot_zprofile.tmpl @@ -1,5 +1,5 @@ # {{ .name }} -# {{ .email }} +# {{ .email_personal }} # Added by OrbStack: command-line tools and integration source ~/.orbstack/shell/init.zsh 2>/dev/null || : diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl index 26bf8d3..129b823 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -1,9 +1,9 @@ [user] name = {{ .name | quote }} -email = {{ .email | quote }} +email = {{ .email_personal | quote }} [git] -push-bookmark-prefix = "202501_{{ .github }}_jj_" +push-bookmark-prefix = "{{ .github_personal }}_jj_" private-commits = "description(glob:'private:*')" [revset-aliases] @@ -27,3 +27,10 @@ diff-args = [ "--syntax-theme", "base16", "$left", "$right", ] + +[[--scope]] +--when.repositories = ["~/Klaviyo"] +[--scope.user] +email = {{ .email_work | quote }} +[--scope.git] +push-bookmark-prefix = "202501_{{ .github_work }}_jj_" diff --git a/home/private_dot_ssh/encrypted_id_rsa_jj.age b/home/private_dot_ssh/encrypted_id_rsa_jj.age new file mode 100644 index 0000000..88d8440 --- /dev/null +++ b/home/private_dot_ssh/encrypted_id_rsa_jj.age @@ -0,0 +1,77 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2dTJtOXhNTXRJSW5XaVk2 +cVFrZlg1bkEvWk0zMEpVTnVIQXZtYWhlRmdVCkFOTDljY3l3dVF6eitzTTZEYk9T +L2V6cWJPQnRnaGRMMkI4Q0I4K1M2bFkKLS0tIEpDQ2hKYWVPS3hvbkt3NDJuTmpa +ZXgwa24wODVLZE1IRENYTXd4SGdXdVEK/4D4Bobna1iIX2ot9uMiyO4hE4mhs9mU +QK691AjAnY0DnOC7P+ZCjMFnA3PphfwXI5AEPMYW/hq0wpNjRZfhZm2vDT/IkSjR +H2knv/AW5WwERu2HxIHETGoQQlrAm+NANeca+OWF3+OFkO1+Mpsu5Dfyr3Txmz9Z +yG8INKwmunU5SqtdpRCg/YQmwylA6Nmmw8fjFREWD+eLxvuDmUYIGBUOfetrP78l +h1Vanx9zhj85J89qAkLFaQ8uZy7NezgIUe81L7+QY98H2wwnc279tvnv/vc3QLc1 +hwH9D5Pdrq6KUNBv1pG5hItLbh1yY3ho5/vMWIMXHw5LxQsE2nLHkvXGhZXN8YyM +bR0BWMH6n1w5KQHR8nnHCuJsCuFC7KUoXAwaljbbbv/xO/+uAihJu3/2RrgMgA+y +dOUtNkl9VrvXll5frAAijZzgd/JgQk3OrJGlpCxamcbPjvKok8aYfqeJa+MVr3lU +akc7lJpBE54rsHw+wR844rgdve4x5z3sSQ1sMmThVu2VvDw+SqKGbcgSu0sdARgz +c/ktCxSbC3x6j2sVv4Eie+1mtkfky9pX6GKzfvrGb6sLXtHL+nwli1F3ahP3TNK3 +7y8+57Ob6/XSGfxGdRe0ylMSXPCQ7NiU8fQAKyY92larkKpBZJfaoyrYwbPmTnPP +W2Y1WtXecKKvE6S0GToMOqKkESJQhQNj57zBSGF+CjPTtuKN/WafwQy2sL9H+XxJ +JLLh4DVfdcnbmz6Kh/+hcGQbpwHcW0Lm1ZOAi+VKgCe45oaUWM5h/D7xb6C4SbAh +IXlPewrk+6TqSUSoK4GLYEaFEC4i5x+1HlouNDHSoFacMrbEgZ3KooK+/+Rcsr1J +L4j1AG6EAaxd39XtffA3a4GsgcoeXmekg5V9b/MwwmXOTjdrq5cJCU5izrQFuFEw +faTi3OgQJJDLiKbaFNzLhfD6bf9gprKFDtjr/wLE7fxHGywPG6QDFo2ARQKfYiSd +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 +-----END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_ssh/encrypted_id_rsa_jj.pub.age b/home/private_dot_ssh/encrypted_id_rsa_jj.pub.age new file mode 100644 index 0000000..41aa5ce --- /dev/null +++ b/home/private_dot_ssh/encrypted_id_rsa_jj.pub.age @@ -0,0 +1,22 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwekJ1R1Z6M0hLN2pESFBY +NW1BYjFPTjNKMEFaeFJsdWtzK2lnQkl3emdzCitrREJ3RGd4TWh0R25yaDRRd0pi +bDlrbG1ucDV2SXd5NklMeUx3K2F0Z0UKLS0tIDZTUjBYV1Q1TDh4RVJQUzlTUENS +YllMcXlQalVoUkY5VzN6bWJTakt4L2cKlYHzGnnjKZQpZzc7NdjrRsXum2tfcjwk +T45iSastj8gFQLbB3fIElsprJAgCPhu0jcWtbvgiFpESRlmThzP1wWf9DmgDNnHI +68IBPaM4Ru6PWBY6HTMQ4EsyzFrnuKj8ZM/RYF7fjOmKG/K1hYB7+iqwR3tlt1D2 +6Cryn5qLU0Ou68nwnsXdFIcPEolVvMX4XsGrSaSnprNVF3hCW9vtYEdjJvIgKNUz +3xX+J3MfGIR+oSfYb6o81aA9F5xS2obbPaBIW04x9ZQ4ik20GiYt+gI2H3QTOp7z ++/Je1HIF2/biWwP7qgdbusAd+XFbwPs4wh/M3XEqiEVcY+MvshmWUbjShjYq0c0e +ySqF+ZPSw0NKg50O+avZeH1LxPXqshr2RHpGDNFGHaJRIKse0W1hNPZ5rj8daJj1 +f8eIcfZ4fcIAgci3Je5PZHdErEnhU2LsvTEeGuINdNjiEpV+YqMEhZlKE2h0sdeF +oYRQt8enCCqFEizMTm1CQRcix7WYLx2CCJEbH8jnDlnlJnNRQ4utHA+q8c0ERndz +iDtgbjhktDgNRtXx/gvf9Fu1Jh4fHz2brFTIeuI27hy9OmtcNF5Z2U+86K3QkGyr +Dp3NFQUXlkv5NLDeCACbsqE99BBfczhliVFCeR1WaUtriNbXkzO17KDy7vI7XUwb ++V4OW7y5+2v4UQX4GbhViUSioxIfjil5NHXYIXIhlk2QB50odvbkfhfEboir0+vC +fx1+9SzZB+Krp+/29u+mN357OSRTWMkZephjUCPP42rOqe+WYFBVLQJ60JAHsyye +Vb9ge7FPCHHO7TmzD2a5rWU3u0Mzh5l8x0KoVoaP7PZnmQmFJ8TdRAGaMowH/Ej+ +IiHbStLtMqLpRtHMou5+wC+oIJW6mgJCS8m+dJPG522xHpDnTmg3rHRax771i9SP +fpL9OPDcqCQABCU8iTL1K/iisj/1+0sjV3ojBZb6FTk14rrJyCes6BgVU46Yr19T +i52qXa5Pq0i1V4Md72ucws8Y7qaOjkNd/5Zrzy/7qOh7Iuv1fLo= +-----END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_ssh/id_rsa.pub.tmpl b/home/private_dot_ssh/id_rsa.pub.tmpl deleted file mode 100644 index 88f4df2..0000000 --- a/home/private_dot_ssh/id_rsa.pub.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -{{- if eq .hosttype "work" -}} -{{ join .chezmoi.sourceDir "private_dot_ssh/encrypted_id_rsa_work.pub.age" | include | decrypt }} -{{- else -}} -{{ join .chezmoi.sourceDir "private_dot_ssh/encrypted_id_rsa_personal.pub.age" | include | decrypt }} -{{- end -}} diff --git a/home/private_dot_ssh/private_id_rsa.tmpl b/home/private_dot_ssh/private_id_rsa.tmpl deleted file mode 100644 index 97ee1c3..0000000 --- a/home/private_dot_ssh/private_id_rsa.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -{{- if eq .hosttype "work" -}} -{{ join .chezmoi.sourceDir "private_dot_ssh/encrypted_private_id_rsa_work.age" | include | decrypt }} -{{- else -}} -{{ join .chezmoi.sourceDir "private_dot_ssh/encrypted_private_id_rsa_personal.age" | include | decrypt }} -{{- end -}} From 68d22d416d8509bcc5bd8d7d2b7a9c5f4a836cd0 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 2 Jan 2025 14:56:36 -0500 Subject: [PATCH 162/226] chore: cleanup copypasta --- foo.age | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 foo.age diff --git a/foo.age b/foo.age deleted file mode 100644 index 41aa5ce..0000000 --- a/foo.age +++ /dev/null @@ -1,22 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwekJ1R1Z6M0hLN2pESFBY -NW1BYjFPTjNKMEFaeFJsdWtzK2lnQkl3emdzCitrREJ3RGd4TWh0R25yaDRRd0pi -bDlrbG1ucDV2SXd5NklMeUx3K2F0Z0UKLS0tIDZTUjBYV1Q1TDh4RVJQUzlTUENS -YllMcXlQalVoUkY5VzN6bWJTakt4L2cKlYHzGnnjKZQpZzc7NdjrRsXum2tfcjwk -T45iSastj8gFQLbB3fIElsprJAgCPhu0jcWtbvgiFpESRlmThzP1wWf9DmgDNnHI -68IBPaM4Ru6PWBY6HTMQ4EsyzFrnuKj8ZM/RYF7fjOmKG/K1hYB7+iqwR3tlt1D2 -6Cryn5qLU0Ou68nwnsXdFIcPEolVvMX4XsGrSaSnprNVF3hCW9vtYEdjJvIgKNUz -3xX+J3MfGIR+oSfYb6o81aA9F5xS2obbPaBIW04x9ZQ4ik20GiYt+gI2H3QTOp7z -+/Je1HIF2/biWwP7qgdbusAd+XFbwPs4wh/M3XEqiEVcY+MvshmWUbjShjYq0c0e -ySqF+ZPSw0NKg50O+avZeH1LxPXqshr2RHpGDNFGHaJRIKse0W1hNPZ5rj8daJj1 -f8eIcfZ4fcIAgci3Je5PZHdErEnhU2LsvTEeGuINdNjiEpV+YqMEhZlKE2h0sdeF -oYRQt8enCCqFEizMTm1CQRcix7WYLx2CCJEbH8jnDlnlJnNRQ4utHA+q8c0ERndz -iDtgbjhktDgNRtXx/gvf9Fu1Jh4fHz2brFTIeuI27hy9OmtcNF5Z2U+86K3QkGyr -Dp3NFQUXlkv5NLDeCACbsqE99BBfczhliVFCeR1WaUtriNbXkzO17KDy7vI7XUwb -+V4OW7y5+2v4UQX4GbhViUSioxIfjil5NHXYIXIhlk2QB50odvbkfhfEboir0+vC -fx1+9SzZB+Krp+/29u+mN357OSRTWMkZephjUCPP42rOqe+WYFBVLQJ60JAHsyye -Vb9ge7FPCHHO7TmzD2a5rWU3u0Mzh5l8x0KoVoaP7PZnmQmFJ8TdRAGaMowH/Ej+ -IiHbStLtMqLpRtHMou5+wC+oIJW6mgJCS8m+dJPG522xHpDnTmg3rHRax771i9SP -fpL9OPDcqCQABCU8iTL1K/iisj/1+0sjV3ojBZb6FTk14rrJyCes6BgVU46Yr19T -i52qXa5Pq0i1V4Md72ucws8Y7qaOjkNd/5Zrzy/7qOh7Iuv1fLo= ------END AGE ENCRYPTED FILE----- From 01aecec99ec843965709b745d0778f14c01062ad Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 2 Jan 2025 15:06:01 -0500 Subject: [PATCH 163/226] chore: renaming keys --- .../{encrypted_id_rsa_jj.age => encrypted_private_id_rsa.age} | 0 ...crypted_id_rsa_jj.pub.age => encrypted_private_id_rsa.pub.age} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename home/private_dot_ssh/{encrypted_id_rsa_jj.age => encrypted_private_id_rsa.age} (100%) rename home/private_dot_ssh/{encrypted_id_rsa_jj.pub.age => encrypted_private_id_rsa.pub.age} (100%) diff --git a/home/private_dot_ssh/encrypted_id_rsa_jj.age b/home/private_dot_ssh/encrypted_private_id_rsa.age similarity index 100% rename from home/private_dot_ssh/encrypted_id_rsa_jj.age rename to home/private_dot_ssh/encrypted_private_id_rsa.age diff --git a/home/private_dot_ssh/encrypted_id_rsa_jj.pub.age b/home/private_dot_ssh/encrypted_private_id_rsa.pub.age similarity index 100% rename from home/private_dot_ssh/encrypted_id_rsa_jj.pub.age rename to home/private_dot_ssh/encrypted_private_id_rsa.pub.age From 99ac0b18200854bd720d44a6c21e5613762d185b Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 5 Jan 2025 16:17:13 -0500 Subject: [PATCH 164/226] bug: kitty breaks ssh --- home/dot_zshrc.tmpl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 758a942..fd4b60d 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -114,3 +114,5 @@ function reldate() { function _zkhx() { hx --hsplit tasks.xit ${1} } + +[ "$TERM" = "xterm-kitty" ] && alias ssh="TERM=xterm ssh" From 720163c791d8bb275fd1cca667d0567cf6566498 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 7 Jan 2025 07:19:15 -0500 Subject: [PATCH 165/226] chore: re-add devlog to bookmarks --- data/personal.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/personal.toml b/data/personal.toml index 5ad969b..cb04082 100644 --- a/data/personal.toml +++ b/data/personal.toml @@ -5,6 +5,7 @@ ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@pingo.thermokar.st" origin.name = "pingo" repos = [ + "devlog", "dsort", "gitolite-admin", "gpx-web-utils", From 34031bddec63f688d1f586cde2ed0be53c7e5b49 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Fri, 3 Jan 2025 11:46:34 -0500 Subject: [PATCH 166/226] chore: adding work-specific jj keys note: this partial passwordless ssh support in jujutsu is annoying --- home/private_dot_ssh/encrypted_id_ed25519.pub.age | 9 +++++++++ .../encrypted_private_id_ed25519.age | 15 +++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 home/private_dot_ssh/encrypted_id_ed25519.pub.age create mode 100644 home/private_dot_ssh/encrypted_private_id_ed25519.age diff --git a/home/private_dot_ssh/encrypted_id_ed25519.pub.age b/home/private_dot_ssh/encrypted_id_ed25519.pub.age new file mode 100644 index 0000000..01a9e83 --- /dev/null +++ b/home/private_dot_ssh/encrypted_id_ed25519.pub.age @@ -0,0 +1,9 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzZlFZSzBiYXVpdzl5VGR6 +OWZYTk8zaVBxZE4yK1dNN2ZqMWtyMmlzY2lZCkhSM3ZGbkgwTXlVR0RNbFZPM3ps +R21IM2N5d2RXQmt4RUY3RUV1YjZmTVEKLS0tIEJSK2ZocWFPUE40OGlBN3I1TCtR +QWhjVGVPMk1LdVNzeCtSYTA5NzQ2d1UKKff/PWU7776PpbUztvJE3X8AnG+CKfW/ +l/Ha2puxfpa30d0gD9TeeqiEYFgGAujHinV4NvrsbLrWbia8tM3Ycl+wiCF2fdAh +oerskCiUow212eOXwIUEYKobe/pWjVka6ZOPOrviwVLlwAjMBtF9y+G6M2v/g6nK +lt03ojnwkFLWd8UTJyFKqZeFMlA= +-----END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_ssh/encrypted_private_id_ed25519.age b/home/private_dot_ssh/encrypted_private_id_ed25519.age new file mode 100644 index 0000000..0a38344 --- /dev/null +++ b/home/private_dot_ssh/encrypted_private_id_ed25519.age @@ -0,0 +1,15 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyQVYvNlBnd1VrTXdaOXov +RVV2dTBJWTRwSnIzNkdVUm5mTStNcnFRVW40CmhJNmpaa1NQV2FEd0xBa2RSMGdF +WnhWLzAzMFl5SFJzQ3FwS3dQZWU4NkEKLS0tIDBvWUJiN3BVVy9hc3M1VE9udEpR +OG1Bc1JmRjhYNm1PU2tHL1Vrcmp4WmMKUlnXIK32N1ckGjILWLehf1rBDwzlozWV +WZ6s1JAIFsqswNTDMbrSzK9rho8B5r0blIOz0ik4imtz3NE1kNj3D8F4VnGm0m7M +TljtehOxSXLJbF5S2Gf6G1j9td0t6H6XVLHlUC0qhZkF1H+dHJoBfiGpLLYxp569 +V3B8XItIpmA1oJHNTcV7HZBbdZchR/jQTUBhogmwIWU5RVPwofoIiq/ID3ack9ZZ +4YhDgjqi9fjkdxQUChjS4Sl4bekWrafuGjKZixWGofV7nlYHMNWsI5x3Y0Y60lWD +WEZbSzwq4NgtRS4l/8G1F3In40OM5/TbbVIJYzmiwkisNw0kCApeb7EOtsDsTTxx +lu9lxUbORXUelVrmcyjmllqQJ8QsNnUnAdXlQ6WeLa4UaA4xRXEHZ1es2pAMMTm9 +S0RXa3ZGXHwCmaU2Qz5JgDhmnRXfTsfMnv+jjtV1xohgT1Pkwv3uOLmgCnT4K4IH +lMGfIlwcTVtS+6tDJcOW4CbRET1hhXDXR+o6FzTGNSzQE5YuO8wCEoAZ3P/9aKQC +vT7ni7KA7WwJEWXTbw+cTy/qZa2b8vPTPKOFhdKXHyD5ArRj2yUKcOwdIQ== +-----END AGE ENCRYPTED FILE----- From 481f1e7b0493c100d52eeb7c4dfe522272c3f214 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 8 Jan 2025 07:41:44 -0500 Subject: [PATCH 167/226] feat: strip jira-style ids utility --- home/dot_zshrc.tmpl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index fd4b60d..af8810b 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -116,3 +116,5 @@ function _zkhx() { } [ "$TERM" = "xterm-kitty" ] && alias ssh="TERM=xterm ssh" + +alias strip_jira="sed 's/\[\{0,1\}[a-zA-Z]*-[0-9]*\]\{0,1\}//g'" From 3d9120c7623c106c5526ca50980ad5b04bc63077 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 3 Feb 2025 18:38:05 -0500 Subject: [PATCH 168/226] new project repo --- data/personal.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/personal.toml b/data/personal.toml index cb04082..8acc095 100644 --- a/data/personal.toml +++ b/data/personal.toml @@ -12,6 +12,7 @@ repos = [ "gwar", "leaving-hope", "pingo", + "talent-plan", ] remotes = [] From bd0a601a9b663d5e7de30c4c349a756a649ce05c Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 21 Jan 2025 13:27:22 -0500 Subject: [PATCH 169/226] work-related changes --- home/encrypted_dot_zshklaviyo.age | 100 ++++++++++++++++-------------- 1 file changed, 52 insertions(+), 48 deletions(-) diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index 099bb53..7086aa8 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,50 +1,54 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnc0VIdHNOMi90ZURJYVIz -OEV3N1A2UGZIMUx0QWVZeklZK2NGdnh1eEhBCldEeVM4L3RybURERWFCQnMrUHJM -WlFmb0Fwa3MvZzh1N2Z4ZXNsYy9iNlEKLS0tIGV5OTZLdFNPYWRPVGxwbVU1b2xs -S0ZROTRDeE9xazEvUDZLbHJWRnAzT28KTlGHRcCRxLbpNDBwtoc/hBCp5LnHtgb3 -+DC/wBi6wsdgbpCkNwQufTFqqVjoLVMn4KjMunYvEytgx1scYtwk4ShcvRZpeld0 -MZ6r9anRnk9brGPzg++dhHdBN0fX/qrMZlDlcn/+mpYzJXYgkZUnQBSt4gJgj79k -QQbWUnV01vd7v8YWvzW/Si2mDHXuc+3gf6v1Uk86aIP1TxDyHy+VAUcxeQo3BDwv -pOgc7NqX4LiwphrjXxsplZ6eN/uTAdNkHGzgBqUSPdwLmwBmZGWjImGH68wzDhq4 -2PNE9nVutECNSQRGBUDHU7cYmJ7WnRJNeQD917LO7Y6PMzed70k4UxyBbGbVuvsq -1jWwEbcp3i/48D4XxEgWiY4WnmG9hskIeUAtM5MxWySRYzySzP6fM+xPzRFa0DRi -SKTjby5+dr1OFWYWnVfzZLcJCnEVA8EEXtWD5+/iwh2xmv53U/ctorjsKvAMLwok -PJC/jshXgt1fbaD6e8tM5k3WVwKIyhEL4Cudmv8ANTE0B7Q1F8sjPg3PCaNWGkH0 -JoJwl7eRpcR45muFgpSE1ceGW2Iy/rIrqJq0R8dHGsO1/CiadvUFJsvlHrmVuPno -FERmS3mgEn5mjKQ5ELwB0ws7nOrTXrhQJX2W8iy8lvHvDqYNaohuzU1vBe+XpDAV -pJdieQ7/EcykbD4Yg9pImKcqOYfe3H7z4X0EbI4ayBs5uyhQpGFl8CIwt+wAW6vY -wgXjRsmmkd/IhEZD+tDKaBgQ9vVDNVskRmbudSXLSTrqn93v4IcefDBySZzm+RS3 -oasJ6Yktx/j1uKhRAf5oqR8dtWAjwbhMY5X3s2E/M++ASiO3PbW/ZIjH8ArD5eC2 -0jynaPkObGM3Yo6aDR5KHsF79DSZnmKK/vdf/aAW+B1w2KE2liJyFJwASqdcX8II -7mDQ67EbtkV201UFcXZ+1Z8DCv3C2FLm5VyZLZxwZ0hNBDiX55oBq4h+t6FdwkXc -/8vUM3r7Wu7wrd1K/pRJzI45pb/o9zIrtigM8VRPrcfZre0EaSoZW78g63gRMtTo -F6S/gmg6HEWJIl64CMznEjieaWNzPOog0atV2xnqBjWuHWgg0tell1+mtbPVvYyD -JHkSlVHJ/coFiPDH8gGJqr2MaRi01TwQ5iBu7//zntwXfJlnrp0fwhyA2U478oFG -jzW3ICG4I4EDPcDUVI1/WVSequIoV07WCWjh0WiPUxj7FCqFQl7VXLjvPMP+xjFc -oxJL1U5lcgQt4R1JWu+HvmrhqcwtzcwntU0WZfn7OHBYXRRibQERQvmX3gXPTo2a -noB23PuCIwW+ARjaEU9pD+bmk1Ym8ti1jb2QiMh8n60werJe2yCd9It+TkeVc7Em -RJmtEmiGryd/V+HCNdpRpouzSzIJOFDtIXWnX8k9r7g/YwGFcyfpiah6Fl+CW4bY -XtXLCdoWfswdYJXwevVaEhEBA2wIrQ43055K7+4LI/y1JmR4L1xqVGG/ZWTGhvKM -LJ/9BLwoevpwnSGaAHpdjIpZEp05XMKi2vR+xA0nmjcXFEIrPCvh2kaRWjuzCi9R -lFi0GUj+mUA1zmvFo7pIQseBNoWM49N3sNPm3GV39S27OtZDEjRxlvvbziPB5gLN -MyKrWJSu9PQyXyI5sBdhv78E+dsm8vLNIBv8MYHrE6J+2QIky1Xe+TyH+1dYvUXt -SXJmNS+xq/K0qsV6VBeCUdstbiNgPeeR0ToNOtmMQKJ4ONjX6Jw9srJTpaRuoKCt -PmxiJ5ibYWK2Ye7lSKA9XiOyn3PEXK+YdP4S+UXNdDhnajLGOq8Xqq0MLtlAeUlc -8oNXg83rQejCUAvXJH8v8QiNl39uVSx7fevvkJrg1ANdcpia8Qf8f6QtwDaeTQSl -kIsOfNCyrZqYeW7PvTtdqCA/Vnezv8ujru75gTEfmV2jU1RAND8CuIxTqy8j0XFc -DqVDnGuNyDH/K4XLyyu8z/wmRCTPQyhMlCZiRL1lRf3/N7XrhEK+uGlX99gfPXAP -QI+ST5loDtFTPiEPDiFtwDhjwldcajv+NlMMW37OB99SJQwfqiLNd3RGWcyf+jPz -3UzMK1v8lpoqa2rj0KlrBIXYixo2GEjmkteOkcr8/vhTVzEQR8XwRbpI8AtyicpU -cX+ijEfPnhnCTHI/MpXGaIHGizyTPSyNmUqQJZfDgpBjew7/M/ADdAk0qYvF45yu -JYsl40CUSOjaT4TVizK0Zmdlo21Dcin7JfFscy2T7l6hmhv/g7tmvLzlhB9EPZUx -xjgPbNOmD18NtW4pFq2t7NtG8aXma/1Ht1m9n7bITUE+qr7tJrSM6xCFE+I1kDlT -CHRbw8Q0/SgVzsEVRlNDZCXLqfhnBhDLOhktEiRIMEpAb2POfn97mVZjVFhuGeW1 -GyP/8ggUDmFo66iEl8sbG8f28JRaHP43GDhaq9d4SRdfEwqc6atH6uIcvV6v8qT1 -XWnyllB0wIzcvv6ZVUMnN3mil7oHVwit5Ax2tPbLo5JiAZURqhXJwWRUPVCl7ypa -qDCc4aInHhDCISvYSrIYO54cX/uNwxrjGuYfNHWJYnJVJwFQMa/0ILhPVOoV7/EE -pH1NVwezgBn4tx6laO4yB7sHEIU6agKYvgE0XSLxNQOCfl3Hi12Ic9ys2vpwhR0d -12rNW/niTlzWIDpHbP09RutK9gNNYKUQc4HgIgaIVfWo6F2VcjZR4lncgg806mZo -lT3S+Bsbp5w6teo6wUqFjuSOPoCGdbVLkr/fTfJmGwidUNKGdmvAiquHiscYWQbC -sN49bjdEqGQHiCZoB2RUBuO9Cn3IRd9JBeY0lvkB9FrcrC/8 +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDUnQza0xISS94cmovWjdN +cE4xUXlZUmxXZXFtcHpmSkJBOCsyMENDbGtJClZzRWtXcCsxRzV6NnpEa0tkdVM5 +VVhLZy9PNnNzYmFZRERIYytDR1ZIWXMKLS0tIGI1ZHFGZlREdTNSaVIwby92UXNu +VHl4b0ZFa2YzeGF1SjBNVHJkZzB1WmsKSQqM3kQb4WuwNu25aV/poePparImEyle +87MKXTwAIfGt8o+LuAeIUZJLkEu8Mthn32gSlys1dboW3tO3FrAyVz7YdsjPZkds +mC6/PAm9OCn/9Em51BY0cl7fKG3o6mkKbyq/NWxz/I44XGNBfjvAF3hVEGUSDO1Z +Nhn8Y+ULT6W19/bze10JVa5+14noknbUy6RipDw8jeE6K49zeRzmgnTdiz5PJwgw +hhH5FfQ9BFlMvODsROpqdMpvCBkreK401mxUlta0XNwgTVCdIC2pS80ozYnK+Hg6 +bSWk21IEHuCkff6YR4Ehk9+KOQOle4XFA7lSEm6elI8wQuBTNQ1GW5NQWPa39KZm +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 +MCB8T2oeBNw= -----END AGE ENCRYPTED FILE----- From 5ddaf90681c458132cf5534e1a2c2401e13a0bd3 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Fri, 7 Feb 2025 06:57:55 -0500 Subject: [PATCH 170/226] new: zed config --- .../zed/private_settings.json | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 home/private_dot_config/zed/private_settings.json diff --git a/home/private_dot_config/zed/private_settings.json b/home/private_dot_config/zed/private_settings.json new file mode 100644 index 0000000..8d94e5d --- /dev/null +++ b/home/private_dot_config/zed/private_settings.json @@ -0,0 +1,42 @@ +// Zed settings +// +// For information on how to configure Zed, see the Zed +// documentation: https://zed.dev/docs/configuring-zed +// +// To see all of Zed's default settings without changing your +// custom settings, run `zed: open default settings` from the +// command palette (cmd-shift-p / ctrl-shift-p) +{ + "vim_mode": true, + "ui_font_size": 14, + "buffer_font_family": "Iosevka Term Extralight", + "buffer_font_size": 14, + "font_size": 14, + "font_family": "Iosevka Term", + + "theme": { + "mode": "dark", + "light": "One Light", + "dark": "Catppuccin Mocha" + }, + + "terminal": { + "line_height": "standard" + }, + "lsp": { + "rust-analyzer": { + "initialization_options": { + "inlayHints": { + "maxLength": null, + "lifetimeElisionHints": { + "enable": "skip_trivial", + "useParameterNames": true + }, + "closureReturnTypeHints": { + "enable": "always" + } + } + } + } + } +} From e8cfaf2eae2e37304bd28e5844f73fb200f125f6 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 13 Feb 2025 16:38:39 -0500 Subject: [PATCH 171/226] maint: tweaking zed config --- home/private_dot_config/zed/keymap.json | 57 +++++++++++++++++++ .../zed/private_settings.json | 38 ++++++++++++- 2 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 home/private_dot_config/zed/keymap.json diff --git a/home/private_dot_config/zed/keymap.json b/home/private_dot_config/zed/keymap.json new file mode 100644 index 0000000..dffdc2c --- /dev/null +++ b/home/private_dot_config/zed/keymap.json @@ -0,0 +1,57 @@ +[ + { + "context": "Terminal || ProjectPanel || CollabPanel || OutlinePanel || ChatPanel || VimControl || EmptyPane || SharedScreen || MarkdownPreview || KeyContextView", + "bindings": { + "ctrl-w": null, + "ctrl-w left": ["workspace::ActivatePaneInDirection", "Left"], + "ctrl-w right": ["workspace::ActivatePaneInDirection", "Right"], + "ctrl-w up": ["workspace::ActivatePaneInDirection", "Up"], + "ctrl-w down": ["workspace::ActivatePaneInDirection", "Down"], + "ctrl-w ctrl-h": ["workspace::ActivatePaneInDirection", "Left"], + "ctrl-w ctrl-l": ["workspace::ActivatePaneInDirection", "Right"], + "ctrl-w ctrl-k": ["workspace::ActivatePaneInDirection", "Up"], + "ctrl-w ctrl-j": ["workspace::ActivatePaneInDirection", "Down"], + "ctrl-w h": ["workspace::ActivatePaneInDirection", "Left"], + "ctrl-w l": ["workspace::ActivatePaneInDirection", "Right"], + "ctrl-w k": ["workspace::ActivatePaneInDirection", "Up"], + "ctrl-w j": ["workspace::ActivatePaneInDirection", "Down"], + "ctrl-w shift-left": ["workspace::SwapPaneInDirection", "Left"], + "ctrl-w shift-right": ["workspace::SwapPaneInDirection", "Right"], + "ctrl-w shift-up": ["workspace::SwapPaneInDirection", "Up"], + "ctrl-w shift-down": ["workspace::SwapPaneInDirection", "Down"], + "ctrl-w shift-h": ["workspace::SwapPaneInDirection", "Left"], + "ctrl-w shift-l": ["workspace::SwapPaneInDirection", "Right"], + "ctrl-w shift-k": ["workspace::SwapPaneInDirection", "Up"], + "ctrl-w shift-j": ["workspace::SwapPaneInDirection", "Down"], + "ctrl-w >": ["vim::ResizePane", "Widen"], + "ctrl-w <": ["vim::ResizePane", "Narrow"], + "ctrl-w -": ["vim::ResizePane", "Shorten"], + "ctrl-w +": ["vim::ResizePane", "Lengthen"], + "ctrl-w _": "vim::MaximizePane", + "ctrl-w =": "vim::ResetPaneSizes", + "ctrl-w g t": "pane::ActivateNextItem", + "ctrl-w ctrl-g t": "pane::ActivateNextItem", + "ctrl-w g shift-t": "pane::ActivatePrevItem", + "ctrl-w ctrl-g shift-t": "pane::ActivatePrevItem", + "ctrl-w w": "workspace::ActivateNextPane", + "ctrl-w ctrl-w": "workspace::ActivateNextPane", + "ctrl-w p": "workspace::ActivatePreviousPane", + "ctrl-w ctrl-p": "workspace::ActivatePreviousPane", + "ctrl-w shift-w": "workspace::ActivatePreviousPane", + "ctrl-w ctrl-shift-w": "workspace::ActivatePreviousPane", + "ctrl-w ctrl-v": "pane::SplitVertical", + "ctrl-w v": "pane::SplitVertical", + "ctrl-w shift-s": "pane::SplitHorizontal", + "ctrl-w ctrl-s": "pane::SplitHorizontal", + "ctrl-w s": "pane::SplitHorizontal", + "ctrl-w ctrl-c": "pane::CloseAllItems", + "ctrl-w c": "pane::CloseAllItems", + "ctrl-w ctrl-q": "pane::CloseAllItems", + "ctrl-w q": "pane::CloseAllItems", + "ctrl-w ctrl-o": "workspace::CloseInactiveTabsAndPanes", + "ctrl-w o": "workspace::CloseInactiveTabsAndPanes", + "ctrl-w ctrl-n": "workspace::NewFileSplitHorizontal", + "ctrl-w n": "workspace::NewFileSplitHorizontal" + } + } +] diff --git a/home/private_dot_config/zed/private_settings.json b/home/private_dot_config/zed/private_settings.json index 8d94e5d..55bfd71 100644 --- a/home/private_dot_config/zed/private_settings.json +++ b/home/private_dot_config/zed/private_settings.json @@ -7,9 +7,22 @@ // custom settings, run `zed: open default settings` from the // command palette (cmd-shift-p / ctrl-shift-p) { + "outline_panel": { + "dock": "left" + }, + + "assistant": { + "enable_experimental_live_diffs": true, + "default_model": { + "provider": "copilot_chat", + "model": "gpt-4o" + }, + "version": "2" + }, + "vim_mode": true, "ui_font_size": 14, - "buffer_font_family": "Iosevka Term Extralight", + "buffer_font_family": "Iosevka Term", "buffer_font_size": 14, "font_size": 14, "font_family": "Iosevka Term", @@ -23,7 +36,30 @@ "terminal": { "line_height": "standard" }, + + "auto_install_extensions": { + "html": true, + "toml": true, + "catppuccin": true + }, + + "languages": { + "Python": { + "language_servers": ["pyright", "ruff"] + } + }, + "lsp": { + "ruff": { + "initialization_options": { + "settings": { + "lint": { + "extendSelect": ["I"] + } + } + } + }, + "rust-analyzer": { "initialization_options": { "inlayHints": { From 2e5e8fbc4f8737b48b83c6d48da0f9f0ccf61093 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 13 Feb 2025 21:24:59 -0500 Subject: [PATCH 172/226] zed: enable new prediction features --- home/private_dot_config/zed/private_settings.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/private_dot_config/zed/private_settings.json b/home/private_dot_config/zed/private_settings.json index 55bfd71..ebf38c4 100644 --- a/home/private_dot_config/zed/private_settings.json +++ b/home/private_dot_config/zed/private_settings.json @@ -11,6 +11,8 @@ "dock": "left" }, + "features": { "edit_prediction_provider": "zed" }, + "assistant": { "enable_experimental_live_diffs": true, "default_model": { From ebc736f780ababfb5db42c13068adba2c9ae6f0c Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 13 Feb 2025 21:24:59 -0500 Subject: [PATCH 173/226] zed: install some extensions --- .../zed/private_settings.json | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/home/private_dot_config/zed/private_settings.json b/home/private_dot_config/zed/private_settings.json index ebf38c4..f9f9e64 100644 --- a/home/private_dot_config/zed/private_settings.json +++ b/home/private_dot_config/zed/private_settings.json @@ -42,7 +42,23 @@ "auto_install_extensions": { "html": true, "toml": true, - "catppuccin": true + "catppuccin": true, + "make": true, + "dockerfile": true, + "sql": true, + "terraform": true, + "lua": true, + "log": true, + "docker-compose": true, + "csv": true, + "basher": true, + "proto": true, + "gdscript": true, + "jinja2": true, + "roc": true, + "gemini": true, + "graphviz": true, + "ssh-config": true }, "languages": { From cb39600f6f55c9a8db078abc9f16cdec06d020f4 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 13 Feb 2025 21:24:59 -0500 Subject: [PATCH 174/226] lint: toml formatter --- data/personal.toml | 54 +++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/data/personal.toml b/data/personal.toml index 8acc095..8d54e8a 100644 --- a/data/personal.toml +++ b/data/personal.toml @@ -5,14 +5,14 @@ ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@pingo.thermokar.st" origin.name = "pingo" repos = [ - "devlog", - "dsort", - "gitolite-admin", - "gpx-web-utils", - "gwar", - "leaving-hope", - "pingo", - "talent-plan", + "devlog", + "dsort", + "gitolite-admin", + "gpx-web-utils", + "gwar", + "leaving-hope", + "pingo", + "talent-plan", ] remotes = [] @@ -23,15 +23,13 @@ ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@pingo.thermokar.st" origin.name = "pingo" repos = [ - "akdillon", - "planner", - # dokku app name is thermokarst, not thermokar.st - "thermokar.st", - "zettel", -] -remotes = [ - { name = "dokku", base_addr = "ssh://dokku@pingo.thermokar.st" }, + "akdillon", + "planner", + # dokku app name is thermokarst, not thermokar.st + "thermokar.st", + "zettel", ] +remotes = [{ name = "dokku", base_addr = "ssh://dokku@pingo.thermokar.st" }] # mds [[workspace]] @@ -40,16 +38,16 @@ ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@pingo.thermokar.st" origin.name = "pingo" repos = [ - "arctic_hibernators_schema", - "bactdb", - "bactdb_data", - "ccdb-api", - "ccdb-old", - "ccdb-web", - "drf_ember_pagination", - "hibernators", - "hibernators-web", - "hymenobacterdotinfo", + "arctic_hibernators_schema", + "bactdb", + "bactdb_data", + "ccdb-api", + "ccdb-old", + "ccdb-web", + "drf_ember_pagination", + "hibernators", + "hibernators-web", + "hymenobacterdotinfo", ] remotes = [] @@ -59,7 +57,5 @@ path = "$HOME/projects/personal" ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@github.com/thermokarst" origin.name = "thermokarst" -repos = [ - "thermokarst", -] +repos = ["thermokarst"] remotes = [] From 25e22570c82c9368203587df283ea483b5eb92f7 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 13 Feb 2025 21:24:59 -0500 Subject: [PATCH 175/226] repo: mini-lsm course --- data/personal.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/personal.toml b/data/personal.toml index 8d54e8a..9e547fd 100644 --- a/data/personal.toml +++ b/data/personal.toml @@ -11,6 +11,7 @@ repos = [ "gpx-web-utils", "gwar", "leaving-hope", + "mini-lsm", "pingo", "talent-plan", ] From 4db7bcac3b6385c565f3c3d43e0f1a7bbfcd82c2 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Fri, 14 Feb 2025 11:51:43 -0500 Subject: [PATCH 176/226] editor: setting up neovim again been using helix for a few years now, but wanted to test the neovim waters again. mostly just ripped off "neovim for newbs" https://www.youtube.com/watch?v=zHTeCSVAFNY&list=PLsz00TDipIffreIaUNk64KxTIkQaGguqn --- home/dot_gitconfig.tmpl | 2 +- home/dot_zshenv.tmpl | 4 +- home/dot_zshrc.tmpl | 19 +++---- home/encrypted_work_packages.age | 31 +++++----- home/private_dot_config/nvim/dot_luarc.json | 5 ++ home/private_dot_config/nvim/init.lua | 20 +++++++ .../nvim/lua/plugins/ai-config.lua | 28 ++++++++++ .../nvim/lua/plugins/catppuccin.lua | 9 +++ .../nvim/lua/plugins/completions.lua | 38 +++++++++++++ .../nvim/lua/plugins/lsp-config.lua | 33 +++++++++++ .../nvim/lua/plugins/lualine.lua | 6 ++ .../nvim/lua/plugins/neo-tree.lua | 12 ++++ .../nvim/lua/plugins/none-ls.lua | 14 +++++ .../nvim/lua/plugins/telescope.lua | 39 +++++++++++++ .../nvim/lua/plugins/testing-config.lua | 56 +++++++++++++++++++ .../nvim/lua/plugins/treesitter.lua | 15 +++++ .../nvim/lua/plugins/which-key.lua | 14 +++++ .../nvim/lua/vim-options.lua | 9 +++ home/run_once_01install-packages.sh.tmpl | 12 ++-- 19 files changed, 333 insertions(+), 33 deletions(-) create mode 100644 home/private_dot_config/nvim/dot_luarc.json create mode 100644 home/private_dot_config/nvim/init.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/ai-config.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/catppuccin.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/completions.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/lsp-config.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/lualine.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/neo-tree.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/none-ls.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/telescope.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/testing-config.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/treesitter.lua create mode 100644 home/private_dot_config/nvim/lua/plugins/which-key.lua create mode 100644 home/private_dot_config/nvim/lua/vim-options.lua diff --git a/home/dot_gitconfig.tmpl b/home/dot_gitconfig.tmpl index fb8909f..77392cc 100644 --- a/home/dot_gitconfig.tmpl +++ b/home/dot_gitconfig.tmpl @@ -4,7 +4,7 @@ name = {{ .name }} email = {{ .email_personal }} [core] - editor = hx + editor = nvim pager = delta [interactive] diffFilter = delta --color-only diff --git a/home/dot_zshenv.tmpl b/home/dot_zshenv.tmpl index 1b82d07..9c7505d 100644 --- a/home/dot_zshenv.tmpl +++ b/home/dot_zshenv.tmpl @@ -4,8 +4,8 @@ if [[ "$OSTYPE" == darwin* ]]; then fi # Editors -export EDITOR='hx' -export VISUAL='hx' +export EDITOR='nvim' +export VISUAL='nvim' export PAGER='less' # Language diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index af8810b..62b5740 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -59,12 +59,7 @@ for fp in $srcs; do fi done -alias i="ipython3" -alias devlog="cd ~/projects/personal/devlog && hx logs/$(date '+%Y-%m-%d').gmi && cd -" - -{{ if eq .chezmoi.hostname "rattusrattus" -}} -alias colima_start="colima start --memory 8 --vm-type vz --mount-type virtiofs --dns 8.8.8.8 --dns 8.8.4.4" -{{- end }} +alias devlog="cd ~/projects/personal/devlog && nvim logs/$(date '+%Y-%m-%d').gmi && cd -" {{- if eq .chezmoi.hostname "devterm" }} function battery() { @@ -101,20 +96,20 @@ function brightness_min { # ttyscheme {{- end -}} -{{ if eq .hosttype "work" -}} +{{ if eq .hosttype "work" "personal" -}} eval "$(/opt/homebrew/bin/brew shellenv)" -{{ end }} eval "$(direnv hook zsh)" eval "$(jj util completion zsh)" +export NVM_DIR="$HOME/.nvm" +[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" +[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" +{{ end }} function reldate() { date -v "${1}" "+%Y-%m-%d" } -function _zkhx() { - hx --hsplit tasks.xit ${1} -} - [ "$TERM" = "xterm-kitty" ] && alias ssh="TERM=xterm ssh" alias strip_jira="sed 's/\[\{0,1\}[a-zA-Z]*-[0-9]*\]\{0,1\}//g'" +alias hx="echo 'oops! you meant nvim, right?'" diff --git a/home/encrypted_work_packages.age b/home/encrypted_work_packages.age index f8a540c..6426f5e 100644 --- a/home/encrypted_work_packages.age +++ b/home/encrypted_work_packages.age @@ -1,16 +1,19 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXQ0tGTHh2cm9Dd3RyVjk1 -RGw0a2U1dDNhTGxIVVBNOUxIeThuRllBWnc0Cm5wSFd1RTAyaUptaHk3Y05VYkcy -REtiWFdkWkE3NDFHVjZmdk5yMWd5c0UKLS0tIFVySXI4bmFiQ3B6K0ZYQUNpK1VW -WWs2QmsxajNWNXdNdW1WN0tqYVltQzAKRt8AYM34DDCutguPZeS2yN9oJ5FCCGCz -PFmV+aLrqn14Mf8TrsuZvxdMx8th2CAkueZCblvBOQzj+FwETeXW/XTmy0y8Wy7N -F5yNzQfLOig9rW0qyK82sWEglunFM2u6g1rqCul9fZwuhvGOa1vSGYfnHNFwlIIl -fPZ8h4HEWOf75p0qakt0mA+KrbAKmvrTFVmPvBcqaVfImka5e+PYNXeJ9lw8Rl8M -5pka+BKBSmDYtfhN8Y9i9UhPbv+UfDULNURCsWT9isx8tAeYmIJPdJ6+VoKHlt1R -gXgg08268d0X+ZFWIKJyluFNLBt35YSFNeNMKGe1DcTzop+VWxjVgS7uSRQj2Sti -jym2L8m7bfieFvo37IG+wrIC0J1i4tqxIIZqPSYCrM45h5D2pkPT+8IQGnO+PUXu -DbYypym6ndbD5VLY/etETIIYxWBkcHeOVGBEy5d2BR627ii0AW8gxU5pWHW3IZcn -Diwi5tnq5TD27eIYd4U6DxqneIwmWJvnxfZ3EpUqgAAhg/Wc3ZiTz7SMf9QO8tAW -KZQYi3oKd+d44WcM5uhGyKF5j7HB4qicPfGVuTH0fh4YNHF66AhEJuhRhAvZawpa -9PlqpoIrmMUU1DuD6PSLGe8VmL6EPp1zfg== +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYU2dJZnYvTkh6dUVweXVx +V1p0VVlwMDlRb0o0RCtBQ3hiV05sNlJKUWxJCmFOUGJ3MDJzeG52dnRnanl1YzEr +T3NITFE2dVdTWmZZS21ibEVIOEZxOGsKLS0tIEFDc1FwdXAwcjFYdWQrUHR0Um1h +Q1NEbnBUdUM1VzlSbno2SUNxNXVtVUkKXGUnUKGfQ5cPrOLQzii4i+JuDNLEZCTz +XFd5xowhxkKP2aVTXZwvmdAZuy19hnH3QU95P79W5E5WU8NjFCnEXaeJRYYCBFIt +PfcnXqJZ/ltCz0V4sNkh4kcdiQMGc62dCJmn6KczCQFLH2SZqzC1yGJcxKqj2agG +w4G01mT1RRaXG++SGv86I5RgkKkLLhED8Axfqf5S7L5s53IMVKdGrYhCmveWH01+ +L1DbgobbhSUDD+pBrD8+m3CKoRSDA7w0+ybcdVJBf7jF+pF2rZnC+KamTqB2O/Ru +Ak00RPNUs4thofxchxCPfnafUFdB7Vbr09qA+GQVAZJALwgFkTRxDJere2Kf5b9/ +UN0KUaq3x/mnujP+879wgxosmGda4/Mfj56wB/Ah9xuIQI3R3fTRlAjBPm9ul/wH +iEvCLYwS8JQ2ug06nfyiAI4UkVEh8Fb1k5rCxSeeCTaGTQO6Bo86YCIsLV/Tg7Yc +yz8DBi3+rthL5T2myWOLdt662OdbJ0slgiwsTa1ADVAe9lsJWdPWigbIDv5NnxNH +ncUwiUgcQ8QzLZ6CBD90NLfNDUnEA8EFk6uwvxScAOhAESlpHI95+s/20VTHi2vf +wrpJs1SbUc8vin1SsJBOL8dT1d4+MhUq19Z4c5MXQ6UUYLiDYxYFPNM8MQV528PL +xOKHdkOjANIL6VQjbPGOpdd6cGp8TbFsLoWm7k/jLsq5o6eWzkc1hbQuMSlhbaa8 +uJTADuYbNTDMc/CkLo/Ynbmpng+E4YMEv/9xukryFWTpJcDQjJAWi64pMztvSLC+ +6gfXAIGCo5eLMqEIawFp+UYU+4SH -----END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_config/nvim/dot_luarc.json b/home/private_dot_config/nvim/dot_luarc.json new file mode 100644 index 0000000..1e1765c --- /dev/null +++ b/home/private_dot_config/nvim/dot_luarc.json @@ -0,0 +1,5 @@ +{ + "diagnostics.globals": [ + "vim" + ] +} \ No newline at end of file diff --git a/home/private_dot_config/nvim/init.lua b/home/private_dot_config/nvim/init.lua new file mode 100644 index 0000000..9d1054c --- /dev/null +++ b/home/private_dot_config/nvim/init.lua @@ -0,0 +1,20 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- order matters here! +require("vim-options") +require("lazy").setup("plugins") diff --git a/home/private_dot_config/nvim/lua/plugins/ai-config.lua b/home/private_dot_config/nvim/lua/plugins/ai-config.lua new file mode 100644 index 0000000..ac641dc --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/ai-config.lua @@ -0,0 +1,28 @@ +return { + "yetone/avante.nvim", + opts = { + provider = "copilot", + }, + dependencies = { + { + "zbirenbaum/copilot.lua", + config = function() + require("copilot").setup({ + copilot_node_command = vim.fn.expand("$HOME") .. "/.nvm/versions/node/v22.14.0/bin/node", + suggestion = { enabled = false }, + panel = { enabled = false }, + }) + end, + }, + { + "MeanderingProgrammer/render-markdown.nvim", + opts = { + file_types = { "markdown", "Avante" }, + }, + ft = { "markdown", "Avante" }, + }, + }, + config = function() + vim.keymap.set({ "n", "v" }, "a", "", { desc = "+ai" }) + end, +} diff --git a/home/private_dot_config/nvim/lua/plugins/catppuccin.lua b/home/private_dot_config/nvim/lua/plugins/catppuccin.lua new file mode 100644 index 0000000..249efad --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/catppuccin.lua @@ -0,0 +1,9 @@ +return { + "catppuccin/nvim", + lazy = false, + name = "catppuccin", + priority = 1000, + config = function() + vim.cmd.colorscheme("catppuccin") + end, +} diff --git a/home/private_dot_config/nvim/lua/plugins/completions.lua b/home/private_dot_config/nvim/lua/plugins/completions.lua new file mode 100644 index 0000000..0e5cbc0 --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/completions.lua @@ -0,0 +1,38 @@ +return { + { + "hrsh7th/cmp-nvim-lsp", + }, + { + "zbirenbaum/copilot-cmp", + config = function() + require("copilot_cmp").setup() + end, + }, + { + "hrsh7th/nvim-cmp", + config = function() + local cmp = require("cmp") + + cmp.setup({ + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.abort(), + [""] = cmp.mapping.confirm({ select = true }), + }), + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + }, { + { name = "buffer" }, + }, { + { name = "copilot" }, + }), + }) + end, + }, +} diff --git a/home/private_dot_config/nvim/lua/plugins/lsp-config.lua b/home/private_dot_config/nvim/lua/plugins/lsp-config.lua new file mode 100644 index 0000000..016598b --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/lsp-config.lua @@ -0,0 +1,33 @@ +return { + { + "williamboman/mason.nvim", + config = function() + require("mason").setup() + end, + }, + { + "williamboman/mason-lspconfig.nvim", + config = function() + require("mason-lspconfig").setup({ + ensure_installed = { "lua_ls" }, + }) + end, + }, + { + "neovim/nvim-lspconfig", + config = function() + local capabilities = require("cmp_nvim_lsp").default_capabilities() + local lspconfig = require("lspconfig") + + -- lua + lspconfig.lua_ls.setup({ + capabilities = capabilities, + }) + + vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) + vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) + vim.keymap.set({ "n", "v" }, "c", "", { desc = "+code" }) + vim.keymap.set({ "n", "v" }, "ca", vim.lsp.buf.code_action, { desc = "action" }) + end, + }, +} diff --git a/home/private_dot_config/nvim/lua/plugins/lualine.lua b/home/private_dot_config/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..5f54a0b --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/lualine.lua @@ -0,0 +1,6 @@ +return { + "nvim-lualine/lualine.nvim", + config = function() + require("lualine").setup() + end, +} diff --git a/home/private_dot_config/nvim/lua/plugins/neo-tree.lua b/home/private_dot_config/nvim/lua/plugins/neo-tree.lua new file mode 100644 index 0000000..29d0ba6 --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/neo-tree.lua @@ -0,0 +1,12 @@ +return { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + "MunifTanjim/nui.nvim", + }, + config = function() + vim.keymap.set("n", "e", ":Neotree toggle", { desc = "toggle file tree" }) + end, +} diff --git a/home/private_dot_config/nvim/lua/plugins/none-ls.lua b/home/private_dot_config/nvim/lua/plugins/none-ls.lua new file mode 100644 index 0000000..403da6e --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/none-ls.lua @@ -0,0 +1,14 @@ +return { + "nvimtools/none-ls.nvim", + config = function() + local null_ls = require("null-ls") + + null_ls.setup({ + sources = { + null_ls.builtins.formatting.stylua, + }, + }) + + vim.keymap.set("n", "cf", vim.lsp.buf.format, { desc = "format" }) + end, +} diff --git a/home/private_dot_config/nvim/lua/plugins/telescope.lua b/home/private_dot_config/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..b8af826 --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/telescope.lua @@ -0,0 +1,39 @@ +return { + { + "nvim-telescope/telescope.nvim", + tag = "0.1.8", + dependencies = { "nvim-lua/plenary.nvim" }, + config = function() + local builtin = require("telescope.builtin") + vim.keymap.set("n", "f", builtin.find_files, { desc = "find files" }) + vim.keymap.set("n", "b", builtin.buffers, { desc = "find buffers" }) + vim.keymap.set("n", "/", builtin.live_grep, { desc = "live grep" }) + vim.keymap.set("n", "j", builtin.jumplist, { desc = "jumplist" }) + + local actions = require("telescope.actions") + require("telescope").setup({ + defaults = { + mappings = { + i = { + [""] = actions.close, + }, + }, + }, + }) + end, + }, + + { + "nvim-telescope/telescope-ui-select.nvim", + config = function() + require("telescope").setup({ + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown({}), + }, + }, + }) + require("telescope").load_extension("ui-select") + end, + }, +} diff --git a/home/private_dot_config/nvim/lua/plugins/testing-config.lua b/home/private_dot_config/nvim/lua/plugins/testing-config.lua new file mode 100644 index 0000000..f634f60 --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/testing-config.lua @@ -0,0 +1,56 @@ +return { + { + "nvim-neotest/neotest", + dependencies = { + "nvim-neotest/nvim-nio", + "nvim-lua/plenary.nvim", + "antoinemadec/FixCursorHold.nvim", + "nvim-treesitter/nvim-treesitter", + }, + config = function() + require("neotest").setup({ + adapters = { + require("neotest-python"), + require("rustaceanvim.neotest"), + }, + }) + + vim.keymap.set({ "n", "v" }, "t", "", { desc = "+testing" }) + vim.keymap.set({ "n", "v" }, "tt", function() + require("neotest").run.run(vim.fn.expand("%")) + end, { desc = "run file" }) + vim.keymap.set({ "n", "v" }, "tT", function() + require("neotest").run.run(vim.uv.cwd()) + end, { desc = "run all test files" }) + vim.keymap.set({ "n", "v" }, "tr", function() + require("neotest").run.run() + end, { desc = "run nearest" }) + vim.keymap.set({ "n", "v" }, "tl", function() + require("neotest").run.run_last() + end, { desc = "run last" }) + vim.keymap.set({ "n", "v" }, "ts", function() + require("neotest").summary.toggle() + end, { desc = "toggle summary" }) + vim.keymap.set({ "n", "v" }, "to", function() + require("neotest").output.open({ enter = true, auto_close = true }) + end, { desc = "show output" }) + vim.keymap.set({ "n", "v" }, "to", function() + require("neotest").output_panel.toggle() + end, { desc = "toggle output panel" }) + vim.keymap.set({ "n", "v" }, "ts", function() + require("neotest").run.stop() + end, { desc = "stop" }) + vim.keymap.set({ "n", "v" }, "tw", function() + require("neotest").watch.toggle(vim.fn.expand("%")) + end, { desc = "toggle watch" }) + end, + }, + { + "nvim-neotest/neotest-python", + }, + { + "mrcjkb/rustaceanvim", + version = "^5", + lazy = false, + }, +} diff --git a/home/private_dot_config/nvim/lua/plugins/treesitter.lua b/home/private_dot_config/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..d4a8e05 --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,15 @@ +return { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + config = function() + local configs = require("nvim-treesitter.configs") + + configs.setup({ + ensure_installed = { "lua", "vim", "query", "javascript", "html", "python", "rust" }, + sync_install = false, + auto_install = true, + highlight = { enable = true }, + indent = { enable = true }, + }) + end, +} diff --git a/home/private_dot_config/nvim/lua/plugins/which-key.lua b/home/private_dot_config/nvim/lua/plugins/which-key.lua new file mode 100644 index 0000000..6316a7b --- /dev/null +++ b/home/private_dot_config/nvim/lua/plugins/which-key.lua @@ -0,0 +1,14 @@ +return { + "folke/which-key.nvim", + event = "VeryLazy", + opts = {}, + keys = { + { + "?", + function() + require("which-key").show({ global = false }) + end, + desc = "buffer local keymaps (which-key)", + }, + }, +} diff --git a/home/private_dot_config/nvim/lua/vim-options.lua b/home/private_dot_config/nvim/lua/vim-options.lua new file mode 100644 index 0000000..a01e9b9 --- /dev/null +++ b/home/private_dot_config/nvim/lua/vim-options.lua @@ -0,0 +1,9 @@ +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +vim.o.cursorline = true +vim.o.expandtab = true +vim.o.number = true +vim.o.shiftwidth = 2 +vim.o.softtabstop = 2 +vim.o.tabstop = 2 diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 9001e38..e6c3932 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -10,7 +10,6 @@ sudo apt install \ libssl-dev \ lynx \ ripgrep \ - tmux \ tree \ wget \ zsh \ @@ -30,6 +29,8 @@ brew install \ helix \ jj \ kitty \ + neovim \ + nvm \ ripgrep \ sqlite \ tree \ @@ -42,6 +43,11 @@ brew install \ zlib \ zsh +export NVM_DIR="$HOME/.nvm" +[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" +nvm install 22 +nvm use 22 + {{ else if eq .hosttype "wsl" -}} sudo apt update sudo apt install \ @@ -50,13 +56,11 @@ sudo apt install \ libssl-dev \ pkg-config \ ripgrep \ - tmux \ tree \ wget \ yazi \ -y -{{ end }} -{{ if eq .hosttype "work" -}} +{{ else if eq .hosttype "work" -}} {{ join .chezmoi.sourceDir "encrypted_work_packages.age" | include | decrypt -}} {{ end }} From 68213db5e04bf9f14452e66e5e5275344c72a11b Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 16 Feb 2025 15:26:35 -0500 Subject: [PATCH 177/226] nvim keymap cleanup --- home/private_dot_config/nvim/lua/plugins/ai-config.lua | 3 --- home/private_dot_config/nvim/lua/vim-options.lua | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/ai-config.lua b/home/private_dot_config/nvim/lua/plugins/ai-config.lua index ac641dc..8b59669 100644 --- a/home/private_dot_config/nvim/lua/plugins/ai-config.lua +++ b/home/private_dot_config/nvim/lua/plugins/ai-config.lua @@ -22,7 +22,4 @@ return { ft = { "markdown", "Avante" }, }, }, - config = function() - vim.keymap.set({ "n", "v" }, "a", "", { desc = "+ai" }) - end, } diff --git a/home/private_dot_config/nvim/lua/vim-options.lua b/home/private_dot_config/nvim/lua/vim-options.lua index a01e9b9..605da9d 100644 --- a/home/private_dot_config/nvim/lua/vim-options.lua +++ b/home/private_dot_config/nvim/lua/vim-options.lua @@ -7,3 +7,5 @@ vim.o.number = true vim.o.shiftwidth = 2 vim.o.softtabstop = 2 vim.o.tabstop = 2 + +vim.keymap.set({ "n", "v" }, "y", "\"*y", { desc = "yank to clipboard" }) From 14f6531071ae1af3c4787608f477f6aa97dd3d5f Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 18 Feb 2025 14:41:18 -0500 Subject: [PATCH 178/226] misc nvim lsp tweaks --- .../nvim/lua/plugins/lsp-config.lua | 18 +++++++++++++++++- .../nvim/lua/plugins/treesitter.lua | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/home/private_dot_config/nvim/lua/plugins/lsp-config.lua b/home/private_dot_config/nvim/lua/plugins/lsp-config.lua index 016598b..d92dae4 100644 --- a/home/private_dot_config/nvim/lua/plugins/lsp-config.lua +++ b/home/private_dot_config/nvim/lua/plugins/lsp-config.lua @@ -9,7 +9,7 @@ return { "williamboman/mason-lspconfig.nvim", config = function() require("mason-lspconfig").setup({ - ensure_installed = { "lua_ls" }, + ensure_installed = { "lua_ls", "marksman", "rust_analyzer", "pyright" }, }) end, }, @@ -24,10 +24,26 @@ return { capabilities = capabilities, }) + -- markdown + lspconfig.marksman.setup({ + capabilities = capabilities, + }) + + -- rust + lspconfig.rust_analyzer.setup({ + capabilities = capabilities, + }) + + -- python + lspconfig.pyright.setup({ + capabilities = capabilities, + }) + vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) vim.keymap.set({ "n", "v" }, "c", "", { desc = "+code" }) vim.keymap.set({ "n", "v" }, "ca", vim.lsp.buf.code_action, { desc = "action" }) + vim.keymap.set({ "n", "v" }, "cr", vim.lsp.buf.rename, { desc = "rename" }) end, }, } diff --git a/home/private_dot_config/nvim/lua/plugins/treesitter.lua b/home/private_dot_config/nvim/lua/plugins/treesitter.lua index d4a8e05..f854eca 100644 --- a/home/private_dot_config/nvim/lua/plugins/treesitter.lua +++ b/home/private_dot_config/nvim/lua/plugins/treesitter.lua @@ -5,7 +5,7 @@ return { local configs = require("nvim-treesitter.configs") configs.setup({ - ensure_installed = { "lua", "vim", "query", "javascript", "html", "python", "rust" }, + ensure_installed = { "lua", "vim", "query", "javascript", "html", "python", "rust", "markdown" }, sync_install = false, auto_install = true, highlight = { enable = true }, From b27081aa8422500ad86cfa6c291b09209a865aea Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 18 Feb 2025 14:41:18 -0500 Subject: [PATCH 179/226] done with nvim experiment. keeping configs for now but i miss helix. --- home/dot_gitconfig.tmpl | 2 +- home/dot_zshenv.tmpl | 7 +- home/dot_zshrc.tmpl | 3 +- home/encrypted_dot_zshklaviyo.age | 108 ++++++++++++++++-------------- 4 files changed, 63 insertions(+), 57 deletions(-) diff --git a/home/dot_gitconfig.tmpl b/home/dot_gitconfig.tmpl index 77392cc..fb8909f 100644 --- a/home/dot_gitconfig.tmpl +++ b/home/dot_gitconfig.tmpl @@ -4,7 +4,7 @@ name = {{ .name }} email = {{ .email_personal }} [core] - editor = nvim + editor = hx pager = delta [interactive] diffFilter = delta --color-only diff --git a/home/dot_zshenv.tmpl b/home/dot_zshenv.tmpl index 9c7505d..913a9b3 100644 --- a/home/dot_zshenv.tmpl +++ b/home/dot_zshenv.tmpl @@ -4,8 +4,8 @@ if [[ "$OSTYPE" == darwin* ]]; then fi # Editors -export EDITOR='nvim' -export VISUAL='nvim' +export EDITOR='hx' +export VISUAL='hx' export PAGER='less' # Language @@ -66,6 +66,9 @@ check_paths=( # homebrew /opt/homebrew/bin + # uv + $HOME/.local/bin + {{ join .chezmoi.sourceDir "encrypted_work_paths.age" | include | decrypt -}} ) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 62b5740..b78e701 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -59,7 +59,7 @@ for fp in $srcs; do fi done -alias devlog="cd ~/projects/personal/devlog && nvim logs/$(date '+%Y-%m-%d').gmi && cd -" +alias devlog="cd ~/projects/personal/devlog && hx logs/$(date '+%Y-%m-%d').gmi && cd -" {{- if eq .chezmoi.hostname "devterm" }} function battery() { @@ -112,4 +112,3 @@ function reldate() { [ "$TERM" = "xterm-kitty" ] && alias ssh="TERM=xterm ssh" alias strip_jira="sed 's/\[\{0,1\}[a-zA-Z]*-[0-9]*\]\{0,1\}//g'" -alias hx="echo 'oops! you meant nvim, right?'" diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index 7086aa8..2ea5b4e 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,54 +1,58 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDUnQza0xISS94cmovWjdN -cE4xUXlZUmxXZXFtcHpmSkJBOCsyMENDbGtJClZzRWtXcCsxRzV6NnpEa0tkdVM5 -VVhLZy9PNnNzYmFZRERIYytDR1ZIWXMKLS0tIGI1ZHFGZlREdTNSaVIwby92UXNu -VHl4b0ZFa2YzeGF1SjBNVHJkZzB1WmsKSQqM3kQb4WuwNu25aV/poePparImEyle -87MKXTwAIfGt8o+LuAeIUZJLkEu8Mthn32gSlys1dboW3tO3FrAyVz7YdsjPZkds -mC6/PAm9OCn/9Em51BY0cl7fKG3o6mkKbyq/NWxz/I44XGNBfjvAF3hVEGUSDO1Z -Nhn8Y+ULT6W19/bze10JVa5+14noknbUy6RipDw8jeE6K49zeRzmgnTdiz5PJwgw -hhH5FfQ9BFlMvODsROpqdMpvCBkreK401mxUlta0XNwgTVCdIC2pS80ozYnK+Hg6 -bSWk21IEHuCkff6YR4Ehk9+KOQOle4XFA7lSEm6elI8wQuBTNQ1GW5NQWPa39KZm -6orL25zCt4gtE9iHG+sLK704+PtL9KEOgpaups3pV6OFWwTU/YWOuzwv184PLQyG -nL4XfONnqbFe2+pvnlqHfnGql6SSR5zRaXfolLWbzQl/xJKEpe61Pn3OseHlbNyc -8QqSnRt6jpcbEcKvpJwcEzf3EJ7q4+6YzfRBxd993u6MI2UAzlusp6U+GNm6wRJz -L2GXGC3j/DzzyYuEkQflKCbtwc7BJiR/yhckhF51xt4e+rUrLxcfWM+h3NsI5irU -tMM+LerAbk3tglUcv+Au7GZGc/hMOrnbpLJIq6EB1mKU1Q61rSqFW1iYHs8oB8EN -N1eOqaeehJVy/nrKy9aTTueFQjTR/ZJS/YAG6Zd3nUHN5u7tRV3kPB1lruODAGV9 -O+YFD75+A8Yl7UBMd4vsnfeeGd4UGCLVMO00P6eU4/FI2/QHQ28EdTGMkoimQfN9 -UCHDnIZIGT5tVGTo4cY+zY0dqln/aZKeBEH46uiu9EyXXCt4a6Yp40Ys7JlF2KS/ -sh5TvPy0i2B4AicuIHRZ+qnEPR9FdSF8Efz4LuYINHLHNvALM+s+GIWGTKnoHcLY -dZbLSmh8k7sVdydSWwIBSa93+wgXIrGcZohJ02FIYfuhzLVdTtBPZE9dNqGbUqVt -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 -MCB8T2oeBNw= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzQi9EbUtMZURFYm9Cclk3 +K2w5cFFXdmppSzM2Vkw0VUk0bHFGNGlWRkhFCkJDeTAvNEo5RlFsNG9URWE3MHZR +QmdEVW01Q0dlN2Rtb3lzVkZQT0NxZVEKLS0tIGo2S1RPeEtrOUd2cElJZExPa1JR +MkNsd2dNaEJ2bkJaSmdhMWxDUUV6VTgKQ45IaxCHdHHqMlhnhwylRs8azDF6NhLG +D3N1ZfeAOHXOHqTadjRNH5txGHWDgBTw7vA4zePrbCI6zv8z+ZH1YQSJ7n++krqp +ovcmxlUZ6gokaxWMhsczhDIlvmbnD2csp24a245gFjGrccN4uRBt39qp6/ZeTPe0 +YmxKOFPUt6xymJf30SgH6v7VymfLbu5/FiVoT34K2YiVZxEdp1gJbv44+undTSXU +ARnMOXv9GLwZFxJfOzjqcBgwTGnXx8Mff0ZEJnWfotgWqsLYHWki++T/LX2WxJ8C +tisgBntDwmArQYHwTkO+PqdXUicW5ZjpaFtvFoFq4EfAx32i0LJSFLoguPLI3RcI +b3TKN4IMgphVt/gN7UFv/Nf7Iysz03Yb1ZZluyT3irmFg9/qEeWgnQBzhHed/5Ec +WoVPzFWLnX4JVcAYoebSuVi0csOG6qouiODmIelPnWw3zFUjzZM3JouYhEkhB0h+ +0rgrKYAgn5BZeAFFj2s/yiXfjXgzkCai/dYnZeiXDJwynxpAs7HaBxNQFGZk27TF +tsBbRfYxQy9mPb2J7rhd861WnWbIPvLnCCYMS0ZrwYiGtpyRyX0lORtNY03sXgOm +ep+GnqkN6BgkaDatoNlfDfw3LmMJpzlNHC+pJoYCqj4FpN4lm2XU3fl3W2ghVyxg +E+U71mbFUNKeeyNImiNyfSZU53KDtijLMmF/GHZRz5fMbfc9+mmVQLal7ecbxnvw +KHZd9Cq8Wfwwuqh2KZ1YOhT64J8gOQMxqg2wDXpNZJ4fuiD/3k6alw59lgUc99AR +hMq7QmYCCNB2iZGCxDXsJvOI9ylHT2JPv08bbDWHxoE3HvvT0lLmt2CX/ZnfbFGb +ZsvfVCN36Hx1IWoYVzybnz8N0UNeUV45Sx1Kfvinrt4c5P1005g06hNoKpRu8+2j +SshI+E45r9AvKWJ03YrKlmyp29rm+1qovthmsOUKzaQ9VC0MMjrZmp2w+xbmPksk +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 +30cD -----END AGE ENCRYPTED FILE----- From 5d7846756e89380d624b78c41b5471db08acf163 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 3 Mar 2025 06:25:52 -0500 Subject: [PATCH 180/226] new: yazi keymap --- home/private_dot_config/yazi/keymap.toml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 home/private_dot_config/yazi/keymap.toml diff --git a/home/private_dot_config/yazi/keymap.toml b/home/private_dot_config/yazi/keymap.toml new file mode 100644 index 0000000..b6a506b --- /dev/null +++ b/home/private_dot_config/yazi/keymap.toml @@ -0,0 +1,4 @@ +[[input.prepend_keymap]] +on = "" +run = "close" +desc = "Cancel input" \ No newline at end of file From 92beb62be21dadec034d2a342668309a1ddcb743 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 3 Mar 2025 07:43:54 -0500 Subject: [PATCH 181/226] bootstrapping aider --- home/.chezmoiignore.tmpl | 3 +++ home/dot_aider.conf.yml | 11 +++++++++++ home/dot_zshrc.tmpl | 1 + home/encrypted_dot_zshprivate.age | 9 +++++++++ home/run_once_01install-packages.sh.tmpl | 3 +++ 5 files changed, 27 insertions(+) create mode 100644 home/dot_aider.conf.yml create mode 100644 home/encrypted_dot_zshprivate.age diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl index cbc6c9b..5bc532e 100644 --- a/home/.chezmoiignore.tmpl +++ b/home/.chezmoiignore.tmpl @@ -1,5 +1,8 @@ {{- if ne .hosttype "work" }} .zshklaviyo {{- end }} +{{- if ne .hosttype "personal" }} +.zshprivate +{{- end }} work_paths work_packages diff --git a/home/dot_aider.conf.yml b/home/dot_aider.conf.yml new file mode 100644 index 0000000..c4af58f --- /dev/null +++ b/home/dot_aider.conf.yml @@ -0,0 +1,11 @@ +cache-prompts: true + +user-input-color: "#a6e3a1" +tool-output-color: "#89b4fa" +tool-error-color: "#f38ba8" +tool-warning-color: "#fab387" +assistant-output-color: "#cba6f7" +completion-menu-color: "#cdd6f4" +completion-menu-bg-color: "#313244" +completion-menu-current-color: "#f9e2af" +completion-menu-current-bg-color: "#45475a" diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index b78e701..30c783c 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -51,6 +51,7 @@ srcs=( "/opt/miniforge3/etc/profile.d/mamba.sh" "$HOME/.cargo/env" "$HOME/.zshklaviyo" + "$HOME/.zshprivate" ) for fp in $srcs; do diff --git a/home/encrypted_dot_zshprivate.age b/home/encrypted_dot_zshprivate.age new file mode 100644 index 0000000..1a00416 --- /dev/null +++ b/home/encrypted_dot_zshprivate.age @@ -0,0 +1,9 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaTUNxWEJoK1FsdzZma3Bv +N0ExZjl0L0wyME5SNFFLeWlwTmQxKzBhYzNnClJpcVljQ2tVQVE5V0dWM3pVM0l6 +L25aNyszbUpJdkQ4U3BiMzJqZG1VMUkKLS0tIG1hU2F3T3JwWVlocDBaTytVSEhS +eGFRdS83K3Z5Q1k5SjZKaklGeFNzTVEKSfDagViJt1sc8+MBK7wuAFUzuOhTEeR/ +n1npKF9k7EJ7zGlstQrIANUk6/k1ArIhJHCJizrMX1QqRAEsUKKZ+J/ckdD1uBEE +/GIPBwb43l01Yj162XLzT9+zjHL2E8BDRwQDHYd/xjgQTUHGrgpc2zHzWOzkIOf+ +ASAe+lix9By7mfkiRA== +-----END AGE ENCRYPTED FILE----- diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index e6c3932..ca077ba 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -48,6 +48,9 @@ export NVM_DIR="$HOME/.nvm" nvm install 22 nvm use 22 +curl -LsSf https://astral.sh/uv/install.sh | sh +uv tool install --force --python python3.12 aider-chat@latest + {{ else if eq .hosttype "wsl" -}} sudo apt update sudo apt install \ From f8756dae221ebb597ffda36f459674ef4ec70ef0 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 3 Mar 2025 08:12:55 -0500 Subject: [PATCH 182/226] misc helix tweaks --- home/private_dot_config/helix/config.toml | 7 +- .../helix/themes/base16-ashes.toml | 93 ------------------- 2 files changed, 5 insertions(+), 95 deletions(-) delete mode 100644 home/private_dot_config/helix/themes/base16-ashes.toml diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 14ddb9b..97d538e 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -3,14 +3,17 @@ theme = "catppuccin_mocha" [editor] true-color = true insert-final-newline = false +end-of-line-diagnostics = "hint" + +[editor.inline-diagnostics] +cursor-line = "error" [editor.file-picker] hidden = false [keys.normal] C-r = ":reload-all" -C-y = ":sh zellij run -c -f -x 10% -y 10% --width 80% --height 80% -- bash ~/.config/helix/yazi-picker.sh open" +C-y = ":sh zellij run -c -f -x 5% -y 5% --width 90% --height 90% -- bash ~/.config/helix/yazi-picker.sh open" [keys.normal.C-m] t = ":sh run_test_under_cursor" -j = ":sh zellij run -f -x 10% -y 10% --width 80% --height 80% -- jj diff" diff --git a/home/private_dot_config/helix/themes/base16-ashes.toml b/home/private_dot_config/helix/themes/base16-ashes.toml deleted file mode 100644 index 7596819..0000000 --- a/home/private_dot_config/helix/themes/base16-ashes.toml +++ /dev/null @@ -1,93 +0,0 @@ -# Scheme name: Ashes -# Scheme author: Jannik Siebert (https://github.com/janniks) -# Template author: Tinted Theming (https://github.com/tinted-theming) - -"attributes" = "base09" -"comment" = { fg = "base03", modifiers = ["italic"] } -"constant" = "base09" -"constant.character.escape" = "base0C" -"constant.numeric" = "base09" -"constructor" = "base0D" -"debug" = "base03" -"diagnostic" = { modifiers = ["underlined"] } -"diff.delta" = "base09" -"diff.minus" = "base08" -"diff.plus" = "base0B" -"error" = "base08" -"function" = "base0D" -"hint" = "base03" -"info" = "base0D" -"keyword" = "base0E" -"label" = "base0E" -"namespace" = "base0E" -"operator" = "base05" -"special" = "base0D" -"string" = "base0B" -"type" = "base0A" -"variable" = "base08" -"variable.other.member" = "base0B" -"warning" = "base09" - -"markup.bold" = { fg = "base0A", modifiers = ["bold"] } -"markup.heading" = "base0D" -"markup.italic" = { fg = "base0E", modifiers = ["italic"] } -"markup.link.text" = "base08" -"markup.link.url" = { fg = "base09", modifiers = ["underlined"] } -"markup.list" = "base08" -"markup.quote" = "base0C" -"markup.raw" = "base0B" -"markup.strikethrough" = { modifiers = ["crossed_out"] } - -"diagnostic.hint" = { underline = { style = "curl" } } -"diagnostic.info" = { underline = { style = "curl" } } -"diagnostic.warning" = { underline = { style = "curl" } } -"diagnostic.error" = { underline = { style = "curl" } } - -"ui.background" = { bg = "base00" } -"ui.bufferline.active" = { fg = "base00", bg = "base03", modifiers = ["bold"] } -"ui.bufferline" = { fg = "base04", bg = "base00" } -"ui.cursor" = { fg = "base0A", modifiers = ["reversed"] } -"ui.cursor.insert" = { fg = "base0A", modifiers = ["reversed"] } -"ui.cursorline.primary" = { fg = "base05", bg = "base01" } -"ui.cursor.match" = { fg = "base0A", modifiers = ["reversed"] } -"ui.cursor.select" = { fg = "base0A", modifiers = ["reversed"] } -"ui.gutter" = { bg = "base00" } -"ui.help" = { fg = "base06", bg = "base01" } -"ui.linenr" = { fg = "base03", bg = "base00" } -"ui.linenr.selected" = { fg = "base04", bg = "base01", modifiers = ["bold"] } -"ui.menu" = { fg = "base05", bg = "base01" } -"ui.menu.scroll" = { fg = "base03", bg = "base01" } -"ui.menu.selected" = { fg = "base01", bg = "base04" } -"ui.popup" = { bg = "base01" } -"ui.selection" = { bg = "base02" } -"ui.selection.primary" = { bg = "base02" } -"ui.statusline" = { fg = "base04", bg = "base01" } -"ui.statusline.inactive" = { bg = "base01", fg = "base03" } -"ui.statusline.insert" = { fg = "base00", bg = "base0B" } -"ui.statusline.normal" = { fg = "base00", bg = "base03" } -"ui.statusline.select" = { fg = "base00", bg = "base0F" } -"ui.text" = "base05" -"ui.text.focus" = "base05" -"ui.virtual.indent-guide" = { fg = "base03" } -"ui.virtual.inlay-hint" = { fg = "base03" } -"ui.virtual.ruler" = { bg = "base01" } -"ui.virtual.jump-label" = { fg = "base0A", modifiers = ["bold"] } -"ui.window" = { bg = "base01" } - -[palette] -base00 = "#1c2023" # Default Background -base01 = "#393f45" # Lighter Background (Used for status bars, line number and folding marks) -base02 = "#565e65" # Selection Background -base03 = "#747c84" # Comments, Invisibles, Line Highlighting -base04 = "#adb3ba" # Dark Foreground (Used for status bars) -base05 = "#c7ccd1" # Default Foreground, Caret, Delimiters, Operators -base06 = "#dfe2e5" # Light Foreground (Not often used) -base07 = "#f3f4f5" # Light Background (Not often used) -base08 = "#c7ae95" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted -base09 = "#c7c795" # Integers, Boolean, Constants, XML Attributes, Markup Link Url -base0A = "#aec795" # Classes, Markup Bold, Search Text Background -base0B = "#95c7ae" # Strings, Inherited Class, Markup Code, Diff Inserted -base0C = "#95aec7" # Support, Regular Expressions, Escape Characters, Markup Quotes -base0D = "#ae95c7" # Functions, Methods, Attribute IDs, Headings -base0E = "#c795ae" # Keywords, Storage, Selector, Markup Italic, Diff Changed -base0F = "#c79595" # Deprecated, Opening/Closing Embedded Language Tags, e.g. From 18c2db7e4bb62a44bb48e21123c66f28b10f3b18 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 3 Mar 2025 08:35:56 -0500 Subject: [PATCH 183/226] maint: aider config --- home/dot_aider.conf.yml | 2 + home/encrypted_dot_zshklaviyo.age | 112 ++++++++++++++--------------- home/encrypted_work_packages.age | 36 +++++----- home/private_dot_config/git/ignore | 1 + 4 files changed, 78 insertions(+), 73 deletions(-) diff --git a/home/dot_aider.conf.yml b/home/dot_aider.conf.yml index c4af58f..14b8768 100644 --- a/home/dot_aider.conf.yml +++ b/home/dot_aider.conf.yml @@ -1,4 +1,6 @@ cache-prompts: true +gitignore: false +auto-commits: false user-input-color: "#a6e3a1" tool-output-color: "#89b4fa" diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index 2ea5b4e..ea3958d 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,58 +1,58 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzQi9EbUtMZURFYm9Cclk3 -K2w5cFFXdmppSzM2Vkw0VUk0bHFGNGlWRkhFCkJDeTAvNEo5RlFsNG9URWE3MHZR -QmdEVW01Q0dlN2Rtb3lzVkZQT0NxZVEKLS0tIGo2S1RPeEtrOUd2cElJZExPa1JR -MkNsd2dNaEJ2bkJaSmdhMWxDUUV6VTgKQ45IaxCHdHHqMlhnhwylRs8azDF6NhLG -D3N1ZfeAOHXOHqTadjRNH5txGHWDgBTw7vA4zePrbCI6zv8z+ZH1YQSJ7n++krqp -ovcmxlUZ6gokaxWMhsczhDIlvmbnD2csp24a245gFjGrccN4uRBt39qp6/ZeTPe0 -YmxKOFPUt6xymJf30SgH6v7VymfLbu5/FiVoT34K2YiVZxEdp1gJbv44+undTSXU -ARnMOXv9GLwZFxJfOzjqcBgwTGnXx8Mff0ZEJnWfotgWqsLYHWki++T/LX2WxJ8C -tisgBntDwmArQYHwTkO+PqdXUicW5ZjpaFtvFoFq4EfAx32i0LJSFLoguPLI3RcI -b3TKN4IMgphVt/gN7UFv/Nf7Iysz03Yb1ZZluyT3irmFg9/qEeWgnQBzhHed/5Ec -WoVPzFWLnX4JVcAYoebSuVi0csOG6qouiODmIelPnWw3zFUjzZM3JouYhEkhB0h+ -0rgrKYAgn5BZeAFFj2s/yiXfjXgzkCai/dYnZeiXDJwynxpAs7HaBxNQFGZk27TF -tsBbRfYxQy9mPb2J7rhd861WnWbIPvLnCCYMS0ZrwYiGtpyRyX0lORtNY03sXgOm -ep+GnqkN6BgkaDatoNlfDfw3LmMJpzlNHC+pJoYCqj4FpN4lm2XU3fl3W2ghVyxg -E+U71mbFUNKeeyNImiNyfSZU53KDtijLMmF/GHZRz5fMbfc9+mmVQLal7ecbxnvw -KHZd9Cq8Wfwwuqh2KZ1YOhT64J8gOQMxqg2wDXpNZJ4fuiD/3k6alw59lgUc99AR -hMq7QmYCCNB2iZGCxDXsJvOI9ylHT2JPv08bbDWHxoE3HvvT0lLmt2CX/ZnfbFGb -ZsvfVCN36Hx1IWoYVzybnz8N0UNeUV45Sx1Kfvinrt4c5P1005g06hNoKpRu8+2j -SshI+E45r9AvKWJ03YrKlmyp29rm+1qovthmsOUKzaQ9VC0MMjrZmp2w+xbmPksk -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 -30cD +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYOXZlZnZvaCs2UXJHVjgz +eFVkbHVSVUxGRC9KRFcyc1pvMVNGRXpORlNnCko3UU9zTVdRNDVURjV3bEFYTEdv +NEFzZkhiWFJKeEtEQ2d2RW1wY09STlkKLS0tIG1jNjFLajQvREJ3YWtsSnpUSVli +dTRLdTg0YUE5cTFSWDdIa0ZmcUZWdmcKFK2pagel2tWjvh8JMf+uPK0huz9ZsX+g +yWTN4GNDqPwDCENXwKDZEugaPmcR1fRQ8KfD4hTOj8jIOs4NfItdWJc978iRi21W +ctH2kaqi6Y/xCvqM1kndRwrt3AqcFiICZ+eys8lxK51qPWZYe92V+6heBT/btAtu +Tr6ZykDFRiMk0ZF4icVlwwi7OxJa0IsMiWg88z1DIJapobrB/1n2L4zlALn7Y1/T +9B5EnNs1j7VZnyczzjSGoPKcaw0+rk7LyBiKDgWsjZrvedSlwNi3eEFLwkDjcZLf +qN0yGWl4xZaxGxdOf9P72ky4VfLhkhQ4w2IC8n75Cdhl+2fPbqWZCEehyCrDiaw+ +zYjcf3z46Kabh7V9rkjEkn7kJVp2bVYoL9n6GNtKm8HSjM4iCYSGGIjNcCG7VdUa +kVMmqDSEvAj4HKpHz/91P7nI5l6GrK0Is3lyjgLSqsV00fKgGgOyiqLOpS6YV8g8 +vra66MMfLU5Vb4r2uV3/bhxa0l7jem+PBeBDdb2FvISN2P2viFdLXip2WeK8biM/ +09eizPLxKC4NpqIl2ZvlYeEE9Ki84+bUJlDV6ew46c/dTs7qYQ4YpjpUUul5d4Ts +x7uxasCdzbxWWcGp5VyPDRdd+smv7dT6uXMZoisSkd6x8glapDqqhLdT07kDV1Qe ++ZH8zafOIbEfRDQsEhN2H/k/ZzEmd5QXbL3UmnUmYGu8k7bNlHqa3qtDbE0PW5Ii +ZjJQNmYsmJkzTEydqXYP0GX3cv9JXIgMdAPl2v8wGcySPQ2KPv/U1DR+PJV3Wgxm +iZQGbSv/4aOvhvagCPxIgN2F4p39BXm9VWZhDKt+cEN4aQXbqGbnigDEAruAOxXM +0BI2GAYcmYKhp5MUPv5MQOW1rS8M42rVeS0KLjE2PxoXBVHyErmsNNrthxGTDiIP +jP6iYLn8E/7oTGQLOQ6AwRgp56JAKkvnxOKAmgArhWsyaucjwpiw4UGjVYxIHJdb +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 +atSo1xQ= -----END AGE ENCRYPTED FILE----- diff --git a/home/encrypted_work_packages.age b/home/encrypted_work_packages.age index 6426f5e..6581433 100644 --- a/home/encrypted_work_packages.age +++ b/home/encrypted_work_packages.age @@ -1,19 +1,21 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYU2dJZnYvTkh6dUVweXVx -V1p0VVlwMDlRb0o0RCtBQ3hiV05sNlJKUWxJCmFOUGJ3MDJzeG52dnRnanl1YzEr -T3NITFE2dVdTWmZZS21ibEVIOEZxOGsKLS0tIEFDc1FwdXAwcjFYdWQrUHR0Um1h -Q1NEbnBUdUM1VzlSbno2SUNxNXVtVUkKXGUnUKGfQ5cPrOLQzii4i+JuDNLEZCTz -XFd5xowhxkKP2aVTXZwvmdAZuy19hnH3QU95P79W5E5WU8NjFCnEXaeJRYYCBFIt -PfcnXqJZ/ltCz0V4sNkh4kcdiQMGc62dCJmn6KczCQFLH2SZqzC1yGJcxKqj2agG -w4G01mT1RRaXG++SGv86I5RgkKkLLhED8Axfqf5S7L5s53IMVKdGrYhCmveWH01+ -L1DbgobbhSUDD+pBrD8+m3CKoRSDA7w0+ybcdVJBf7jF+pF2rZnC+KamTqB2O/Ru -Ak00RPNUs4thofxchxCPfnafUFdB7Vbr09qA+GQVAZJALwgFkTRxDJere2Kf5b9/ -UN0KUaq3x/mnujP+879wgxosmGda4/Mfj56wB/Ah9xuIQI3R3fTRlAjBPm9ul/wH -iEvCLYwS8JQ2ug06nfyiAI4UkVEh8Fb1k5rCxSeeCTaGTQO6Bo86YCIsLV/Tg7Yc -yz8DBi3+rthL5T2myWOLdt662OdbJ0slgiwsTa1ADVAe9lsJWdPWigbIDv5NnxNH -ncUwiUgcQ8QzLZ6CBD90NLfNDUnEA8EFk6uwvxScAOhAESlpHI95+s/20VTHi2vf -wrpJs1SbUc8vin1SsJBOL8dT1d4+MhUq19Z4c5MXQ6UUYLiDYxYFPNM8MQV528PL -xOKHdkOjANIL6VQjbPGOpdd6cGp8TbFsLoWm7k/jLsq5o6eWzkc1hbQuMSlhbaa8 -uJTADuYbNTDMc/CkLo/Ynbmpng+E4YMEv/9xukryFWTpJcDQjJAWi64pMztvSLC+ -6gfXAIGCo5eLMqEIawFp+UYU+4SH +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQQS9VY252K3R1ak16YXY4 +cEZvUk1OVERHZzBSM2VRVkIxbG00UEk4bW1nCnJVSVg2RVpYTGhNSWVWMW91N3ZX +TmdSTFdyNEhuMmFOdGt4NENURUZGU2MKLS0tIEpNTWI2YWROcmdlaEQ0MnFIL2Rp +TTZoWnBuSDF4T1lBb285UC9CbllUMUUKBUx9kY7qD0CjcH0rVrniED9orkg84C2T +TqQ1ERCvbNoxIyg4lHRUaJ/yzQ59MJYryum72ReK5kcTCsy/YhWHb1pK651P6KGm +kPz4BVaEDCqD61JscCSk92r8Z/0syrb6JZ7WDKfD23IdPy75kfCuwnh5JRutmTqu +xK6nzNV6WmIoXqvR2LsIO/CcnnKoqWlI60hzq2O4uzxP4pFyHZKJS6uSvTlRSk3w +oUan7bEAZdZ49Fx7JPMi4KWht/zT0PqVda7D0ZUwYOaOmvxOSZ31oO+3fET/0Xf9 +pOYYAvvIKq9kC4WSJGFDtBXEJ2sD8g+HI+NhfiowsOCH4SU6QqiwK7G9MJpb+bVd +w7ABmiod28oz34Va85tP9E9eHHK4jJFy9FpyTVp83QKzAnU6/wFOrtBltlVOe7fJ +XvMfSXWFxzwTa6qrLsxSJMRx97qRVsCJM1AcYwfp8pgcVhahi1OncNhsb8Y7VBlW +iO7CbvhJMfSQeqjzsqBPHmP+RX2ujR6oC+OTT6NulqZg9x1raWmLhhrgohuaL56U +D2gPbvtwhrlGAUf8miipvjRiA8NBZUT/mqw4uEJ5zEagoINM43nqQUTDTE3iumWl +Cd6cCEePV1kqGfr8Dar+Y6NTFgj5WQ7xz8K+xAOhEqcQUx+eT+T8agAeip3VIySc +/M8BHOxA7aapyqaVUW2lvcj/iJ6nzT2JNEUrDPCIEzAfjBGHJIQKChdeO8ZQb3fE +R7cKDv8bEgC64cmnCETID74MVzefTQCKBPVeCcVSHgOp+0PLHzT5BWZ378oWO2o/ +O+lJhTsqK7Mo0tOY7OKoBwU23BILrZhu0AOZ++FQ5lZZtruf3n/VnhfLfn0a82n2 +TPTBw7jSSM1TWgMPe4vSfmcOADUTwpvXz1je3rDs2Si5ej4Xw1ZA6exK946KjQeC +6xADwUCP2k6APt2kNkbnEB+9sMUH8tuBqgRxAAKrNOi3BtvU -----END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_config/git/ignore b/home/private_dot_config/git/ignore index 4db18e4..d2a7706 100644 --- a/home/private_dot_config/git/ignore +++ b/home/private_dot_config/git/ignore @@ -3,3 +3,4 @@ .idea .vscode .envrc +.aider* From 04590d9bfc2cbc4b5db91ac03b305f2c5070d36b Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 3 Mar 2025 11:04:30 -0500 Subject: [PATCH 184/226] work-related edits --- home/encrypted_dot_zshklaviyo.age | 112 +++++++++++++++--------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index ea3958d..c4d6947 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,58 +1,58 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYOXZlZnZvaCs2UXJHVjgz -eFVkbHVSVUxGRC9KRFcyc1pvMVNGRXpORlNnCko3UU9zTVdRNDVURjV3bEFYTEdv -NEFzZkhiWFJKeEtEQ2d2RW1wY09STlkKLS0tIG1jNjFLajQvREJ3YWtsSnpUSVli -dTRLdTg0YUE5cTFSWDdIa0ZmcUZWdmcKFK2pagel2tWjvh8JMf+uPK0huz9ZsX+g -yWTN4GNDqPwDCENXwKDZEugaPmcR1fRQ8KfD4hTOj8jIOs4NfItdWJc978iRi21W -ctH2kaqi6Y/xCvqM1kndRwrt3AqcFiICZ+eys8lxK51qPWZYe92V+6heBT/btAtu -Tr6ZykDFRiMk0ZF4icVlwwi7OxJa0IsMiWg88z1DIJapobrB/1n2L4zlALn7Y1/T -9B5EnNs1j7VZnyczzjSGoPKcaw0+rk7LyBiKDgWsjZrvedSlwNi3eEFLwkDjcZLf -qN0yGWl4xZaxGxdOf9P72ky4VfLhkhQ4w2IC8n75Cdhl+2fPbqWZCEehyCrDiaw+ -zYjcf3z46Kabh7V9rkjEkn7kJVp2bVYoL9n6GNtKm8HSjM4iCYSGGIjNcCG7VdUa -kVMmqDSEvAj4HKpHz/91P7nI5l6GrK0Is3lyjgLSqsV00fKgGgOyiqLOpS6YV8g8 -vra66MMfLU5Vb4r2uV3/bhxa0l7jem+PBeBDdb2FvISN2P2viFdLXip2WeK8biM/ -09eizPLxKC4NpqIl2ZvlYeEE9Ki84+bUJlDV6ew46c/dTs7qYQ4YpjpUUul5d4Ts -x7uxasCdzbxWWcGp5VyPDRdd+smv7dT6uXMZoisSkd6x8glapDqqhLdT07kDV1Qe -+ZH8zafOIbEfRDQsEhN2H/k/ZzEmd5QXbL3UmnUmYGu8k7bNlHqa3qtDbE0PW5Ii -ZjJQNmYsmJkzTEydqXYP0GX3cv9JXIgMdAPl2v8wGcySPQ2KPv/U1DR+PJV3Wgxm -iZQGbSv/4aOvhvagCPxIgN2F4p39BXm9VWZhDKt+cEN4aQXbqGbnigDEAruAOxXM -0BI2GAYcmYKhp5MUPv5MQOW1rS8M42rVeS0KLjE2PxoXBVHyErmsNNrthxGTDiIP -jP6iYLn8E/7oTGQLOQ6AwRgp56JAKkvnxOKAmgArhWsyaucjwpiw4UGjVYxIHJdb -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 -atSo1xQ= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWM291UnZMeU1IYVduSmhF +WG5SN2RQOFlwR2dURWlCclZrYnBiMUZhUWgwCjRpZG5TaUk1NlB0WVN5dzh3Rm8x +RmdOR1RlWk5PVFJJcEpvY1l5alZyM0kKLS0tIHRBcnBvcElIakJmek90RWZDSUEv +YlR1elU0SkE3VU9RYlUwYWI1VGRqclUKugfiQ4uChdum27GNjQs4GYT3NdFIxb7q +sJgjHIOJof4Qvpv+ZNx7iAFnQdEK0Pz4M6QNhWi4dXdolObiHts5KnC1dtn0vs8s +MLRVWYBayb5Y2UG58eDqE0ZH2Jw6Hb39XqNq59JLxXoFFQdG6gVJE6kR+qdfwSs+ +EeiUKJysdOg/+DaVgMwd7R6YuYEoeU/1fwo37j+6EHH3ozUc2tBzN6zmSufpq9rE +7W3kuJfqlT1hRKkckScMnittXg5RD8v8rRUvBdB/KPuaPLiQEJ/4QdTo9K2ma5W3 +08BSfeCtpFjMRTysfkC1UXDUZ/2G3W5lXlASMrcs2KtZYGqSMoYXxVyE4BGheKaK +d8zYymZ/65sHyXWUDM+16cPbBaU+DsWCfukYNHn2wSdHNxXKL7Hf2T92NemyhF1A +nvkgLvqzq95KuYBlu1DMwyK/Vaz8QaBjAVFjxbpELcu0ZltkjmN2NAglaXxZP+JH +Jfa8DBDoJESUYaJqo1vrbEra6UQNwrMjxg1gtskGc8DyiEMLG1Aqw0e75v8cbV4q +TxdHqluuyaLchWQjWnMVOjeKKpx/8/oU8MaWnStxWwr1OxnUFQbjUYi+AdM73VRb +3Gg4ljevWDF7bKfSoJZOqFq1qO9XVxRYTVm6We5CEJBfOanLXud8K+0fDMaDBufe +Cf1xeJQ2lGnbj0lJHNE+V8kseU/kE4qGOq89lE+U1OmIAPojxL/tTkY4wGsACFMK +ZKbZr3gUox5CXctvIjRSPIbGb6hce7VliU1ikciTiYtv2DIL/2OWkKZxzZIajHzt +XAVzmHgsZrAh9TPmNKPTPzH4SdmBtLBpZRB1MCeiY+u9+nlS1p6eu0xLZO7eJxHg +EKAue8haWsio+rNKsNL56n+by8UP0zUriXCsFtIiy2dusNkvwOuda3W8q9kVew1W +r8cSo7EuRCoE7xOrsNXtaWMqWTt0aIQzA9c0rve1ZawQIB8XVDaQQhv50aKD6isc +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 -----END AGE ENCRYPTED FILE----- From b705eec0b027fb9a8b7e992ee70fce2d79ef21c4 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 3 Mar 2025 11:04:30 -0500 Subject: [PATCH 185/226] roll back inline helix alerts - these are super annoying --- home/private_dot_config/helix/config.toml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 97d538e..35ecaff 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -3,10 +3,6 @@ theme = "catppuccin_mocha" [editor] true-color = true insert-final-newline = false -end-of-line-diagnostics = "hint" - -[editor.inline-diagnostics] -cursor-line = "error" [editor.file-picker] hidden = false From d72d5fe7d80187e7de2a2c490cbe77cd044a81fe Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 6 Mar 2025 09:46:49 -0500 Subject: [PATCH 186/226] misc work qol improvements --- home/encrypted_dot_zshklaviyo.age | 114 +++++++++++++++--------------- 1 file changed, 58 insertions(+), 56 deletions(-) diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index c4d6947..c01f78f 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,58 +1,60 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWM291UnZMeU1IYVduSmhF -WG5SN2RQOFlwR2dURWlCclZrYnBiMUZhUWgwCjRpZG5TaUk1NlB0WVN5dzh3Rm8x -RmdOR1RlWk5PVFJJcEpvY1l5alZyM0kKLS0tIHRBcnBvcElIakJmek90RWZDSUEv -YlR1elU0SkE3VU9RYlUwYWI1VGRqclUKugfiQ4uChdum27GNjQs4GYT3NdFIxb7q -sJgjHIOJof4Qvpv+ZNx7iAFnQdEK0Pz4M6QNhWi4dXdolObiHts5KnC1dtn0vs8s -MLRVWYBayb5Y2UG58eDqE0ZH2Jw6Hb39XqNq59JLxXoFFQdG6gVJE6kR+qdfwSs+ -EeiUKJysdOg/+DaVgMwd7R6YuYEoeU/1fwo37j+6EHH3ozUc2tBzN6zmSufpq9rE -7W3kuJfqlT1hRKkckScMnittXg5RD8v8rRUvBdB/KPuaPLiQEJ/4QdTo9K2ma5W3 -08BSfeCtpFjMRTysfkC1UXDUZ/2G3W5lXlASMrcs2KtZYGqSMoYXxVyE4BGheKaK -d8zYymZ/65sHyXWUDM+16cPbBaU+DsWCfukYNHn2wSdHNxXKL7Hf2T92NemyhF1A -nvkgLvqzq95KuYBlu1DMwyK/Vaz8QaBjAVFjxbpELcu0ZltkjmN2NAglaXxZP+JH -Jfa8DBDoJESUYaJqo1vrbEra6UQNwrMjxg1gtskGc8DyiEMLG1Aqw0e75v8cbV4q -TxdHqluuyaLchWQjWnMVOjeKKpx/8/oU8MaWnStxWwr1OxnUFQbjUYi+AdM73VRb -3Gg4ljevWDF7bKfSoJZOqFq1qO9XVxRYTVm6We5CEJBfOanLXud8K+0fDMaDBufe -Cf1xeJQ2lGnbj0lJHNE+V8kseU/kE4qGOq89lE+U1OmIAPojxL/tTkY4wGsACFMK -ZKbZr3gUox5CXctvIjRSPIbGb6hce7VliU1ikciTiYtv2DIL/2OWkKZxzZIajHzt -XAVzmHgsZrAh9TPmNKPTPzH4SdmBtLBpZRB1MCeiY+u9+nlS1p6eu0xLZO7eJxHg -EKAue8haWsio+rNKsNL56n+by8UP0zUriXCsFtIiy2dusNkvwOuda3W8q9kVew1W -r8cSo7EuRCoE7xOrsNXtaWMqWTt0aIQzA9c0rve1ZawQIB8XVDaQQhv50aKD6isc -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 +GsXV5nqiuyCPLXvMGiF3tS5A7oExtg== -----END AGE ENCRYPTED FILE----- From 21effb58f9310643743ba0ed9a0e4e413821c0cc Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 11 Mar 2025 22:03:39 -0400 Subject: [PATCH 187/226] new: glow --- .../private_glow/glow.yml.tmpl | 5 + .../private_glow/themes/catppuccin-mocha.json | 199 ++++++++++++++++++ home/run_once_01install-packages.sh.tmpl | 1 + 3 files changed, 205 insertions(+) create mode 100644 home/private_dot_config/private_glow/glow.yml.tmpl create mode 100644 home/private_dot_config/private_glow/themes/catppuccin-mocha.json diff --git a/home/private_dot_config/private_glow/glow.yml.tmpl b/home/private_dot_config/private_glow/glow.yml.tmpl new file mode 100644 index 0000000..bac17fd --- /dev/null +++ b/home/private_dot_config/private_glow/glow.yml.tmpl @@ -0,0 +1,5 @@ +style: {{ .chezmoi.homeDir }}/.config/glow/themes/catppuccin-mocha.json +mouse: false +pager: false +width: 80 +all: false diff --git a/home/private_dot_config/private_glow/themes/catppuccin-mocha.json b/home/private_dot_config/private_glow/themes/catppuccin-mocha.json new file mode 100644 index 0000000..a177f55 --- /dev/null +++ b/home/private_dot_config/private_glow/themes/catppuccin-mocha.json @@ -0,0 +1,199 @@ +{ + "document": { + "block_prefix": "\n", + "block_suffix": "\n", + "color": "#cdd6f4", + "margin": 2 + }, + "block_quote": { + "indent": 1, + "indent_token": "│ " + }, + "paragraph": {}, + "list": { + "level_indent": 2 + }, + "heading": { + "block_suffix": "\n", + "color": "#cdd6f4", + "bold": true + }, + "h1": { + "prefix": "▓▓▓ ", + "suffix": " ", + "color": "#f38ba8", + "bold": true + }, + "h2": { + "prefix": "▓▓▓▓ ", + "color": "#fab387" + }, + "h3": { + "prefix": "▓▓▓▓▓ ", + "color": "#f9e2af" + }, + "h4": { + "prefix": "▓▓▓▓▓▓ ", + "color": "#a6e3a1" + }, + "h5": { + "prefix": "▓▓▓▓▓▓▓ ", + "color": "#74c7ec" + }, + "h6": { + "prefix": "▓▓▓▓▓▓▓▓ ", + "color": "#b4befe" + }, + "text": {}, + "strikethrough": { + "crossed_out": true + }, + "emph": { + "italic": true + }, + "strong": { + "bold": true + }, + "hr": { + "color": "#6c7086", + "format": "\n--------\n" + }, + "item": { + "block_prefix": "• " + }, + "enumeration": { + "block_prefix": ". " + }, + "task": { + "ticked": "[✓] ", + "unticked": "[ ] " + }, + "link": { + "color": "#89b4fa", + "underline": true + }, + "link_text": { + "color": "#b4befe", + "bold": true + }, + "image": { + "color": "#89b4fa", + "underline": true + }, + "image_text": { + "color": "#b4befe", + "format": "Image: {{.text}} →" + }, + "code": { + "prefix": " ", + "suffix": " ", + "color": "#eba0ac", + "background_color": "#181825" + }, + "code_block": { + "color": "#181825", + "margin": 2, + "chroma": { + "text": { + "color": "#cdd6f4" + }, + "error": { + "color": "#cdd6f4", + "background_color": "#f38ba8" + }, + "comment": { + "color": "#6c7086" + }, + "comment_preproc": { + "color": "#89b4fa" + }, + "keyword": { + "color": "#cba6f7" + }, + "keyword_reserved": { + "color": "#cba6f7" + }, + "keyword_namespace": { + "color": "#f9e2af" + }, + "keyword_type": { + "color": "#f9e2af" + }, + "operator": { + "color": "#89dceb" + }, + "punctuation": { + "color": "#9399b2" + }, + "name": { + "color": "#b4befe" + }, + "name_builtin": { + "color": "#fab387" + }, + "name_tag": { + "color": "#cba6f7" + }, + "name_attribute": { + "color": "#f9e2af" + }, + "name_class": { + "color": "#f9e2af" + }, + "name_constant": { + "color": "#f9e2af" + }, + "name_decorator": { + "color": "#f5c2e7" + }, + "name_exception": {}, + "name_function": { + "color": "#89b4fa" + }, + "name_other": {}, + "literal": {}, + "literal_number": { + "color": "#fab387" + }, + "literal_date": {}, + "literal_string": { + "color": "#a6e3a1" + }, + "literal_string_escape": { + "color": "#f5c2e7" + }, + "generic_deleted": { + "color": "#f38ba8" + }, + "generic_emph": { + "color": "#cdd6f4", + "italic": true + }, + "generic_inserted": { + "color": "#a6e3a1" + }, + "generic_strong": { + "color": "#cdd6f4", + "bold": true + }, + "generic_subheading": { + "color": "#89dceb" + }, + "background": { + "background_color": "#181825" + } + } + }, + "table": { + "center_separator": "┼", + "column_separator": "│", + "row_separator": "─" + }, + "definition_list": {}, + "definition_term": {}, + "definition_description": { + "block_prefix": "\n🠶 " + }, + "html_block": {}, + "html_span": {} +} diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index ca077ba..e88c61b 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -26,6 +26,7 @@ brew install \ fzf \ git \ git-delta \ + glow \ helix \ jj \ kitty \ From 5b9f0fd46588be19c27ad27bbd1d4601f0db2526 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 12 Mar 2025 12:11:07 -0400 Subject: [PATCH 188/226] maint: stop including month in jj prefix --- .../private_Application Support/private_jj/config.toml.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl index 129b823..acec654 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -33,4 +33,4 @@ diff-args = [ [--scope.user] email = {{ .email_work | quote }} [--scope.git] -push-bookmark-prefix = "202501_{{ .github_work }}_jj_" +push-bookmark-prefix = "2025_{{ .github_work }}_jj_" From b6e88a7dd5faf08ff3ca82c88139f4b2c7adb25a Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 12 Mar 2025 12:29:07 -0400 Subject: [PATCH 189/226] consolidate custom helix actions --- home/private_dot_config/helix/config.toml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml index 35ecaff..72f817f 100644 --- a/home/private_dot_config/helix/config.toml +++ b/home/private_dot_config/helix/config.toml @@ -7,9 +7,8 @@ insert-final-newline = false [editor.file-picker] hidden = false -[keys.normal] -C-r = ":reload-all" -C-y = ":sh zellij run -c -f -x 5% -y 5% --width 90% --height 90% -- bash ~/.config/helix/yazi-picker.sh open" - -[keys.normal.C-m] +[keys.normal.space.m] +r = ":reload-all" +s = ":toggle-option soft-wrap.enable" t = ":sh run_test_under_cursor" +y = ":sh zellij run -c -f -x 5% -y 5% --width 90% --height 90% -- bash ~/.config/helix/yazi-picker.sh open" From e53e8efb682d2f9ea8c42297069399201ad03fcc Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 13 Mar 2025 14:32:38 -0400 Subject: [PATCH 190/226] jj: ignore octopus merge commits --- .../private_Application Support/private_jj/config.toml.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl index acec654..02ea816 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -4,7 +4,7 @@ email = {{ .email_personal | quote }} [git] push-bookmark-prefix = "{{ .github_personal }}_jj_" -private-commits = "description(glob:'private:*')" +private-commits = "description(glob:'private:*') | bookmarks('merge')" [revset-aliases] 'stack()' = 'main..@' From f1d2679354b364a8127e9cfb5146fd1e38d752db Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Thu, 13 Mar 2025 14:32:38 -0400 Subject: [PATCH 191/226] additional work config --- home/dot_gitconfig.tmpl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/dot_gitconfig.tmpl b/home/dot_gitconfig.tmpl index fb8909f..d27252b 100644 --- a/home/dot_gitconfig.tmpl +++ b/home/dot_gitconfig.tmpl @@ -64,3 +64,6 @@ [includeIf "gitdir:~/Klaviyo/"] path = ~/.gitconfig-work + +[includeIf "gitdir:~/.klaviyocli/"] + path = ~/.gitconfig-work From 9014e226ca476b775344de3740c3482dfead0db1 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 17 Mar 2025 10:02:17 -0400 Subject: [PATCH 192/226] k9s config --- .../private_k9s/private_aliases.yaml | 9 ++ .../private_k9s/private_config.yaml.tmpl | 44 ++++++++ .../skins/catppuccin-frappe-transparent.yaml | 100 ++++++++++++++++++ .../private_k9s/skins/catppuccin-frappe.yaml | 100 ++++++++++++++++++ .../skins/catppuccin-latte-transparent.yaml | 100 ++++++++++++++++++ .../private_k9s/skins/catppuccin-latte.yaml | 100 ++++++++++++++++++ .../catppuccin-macchiato-transparent.yaml | 100 ++++++++++++++++++ .../skins/catppuccin-macchiato.yaml | 100 ++++++++++++++++++ .../skins/catppuccin-mocha-transparent.yaml | 100 ++++++++++++++++++ .../private_k9s/skins/catppuccin-mocha.yaml | 100 ++++++++++++++++++ 10 files changed, 853 insertions(+) create mode 100644 home/private_dot_config/private_k9s/private_aliases.yaml create mode 100644 home/private_dot_config/private_k9s/private_config.yaml.tmpl create mode 100644 home/private_dot_config/private_k9s/skins/catppuccin-frappe-transparent.yaml create mode 100644 home/private_dot_config/private_k9s/skins/catppuccin-frappe.yaml create mode 100644 home/private_dot_config/private_k9s/skins/catppuccin-latte-transparent.yaml create mode 100644 home/private_dot_config/private_k9s/skins/catppuccin-latte.yaml create mode 100644 home/private_dot_config/private_k9s/skins/catppuccin-macchiato-transparent.yaml create mode 100644 home/private_dot_config/private_k9s/skins/catppuccin-macchiato.yaml create mode 100644 home/private_dot_config/private_k9s/skins/catppuccin-mocha-transparent.yaml create mode 100644 home/private_dot_config/private_k9s/skins/catppuccin-mocha.yaml diff --git a/home/private_dot_config/private_k9s/private_aliases.yaml b/home/private_dot_config/private_k9s/private_aliases.yaml new file mode 100644 index 0000000..ee4d9ec --- /dev/null +++ b/home/private_dot_config/private_k9s/private_aliases.yaml @@ -0,0 +1,9 @@ +aliases: + dp: deployments + sec: v1/secrets + jo: jobs + cr: clusterroles + crb: clusterrolebindings + ro: roles + rb: rolebindings + np: networkpolicies diff --git a/home/private_dot_config/private_k9s/private_config.yaml.tmpl b/home/private_dot_config/private_k9s/private_config.yaml.tmpl new file mode 100644 index 0000000..425a5dd --- /dev/null +++ b/home/private_dot_config/private_k9s/private_config.yaml.tmpl @@ -0,0 +1,44 @@ +k9s: + liveViewAutoRefresh: false + screenDumpDir: {{ .chezmoi.homeDir }}/Library/Application Support/k9s/screen-dumps + refreshRate: 2 + maxConnRetry: 5 + readOnly: false + noExitOnCtrlC: false + portForwardAddress: localhost + ui: + skin: catppuccin-mocha + enableMouse: false + headless: false + logoless: false + crumbsless: false + reactive: false + noIcons: false + defaultsToFullScreen: false + skipLatestRevCheck: false + disablePodCounting: false + shellPod: + image: busybox:1.35.0 + namespace: default + limits: + cpu: 100m + memory: 100Mi + imageScans: + enable: false + exclusions: + namespaces: [] + labels: {} + logger: + tail: 100 + buffer: 5000 + sinceSeconds: -1 + textWrap: false + disableAutoscroll: false + showTime: false + thresholds: + cpu: + critical: 90 + warn: 70 + memory: + critical: 90 + warn: 70 diff --git a/home/private_dot_config/private_k9s/skins/catppuccin-frappe-transparent.yaml b/home/private_dot_config/private_k9s/skins/catppuccin-frappe-transparent.yaml new file mode 100644 index 0000000..2db3e3f --- /dev/null +++ b/home/private_dot_config/private_k9s/skins/catppuccin-frappe-transparent.yaml @@ -0,0 +1,100 @@ +k9s: + body: + fgColor: '#c6d0f5' + bgColor: default + logoColor: '#ca9ee6' + prompt: + fgColor: '#c6d0f5' + bgColor: default + suggestColor: '#8caaee' + help: + fgColor: '#c6d0f5' + bgColor: default + sectionColor: '#a6d189' + keyColor: '#8caaee' + numKeyColor: '#ea999c' + frame: + title: + fgColor: '#81c8be' + bgColor: default + highlightColor: '#f4b8e4' + counterColor: '#e5c890' + filterColor: '#a6d189' + border: + fgColor: '#ca9ee6' + focusColor: '#babbf1' + menu: + fgColor: '#c6d0f5' + keyColor: '#8caaee' + numKeyColor: '#ea999c' + crumbs: + fgColor: '#303446' + bgColor: default + activeColor: '#eebebe' + status: + newColor: '#8caaee' + modifyColor: '#babbf1' + addColor: '#a6d189' + pendingColor: '#ef9f76' + errorColor: '#e78284' + highlightColor: '#99d1db' + killColor: '#ca9ee6' + completedColor: '#737994' + info: + fgColor: '#ef9f76' + sectionColor: '#c6d0f5' + views: + table: + fgColor: '#c6d0f5' + bgColor: default + cursorFgColor: '#414559' + cursorBgColor: '#51576d' + markColor: '#f2d5cf' + header: + fgColor: '#e5c890' + bgColor: default + sorterColor: '#99d1db' + xray: + fgColor: '#c6d0f5' + bgColor: default + cursorColor: '#51576d' + cursorTextColor: '#303446' + graphicColor: '#f4b8e4' + charts: + bgColor: default + chartBgColor: default + dialBgColor: default + defaultDialColors: + - '#a6d189' + - '#e78284' + defaultChartColors: + - '#a6d189' + - '#e78284' + resourceColors: + cpu: + - '#ca9ee6' + - '#8caaee' + mem: + - '#e5c890' + - '#ef9f76' + yaml: + keyColor: '#8caaee' + valueColor: '#c6d0f5' + colonColor: '#a5adce' + logs: + fgColor: '#c6d0f5' + bgColor: default + indicator: + fgColor: '#babbf1' + bgColor: default + toggleOnColor: '#a6d189' + toggleOffColor: '#a5adce' + dialog: + fgColor: '#e5c890' + bgColor: default + buttonFgColor: '#303446' + buttonBgColor: default + buttonFocusFgColor: '#303446' + buttonFocusBgColor: '#f4b8e4' + labelFgColor: '#f2d5cf' + fieldFgColor: '#c6d0f5' diff --git a/home/private_dot_config/private_k9s/skins/catppuccin-frappe.yaml b/home/private_dot_config/private_k9s/skins/catppuccin-frappe.yaml new file mode 100644 index 0000000..404288f --- /dev/null +++ b/home/private_dot_config/private_k9s/skins/catppuccin-frappe.yaml @@ -0,0 +1,100 @@ +k9s: + body: + fgColor: '#c6d0f5' + bgColor: '#303446' + logoColor: '#ca9ee6' + prompt: + fgColor: '#c6d0f5' + bgColor: '#292c3c' + suggestColor: '#8caaee' + help: + fgColor: '#c6d0f5' + bgColor: '#303446' + sectionColor: '#a6d189' + keyColor: '#8caaee' + numKeyColor: '#ea999c' + frame: + title: + fgColor: '#81c8be' + bgColor: '#303446' + highlightColor: '#f4b8e4' + counterColor: '#e5c890' + filterColor: '#a6d189' + border: + fgColor: '#ca9ee6' + focusColor: '#babbf1' + menu: + fgColor: '#c6d0f5' + keyColor: '#8caaee' + numKeyColor: '#ea999c' + crumbs: + fgColor: '#303446' + bgColor: '#ea999c' + activeColor: '#eebebe' + status: + newColor: '#8caaee' + modifyColor: '#babbf1' + addColor: '#a6d189' + pendingColor: '#ef9f76' + errorColor: '#e78284' + highlightColor: '#99d1db' + killColor: '#ca9ee6' + completedColor: '#737994' + info: + fgColor: '#ef9f76' + sectionColor: '#c6d0f5' + views: + table: + fgColor: '#c6d0f5' + bgColor: '#303446' + cursorFgColor: '#414559' + cursorBgColor: '#51576d' + markColor: '#f2d5cf' + header: + fgColor: '#e5c890' + bgColor: '#303446' + sorterColor: '#99d1db' + xray: + fgColor: '#c6d0f5' + bgColor: '#303446' + cursorColor: '#51576d' + cursorTextColor: '#303446' + graphicColor: '#f4b8e4' + charts: + bgColor: '#303446' + chartBgColor: '#303446' + dialBgColor: '#303446' + defaultDialColors: + - '#a6d189' + - '#e78284' + defaultChartColors: + - '#a6d189' + - '#e78284' + resourceColors: + cpu: + - '#ca9ee6' + - '#8caaee' + mem: + - '#e5c890' + - '#ef9f76' + yaml: + keyColor: '#8caaee' + valueColor: '#c6d0f5' + colonColor: '#a5adce' + logs: + fgColor: '#c6d0f5' + bgColor: '#303446' + indicator: + fgColor: '#babbf1' + bgColor: '#303446' + toggleOnColor: '#a6d189' + toggleOffColor: '#a5adce' + dialog: + fgColor: '#e5c890' + bgColor: '#949cbb' + buttonFgColor: '#303446' + buttonBgColor: '#838ba7' + buttonFocusFgColor: '#303446' + buttonFocusBgColor: '#f4b8e4' + labelFgColor: '#f2d5cf' + fieldFgColor: '#c6d0f5' diff --git a/home/private_dot_config/private_k9s/skins/catppuccin-latte-transparent.yaml b/home/private_dot_config/private_k9s/skins/catppuccin-latte-transparent.yaml new file mode 100644 index 0000000..3715583 --- /dev/null +++ b/home/private_dot_config/private_k9s/skins/catppuccin-latte-transparent.yaml @@ -0,0 +1,100 @@ +k9s: + body: + fgColor: '#4c4f69' + bgColor: default + logoColor: '#8839ef' + prompt: + fgColor: '#4c4f69' + bgColor: default + suggestColor: '#1e66f5' + help: + fgColor: '#4c4f69' + bgColor: default + sectionColor: '#40a02b' + keyColor: '#1e66f5' + numKeyColor: '#e64553' + frame: + title: + fgColor: '#179299' + bgColor: default + highlightColor: '#ea76cb' + counterColor: '#df8e1d' + filterColor: '#40a02b' + border: + fgColor: '#8839ef' + focusColor: '#7287fd' + menu: + fgColor: '#4c4f69' + keyColor: '#1e66f5' + numKeyColor: '#e64553' + crumbs: + fgColor: '#eff1f5' + bgColor: default + activeColor: '#dd7878' + status: + newColor: '#1e66f5' + modifyColor: '#7287fd' + addColor: '#40a02b' + pendingColor: '#fe640b' + errorColor: '#d20f39' + highlightColor: '#04a5e5' + killColor: '#8839ef' + completedColor: '#9ca0b0' + info: + fgColor: '#fe640b' + sectionColor: '#4c4f69' + views: + table: + fgColor: '#4c4f69' + bgColor: default + cursorFgColor: '#ccd0da' + cursorBgColor: '#bcc0cc' + markColor: '#dc8a78' + header: + fgColor: '#df8e1d' + bgColor: default + sorterColor: '#04a5e5' + xray: + fgColor: '#4c4f69' + bgColor: default + cursorColor: '#bcc0cc' + cursorTextColor: '#eff1f5' + graphicColor: '#ea76cb' + charts: + bgColor: default + chartBgColor: default + dialBgColor: default + defaultDialColors: + - '#40a02b' + - '#d20f39' + defaultChartColors: + - '#40a02b' + - '#d20f39' + resourceColors: + cpu: + - '#8839ef' + - '#1e66f5' + mem: + - '#df8e1d' + - '#fe640b' + yaml: + keyColor: '#1e66f5' + valueColor: '#4c4f69' + colonColor: '#6c6f85' + logs: + fgColor: '#4c4f69' + bgColor: default + indicator: + fgColor: '#7287fd' + bgColor: default + toggleOnColor: '#40a02b' + toggleOffColor: '#6c6f85' + dialog: + fgColor: '#df8e1d' + bgColor: default + buttonFgColor: '#eff1f5' + buttonBgColor: default + buttonFocusFgColor: '#eff1f5' + buttonFocusBgColor: '#ea76cb' + labelFgColor: '#dc8a78' + fieldFgColor: '#4c4f69' diff --git a/home/private_dot_config/private_k9s/skins/catppuccin-latte.yaml b/home/private_dot_config/private_k9s/skins/catppuccin-latte.yaml new file mode 100644 index 0000000..acfcc8b --- /dev/null +++ b/home/private_dot_config/private_k9s/skins/catppuccin-latte.yaml @@ -0,0 +1,100 @@ +k9s: + body: + fgColor: '#4c4f69' + bgColor: '#eff1f5' + logoColor: '#8839ef' + prompt: + fgColor: '#4c4f69' + bgColor: '#e6e9ef' + suggestColor: '#1e66f5' + help: + fgColor: '#4c4f69' + bgColor: '#eff1f5' + sectionColor: '#40a02b' + keyColor: '#1e66f5' + numKeyColor: '#e64553' + frame: + title: + fgColor: '#179299' + bgColor: '#eff1f5' + highlightColor: '#ea76cb' + counterColor: '#df8e1d' + filterColor: '#40a02b' + border: + fgColor: '#8839ef' + focusColor: '#7287fd' + menu: + fgColor: '#4c4f69' + keyColor: '#1e66f5' + numKeyColor: '#e64553' + crumbs: + fgColor: '#eff1f5' + bgColor: '#e64553' + activeColor: '#dd7878' + status: + newColor: '#1e66f5' + modifyColor: '#7287fd' + addColor: '#40a02b' + pendingColor: '#fe640b' + errorColor: '#d20f39' + highlightColor: '#04a5e5' + killColor: '#8839ef' + completedColor: '#9ca0b0' + info: + fgColor: '#fe640b' + sectionColor: '#4c4f69' + views: + table: + fgColor: '#4c4f69' + bgColor: '#eff1f5' + cursorFgColor: '#ccd0da' + cursorBgColor: '#bcc0cc' + markColor: '#dc8a78' + header: + fgColor: '#df8e1d' + bgColor: '#eff1f5' + sorterColor: '#04a5e5' + xray: + fgColor: '#4c4f69' + bgColor: '#eff1f5' + cursorColor: '#bcc0cc' + cursorTextColor: '#eff1f5' + graphicColor: '#ea76cb' + charts: + bgColor: '#eff1f5' + chartBgColor: '#eff1f5' + dialBgColor: '#eff1f5' + defaultDialColors: + - '#40a02b' + - '#d20f39' + defaultChartColors: + - '#40a02b' + - '#d20f39' + resourceColors: + cpu: + - '#8839ef' + - '#1e66f5' + mem: + - '#df8e1d' + - '#fe640b' + yaml: + keyColor: '#1e66f5' + valueColor: '#4c4f69' + colonColor: '#6c6f85' + logs: + fgColor: '#4c4f69' + bgColor: '#eff1f5' + indicator: + fgColor: '#7287fd' + bgColor: '#eff1f5' + toggleOnColor: '#40a02b' + toggleOffColor: '#6c6f85' + dialog: + fgColor: '#df8e1d' + bgColor: '#7c7f93' + buttonFgColor: '#eff1f5' + buttonBgColor: '#8c8fa1' + buttonFocusFgColor: '#eff1f5' + buttonFocusBgColor: '#ea76cb' + labelFgColor: '#dc8a78' + fieldFgColor: '#4c4f69' diff --git a/home/private_dot_config/private_k9s/skins/catppuccin-macchiato-transparent.yaml b/home/private_dot_config/private_k9s/skins/catppuccin-macchiato-transparent.yaml new file mode 100644 index 0000000..0b5144e --- /dev/null +++ b/home/private_dot_config/private_k9s/skins/catppuccin-macchiato-transparent.yaml @@ -0,0 +1,100 @@ +k9s: + body: + fgColor: '#cad3f5' + bgColor: default + logoColor: '#c6a0f6' + prompt: + fgColor: '#cad3f5' + bgColor: default + suggestColor: '#8aadf4' + help: + fgColor: '#cad3f5' + bgColor: default + sectionColor: '#a6da95' + keyColor: '#8aadf4' + numKeyColor: '#ee99a0' + frame: + title: + fgColor: '#8bd5ca' + bgColor: default + highlightColor: '#f5bde6' + counterColor: '#eed49f' + filterColor: '#a6da95' + border: + fgColor: '#c6a0f6' + focusColor: '#b7bdf8' + menu: + fgColor: '#cad3f5' + keyColor: '#8aadf4' + numKeyColor: '#ee99a0' + crumbs: + fgColor: '#24273a' + bgColor: default + activeColor: '#f0c6c6' + status: + newColor: '#8aadf4' + modifyColor: '#b7bdf8' + addColor: '#a6da95' + pendingColor: '#f5a97f' + errorColor: '#ed8796' + highlightColor: '#91d7e3' + killColor: '#c6a0f6' + completedColor: '#6e738d' + info: + fgColor: '#f5a97f' + sectionColor: '#cad3f5' + views: + table: + fgColor: '#cad3f5' + bgColor: default + cursorFgColor: '#363a4f' + cursorBgColor: '#494d64' + markColor: '#f4dbd6' + header: + fgColor: '#eed49f' + bgColor: default + sorterColor: '#91d7e3' + xray: + fgColor: '#cad3f5' + bgColor: default + cursorColor: '#494d64' + cursorTextColor: '#24273a' + graphicColor: '#f5bde6' + charts: + bgColor: default + chartBgColor: default + dialBgColor: default + defaultDialColors: + - '#a6da95' + - '#ed8796' + defaultChartColors: + - '#a6da95' + - '#ed8796' + resourceColors: + cpu: + - '#c6a0f6' + - '#8aadf4' + mem: + - '#eed49f' + - '#f5a97f' + yaml: + keyColor: '#8aadf4' + valueColor: '#cad3f5' + colonColor: '#a5adcb' + logs: + fgColor: '#cad3f5' + bgColor: default + indicator: + fgColor: '#b7bdf8' + bgColor: default + toggleOnColor: '#a6da95' + toggleOffColor: '#a5adcb' + dialog: + fgColor: '#eed49f' + bgColor: default + buttonFgColor: '#24273a' + buttonBgColor: default + buttonFocusFgColor: '#24273a' + buttonFocusBgColor: '#f5bde6' + labelFgColor: '#f4dbd6' + fieldFgColor: '#cad3f5' diff --git a/home/private_dot_config/private_k9s/skins/catppuccin-macchiato.yaml b/home/private_dot_config/private_k9s/skins/catppuccin-macchiato.yaml new file mode 100644 index 0000000..bd4caf0 --- /dev/null +++ b/home/private_dot_config/private_k9s/skins/catppuccin-macchiato.yaml @@ -0,0 +1,100 @@ +k9s: + body: + fgColor: '#cad3f5' + bgColor: '#24273a' + logoColor: '#c6a0f6' + prompt: + fgColor: '#cad3f5' + bgColor: '#1e2030' + suggestColor: '#8aadf4' + help: + fgColor: '#cad3f5' + bgColor: '#24273a' + sectionColor: '#a6da95' + keyColor: '#8aadf4' + numKeyColor: '#ee99a0' + frame: + title: + fgColor: '#8bd5ca' + bgColor: '#24273a' + highlightColor: '#f5bde6' + counterColor: '#eed49f' + filterColor: '#a6da95' + border: + fgColor: '#c6a0f6' + focusColor: '#b7bdf8' + menu: + fgColor: '#cad3f5' + keyColor: '#8aadf4' + numKeyColor: '#ee99a0' + crumbs: + fgColor: '#24273a' + bgColor: '#ee99a0' + activeColor: '#f0c6c6' + status: + newColor: '#8aadf4' + modifyColor: '#b7bdf8' + addColor: '#a6da95' + pendingColor: '#f5a97f' + errorColor: '#ed8796' + highlightColor: '#91d7e3' + killColor: '#c6a0f6' + completedColor: '#6e738d' + info: + fgColor: '#f5a97f' + sectionColor: '#cad3f5' + views: + table: + fgColor: '#cad3f5' + bgColor: '#24273a' + cursorFgColor: '#363a4f' + cursorBgColor: '#494d64' + markColor: '#f4dbd6' + header: + fgColor: '#eed49f' + bgColor: '#24273a' + sorterColor: '#91d7e3' + xray: + fgColor: '#cad3f5' + bgColor: '#24273a' + cursorColor: '#494d64' + cursorTextColor: '#24273a' + graphicColor: '#f5bde6' + charts: + bgColor: '#24273a' + chartBgColor: '#24273a' + dialBgColor: '#24273a' + defaultDialColors: + - '#a6da95' + - '#ed8796' + defaultChartColors: + - '#a6da95' + - '#ed8796' + resourceColors: + cpu: + - '#c6a0f6' + - '#8aadf4' + mem: + - '#eed49f' + - '#f5a97f' + yaml: + keyColor: '#8aadf4' + valueColor: '#cad3f5' + colonColor: '#a5adcb' + logs: + fgColor: '#cad3f5' + bgColor: '#24273a' + indicator: + fgColor: '#b7bdf8' + bgColor: '#24273a' + toggleOnColor: '#a6da95' + toggleOffColor: '#a5adcb' + dialog: + fgColor: '#eed49f' + bgColor: '#939ab7' + buttonFgColor: '#24273a' + buttonBgColor: '#8087a2' + buttonFocusFgColor: '#24273a' + buttonFocusBgColor: '#f5bde6' + labelFgColor: '#f4dbd6' + fieldFgColor: '#cad3f5' diff --git a/home/private_dot_config/private_k9s/skins/catppuccin-mocha-transparent.yaml b/home/private_dot_config/private_k9s/skins/catppuccin-mocha-transparent.yaml new file mode 100644 index 0000000..44df98c --- /dev/null +++ b/home/private_dot_config/private_k9s/skins/catppuccin-mocha-transparent.yaml @@ -0,0 +1,100 @@ +k9s: + body: + fgColor: '#cdd6f4' + bgColor: default + logoColor: '#cba6f7' + prompt: + fgColor: '#cdd6f4' + bgColor: default + suggestColor: '#89b4fa' + help: + fgColor: '#cdd6f4' + bgColor: default + sectionColor: '#a6e3a1' + keyColor: '#89b4fa' + numKeyColor: '#eba0ac' + frame: + title: + fgColor: '#94e2d5' + bgColor: default + highlightColor: '#f5c2e7' + counterColor: '#f9e2af' + filterColor: '#a6e3a1' + border: + fgColor: '#cba6f7' + focusColor: '#b4befe' + menu: + fgColor: '#cdd6f4' + keyColor: '#89b4fa' + numKeyColor: '#eba0ac' + crumbs: + fgColor: '#1e1e2e' + bgColor: default + activeColor: '#f2cdcd' + status: + newColor: '#89b4fa' + modifyColor: '#b4befe' + addColor: '#a6e3a1' + pendingColor: '#fab387' + errorColor: '#f38ba8' + highlightColor: '#89dceb' + killColor: '#cba6f7' + completedColor: '#6c7086' + info: + fgColor: '#fab387' + sectionColor: '#cdd6f4' + views: + table: + fgColor: '#cdd6f4' + bgColor: default + cursorFgColor: '#313244' + cursorBgColor: '#45475a' + markColor: '#f5e0dc' + header: + fgColor: '#f9e2af' + bgColor: default + sorterColor: '#89dceb' + xray: + fgColor: '#cdd6f4' + bgColor: default + cursorColor: '#45475a' + cursorTextColor: '#1e1e2e' + graphicColor: '#f5c2e7' + charts: + bgColor: default + chartBgColor: default + dialBgColor: default + defaultDialColors: + - '#a6e3a1' + - '#f38ba8' + defaultChartColors: + - '#a6e3a1' + - '#f38ba8' + resourceColors: + cpu: + - '#cba6f7' + - '#89b4fa' + mem: + - '#f9e2af' + - '#fab387' + yaml: + keyColor: '#89b4fa' + valueColor: '#cdd6f4' + colonColor: '#a6adc8' + logs: + fgColor: '#cdd6f4' + bgColor: default + indicator: + fgColor: '#b4befe' + bgColor: default + toggleOnColor: '#a6e3a1' + toggleOffColor: '#a6adc8' + dialog: + fgColor: '#f9e2af' + bgColor: default + buttonFgColor: '#1e1e2e' + buttonBgColor: default + buttonFocusFgColor: '#1e1e2e' + buttonFocusBgColor: '#f5c2e7' + labelFgColor: '#f5e0dc' + fieldFgColor: '#cdd6f4' diff --git a/home/private_dot_config/private_k9s/skins/catppuccin-mocha.yaml b/home/private_dot_config/private_k9s/skins/catppuccin-mocha.yaml new file mode 100644 index 0000000..f1523a5 --- /dev/null +++ b/home/private_dot_config/private_k9s/skins/catppuccin-mocha.yaml @@ -0,0 +1,100 @@ +k9s: + body: + fgColor: '#cdd6f4' + bgColor: '#1e1e2e' + logoColor: '#cba6f7' + prompt: + fgColor: '#cdd6f4' + bgColor: '#181825' + suggestColor: '#89b4fa' + help: + fgColor: '#cdd6f4' + bgColor: '#1e1e2e' + sectionColor: '#a6e3a1' + keyColor: '#89b4fa' + numKeyColor: '#eba0ac' + frame: + title: + fgColor: '#94e2d5' + bgColor: '#1e1e2e' + highlightColor: '#f5c2e7' + counterColor: '#f9e2af' + filterColor: '#a6e3a1' + border: + fgColor: '#cba6f7' + focusColor: '#b4befe' + menu: + fgColor: '#cdd6f4' + keyColor: '#89b4fa' + numKeyColor: '#eba0ac' + crumbs: + fgColor: '#1e1e2e' + bgColor: '#eba0ac' + activeColor: '#f2cdcd' + status: + newColor: '#89b4fa' + modifyColor: '#b4befe' + addColor: '#a6e3a1' + pendingColor: '#fab387' + errorColor: '#f38ba8' + highlightColor: '#89dceb' + killColor: '#cba6f7' + completedColor: '#6c7086' + info: + fgColor: '#fab387' + sectionColor: '#cdd6f4' + views: + table: + fgColor: '#cdd6f4' + bgColor: '#1e1e2e' + cursorFgColor: '#313244' + cursorBgColor: '#45475a' + markColor: '#f5e0dc' + header: + fgColor: '#f9e2af' + bgColor: '#1e1e2e' + sorterColor: '#89dceb' + xray: + fgColor: '#cdd6f4' + bgColor: '#1e1e2e' + cursorColor: '#45475a' + cursorTextColor: '#1e1e2e' + graphicColor: '#f5c2e7' + charts: + bgColor: '#1e1e2e' + chartBgColor: '#1e1e2e' + dialBgColor: '#1e1e2e' + defaultDialColors: + - '#a6e3a1' + - '#f38ba8' + defaultChartColors: + - '#a6e3a1' + - '#f38ba8' + resourceColors: + cpu: + - '#cba6f7' + - '#89b4fa' + mem: + - '#f9e2af' + - '#fab387' + yaml: + keyColor: '#89b4fa' + valueColor: '#cdd6f4' + colonColor: '#a6adc8' + logs: + fgColor: '#cdd6f4' + bgColor: '#1e1e2e' + indicator: + fgColor: '#b4befe' + bgColor: '#1e1e2e' + toggleOnColor: '#a6e3a1' + toggleOffColor: '#a6adc8' + dialog: + fgColor: '#f9e2af' + bgColor: '#9399b2' + buttonFgColor: '#1e1e2e' + buttonBgColor: '#7f849c' + buttonFocusFgColor: '#1e1e2e' + buttonFocusBgColor: '#f5c2e7' + labelFgColor: '#f5e0dc' + fieldFgColor: '#cdd6f4' From 506ef00045f35a705d3736ab0fa464dbe0ed5fe3 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 17 Mar 2025 10:05:00 -0400 Subject: [PATCH 193/226] nb config --- home/dot_nbrc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 home/dot_nbrc diff --git a/home/dot_nbrc b/home/dot_nbrc new file mode 100644 index 0000000..6061eda --- /dev/null +++ b/home/dot_nbrc @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +############################################################################### +# .nbrc +# +# Configuration file for `nb`, a command line note-taking, bookmarking, +# and knowledge base application with encryption, search, Git-backed syncing, +# and more in a single portable script. +# +# Edit this file manually or manage settings using the `nb settings` +# subcommand. Configuration options are set as environment variables, eg: +# export NB_ENCRYPTION_TOOL=gpg +# +# https://github.com/xwmx/nb +############################################################################### From e6fc9c677305b5e569eee4516d4da84ecd6c2e49 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 19 Mar 2025 09:18:48 -0400 Subject: [PATCH 194/226] misc aider config tweaks --- home/{dot_aider.conf.yml => dot_aider.conf.yml.tmpl} | 10 ++++++++++ 1 file changed, 10 insertions(+) rename home/{dot_aider.conf.yml => dot_aider.conf.yml.tmpl} (63%) diff --git a/home/dot_aider.conf.yml b/home/dot_aider.conf.yml.tmpl similarity index 63% rename from home/dot_aider.conf.yml rename to home/dot_aider.conf.yml.tmpl index 14b8768..7ae8984 100644 --- a/home/dot_aider.conf.yml +++ b/home/dot_aider.conf.yml.tmpl @@ -1,7 +1,17 @@ +{{ if eq .hosttype "personal" -}} +model: ollama_chat/qwen2.5-coder:14b +{{ else -}} +model: ollama_chat/qwen2.5-coder:32b +{{- end }} + cache-prompts: true gitignore: false auto-commits: false +watch-files: true +subtree-only: true +stream: false +code-theme: "lightbulb" user-input-color: "#a6e3a1" tool-output-color: "#89b4fa" tool-error-color: "#f38ba8" From 2fe19805184ee8d501c2c7ce4511bbd7bcaef6d5 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 23 Mar 2025 11:57:57 -0400 Subject: [PATCH 195/226] ollama config zsh --- home/dot_zshenv.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/home/dot_zshenv.tmpl b/home/dot_zshenv.tmpl index 913a9b3..086bd76 100644 --- a/home/dot_zshenv.tmpl +++ b/home/dot_zshenv.tmpl @@ -81,4 +81,5 @@ done export -U PATH export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc export XDG_CONFIG_HOME=$HOME/.config +export OLLAMA_API_BASE=http://127.0.0.1:11434 From fc831dbc7fa7573c7560a5e2d9737df00959f07f Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sat, 29 Mar 2025 14:41:13 -0400 Subject: [PATCH 196/226] forgejo updates --- data/personal.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/personal.toml b/data/personal.toml index 9e547fd..5f0427e 100644 --- a/data/personal.toml +++ b/data/personal.toml @@ -2,7 +2,7 @@ [[workspace]] path = "$HOME/projects/personal" ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@pingo.thermokar.st" +origin.base_addr = "ssh://git@git.thermokar.st/thermokarst" origin.name = "pingo" repos = [ "devlog", @@ -21,7 +21,7 @@ remotes = [] [[workspace]] path = "$HOME/projects/personal" ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@pingo.thermokar.st" +origin.base_addr = "ssh://git@git.thermokar.st/thermokarst" origin.name = "pingo" repos = [ "akdillon", @@ -36,7 +36,7 @@ remotes = [{ name = "dokku", base_addr = "ssh://dokku@pingo.thermokar.st" }] [[workspace]] path = "$HOME/projects/mds" ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@pingo.thermokar.st" +origin.base_addr = "ssh://git@git.thermokar.st/thermokarst" origin.name = "pingo" repos = [ "arctic_hibernators_schema", From 6040cac5f8bf4af6758e1fdc314e95cf9d369cdb Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sat, 5 Apr 2025 16:39:25 -0400 Subject: [PATCH 197/226] drop wsl and devterm (closes #1) --- README.md | 84 ++---------------------- home/.chezmoi.toml.tmpl | 2 +- home/.chezmoiexternal.toml.tmpl | 6 -- home/dot_zlogin | 3 - home/dot_zshrc.tmpl | 35 ---------- home/private_dot_config/mpd/mpd.conf | 15 ----- home/run_once_01install-packages.sh.tmpl | 28 +------- 7 files changed, 9 insertions(+), 164 deletions(-) delete mode 100644 home/private_dot_config/mpd/mpd.conf diff --git a/README.md b/README.md index 6539a9d..0b78e7f 100644 --- a/README.md +++ b/README.md @@ -1,54 +1,22 @@ # dotfiles -## hostnames - -- `rattusrattus`: macbook -- `yersiniapestis`: wsl (debian) -- `devterm`: devterm (debian) - -## steps - -(1) set the fqdn (this is necessary for some of the host-specific chezmoi config): +## 1. set the fqdn: ```bash -# debian standalone -sudo hostnamectl set-hostname $MY_HOSTNAME.local - -# debian wsl -echo -e "[network]\nhostname = $MY_HOSTNAME" | sudo tee -a /etc/wsl.conf - -# macos +# macos-specific commands sudo scutil --set HostName $MY_HOSTNAME.local sudo scutil --set LocalHostName $MY_HOSTNAME sudo scutil --set ComputerName $MY_HOSTNAME dscacheutil -flushcache ``` -(2) reboot +## 2. reboot -(3) set up the package manager and bootstrap dependencies: +## 3. install https://typeof.net/Iosevka/ -```bash -# debian -sudo apt update -sudo apt install curl zsh git -``` +## 4. install `age` private key from password manager into `~/.key.txt` -(4) set the initial shell: - -```bash -# debian -chsh -s $(which zsh) - -# macos -# NA -``` - -(5) https://typeof.net/Iosevka/ - -(6) install `age` private key from password manager into `~/.key.txt` - -(7) bootstrap chezmoi: +## 5. bootstrap chezmoi: ```bash sh -c "$(curl -fsLS get.chezmoi.io)" -- \ @@ -58,42 +26,4 @@ sh -c "$(curl -fsLS get.chezmoi.io)" -- \ --guess-repo-url=false ``` -(8) set the new shell (in case installing from 3rd-party package manager): - -```bash -# debian -# NA - -# macos -sudo chpass -s '/opt/local/bin/zsh' $USER -``` - -(9) restart shell - -(10) grab project source - -```bash -ssh -T git@github.com -gwar ~/.local/share/chezmoi/data/personal.toml -``` - -(11) install miniconda: - -```bash -# debian -wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh - -# macos -wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -O miniconda.sh - -# then, for either os: -chmod +x miniconda.sh -sudo ./miniconda.sh -b -u -p /opt/miniconda3 -``` - -(12) set up non-automated software and tools: - -- steermouse (license in email): btn4==fwd, btn5==bck -- logitech control center -- lunar -- magnet +## 6. restart shell diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index ee0c717..ffc665e 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -3,7 +3,7 @@ {{- $hostname := output "scutil" "--get" "ComputerName" | trim -}} {{- end -}} -{{- $choices := list "wsl" "devterm" "personal" "work" -}} +{{- $choices := list "personal" "work" -}} {{- $hosttype := promptChoiceOnce . "hosttype" "What type of host are you on" $choices -}} {{ $name := promptString "name" -}} diff --git a/home/.chezmoiexternal.toml.tmpl b/home/.chezmoiexternal.toml.tmpl index dbf289c..10aae0b 100644 --- a/home/.chezmoiexternal.toml.tmpl +++ b/home/.chezmoiexternal.toml.tmpl @@ -1,9 +1,3 @@ -{{- if eq .hosttype "devterm" }} -["ttyscheme"] - type = "git-repo" - url = "https://github.com/kolunmi/ttyscheme.git" - refreshPeriod = "168h" -{{- end }} [".config/zellij/plugins/room.wasm"] type = "file" url = "https://github.com/rvcas/room/releases/latest/download/room.wasm" diff --git a/home/dot_zlogin b/home/dot_zlogin index 297b8b2..c59f3da 100644 --- a/home/dot_zlogin +++ b/home/dot_zlogin @@ -9,6 +9,3 @@ zcompile "$zcompdump" fi } &! - -# this seems like the easiest way to get a wsl startup script to work -2>/dev/null 1>/dev/null mpd diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 30c783c..6e6b126 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -62,41 +62,6 @@ done alias devlog="cd ~/projects/personal/devlog && hx logs/$(date '+%Y-%m-%d').gmi && cd -" -{{- if eq .chezmoi.hostname "devterm" }} -function battery() { - upower -i /org/freedesktop/UPower/devices/battery_axp20x_battery -} - -function battery_percentage() { - battery | grep 'percentage' | awk '{print $2}' -} - -function battery_time_to_empty() { - battery | grep 'time to empty' | awk '{print $4, $5}' -} - -export LPDEST=devterm_printer -alias receipt="lp" - -function receipt_feed () { - echo -e "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" > /tmp/DEVTERM_PRINTER_IN -} - -function brightness_half { - brightnessctl set 5 -} - -function brightness_max { - brightnessctl set 9 -} - -function brightness_min { - brightnessctl set 1 -} - -# ttyscheme -{{- end -}} - {{ if eq .hosttype "work" "personal" -}} eval "$(/opt/homebrew/bin/brew shellenv)" eval "$(direnv hook zsh)" diff --git a/home/private_dot_config/mpd/mpd.conf b/home/private_dot_config/mpd/mpd.conf deleted file mode 100644 index de8d0e8..0000000 --- a/home/private_dot_config/mpd/mpd.conf +++ /dev/null @@ -1,15 +0,0 @@ -pid_file "~/.config/mpd/mpd.pid" -playlist_directory "~/.config/mpd/playlists" - -music_directory "http://anonymous@wren.local:5005/music" - -database { - plugin "proxy" - host "wren.local" -} - -audio_output { - type "pulse" - name "spleen" - server "/mnt/wslg/PulseServer" -} diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index e88c61b..37b7b2e 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -2,20 +2,7 @@ set -e -{{ if eq .hosttype "devterm" -}} -sudo apt install \ - brightnessctl \ - git \ - libncurses-dev \ - libssl-dev \ - lynx \ - ripgrep \ - tree \ - wget \ - zsh \ - -y - -{{ else if eq .hosttype "personal" -}} +{{ if eq .hosttype "personal" -}} /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" eval "$(/opt/homebrew/bin/brew shellenv)" brew install \ @@ -52,19 +39,6 @@ nvm use 22 curl -LsSf https://astral.sh/uv/install.sh | sh uv tool install --force --python python3.12 aider-chat@latest -{{ else if eq .hosttype "wsl" -}} -sudo apt update -sudo apt install \ - build-essential \ - clang \ - libssl-dev \ - pkg-config \ - ripgrep \ - tree \ - wget \ - yazi \ - -y - {{ else if eq .hosttype "work" -}} {{ join .chezmoi.sourceDir "encrypted_work_packages.age" | include | decrypt -}} {{ end }} From b3773ae80107f2b08baa55a7a33cf7a9410384c6 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sat, 5 Apr 2025 17:01:27 -0400 Subject: [PATCH 198/226] refactor mac configs (closes #2) --- home/.chezmoiignore.tmpl | 14 +++++++------ home/dot_zshenv.tmpl | 2 +- home/dot_zshrc.tmpl | 2 -- home/encrypted_dot_work_packages.age | 9 ++++++++ ...paths.age => encrypted_dot_work_paths.age} | 0 home/encrypted_work_packages.age | 21 ------------------- home/run_once_01install-packages.sh.tmpl | 14 +++++++++---- 7 files changed, 28 insertions(+), 34 deletions(-) create mode 100644 home/encrypted_dot_work_packages.age rename home/{encrypted_work_paths.age => encrypted_dot_work_paths.age} (100%) delete mode 100644 home/encrypted_work_packages.age diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl index 5bc532e..f6162ed 100644 --- a/home/.chezmoiignore.tmpl +++ b/home/.chezmoiignore.tmpl @@ -1,8 +1,10 @@ -{{- if ne .hosttype "work" }} -.zshklaviyo -{{- end }} -{{- if ne .hosttype "personal" }} +{{- if eq .hosttype "work" }} .zshprivate {{- end }} -work_paths -work_packages +{{- if eq .hosttype "personal" }} +.apprc +.s2a_login +.work_packages +.work_paths +.zshklaviyo +{{- end }} diff --git a/home/dot_zshenv.tmpl b/home/dot_zshenv.tmpl index 086bd76..af506c5 100644 --- a/home/dot_zshenv.tmpl +++ b/home/dot_zshenv.tmpl @@ -69,7 +69,7 @@ check_paths=( # uv $HOME/.local/bin - {{ join .chezmoi.sourceDir "encrypted_work_paths.age" | include | decrypt -}} + {{ join .chezmoi.sourceDir "encrypted_dot_work_paths.age" | include | decrypt -}} ) for fp in $check_paths; do diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 6e6b126..77a3c55 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -62,14 +62,12 @@ done alias devlog="cd ~/projects/personal/devlog && hx logs/$(date '+%Y-%m-%d').gmi && cd -" -{{ if eq .hosttype "work" "personal" -}} eval "$(/opt/homebrew/bin/brew shellenv)" eval "$(direnv hook zsh)" eval "$(jj util completion zsh)" export NVM_DIR="$HOME/.nvm" [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" -{{ end }} function reldate() { date -v "${1}" "+%Y-%m-%d" diff --git a/home/encrypted_dot_work_packages.age b/home/encrypted_dot_work_packages.age new file mode 100644 index 0000000..3245fe4 --- /dev/null +++ b/home/encrypted_dot_work_packages.age @@ -0,0 +1,9 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0R1ZRL1VJVW5URzZoZXJC +Wm1XcjVzeE5rdXBVVFJ4RmpVS3FqVE5LRmtjCjVia29aeklXUkRWWWpKY2hGRlJh +cWlRTlIyNlZqbUNoTmhaNzFoOWc2czQKLS0tIDUwTFJZVlcxVjRzOVV0QUJBdEZV +Mm5SamhSYlgvZUgxd1NlcFhRd2R3MDgKHuVfpKp1BQBx1xXur5x8N8Ohli0rYY6+ +MmmKTDdYvuZKDqGrI+EpQw0yywLyUgeWfDUx5OSx1Z9PKMAU1+KYGAWB0WLYXafT +51UZSNj835YVZUChLKwLhthKg8KTl6h4FxE4K/88iHVOlRyVhuUAkZfGlGpL21uC +XgKaOnt/i5IFeGj459sR0io2m0sjCcZJA/3F1SBkVch3Lw1Xx4GrPmKq +-----END AGE ENCRYPTED FILE----- diff --git a/home/encrypted_work_paths.age b/home/encrypted_dot_work_paths.age similarity index 100% rename from home/encrypted_work_paths.age rename to home/encrypted_dot_work_paths.age diff --git a/home/encrypted_work_packages.age b/home/encrypted_work_packages.age deleted file mode 100644 index 6581433..0000000 --- a/home/encrypted_work_packages.age +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQQS9VY252K3R1ak16YXY4 -cEZvUk1OVERHZzBSM2VRVkIxbG00UEk4bW1nCnJVSVg2RVpYTGhNSWVWMW91N3ZX -TmdSTFdyNEhuMmFOdGt4NENURUZGU2MKLS0tIEpNTWI2YWROcmdlaEQ0MnFIL2Rp -TTZoWnBuSDF4T1lBb285UC9CbllUMUUKBUx9kY7qD0CjcH0rVrniED9orkg84C2T -TqQ1ERCvbNoxIyg4lHRUaJ/yzQ59MJYryum72ReK5kcTCsy/YhWHb1pK651P6KGm -kPz4BVaEDCqD61JscCSk92r8Z/0syrb6JZ7WDKfD23IdPy75kfCuwnh5JRutmTqu -xK6nzNV6WmIoXqvR2LsIO/CcnnKoqWlI60hzq2O4uzxP4pFyHZKJS6uSvTlRSk3w -oUan7bEAZdZ49Fx7JPMi4KWht/zT0PqVda7D0ZUwYOaOmvxOSZ31oO+3fET/0Xf9 -pOYYAvvIKq9kC4WSJGFDtBXEJ2sD8g+HI+NhfiowsOCH4SU6QqiwK7G9MJpb+bVd -w7ABmiod28oz34Va85tP9E9eHHK4jJFy9FpyTVp83QKzAnU6/wFOrtBltlVOe7fJ -XvMfSXWFxzwTa6qrLsxSJMRx97qRVsCJM1AcYwfp8pgcVhahi1OncNhsb8Y7VBlW -iO7CbvhJMfSQeqjzsqBPHmP+RX2ujR6oC+OTT6NulqZg9x1raWmLhhrgohuaL56U -D2gPbvtwhrlGAUf8miipvjRiA8NBZUT/mqw4uEJ5zEagoINM43nqQUTDTE3iumWl -Cd6cCEePV1kqGfr8Dar+Y6NTFgj5WQ7xz8K+xAOhEqcQUx+eT+T8agAeip3VIySc -/M8BHOxA7aapyqaVUW2lvcj/iJ6nzT2JNEUrDPCIEzAfjBGHJIQKChdeO8ZQb3fE -R7cKDv8bEgC64cmnCETID74MVzefTQCKBPVeCcVSHgOp+0PLHzT5BWZ378oWO2o/ -O+lJhTsqK7Mo0tOY7OKoBwU23BILrZhu0AOZ++FQ5lZZtruf3n/VnhfLfn0a82n2 -TPTBw7jSSM1TWgMPe4vSfmcOADUTwpvXz1je3rDs2Si5ej4Xw1ZA6exK946KjQeC -6xADwUCP2k6APt2kNkbnEB+9sMUH8tuBqgRxAAKrNOi3BtvU ------END AGE ENCRYPTED FILE----- diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 37b7b2e..a236a78 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -2,22 +2,22 @@ set -e -{{ if eq .hosttype "personal" -}} /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" eval "$(/opt/homebrew/bin/brew shellenv)" brew install \ + age \ bzip2 \ cmus \ curl \ direnv \ fzf \ + gh \ git \ git-delta \ glow \ helix \ jj \ kitty \ - neovim \ nvm \ ripgrep \ sqlite \ @@ -28,8 +28,10 @@ brew install \ yazi \ zellij \ zk \ - zlib \ - zsh + zlib + +brew install --cask \ + kap export NVM_DIR="$HOME/.nvm" [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" @@ -39,6 +41,10 @@ nvm use 22 curl -LsSf https://astral.sh/uv/install.sh | sh uv tool install --force --python python3.12 aider-chat@latest +{{ if eq .hosttype "personal" -}} +brew install \ + mingw64 \ + pandoc {{ else if eq .hosttype "work" -}} {{ join .chezmoi.sourceDir "encrypted_work_packages.age" | include | decrypt -}} {{ end }} From 65ffb03b680a7b65f30a7eae3bf0a829c13b4dc8 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sat, 5 Apr 2025 17:01:27 -0400 Subject: [PATCH 199/226] jj config prevent editing rev already pushed (closes #4) --- .../private_Application Support/private_jj/config.toml.tmpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl index 02ea816..4e4978b 100644 --- a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl +++ b/home/private_Library/private_Application Support/private_jj/config.toml.tmpl @@ -7,7 +7,8 @@ push-bookmark-prefix = "{{ .github_personal }}_jj_" private-commits = "description(glob:'private:*') | bookmarks('merge')" [revset-aliases] -'stack()' = 'main..@' +"stack()" = "trunk()..@" +"immutable_heads()" = "builtin_immutable_heads() | (trunk().. & ~mine())" [ui] default-command = ["log"] From f9b46a6ae36ff65d4205c91a735ffb5797f90635 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 6 Apr 2025 17:26:08 -0400 Subject: [PATCH 200/226] typo in mingw dependency name --- home/run_once_01install-packages.sh.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index a236a78..b9bf35d 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -43,7 +43,7 @@ uv tool install --force --python python3.12 aider-chat@latest {{ if eq .hosttype "personal" -}} brew install \ - mingw64 \ + mingw-w64 \ pandoc {{ else if eq .hosttype "work" -}} {{ join .chezmoi.sourceDir "encrypted_work_packages.age" | include | decrypt -}} From 4fe9b63d421061e957f5d376cb167e33ff503da5 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 6 Apr 2025 21:19:01 -0400 Subject: [PATCH 201/226] bug: typo in work encrypted name --- home/run_once_01install-packages.sh.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index b9bf35d..48ec9fe 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -46,5 +46,5 @@ brew install \ mingw-w64 \ pandoc {{ else if eq .hosttype "work" -}} - {{ join .chezmoi.sourceDir "encrypted_work_packages.age" | include | decrypt -}} + {{ join .chezmoi.sourceDir "encrypted_dot_work_packages.age" | include | decrypt -}} {{ end }} From 67eddb7ae7eb29611a1f59c48b550ac4e5535f6d Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 6 Apr 2025 21:15:24 -0400 Subject: [PATCH 202/226] dropping zk for marksman --- home/private_dot_config/helix/languages.toml.tmpl | 12 ------------ home/run_once_01install-packages.sh.tmpl | 1 + 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/home/private_dot_config/helix/languages.toml.tmpl b/home/private_dot_config/helix/languages.toml.tmpl index 1682053..0dd5866 100644 --- a/home/private_dot_config/helix/languages.toml.tmpl +++ b/home/private_dot_config/helix/languages.toml.tmpl @@ -4,18 +4,6 @@ name = "rust" [language-server.rust-analyzer.config.check] command = "clippy" -[language-server.zk] -command = "zk" -args = ["lsp"] - -[[language]] -name = "markdown" -scope = "source.md" -injection-regex = "md|markdown" -file-types = ["md", "markdown"] -roots = [".zk"] -language-servers = ["zk"] - {{ if eq .hosttype "work" -}} [language-server.pyright] command = "pyright-langserver" diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 48ec9fe..0ead8c7 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -18,6 +18,7 @@ brew install \ helix \ jj \ kitty \ + marksman \ nvm \ ripgrep \ sqlite \ From 88b5f0af9570b94efbe302add5f32289ba3f87b5 Mon Sep 17 00:00:00 2001 From: Matthew Ryan DIllon Date: Mon, 7 Apr 2025 11:14:17 -0400 Subject: [PATCH 203/226] disable audible bell in kitty --- home/private_dot_config/kitty/kitty.conf.tmpl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/private_dot_config/kitty/kitty.conf.tmpl b/home/private_dot_config/kitty/kitty.conf.tmpl index 87b842a..665e76b 100644 --- a/home/private_dot_config/kitty/kitty.conf.tmpl +++ b/home/private_dot_config/kitty/kitty.conf.tmpl @@ -4,6 +4,10 @@ shell . clipboard_control write-clipboard write-primary no-append macos_option_as_alt yes +# Bell +enable_audio_bell no +visual_bell_duration 0.5 + # The basic colors foreground #cdd6f4 background #1e1e2e From a90c758e8778d85fc4c0f2a18c28ede645c2bf55 Mon Sep 17 00:00:00 2001 From: Matthew Ryan DIllon Date: Mon, 7 Apr 2025 11:19:28 -0400 Subject: [PATCH 204/226] move jj config to `XDG_CONFIG_HOME` --- home/dot_zshenv.tmpl | 8 +++++--- .../private_jj => private_dot_config/jj}/config.toml.tmpl | 0 2 files changed, 5 insertions(+), 3 deletions(-) rename home/{private_Library/private_Application Support/private_jj => private_dot_config/jj}/config.toml.tmpl (100%) diff --git a/home/dot_zshenv.tmpl b/home/dot_zshenv.tmpl index af506c5..acd3481 100644 --- a/home/dot_zshenv.tmpl +++ b/home/dot_zshenv.tmpl @@ -79,7 +79,9 @@ for fp in $check_paths; do done export -U PATH -export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc -export XDG_CONFIG_HOME=$HOME/.config -export OLLAMA_API_BASE=http://127.0.0.1:11434 +export XDG_CONFIG_HOME=$HOME/.config + +export JJ_CONFIG=$XDG_CONFIG_HOME/jj/config.toml +export OLLAMA_API_BASE=http://127.0.0.1:11434 +export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc diff --git a/home/private_Library/private_Application Support/private_jj/config.toml.tmpl b/home/private_dot_config/jj/config.toml.tmpl similarity index 100% rename from home/private_Library/private_Application Support/private_jj/config.toml.tmpl rename to home/private_dot_config/jj/config.toml.tmpl From f28238e2fa14cffca612df7bca892dea6479e623 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 7 Apr 2025 11:31:48 -0400 Subject: [PATCH 205/226] adding `presenterm` to tooling --- home/private_dot_config/presenterm/config.yaml | 3 +++ home/run_once_01install-packages.sh.tmpl | 1 + 2 files changed, 4 insertions(+) create mode 100644 home/private_dot_config/presenterm/config.yaml diff --git a/home/private_dot_config/presenterm/config.yaml b/home/private_dot_config/presenterm/config.yaml new file mode 100644 index 0000000..ddbe003 --- /dev/null +++ b/home/private_dot_config/presenterm/config.yaml @@ -0,0 +1,3 @@ +defaults: + max_columns: 150 + theme: "catppuccin-mocha" diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 0ead8c7..62291c3 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -20,6 +20,7 @@ brew install \ kitty \ marksman \ nvm \ + presenterm \ ripgrep \ sqlite \ tree \ From f0c26bb3059656e44998cf2dc414fdfa15936cfa Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 7 Apr 2025 21:27:44 -0400 Subject: [PATCH 206/226] work updates --- home/encrypted_dot_zshklaviyo.age | 120 +++++++++++++++--------------- 1 file changed, 62 insertions(+), 58 deletions(-) diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index c01f78f..e5bf512 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,60 +1,64 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArNkJpN0loQjNDejZjZ0ly -TjNxejQ3R3Y2aUhnRStGc2YwVjJpanlIdENZCnpkK3BRZ3J5SVNFai81Nk5NU2la -SnQyZ0pmc1BIcVFGUVF4YkR2RDh5NFEKLS0tIFdaMzhabFlXU3EwdEcvbUhTc3RM -SXN3c201Y1RLOVFyM3FrWi93WFNQWm8KvwxUae58osmwQN6RgFDkJGfRtODD5ahq -HZCZoBbtE0G532rmb7gh6AapgIiNp12AMfXkcmn9M+sYEswh2c59LX7dihVYlgQP -PjiQGWjZIJj748taiKnLNO2wDFB8IOA87O2rMN5xM2Tf7jnqnRwB4ONW8NZABvW+ -fS2MhtgYlcXiTEkxxZPe5fxrUqNKj9Z+k0vWlBmT5IAMCzDmtVPTLXnZdIjwFFlZ -ISh7LScNjxduoddTXXZiMR3fvjNVOAN5yYz6lM6xzJFAc5EXnvuRBBAyljP23pci -js31obyBwPDEFHiQt68RWqDkm01Pgpz8r4RohwrbkHb/KHxIQMh8XScHR8hIL4AV -SDuukKNL3pgiO+N/u3XJBs1KWUye2wv/lrN0wAi0g30S0AYEVERNy8IlWYScw8Qs -6mr3cO3dL+ZfSBNrleFMbFVRYuTgKxk/92PgG38G2OKof+YmmZ+aFrBkG9v/g6P7 -3SFVODrnAD2vE8J6LwrFhNM5hsATiZaJ6o8Jrsp7ZJcH/ig6ydUex77z5Ya/QUli -ZInPKBdStpOLKC1T12op6PMs52PvLtJclS5DFjPOsvxGjTIAYK2tHMpSipkNuEYG -Zo2P0YS0aEm6XFzNzkTRg0IRmZCZSx5mRyZl5mWoOKVPsyIMyKG4+N3KhzJPnfKL -PaQ95SWAZaufQ1+zTRGbEcVIsDzZpB9TywZhQaTx/8rdZ61XCV3HQMGZ+tVbnUrk -+FmrEGa6WEQrtTy1D32XvEWBijFXBuVsARSgijnbkyjCph8edD845RWJRJlypMNG -SIoC+31jKf/bnwZqdwMjOkgtKb0ys7pZ/1x18dTjFjlPn+OV+DcArTSlSTe4N6IW -vqWfmo2SQN/a9qytiETgnb+M27fpp8CWQnkxLyO2o8rcE0TdeRxiNh0tH+xGgEtf -ohjbbUuS3fqFbN5FGKfHTh7oRVujpE0baHh+8zg33PEbGXu896hMGpUXZRhPF057 -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 -GsXV5nqiuyCPLXvMGiF3tS5A7oExtg== +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWUZwU3lLdWdiSlBjbmV0 +am4zdStSUi9aeFJKZTFZbDB4TERiQmFZY0FFCkJUS1Q2U1ZzRW40ZGFlc2lOeith +eEFmUC82MStUTnRKbWk3a1NLSFM0T0kKLS0tIHZxWDNoMlRjWWVGYUJqTElPM2NM +UnhpUXhDa0djbkMwcjZlY3NPb2tXZEkKUkGOBt543ndnjTeHxCOni7bc7IwNok6f +MzcKwMOwxrwJPyniFGBC3GY4RthvnqcKIVm9EBKy7wdEceqDvI+MfFOV1b+iL9I6 +OumJGq+fo6AGIEr+Kbn9+mPDvxSWAGhBsTd/h/2pGeFsLk5/INiPslF8nX5VW+UJ +SCJkXeWfztZN6c8M4DUxCYmcJaOH7dOm3l0rJ70+m+CA5xiA3LmwuWBFAIWclo3L +Zf4t4h4rxOlNAPDvhm1vGRtyjnY1u2sRdl8TUvbPSG8t04mwrGJ1R+m1/k82CTae +9DMu+NPsxjHoarchE3HzVLz02N4GGL8CWbp7X6CvwPnfIRZdDj/UnrqPl0k04Ojw +tnVfTaWpyBRpDg4e+TbE1AakkDwy5NNZTdhAWCMpdgFZbEFxj/YOq0HR8RAE8boQ +m/YghNFFppWXoCUsW6DVHZOFOhAmKccPTpULWPpnlb/ooHQ8yER84ApVWRG3MWTy +/sS5xdcfxDcTyQQqr6oZirRmkp2h+nuJwfjLTjieFyS1A2LfGBCWn7xyGif2VU/o +SpIcYXi25+Z0JhcRIHjcWHDI+fqng9EjmkcfIZ+P6pFgjAnlnY6IWSNrFT87BNDO ++cvCFLoTpvSiamuIpKOG0UqH+FfbeXvx6Hv4HMTP3Iy5db9Z5lJWfJu2F7CRFHKe +lfbhd4qxwk/xRikxW7pa79IFt4PdNap+8Rk4fPsa05hHCHJtIodCrAZL0G++hjdw +MsxIQcPXhPUhE5Hr0k7yTFt+liMD2hPDJkiIxR6+u2q/nU+ZVeMJAf2DEyYf8BEy +uPE99I9tL2dRBvQfN9vxhDNusRLvkrcGVmleuhQ5pHMsBoqOsuiuYEhKP40VX9n3 +DrpGz6qfDlNCGWgHkN+20ZXqzupTy5dzws25byTNTCNJSU930GHBbkmbV3aOCP/7 +L4fehwIid1KbknJvBsshsADTKNbbNFwluwuFKJ3wnvrN8qYe19XtxiRyvNFO4mgp +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 -----END AGE ENCRYPTED FILE----- From 4a52da48e1f102ec0edafa08f6c90666304751cb Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 7 Apr 2025 21:27:44 -0400 Subject: [PATCH 207/226] cmus catppuccin theme --- home/private_dot_config/private_cmus/rc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 home/private_dot_config/private_cmus/rc diff --git a/home/private_dot_config/private_cmus/rc b/home/private_dot_config/private_cmus/rc new file mode 100644 index 0000000..64f8c6d --- /dev/null +++ b/home/private_dot_config/private_cmus/rc @@ -0,0 +1,24 @@ +### catppuccin +set color_cmdline_bg=default +set color_cmdline_fg=254 +set color_error=211 +set color_info=223 +set color_separator=117 +set color_statusline_bg=default +set color_statusline_fg=254 +set color_titleline_bg=151 +set color_titleline_fg=16 +set color_win_bg=default +set color_win_cur=117 +set color_win_cur_sel_bg=151 +set color_win_cur_sel_fg=16 +set color_win_dir=254 +set color_win_fg=254 +set color_win_inactive_cur_sel_bg=181 +set color_win_inactive_cur_sel_fg=235 +set color_win_inactive_sel_bg=152 +set color_win_inactive_sel_fg=235 +set color_win_sel_bg=117 +set color_win_sel_fg=235 +set color_win_title_bg=default +set color_win_title_fg=117 From 1b094d08b545e035cb374c3a3118f9ee39b5ed03 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Tue, 8 Apr 2025 21:03:40 -0400 Subject: [PATCH 208/226] misc work updates --- home/encrypted_dot_zshklaviyo.age | 126 +++++++++++++++--------------- 1 file changed, 64 insertions(+), 62 deletions(-) diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index e5bf512..b82d900 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,64 +1,66 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWUZwU3lLdWdiSlBjbmV0 -am4zdStSUi9aeFJKZTFZbDB4TERiQmFZY0FFCkJUS1Q2U1ZzRW40ZGFlc2lOeith -eEFmUC82MStUTnRKbWk3a1NLSFM0T0kKLS0tIHZxWDNoMlRjWWVGYUJqTElPM2NM -UnhpUXhDa0djbkMwcjZlY3NPb2tXZEkKUkGOBt543ndnjTeHxCOni7bc7IwNok6f -MzcKwMOwxrwJPyniFGBC3GY4RthvnqcKIVm9EBKy7wdEceqDvI+MfFOV1b+iL9I6 -OumJGq+fo6AGIEr+Kbn9+mPDvxSWAGhBsTd/h/2pGeFsLk5/INiPslF8nX5VW+UJ -SCJkXeWfztZN6c8M4DUxCYmcJaOH7dOm3l0rJ70+m+CA5xiA3LmwuWBFAIWclo3L -Zf4t4h4rxOlNAPDvhm1vGRtyjnY1u2sRdl8TUvbPSG8t04mwrGJ1R+m1/k82CTae -9DMu+NPsxjHoarchE3HzVLz02N4GGL8CWbp7X6CvwPnfIRZdDj/UnrqPl0k04Ojw -tnVfTaWpyBRpDg4e+TbE1AakkDwy5NNZTdhAWCMpdgFZbEFxj/YOq0HR8RAE8boQ -m/YghNFFppWXoCUsW6DVHZOFOhAmKccPTpULWPpnlb/ooHQ8yER84ApVWRG3MWTy -/sS5xdcfxDcTyQQqr6oZirRmkp2h+nuJwfjLTjieFyS1A2LfGBCWn7xyGif2VU/o -SpIcYXi25+Z0JhcRIHjcWHDI+fqng9EjmkcfIZ+P6pFgjAnlnY6IWSNrFT87BNDO -+cvCFLoTpvSiamuIpKOG0UqH+FfbeXvx6Hv4HMTP3Iy5db9Z5lJWfJu2F7CRFHKe -lfbhd4qxwk/xRikxW7pa79IFt4PdNap+8Rk4fPsa05hHCHJtIodCrAZL0G++hjdw -MsxIQcPXhPUhE5Hr0k7yTFt+liMD2hPDJkiIxR6+u2q/nU+ZVeMJAf2DEyYf8BEy -uPE99I9tL2dRBvQfN9vxhDNusRLvkrcGVmleuhQ5pHMsBoqOsuiuYEhKP40VX9n3 -DrpGz6qfDlNCGWgHkN+20ZXqzupTy5dzws25byTNTCNJSU930GHBbkmbV3aOCP/7 -L4fehwIid1KbknJvBsshsADTKNbbNFwluwuFKJ3wnvrN8qYe19XtxiRyvNFO4mgp -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 -qsUz9o5XTV3Y75s39Uv6HFFyBbxUpX66AODLcTzNRl66FrTtaMHBjSMgjDQ0cEK4 -hiLU5mqkiMXtsNznd4JzQq/woIgLgCqqIg+53JCcENfzSew57mz/EiDdAlKfB4ws -D+apLja3SPfBZckvSn1cFSOr688/0EaSqvtMrOZh6eEqme+YX11LTo1J4Vzrexka -HYCIOSHDCiWUWEcv0AOPaVugf8PgwgSFSiwEjVp6DZOO/PfG3I7WopQoiPy2jBQA -e5Ts209hB1xcKZeADc5lhTCEN8xg+nPEC0xv7coWXtYdTqMVwxhXHFUP3SsoQxo= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3ZVVGeW9icVBjbXk4VnZo +aEQxVTNoTFpSSUlZcEpVRHp1VWRGdjBwYmtnCnk4L241UmUyb0QyZUVVVU50SmdR +ckNPWVFVM3dSWmxTeGRrL0hwZ0xqN1UKLS0tIFpjZkE1QWt3UFBPanY2WmtwckFw +bkoyZ3pWWXEzem50ZG1uY3E2MjB4Q3cK9gtlN1NleI5+MF5SJfO7AJPpTmej3f9g +JYRXjja1eBDkl91/pgjV5Q8k5lh+X+DrUWlZ6ddigFijBUt5gdjCpeK7ETKZhJuU +qSLEZo84/ICOBB1GJk1DMNpSTCqm17SMrTHCiue8NCuy+U22mlduuEbN3M9MzZkt +L5NrxNwzlHVBpznwNCJsFfK8tAsND+alAXZICDDD5NrGt2kKbUnu5DQoacxDVqt8 +o95/7Ce6LS1/p/+/JvAehF+z/H9CySE5sRVZmuVrrgXwjOqvAvPNfc8cjWHmeN8m +SOEemrYjQkJ2aZpnj1Lj2h1pjqnM6VJP98WPZInXIbTIVDi+cOig/igR976U8aM6 +oEBBMDNOxH3d/3smGL2qbaKb9ZHvJHxFG64p2Xc+mZ7Tr0xDvETsS8qEm/zF4dyz +RIKYUOEZJqLwwNRRd7kkFGHyMH/Exiz36oEYFjN9UGm5c3XEaKhVbn7PuEOyjdis +hdlZxfx9Ijz2mKib8wFqjgLLeIBFusomov2zeruXtOWUl8piNyZFrzmW/D8naIXL +2HlZt43ESJdmWTESMZvUYCnnz5JitQm8yvWTG+VNd/XI5jJAIuLOb2tZqKIkSHms +uPPp/Ihjt94lAxrE745zVPq6Sbz2lzUtMQ14yCWqRDobCh1mzbuixo9W3QOTDlcw +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 +OpmH4ui9N2SlAydHwLZ9cP5VUZrT7rCEnWDkJ0cKrGtR2DEq9AfQWq4R9Lhh3Zfb +09dPPdNZ840IoBA98b2gRlDMdGqpjk/6qnzO02sMDHUcXJ3awRjulDrMBdzh4/bY +2AUM/Kec2BGf75jNWlSSnjTg49Sy33yHfN1AApMgHSFUsQxDYQTL6te8OCQDg14V ++s9o4leNGZzqk3jnOOFdnwuk4TVZcyXmG3pJSLFFnnLK3WE+rby/sUXBQLY23JrF +Bthep+QCxGwuj4rU2cexj7z8P3rTq0HsRBhm8hkLK+v99AtTXwqm4gPcM0FWrCFC +Y/hm85ydRmvuQOyh54yTt536k+vQYIewpf0JQXJVBwYKZqgpZxf3Birsu7VleYGR +mVLGxb5TtyZt87y646I72mnJu83lvOSigOTp0/ae2sedSIf6qcGnXCThL/+W2ek/ +JFlKUbETwkYqSuIS9HlB2mvOIuP0krBFbRzx2CPAkX1QbA/wRpa2MTRJ8y457Bjh +CBrCC/dt0OXFw+ucmAi+ARAbF5/SH2sSu1vppdxSXcRAW9OnoVV+eMvF6fdBxSpo +arRntCr+Sol89P7ebSs858RtGpmZFYbpC6SrMSMgx3mieMOFCAvUM8ysKDFyMUCO +4Li/c5JbRtnG1lGQ/zjtYB0GVAyoxV4DB1WLVbpQKmvXNZ8kTcYF8XvbWw6CqV+P +N6iUxVxK2pJV3Jf8AgzMVudTbIwMZuaU60PL0ak7l5yaeA== -----END AGE ENCRYPTED FILE----- From b9ec7138c556bbeb64554a8fa07965b32a215174 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 13 Apr 2025 15:49:23 -0400 Subject: [PATCH 209/226] clean up formatting of zk entries --- home/private_dot_config/zk/config.toml | 4 ++-- home/private_dot_config/zk/templates/default.md | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/home/private_dot_config/zk/config.toml b/home/private_dot_config/zk/config.toml index d29c280..ddfb595 100644 --- a/home/private_dot_config/zk/config.toml +++ b/home/private_dot_config/zk/config.toml @@ -4,7 +4,7 @@ dir = "~/notebook" [note] language = "en" default-title = "untitled" -filename = "{{id}}-{{slug title}}" +filename = "{{format-date now 'timestamp'}}-{{id}}" extension = "md" template = "default.md" id-charset = "alphanum" @@ -32,4 +32,4 @@ diff = 'jj diff' daily = 'zk new --no-input "$ZK_NOTEBOOK_DIR/journal/daily"' [tool] -editor = "hx --hsplit journal/tasks.xit" +editor = "hx" diff --git a/home/private_dot_config/zk/templates/default.md b/home/private_dot_config/zk/templates/default.md index 1d45ba6..3da3bcf 100644 --- a/home/private_dot_config/zk/templates/default.md +++ b/home/private_dot_config/zk/templates/default.md @@ -1,5 +1,7 @@ +--- +created: {{ format-date now "%Y-%m-%dT%H:%M" }} +--- + # {{ title }} -{{ format-date now }} - {{ content }} From 9023a3349baf07f49cc312b89675631781eb008a Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 13 Apr 2025 15:49:23 -0400 Subject: [PATCH 210/226] set fzf color scheme --- home/dot_zshrc.tmpl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl index 77a3c55..09679c2 100644 --- a/home/dot_zshrc.tmpl +++ b/home/dot_zshrc.tmpl @@ -76,3 +76,10 @@ function reldate() { [ "$TERM" = "xterm-kitty" ] && alias ssh="TERM=xterm ssh" alias strip_jira="sed 's/\[\{0,1\}[a-zA-Z]*-[0-9]*\]\{0,1\}//g'" + +export FZF_DEFAULT_OPTS=" \ +--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \ +--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \ +--color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 \ +--color=selected-bg:#45475a \ +--color=border:#313244,label:#cdd6f4" From 235883201d1d103d62317428de5fb1462b8f2083 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 13 Apr 2025 15:49:23 -0400 Subject: [PATCH 211/226] new tool: bat --- home/private_dot_config/bat/config | 1 + .../bat/themes/Catppuccin Mocha.tmTheme | 2081 +++++++++++++++++ home/private_dot_config/zk/config.toml | 1 + home/run_once_01install-packages.sh.tmpl | 1 + 4 files changed, 2084 insertions(+) create mode 100644 home/private_dot_config/bat/config create mode 100644 home/private_dot_config/bat/themes/Catppuccin Mocha.tmTheme diff --git a/home/private_dot_config/bat/config b/home/private_dot_config/bat/config new file mode 100644 index 0000000..b7de378 --- /dev/null +++ b/home/private_dot_config/bat/config @@ -0,0 +1 @@ +--theme="Catppuccin Mocha" diff --git a/home/private_dot_config/bat/themes/Catppuccin Mocha.tmTheme b/home/private_dot_config/bat/themes/Catppuccin Mocha.tmTheme new file mode 100644 index 0000000..6bd0f29 --- /dev/null +++ b/home/private_dot_config/bat/themes/Catppuccin Mocha.tmTheme @@ -0,0 +1,2081 @@ + + + + + name + Catppuccin Mocha + semanticClass + theme.dark.catppuccin-mocha + uuid + 627ce890-fabb-4d39-9819-7be71f4bdca7 + author + Catppuccin Org + colorSpaceName + sRGB + settings + + + settings + + background + #1e1e2e + foreground + #cdd6f4 + caret + #f5e0dc + lineHighlight + #313244 + misspelling + #f38ba8 + accent + #cba6f7 + selection + #9399b240 + activeGuide + #45475a + findHighlight + #3e5767 + gutterForeground + #7f849c + + + + name + Basic text & variable names (incl. leading punctuation) + scope + text, source, variable.other.readwrite, punctuation.definition.variable + settings + + foreground + #cdd6f4 + + + + name + Parentheses, Brackets, Braces + scope + punctuation + settings + + foreground + #9399b2 + fontStyle + + + + + name + Comments + scope + comment, punctuation.definition.comment + settings + + foreground + #6c7086 + fontStyle + italic + + + + scope + string, punctuation.definition.string + settings + + foreground + #a6e3a1 + + + + scope + constant.character.escape + settings + + foreground + #f5c2e7 + + + + name + Booleans, constants, numbers + scope + constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point + settings + + foreground + #fab387 + + + + scope + keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword + settings + + foreground + #cba6f7 + fontStyle + + + + + scope + entity.name.tag.documentation + settings + + foreground + #cba6f7 + + + + name + Punctuation + scope + keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value + settings + + foreground + #94e2d5 + + + + scope + entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Classes + scope + entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Enum + scope + entity.name.enum + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Enum member + scope + meta.enum variable.other.readwrite, variable.other.enummember + settings + + foreground + #94e2d5 + + + + name + Object properties + scope + meta.property.object + settings + + foreground + #94e2d5 + + + + name + Types + scope + meta.type, meta.type-alias, support.type, entity.name.type + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Decorators + scope + meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator + settings + + foreground + #fab387 + + + + scope + variable.parameter, meta.function.parameters + settings + + foreground + #eba0ac + fontStyle + italic + + + + name + Built-ins + scope + constant.language, support.function.builtin + settings + + foreground + #f38ba8 + + + + scope + entity.other.attribute-name.documentation + settings + + foreground + #f38ba8 + + + + name + Preprocessor directives + scope + keyword.control.directive, punctuation.definition.directive + settings + + foreground + #f9e2af + + + + name + Type parameters + scope + punctuation.definition.typeparameters + settings + + foreground + #89dceb + + + + name + Namespaces + scope + entity.name.namespace + settings + + foreground + #f9e2af + + + + name + Property names (left hand assignments in json/yaml/css) + scope + support.type.property-name.css + settings + + foreground + #89b4fa + fontStyle + + + + + name + This/Self keyword + scope + variable.language.this, variable.language.this punctuation.definition.variable + settings + + foreground + #f38ba8 + + + + name + Object properties + scope + variable.object.property + settings + + foreground + #cdd6f4 + + + + name + String template interpolation + scope + string.template variable, string variable + settings + + foreground + #cdd6f4 + + + + name + `new` as bold + scope + keyword.operator.new + settings + + fontStyle + bold + + + + name + C++ extern keyword + scope + storage.modifier.specifier.extern.cpp + settings + + foreground + #cba6f7 + + + + name + C++ scope resolution + scope + entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp + settings + + foreground + #f9e2af + + + + name + C++ doc keywords + scope + storage.type.class.doxygen + settings + + fontStyle + + + + + name + C++ operators + scope + storage.modifier.reference.cpp + settings + + foreground + #94e2d5 + + + + name + C# Interpolated Strings + scope + meta.interpolation.cs + settings + + foreground + #cdd6f4 + + + + name + C# xml-style docs + scope + comment.block.documentation.cs + settings + + foreground + #cdd6f4 + + + + name + Classes, reflecting the className color in JSX + scope + source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css + settings + + foreground + #f9e2af + + + + name + Operators + scope + punctuation.separator.operator.css + settings + + foreground + #94e2d5 + + + + name + Pseudo classes + scope + source.css entity.other.attribute-name.pseudo-class + settings + + foreground + #94e2d5 + + + + scope + source.css constant.other.unicode-range + settings + + foreground + #fab387 + + + + scope + source.css variable.parameter.url + settings + + foreground + #a6e3a1 + fontStyle + + + + + name + CSS vendored property names + scope + support.type.vendored.property-name + settings + + foreground + #89dceb + + + + name + Less/SCSS right-hand variables (@/$-prefixed) + scope + source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss + settings + + foreground + #eba0ac + + + + name + CSS variables (--prefixed) + scope + source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less + settings + + foreground + #89b4fa + + + + name + CSS Percentage values, styled the same as numbers + scope + keyword.other.unit.percentage.css + settings + + foreground + #fab387 + + + + name + CSS Attribute selectors, styled the same as strings + scope + source.css meta.attribute-selector + settings + + foreground + #a6e3a1 + + + + name + JSON/YAML keys, other left-hand assignments + scope + keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml + settings + + foreground + #89b4fa + fontStyle + + + + + name + JSON/YAML constants + scope + constant.language.json, constant.language.yaml + settings + + foreground + #fab387 + + + + name + YAML anchors + scope + entity.name.type.anchor.yaml, variable.other.alias.yaml + settings + + foreground + #f9e2af + fontStyle + + + + + name + TOML tables / ini groups + scope + support.type.property-name.table, entity.name.section.group-title.ini + settings + + foreground + #f9e2af + + + + name + TOML dates + scope + constant.other.time.datetime.offset.toml + settings + + foreground + #f5c2e7 + + + + name + YAML anchor puctuation + scope + punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml + settings + + foreground + #f5c2e7 + + + + name + YAML triple dashes + scope + entity.other.document.begin.yaml + settings + + foreground + #f5c2e7 + + + + name + Markup Diff + scope + markup.changed.diff + settings + + foreground + #fab387 + + + + name + Diff + scope + meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff + settings + + foreground + #89b4fa + + + + name + Diff Inserted + scope + markup.inserted.diff + settings + + foreground + #a6e3a1 + + + + name + Diff Deleted + scope + markup.deleted.diff + settings + + foreground + #f38ba8 + + + + name + dotenv left-hand side assignments + scope + variable.other.env + settings + + foreground + #89b4fa + + + + name + dotenv reference to existing env variable + scope + string.quoted variable.other.env + settings + + foreground + #cdd6f4 + + + + name + GDScript functions + scope + support.function.builtin.gdscript + settings + + foreground + #89b4fa + + + + name + GDScript constants + scope + constant.language.gdscript + settings + + foreground + #fab387 + + + + name + Comment keywords + scope + comment meta.annotation.go + settings + + foreground + #eba0ac + + + + name + go:embed, go:build, etc. + scope + comment meta.annotation.parameters.go + settings + + foreground + #fab387 + + + + name + Go constants (nil, true, false) + scope + constant.language.go + settings + + foreground + #fab387 + + + + name + GraphQL variables + scope + variable.graphql + settings + + foreground + #cdd6f4 + + + + name + GraphQL aliases + scope + string.unquoted.alias.graphql + settings + + foreground + #f2cdcd + + + + name + GraphQL enum members + scope + constant.character.enum.graphql + settings + + foreground + #94e2d5 + + + + name + GraphQL field in types + scope + meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql + settings + + foreground + #f2cdcd + + + + name + HTML/XML DOCTYPE as keyword + scope + keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag + settings + + foreground + #cba6f7 + + + + name + HTML/XML-like <tags/> + scope + entity.name.tag + settings + + foreground + #89b4fa + fontStyle + + + + + name + Special characters like &amp; + scope + text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation + settings + + foreground + #f38ba8 + + + + name + HTML/XML tag attribute values + scope + entity.other.attribute-name + settings + + foreground + #f9e2af + + + + name + Components + scope + support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue + settings + + foreground + #f5c2e7 + fontStyle + + + + + name + Annotations + scope + punctuation.definition.annotation, storage.type.annotation + settings + + foreground + #fab387 + + + + name + Java enums + scope + constant.other.enum.java + settings + + foreground + #94e2d5 + + + + name + Java imports + scope + storage.modifier.import.java + settings + + foreground + #cdd6f4 + + + + name + Javadoc + scope + comment.block.javadoc.java keyword.other.documentation.javadoc.java + settings + + fontStyle + + + + + name + Exported Variable + scope + meta.export variable.other.readwrite.js + settings + + foreground + #eba0ac + + + + name + JS/TS constants & properties + scope + variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts + settings + + foreground + #cdd6f4 + + + + name + JSDoc; these are mainly params, so styled as such + scope + variable.other.jsdoc, comment.block.documentation variable.other + settings + + foreground + #eba0ac + fontStyle + + + + + name + JSDoc keywords + scope + storage.type.class.jsdoc + settings + + fontStyle + + + + + scope + support.type.object.console.js + settings + + foreground + #cdd6f4 + + + + name + Node constants as keywords (module, etc.) + scope + support.constant.node, support.type.object.module.js + settings + + foreground + #cba6f7 + + + + name + implements as keyword + scope + storage.modifier.implements + settings + + foreground + #cba6f7 + + + + name + Builtin types + scope + constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts + settings + + foreground + #cba6f7 + + + + scope + variable.parameter.generic + settings + + foreground + #f9e2af + + + + name + Arrow functions + scope + keyword.declaration.function.arrow.js, storage.type.function.arrow.ts + settings + + foreground + #94e2d5 + + + + name + Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach) + scope + punctuation.decorator.ts + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Extra JS/TS keywords + scope + keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts + settings + + foreground + #cba6f7 + + + + name + Julia macros + scope + support.function.macro.julia + settings + + foreground + #94e2d5 + fontStyle + italic + + + + name + Julia language constants (true, false) + scope + constant.language.julia + settings + + foreground + #fab387 + + + + name + Julia other constants (these seem to be arguments inside arrays) + scope + constant.other.symbol.julia + settings + + foreground + #eba0ac + + + + name + LaTeX preamble + scope + text.tex keyword.control.preamble + settings + + foreground + #94e2d5 + + + + name + LaTeX be functions + scope + text.tex support.function.be + settings + + foreground + #89dceb + + + + name + LaTeX math + scope + constant.other.general.math.tex + settings + + foreground + #f2cdcd + + + + name + Lua docstring keywords + scope + comment.line.double-dash.documentation.lua storage.type.annotation.lua + settings + + foreground + #cba6f7 + fontStyle + + + + + name + Lua docstring variables + scope + comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua + settings + + foreground + #cdd6f4 + + + + scope + heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc + settings + + foreground + #f38ba8 + + + + scope + heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc + settings + + foreground + #fab387 + + + + scope + heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc + settings + + foreground + #f9e2af + + + + scope + heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc + settings + + foreground + #a6e3a1 + + + + scope + heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc + settings + + foreground + #89b4fa + + + + scope + heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc + settings + + foreground + #cba6f7 + + + + scope + markup.bold + settings + + foreground + #f38ba8 + fontStyle + bold + + + + scope + markup.italic + settings + + foreground + #f38ba8 + fontStyle + italic + + + + scope + markup.strikethrough + settings + + foreground + #a6adc8 + fontStyle + strikethrough + + + + name + Markdown auto links + scope + punctuation.definition.link, markup.underline.link + settings + + foreground + #89b4fa + + + + name + Markdown links + scope + text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference + settings + + foreground + #b4befe + + + + name + Markdown code spans + scope + punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown + settings + + foreground + #a6e3a1 + + + + name + Markdown triple backtick language identifier + scope + fenced_code.block.language + settings + + foreground + #89dceb + + + + name + Markdown triple backticks + scope + markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc + settings + + foreground + #9399b2 + + + + name + Markdown quotes + scope + markup.quote, punctuation.definition.quote.begin + settings + + foreground + #f5c2e7 + + + + name + Markdown separators + scope + meta.separator.markdown + settings + + foreground + #94e2d5 + + + + name + Markdown list bullets + scope + punctuation.definition.list.begin.markdown, markup.list.bullet + settings + + foreground + #94e2d5 + + + + name + Nix attribute names + scope + entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix + settings + + foreground + #89b4fa + + + + name + Nix parameter names + scope + variable.parameter.name.nix + settings + + foreground + #cdd6f4 + fontStyle + + + + + name + Nix interpolated parameter names + scope + meta.embedded variable.parameter.name.nix + settings + + foreground + #b4befe + fontStyle + + + + + name + Nix paths + scope + string.unquoted.path.nix + settings + + foreground + #f5c2e7 + fontStyle + + + + + name + PHP Attributes + scope + support.attribute.builtin, meta.attribute.php + settings + + foreground + #f9e2af + + + + name + PHP Parameters (needed for the leading dollar sign) + scope + meta.function.parameters.php punctuation.definition.variable.php + settings + + foreground + #eba0ac + + + + name + PHP Constants (null, __FILE__, etc.) + scope + constant.language.php + settings + + foreground + #cba6f7 + + + + name + PHP functions + scope + text.html.php support.function + settings + + foreground + #89dceb + + + + name + PHPdoc keywords + scope + keyword.other.phpdoc.php + settings + + fontStyle + + + + + name + Python argument functions reset to text, otherwise they inherit blue from function-call + scope + support.variable.magic.python, meta.function-call.arguments.python + settings + + foreground + #cdd6f4 + + + + name + Python double underscore functions + scope + support.function.magic.python + settings + + foreground + #89dceb + fontStyle + italic + + + + name + Python `self` keyword + scope + variable.parameter.function.language.special.self.python, variable.language.special.self.python + settings + + foreground + #f38ba8 + fontStyle + italic + + + + name + python keyword flow/logical (for ... in) + scope + keyword.control.flow.python, keyword.operator.logical.python + settings + + foreground + #cba6f7 + + + + name + python storage type + scope + storage.type.function.python + settings + + foreground + #cba6f7 + + + + name + python function support + scope + support.token.decorator.python, meta.function.decorator.identifier.python + settings + + foreground + #89dceb + + + + name + python function calls + scope + meta.function-call.python + settings + + foreground + #89b4fa + + + + name + python function decorators + scope + entity.name.function.decorator.python, punctuation.definition.decorator.python + settings + + foreground + #fab387 + fontStyle + italic + + + + name + python placeholder reset to normal string + scope + constant.character.format.placeholder.other.python + settings + + foreground + #f5c2e7 + + + + name + Python exception & builtins such as exit() + scope + support.type.exception.python, support.function.builtin.python + settings + + foreground + #fab387 + + + + name + entity.name.type + scope + support.type.python + settings + + foreground + #fab387 + + + + name + python constants (True/False) + scope + constant.language.python + settings + + foreground + #cba6f7 + + + + name + Arguments accessed later in the function body + scope + meta.indexed-name.python, meta.item-access.python + settings + + foreground + #eba0ac + fontStyle + italic + + + + name + Python f-strings/binary/unicode storage types + scope + storage.type.string.python + settings + + foreground + #a6e3a1 + fontStyle + italic + + + + name + Python type hints + scope + meta.function.parameters.python + settings + + fontStyle + + + + + name + Regex string begin/end in JS/TS + scope + string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end + settings + + foreground + #f5c2e7 + + + + name + Regex anchors (^, $) + scope + keyword.control.anchor.regexp + settings + + foreground + #cba6f7 + + + + name + Regex regular string match + scope + string.regexp.ts + settings + + foreground + #cdd6f4 + + + + name + Regex group parenthesis & backreference (\1, \2, \3, ...) + scope + punctuation.definition.group.regexp, keyword.other.back-reference.regexp + settings + + foreground + #a6e3a1 + + + + name + Regex character class [] + scope + punctuation.definition.character-class.regexp + settings + + foreground + #f9e2af + + + + name + Regex character classes (\d, \w, \s) + scope + constant.other.character-class.regexp + settings + + foreground + #f5c2e7 + + + + name + Regex range + scope + constant.other.character-class.range.regexp + settings + + foreground + #f5e0dc + + + + name + Regex quantifier + scope + keyword.operator.quantifier.regexp + settings + + foreground + #94e2d5 + + + + name + Regex constant/numeric + scope + constant.character.numeric.regexp + settings + + foreground + #fab387 + + + + name + Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds + scope + punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp + settings + + foreground + #89b4fa + + + + name + Rust attribute + scope + meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Rust attribute strings + scope + meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust + settings + + fontStyle + + + + + name + Rust keyword + scope + entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust + settings + + foreground + #cba6f7 + fontStyle + + + + + name + Rust u/i32, u/i64, etc. + scope + entity.name.type.numeric.rust + settings + + foreground + #cba6f7 + fontStyle + + + + + name + Rust generic + scope + meta.generic.rust + settings + + foreground + #fab387 + + + + name + Rust impl + scope + entity.name.impl.rust + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Rust module + scope + entity.name.module.rust + settings + + foreground + #fab387 + + + + name + Rust trait + scope + entity.name.trait.rust + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Rust struct + scope + storage.type.source.rust + settings + + foreground + #f9e2af + + + + name + Rust union + scope + entity.name.union.rust + settings + + foreground + #f9e2af + + + + name + Rust enum member + scope + meta.enum.rust storage.type.source.rust + settings + + foreground + #94e2d5 + + + + name + Rust macro + scope + support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Rust lifetime + scope + storage.modifier.lifetime.rust, entity.name.type.lifetime + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Rust string formatting + scope + string.quoted.double.rust constant.other.placeholder.rust + settings + + foreground + #f5c2e7 + + + + name + Rust return type generic + scope + meta.function.return-type.rust meta.generic.rust storage.type.rust + settings + + foreground + #cdd6f4 + + + + name + Rust functions + scope + meta.function.call.rust + settings + + foreground + #89b4fa + + + + name + Rust angle brackets + scope + punctuation.brackets.angle.rust + settings + + foreground + #89dceb + + + + name + Rust constants + scope + constant.other.caps.rust + settings + + foreground + #fab387 + + + + name + Rust function parameters + scope + meta.function.definition.rust variable.other.rust + settings + + foreground + #eba0ac + + + + name + Rust closure variables + scope + meta.function.call.rust variable.other.rust + settings + + foreground + #cdd6f4 + + + + name + Rust self + scope + variable.language.self.rust + settings + + foreground + #f38ba8 + + + + name + Rust metavariable names + scope + variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust + settings + + foreground + #f5c2e7 + + + + name + Shell shebang + scope + comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell + settings + + foreground + #f5c2e7 + fontStyle + italic + + + + name + Shell shebang command + scope + comment.line.shebang constant.language + settings + + foreground + #94e2d5 + fontStyle + italic + + + + name + Shell interpolated command + scope + meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation + settings + + foreground + #f38ba8 + + + + name + Shell interpolated command variable + scope + meta.string meta.interpolation.parameter.shell variable.other.readwrite + settings + + foreground + #fab387 + fontStyle + italic + + + + scope + source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell + settings + + foreground + #94e2d5 + + + + name + Shell EOF + scope + entity.name.tag.heredoc.shell + settings + + foreground + #cba6f7 + + + + name + Shell quoted variable + scope + string.quoted.double.shell variable.other.normal.shell + settings + + foreground + #cdd6f4 + + + + name + JSON Keys + scope + source.json meta.mapping.key string + settings + + foreground + #89b4fa + + + + name + JSON key surrounding quotes + scope + source.json meta.mapping.key punctuation.definition.string.begin, source.json meta.mapping.key punctuation.definition.string.end + settings + + foreground + #9399b2 + + + + scope + markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man + settings + + foreground + #cba6f7 + + + + scope + markup.heading.commands.man + settings + + foreground + #89b4fa + + + + scope + markup.heading.env.man + settings + + foreground + #f5c2e7 + + + + name + Man page options + scope + entity.name + settings + + foreground + #94e2d5 + + + + scope + markup.heading.1.markdown + settings + + foreground + #f38ba8 + + + + scope + markup.heading.2.markdown + settings + + foreground + #fab387 + + + + scope + markup.heading.markdown + settings + + foreground + #f9e2af + + + + + \ No newline at end of file diff --git a/home/private_dot_config/zk/config.toml b/home/private_dot_config/zk/config.toml index ddfb595..4ac61ff 100644 --- a/home/private_dot_config/zk/config.toml +++ b/home/private_dot_config/zk/config.toml @@ -33,3 +33,4 @@ daily = 'zk new --no-input "$ZK_NOTEBOOK_DIR/journal/daily"' [tool] editor = "hx" +fzf-preview = "bat -p --color always {-1}" diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 62291c3..cb9283b 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -6,6 +6,7 @@ set -e eval "$(/opt/homebrew/bin/brew shellenv)" brew install \ age \ + bat \ bzip2 \ cmus \ curl \ From 2c32146153b77392009fa4552289ba5fa594485e Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Fri, 18 Apr 2025 17:26:34 -0400 Subject: [PATCH 212/226] additional work config for jujutsu --- home/private_dot_config/jj/config.toml.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/private_dot_config/jj/config.toml.tmpl b/home/private_dot_config/jj/config.toml.tmpl index 4e4978b..67922e9 100644 --- a/home/private_dot_config/jj/config.toml.tmpl +++ b/home/private_dot_config/jj/config.toml.tmpl @@ -30,7 +30,7 @@ diff-args = [ ] [[--scope]] ---when.repositories = ["~/Klaviyo"] +--when.repositories = ["~/Klaviyo", "~/.klaviyocli"] [--scope.user] email = {{ .email_work | quote }} [--scope.git] From b3ee09f0dc6e17471c8371aa07ae64f258d72e04 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Fri, 18 Apr 2025 17:26:34 -0400 Subject: [PATCH 213/226] readding golang support --- home/dot_zshenv.tmpl | 2 +- home/private_dot_config/helix/languages.toml.tmpl | 8 ++++++++ home/run_once_01install-packages.sh.tmpl | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/home/dot_zshenv.tmpl b/home/dot_zshenv.tmpl index acd3481..19a0fcc 100644 --- a/home/dot_zshenv.tmpl +++ b/home/dot_zshenv.tmpl @@ -58,7 +58,7 @@ check_paths=( $HOME/bin # go - /usr/local/go/bin + $HOME/go/bin # pixi $HOME/.pixi/bin diff --git a/home/private_dot_config/helix/languages.toml.tmpl b/home/private_dot_config/helix/languages.toml.tmpl index 0dd5866..3219055 100644 --- a/home/private_dot_config/helix/languages.toml.tmpl +++ b/home/private_dot_config/helix/languages.toml.tmpl @@ -42,3 +42,11 @@ formatter = { command = "roc", args =[ "format", "--stdin", "--stdout"]} name = "roc" source = { git = "https://github.com/faldor20/tree-sitter-roc.git", rev = "ef46edd0c03ea30a22f7e92bc68628fb7231dc8a" } + +[[language]] +name = "go" +roots = ["go.work", "go.mod"] +auto-format = true +formatter = ["gofmt"] +comment-token = "//" +language-servers = [ "gopls" ] diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index cb9283b..c7d3e08 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -16,6 +16,7 @@ brew install \ git \ git-delta \ glow \ + go \ helix \ jj \ kitty \ From d8c9952caf3dc531f17bc543fe812005836a573d Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 21 Apr 2025 08:26:47 -0400 Subject: [PATCH 214/226] adding lua lsp --- home/run_once_01install-packages.sh.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index c7d3e08..0dad7a5 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -20,6 +20,7 @@ brew install \ helix \ jj \ kitty \ + lua-language-server \ marksman \ nvm \ presenterm \ From c9fb722d7307dae6a4ccca647567f3b720ad4f8e Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 21 Apr 2025 10:40:03 -0400 Subject: [PATCH 215/226] misc local dev tools --- home/run_once_01install-packages.sh.tmpl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 0dad7a5..94bd041 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -11,6 +11,7 @@ brew install \ cmus \ curl \ direnv \ + exercism \ fzf \ gh \ git \ @@ -21,6 +22,7 @@ brew install \ jj \ kitty \ lua-language-server \ + luarocks \ marksman \ nvm \ presenterm \ @@ -48,6 +50,7 @@ uv tool install --force --python python3.12 aider-chat@latest {{ if eq .hosttype "personal" -}} brew install \ + love \ mingw-w64 \ pandoc {{ else if eq .hosttype "work" -}} From a20dc29e858e535bb599aed0f365bbaf8933d24f Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 23 Apr 2025 16:26:00 -0400 Subject: [PATCH 216/226] testing out new graphical markdown viewer --- home/run_once_01install-packages.sh.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 94bd041..347197c 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -19,6 +19,7 @@ brew install \ glow \ go \ helix \ + inlyne \ jj \ kitty \ lua-language-server \ From ce2f9cc37ae40248c085f01bf49a6d20f2e9e3cd Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 30 Apr 2025 09:07:59 -0400 Subject: [PATCH 217/226] custom llm model plugin --- data/personal.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/personal.toml b/data/personal.toml index 5f0427e..5f03ccd 100644 --- a/data/personal.toml +++ b/data/personal.toml @@ -11,6 +11,7 @@ repos = [ "gpx-web-utils", "gwar", "leaving-hope", + "llm-copilot", "mini-lsm", "pingo", "talent-plan", From 65464b6a35fbb53632bedf2068d0ddcf2cd2404f Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 30 Apr 2025 09:08:39 -0400 Subject: [PATCH 218/226] adding custom openai-compatible models to llm --- .../io.datasette.llm/extra-openai-models.yaml | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml diff --git a/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml b/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml new file mode 100644 index 0000000..26bb613 --- /dev/null +++ b/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml @@ -0,0 +1,24 @@ +- model_id: crsr-claude-3.5-sonnet + model_name: claude-3.5-sonnet + api_base: "http://localhost:3000/v1" + api_key_name: crsr + +- model_id: crsr-claude-3.7-sonnet + model_name: claude-3.7-sonnet + api_base: "http://localhost:3000/v1" + api_key_name: crsr + +- model_id: crsr-claude-3.7-sonnet-max + model_name: claude-3.7-sonnet-max + api_base: "http://localhost:3000/v1" + api_key_name: crsr + +- model_id: crsr-gpt-4.1 + model_name: gpt-4.1 + api_base: "http://localhost:3000/v1" + api_key_name: crsr + +- model_id: crsr-o4-mini + model_name: o4-mini + api_base: "http://localhost:3000/v1" + api_key_name: crsr From 009f8d1be21a89150fc415a9ebfa4bb7efb2d776 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 30 Apr 2025 09:16:45 -0400 Subject: [PATCH 219/226] misc work edits --- home/encrypted_dot_zshklaviyo.age | 138 ++++++++++++++++-------------- 1 file changed, 74 insertions(+), 64 deletions(-) diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index b82d900..7c62362 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,66 +1,76 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3ZVVGeW9icVBjbXk4VnZo -aEQxVTNoTFpSSUlZcEpVRHp1VWRGdjBwYmtnCnk4L241UmUyb0QyZUVVVU50SmdR -ckNPWVFVM3dSWmxTeGRrL0hwZ0xqN1UKLS0tIFpjZkE1QWt3UFBPanY2WmtwckFw -bkoyZ3pWWXEzem50ZG1uY3E2MjB4Q3cK9gtlN1NleI5+MF5SJfO7AJPpTmej3f9g -JYRXjja1eBDkl91/pgjV5Q8k5lh+X+DrUWlZ6ddigFijBUt5gdjCpeK7ETKZhJuU -qSLEZo84/ICOBB1GJk1DMNpSTCqm17SMrTHCiue8NCuy+U22mlduuEbN3M9MzZkt -L5NrxNwzlHVBpznwNCJsFfK8tAsND+alAXZICDDD5NrGt2kKbUnu5DQoacxDVqt8 -o95/7Ce6LS1/p/+/JvAehF+z/H9CySE5sRVZmuVrrgXwjOqvAvPNfc8cjWHmeN8m -SOEemrYjQkJ2aZpnj1Lj2h1pjqnM6VJP98WPZInXIbTIVDi+cOig/igR976U8aM6 -oEBBMDNOxH3d/3smGL2qbaKb9ZHvJHxFG64p2Xc+mZ7Tr0xDvETsS8qEm/zF4dyz -RIKYUOEZJqLwwNRRd7kkFGHyMH/Exiz36oEYFjN9UGm5c3XEaKhVbn7PuEOyjdis -hdlZxfx9Ijz2mKib8wFqjgLLeIBFusomov2zeruXtOWUl8piNyZFrzmW/D8naIXL -2HlZt43ESJdmWTESMZvUYCnnz5JitQm8yvWTG+VNd/XI5jJAIuLOb2tZqKIkSHms -uPPp/Ihjt94lAxrE745zVPq6Sbz2lzUtMQ14yCWqRDobCh1mzbuixo9W3QOTDlcw -zUgxdF3cUIx290GZwVKqftbbOrlP3tpxDKvJRp/XG069zr21hwSDOzWqa1ZYzyOd -fssrDV3IocpGJs7qi0mTMJh5gSf9yBncudGxk+E3b6Z+a0XKKeFIgA7cBeeiyQJh -EL7A6BOzN1XSMat11fxogXoouB8hrnnPhAd2SyTimYjSLJ0c3xB35r0i2Xe3Zjp6 -1YQEoo/i5WiHccEzy7QuyjqwxxvVoLazQBIUU154O/FMnOWs1jBcnL+AbdOBTiKC -gkFdYnm/ly3NqEGMbFCcpDsuQcPnqgZs7bh/6CZk4UB0v4LyCCoTfUoE1/22z6um -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 -Y/hm85ydRmvuQOyh54yTt536k+vQYIewpf0JQXJVBwYKZqgpZxf3Birsu7VleYGR -mVLGxb5TtyZt87y646I72mnJu83lvOSigOTp0/ae2sedSIf6qcGnXCThL/+W2ek/ -JFlKUbETwkYqSuIS9HlB2mvOIuP0krBFbRzx2CPAkX1QbA/wRpa2MTRJ8y457Bjh -CBrCC/dt0OXFw+ucmAi+ARAbF5/SH2sSu1vppdxSXcRAW9OnoVV+eMvF6fdBxSpo -arRntCr+Sol89P7ebSs858RtGpmZFYbpC6SrMSMgx3mieMOFCAvUM8ysKDFyMUCO -4Li/c5JbRtnG1lGQ/zjtYB0GVAyoxV4DB1WLVbpQKmvXNZ8kTcYF8XvbWw6CqV+P -N6iUxVxK2pJV3Jf8AgzMVudTbIwMZuaU60PL0ak7l5yaeA== +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXSThYSVdZYXJrVEZKbGJC +VFBLSjVOa2t0YUlqajF4OStKc3lDSm5xeWxVCi9LWGoyRVZDODl2Y21qSGZ5NUZO +OWxhRlEvc2M2YWVISkJ3SGl0czlkNDgKLS0tIFljUWFvWHlMYWNlbFZMdXlBOEVL +RWZFVnQ0ZUhYM2dRR2ZHc2VpMFJpMnMK6+W0maKvPUTUsC0pBSMx+A+SyBdeCDky +yuQQ63M3U8Oq1NuDSTTqfZMw+b2k4WfhBqjVLeHdscHJ6OGhrg6GK5X9F2TaL+T6 +hibyQAcX3EinRgYYTvsu8qTnv2ciUGDZgBt/YbLvXITCcHC1iTicfuv36pzLtqKb +oR8RxV+OKLcUpOhL6Iwc3Lym2HSlNdsc71d4KbsX4O6L+OYPWWZN2mQ/Cc//I+al +QenY99jinHzon60mjWdgiZcDAqPAmTP3Z7GvLlm7wlkZaBb9UQfAVXkNXSJbocKI +liZVIA3qzsgRY+nooI2Whbgqr04S3+EHAw+rwSEhsJLlY7Pg+Yn/1uHLmGMPMESY +dLBJvYPqTiuY0qBtYoHDNZyz26rvW4bf6oFNfzu+/FIatH0s26XI06jZ6LkQOcIZ +B6gkGdVgx4P6SuAqk6dk6I7RFfoea7XrzvHjP9OsuHMOZkSMXUHfo6WE9y6+4duo +B/k5+Qd6m1qk7NuG4JxSDJyyEeHQZqHD+hcrcesNeUs6Pu8DSLUIo4kP5qiYfXiO +PdK+cajL7ZfO91VAzh/Xwc0pXF/XCbEthihWOWNdujvZNSfqAVp433UPjbRuVAcr +pBVWnO61NYCqcLt9cENeF/uhJ799NVeGBxfVmtN6icYOQG6pat16l/8kNCTeCGr5 +CGBRKlCcwzUO8UwOdPO+MGz9nlK/hd90koIOLquqQHebNlNKZvH0zNrXfZ/w4A8l +gqXJ1a3UJFnn4hyKhOERH3/CdLqBHngjCXjNeay8/XMKQjtyMa8oiXVCSwlZyh6x +/QCaB3CdjLhi7IM+oOMPKYX6WOX4RuqRqvGnW8c6T8VHUVBAalyAzeFtTLTNUFah +svr2JzbwJMTASyvBddCUlOyXGfbO2JjArty+U/b+5DXg7VLGQzv9Rs4vSMEORx7g +HLkoBmxrCs84k8eMagTGuXsHPGz3IaaerjK+wOSXtEpzac8peVRjrB1R6FMO67MX +y9DTl+FFbsurZPTS3ACYvilT+c+ZwqLwL9U3OmdAAB9a800EGKkvQ97wj5XrjAXi +NSStaDWHeO4EqGjjpDsMi2QKvqKT2W3zAUqQ3a8IUaZ1PF4q9CmYJbTlBnpSkKPq +KPiG5K+ndWNNpnCx+gOtYn7/bMoMtVL+22CJUe8L4QUAVUL50X3zOPagk7AJVqIX +Y09YffQtC6NMiU2PL+p3qh1f11Q3G+JzWqQgBUG2kScyKA6lr485b0u2HU3mE1xF +41o7nzdpLiML4XfJcVe/gc98HiM1VSNRkC4mAs6AALBiJnnYb1aO4dy18J9gJQEq +YLOiU3dGTrQVD9mp+v0FUYlK5a5yOw7w5327Gndg2fxH4bNbaSdZrvSp0bOBJX25 +ZctprUp7koPgBIvALs4N9wCIlKJqCnYYMHTHkaYGxyEkbyIYqeiz7abMSb3UN8jm +jg1NXebO+SP3oiNAQiMMfSxv0yRMl/7y6GxaHB+jS3NvJu8QnjvkJigHadkYiBEX +Cgf5N5LIbgCWAXfnIhwsTwG2OSi5mabZw0gkx/mo5y1to8O9ISq++MfGcZ94RJZV +gcKQVeqrC5SFuG99CMC+NXIbqH3rMbhy36IdqedlZw4yymwzxda2asT/h71Dray+ +WNc/w+t2TenxKuo95zOLV4QSaXudQ6Z3l8jLpdNgfODn3Igc/RoXviY3aw6QJnBs +vGiwAZfD2dXZjt6zQ46OcVxlJwaYhXMDp40ZSHzdF8WDbPfxiw3LMobnyCeiLJCW +tS/JEgLUrWOEpqYRGxDTh1IVNQxM+z+0n5XpYLrYcGyX7HME8uEltqvTK2793u+S +FslIceCbS4ymvg/eu13GOsZ8AFTZMBHjJ8QDeAEvgPG1bwJoPXaIdmnYnVUiblEj +uWskD79zZP0Uzs0FBBdvKeEYqTcG/8JoOcmbDKSMLVVqis1MYsKaKWdVlVDvVZp4 +/5MkQIprs3ewO+vKKraSUwUgnBBn4EDkVvAjgKkEXng2bZVMkT3SN12o3m7+9t3m +v3GM4FXOGnnEoyowqPJK45Qt3cE7o4BEl/CzJrYxbdE63AmE1VmBwrVEhaM+tj/K +M9yk9rkuoTTJGAYWZOKM77+UCJHjL4zY38p22M27z4ZGU0yyxQJrD5RBocs+fGcO +zl21YmQC4CfJ1cvvawjdM8dLLnqrxkJBGIPp8S+QPPUSdqF81S6J0TzNgy/KWmYZ +RAC1sgn1uJvSvOAbyJbSheDcGpOJlv22a4O8TXFU0hI1ZX8LM9dbA4zSs/VvfJmY +DuPnenBmM5L+NwWa2vY8Uhrcly4faHB3zTeqA+kanhKOx9e9gELHEvSYYbc6kaDk +H0JmGQ+gxZfrlP4FtqHZ/JFj76HqgEGR8JcHlHBvEbXh2KfYV9Htx3z2EUvEwmDD +9nxMFDTziDzuC/bygRDL9kjKHciE5V+fAGIxhQQ3VjPVfIW+yFgknx0URLiW+9RV +uTb4nGcnn5IIxEwS33TnMxnaGw7YI7nt/vq7uhF0srD3sKr34tsQ0/NvdPspuHVw +Tx4dw55DilvDg2tORuGQTm4g24eHxfiBGHmLFaxMvkrFhYjLWc0tl3IQ1ubXnIuH +dzAbj22iYJTs76v1Awf4nF9zZki+qqqUgNHSczZFR9128J8+qL3RrKpIA7guo3S8 +rjx26ZbcDiF9JS/JaFBUOCrEVu4E01ay9Vl7SnnPlnd4sn87W97kLHHFmgFy8jSy +BOflje14PzX2uQ2uHa08uoAWhBgw4Ar2ivSAu8Ikux2W+bLVL8ovp0sEBBPdteWU +oAZGOV3iioITa4dBgBVWrbOTPGOwzU8MTqkrhujXLlTDIRFLiJW0qxzjHgNq7mi0 +TDdac/N+tZPM9OxNhsdH3ez3iujfACZvdminMUvak70mqDO4HkdwMzj1rUz2H/FK +P/DxyTLxB9NQHz3ro1OeTNz1RApSKL4mpa60HCVjPwmsmCDXY3hP3Un0b0gSRdIU +EVUM5lnxtWyyTFvVD1/A/VYkgXV0Vi+mJpF7PJnO/DTwJSPbl7ZMxej3P0FepO6m +FLNtP0Sh7Rz8Bo5irPZRyPqpxs9Uc4n7VrKmyxJpl4MXN98LVB84hO/naAcV9iT0 +sKg8Pb3gsfWnDLqYOwyaShvC61JB0SVsItUYSJLsYKP6+/AaGCusBx+gH/EdVlSZ +WtZqoTGYYP+W7UGWNeHAme0CCo5l6VmgGsqPv61sjqDVhz2yN5KyrhvoOgvhXiTX +v+lJqMJP5qTU0XjtMOrw5d4CuSBTjZ6XRj2TKe8aMke7EMRetLKiHz8IIHa6TM7n +3EhLs+XfLbvOa/+IrBdfQwunfp6/l+i7WGBwf1ZCBL5YDNCEsbx6fTKsiQVeqo4Z +s/V3W2vgTlcosIaoIpKv99fns4b4vflhqWvsspr5qCFdhe85KWG6nP/4i10T4iE3 +frGpUrfkVOL66ZtsVYMf5aQ1/jE59ksqCd/93OXDA1lWfOkKEkBeLcI8ZvB7Fhms +hh/TzK1HUt+KoFmD1arJqdEJvrnmVZ15xLbQE8QrftGVOpcC+jXVp65wlvwGbeJ/ +ee7xtc0SVkSYIJFd643wuPr8LwqmHmQfA3w0VM+k+9IfCgON+/AzqvNfdTSF7S2Q +qWKQOk/77Qmz/xpyvM5XkGLfAkG2y05KJ6cm70icDfqrMh/SffWG9iNgK/hSr22A +4acoJ+ml0OCgm8ThqqkY37WrCpNtrJEAt9PC+MRXwg0LgVJxqzdNRDImqc0JUUUU +XnbeWvHXw1tZPlZHCKA+SItK91/FWFWGuyxc+978er3aBv5khEuGBSXlr/wV4Qec +3sPzc4ejhVoEadErkUO7bRe/MlXJb4+fQadWiNvm7r+rUZux8HpgHQltSKs5Fk94 +4sDuBEnMuDRHIlQNO6mjdspClFUSY2clUuBVjhiPsRO8mkKuKxnlonvkYWYPgDzb +ekPPF2r+pM7FkWgGLdCU4ZZwCQDnSIsEK0FK2Tslh6j4rF2HV1EmATNha5X/KdME +tfWBLhkF3J+P21VtfpzsCO0Nb5uX5ia8i90xzTwlpCRuo5pyBesTgAXsd/kqtUuR +/SIa1+nIl7m2NwSb46jd7bz0sNQuVMEkN4+meRWgvF98HBey28ir7PC7aNVLTjz6 +zKmUk+bDTYSDbn2J1EuzUdVCfhGyP79Ek4BrTOfs6BSNPCxKR3Y9eVkwwpe9/iSB +hcCmZiaKM/J2H3Tl3B4j2eggkHzHPPEmOIx+LKI20z7LlvPFMs2iea8eNUEN6u2J +Y98qbHO/2vPpUMPWOQ24Z7bJAhGCLbHeo4u7YJObZ68spoc7ZMHiP2W7+dBCqCHk +yGztsf+UbKAI0JmwTtWAXMsy5VAjRRCMRyIv0SaT/F6fP0G1w8NasMyYk0ju/97/ +0BcCOv+yu1U6CIQqWEu83zeX3lSDcrP3cm0he1G46ZUsKNlAaEFF7vUUVt7JljGk +n2nrCxUR4sQ9WPh7XELhZIHtte2eudXWQ59hnVXsreWQFpBmV4OQpYo= -----END AGE ENCRYPTED FILE----- From b6ea9864f9f6a842198a88a2d29e22d046d27402 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Wed, 30 Apr 2025 09:21:20 -0400 Subject: [PATCH 220/226] config aider for claude usage --- home/dot_aider.conf.yml.tmpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/dot_aider.conf.yml.tmpl b/home/dot_aider.conf.yml.tmpl index 7ae8984..66634c8 100644 --- a/home/dot_aider.conf.yml.tmpl +++ b/home/dot_aider.conf.yml.tmpl @@ -1,7 +1,7 @@ {{ if eq .hosttype "personal" -}} model: ollama_chat/qwen2.5-coder:14b {{ else -}} -model: ollama_chat/qwen2.5-coder:32b +model: openai/claude-3.7-sonnet {{- end }} cache-prompts: true @@ -10,6 +10,7 @@ auto-commits: false watch-files: true subtree-only: true stream: false +show-model-warnings: false code-theme: "lightbulb" user-input-color: "#a6e3a1" From 4600238fed93a49261f494d9744102fa4004a5c9 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 5 May 2025 10:50:52 -0400 Subject: [PATCH 221/226] adding go linter --- home/run_once_01install-packages.sh.tmpl | 1 + 1 file changed, 1 insertion(+) diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 347197c..9506940 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -18,6 +18,7 @@ brew install \ git-delta \ glow \ go \ + golangci-lint \ helix \ inlyne \ jj \ From 58c9596a9d9608c81e80ce449b2a57a654f86d3b Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 5 May 2025 10:50:52 -0400 Subject: [PATCH 222/226] custom copilot proxy --- .../io.datasette.llm/extra-openai-models.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml b/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml index 26bb613..929c8dc 100644 --- a/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml +++ b/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml @@ -22,3 +22,7 @@ model_name: o4-mini api_base: "http://localhost:3000/v1" api_key_name: crsr + +- model_id: proxy-gpt-4o + model_name: gpt-4o + api_base: "http://localhost:8080" \ No newline at end of file From a74e87bfceb96962c6f14db89fc66de969f1325d Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sat, 10 May 2025 15:06:30 -0400 Subject: [PATCH 223/226] adding new projects --- data/personal.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/personal.toml b/data/personal.toml index 5f03ccd..2f88e9b 100644 --- a/data/personal.toml +++ b/data/personal.toml @@ -5,6 +5,7 @@ ssh_key_path = "$HOME/.ssh/id_ecdsa" origin.base_addr = "ssh://git@git.thermokar.st/thermokarst" origin.name = "pingo" repos = [ + "copilot-proxy", "devlog", "dsort", "gitolite-admin", @@ -15,6 +16,7 @@ repos = [ "mini-lsm", "pingo", "talent-plan", + "trmnl-report", ] remotes = [] From b9e614d03c3268b261eaee4714be909a0d38da98 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sat, 10 May 2025 15:06:30 -0400 Subject: [PATCH 224/226] new default models in gh copilot --- .../io.datasette.llm/extra-openai-models.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml b/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml index 929c8dc..901f3b7 100644 --- a/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml +++ b/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml @@ -25,4 +25,8 @@ - model_id: proxy-gpt-4o model_name: gpt-4o + api_base: "http://localhost:8080" + +- model_id: proxy-gpt-4.1 + model_name: gpt-4.1 api_base: "http://localhost:8080" \ No newline at end of file From 9a3734f2debeb693fe9432a8d838e4f4ee04e25c Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 19 May 2025 08:57:22 -0400 Subject: [PATCH 225/226] dropping git-delta ive been writing a lot on mobile and this format is extra painful on narrow displays. --- home/private_dot_config/jj/config.toml.tmpl | 21 +++++---------------- home/run_once_01install-packages.sh.tmpl | 1 - 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/home/private_dot_config/jj/config.toml.tmpl b/home/private_dot_config/jj/config.toml.tmpl index 67922e9..fb7b1e0 100644 --- a/home/private_dot_config/jj/config.toml.tmpl +++ b/home/private_dot_config/jj/config.toml.tmpl @@ -6,28 +6,17 @@ email = {{ .email_personal | quote }} push-bookmark-prefix = "{{ .github_personal }}_jj_" private-commits = "description(glob:'private:*') | bookmarks('merge')" +[colors] +"diff removed token" = { fg = "red", underline = false } +"diff added token" = { fg = "green", underline = false } + [revset-aliases] "stack()" = "trunk()..@" "immutable_heads()" = "builtin_immutable_heads() | (trunk().. & ~mine())" [ui] default-command = ["log"] -pager = "delta" - -[ui.diff] -format = "git" - -[merge-tools.delta] -diff-args = [ - "--color-only", - "--features", "chameleon", - "--navigate", - "--dark", - "--side-by-side", - "--true-color", "always", - "--syntax-theme", "base16", - "$left", "$right", -] +diff.format = "git" [[--scope]] --when.repositories = ["~/Klaviyo", "~/.klaviyocli"] diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 9506940..4ec8b53 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -15,7 +15,6 @@ brew install \ fzf \ gh \ git \ - git-delta \ glow \ go \ golangci-lint \ From 9e72ed1f31628c129670e815f0aad83dfcd8f7a4 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Mon, 19 May 2025 08:57:22 -0400 Subject: [PATCH 226/226] misc llm tweaks etc --- home/dot_aider.conf.yml.tmpl | 2 +- home/encrypted_dot_zshklaviyo.age | 137 ++++++++---------- .../io.datasette.llm/extra-openai-models.yaml | 35 +---- 3 files changed, 70 insertions(+), 104 deletions(-) diff --git a/home/dot_aider.conf.yml.tmpl b/home/dot_aider.conf.yml.tmpl index 66634c8..48a6fd5 100644 --- a/home/dot_aider.conf.yml.tmpl +++ b/home/dot_aider.conf.yml.tmpl @@ -1,7 +1,7 @@ {{ if eq .hosttype "personal" -}} model: ollama_chat/qwen2.5-coder:14b {{ else -}} -model: openai/claude-3.7-sonnet +model: openai/gpt-4.1 {{- end }} cache-prompts: true diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index 7c62362..ed4b824 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,76 +1,65 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXSThYSVdZYXJrVEZKbGJC -VFBLSjVOa2t0YUlqajF4OStKc3lDSm5xeWxVCi9LWGoyRVZDODl2Y21qSGZ5NUZO -OWxhRlEvc2M2YWVISkJ3SGl0czlkNDgKLS0tIFljUWFvWHlMYWNlbFZMdXlBOEVL -RWZFVnQ0ZUhYM2dRR2ZHc2VpMFJpMnMK6+W0maKvPUTUsC0pBSMx+A+SyBdeCDky -yuQQ63M3U8Oq1NuDSTTqfZMw+b2k4WfhBqjVLeHdscHJ6OGhrg6GK5X9F2TaL+T6 -hibyQAcX3EinRgYYTvsu8qTnv2ciUGDZgBt/YbLvXITCcHC1iTicfuv36pzLtqKb -oR8RxV+OKLcUpOhL6Iwc3Lym2HSlNdsc71d4KbsX4O6L+OYPWWZN2mQ/Cc//I+al -QenY99jinHzon60mjWdgiZcDAqPAmTP3Z7GvLlm7wlkZaBb9UQfAVXkNXSJbocKI -liZVIA3qzsgRY+nooI2Whbgqr04S3+EHAw+rwSEhsJLlY7Pg+Yn/1uHLmGMPMESY -dLBJvYPqTiuY0qBtYoHDNZyz26rvW4bf6oFNfzu+/FIatH0s26XI06jZ6LkQOcIZ -B6gkGdVgx4P6SuAqk6dk6I7RFfoea7XrzvHjP9OsuHMOZkSMXUHfo6WE9y6+4duo -B/k5+Qd6m1qk7NuG4JxSDJyyEeHQZqHD+hcrcesNeUs6Pu8DSLUIo4kP5qiYfXiO -PdK+cajL7ZfO91VAzh/Xwc0pXF/XCbEthihWOWNdujvZNSfqAVp433UPjbRuVAcr -pBVWnO61NYCqcLt9cENeF/uhJ799NVeGBxfVmtN6icYOQG6pat16l/8kNCTeCGr5 -CGBRKlCcwzUO8UwOdPO+MGz9nlK/hd90koIOLquqQHebNlNKZvH0zNrXfZ/w4A8l -gqXJ1a3UJFnn4hyKhOERH3/CdLqBHngjCXjNeay8/XMKQjtyMa8oiXVCSwlZyh6x -/QCaB3CdjLhi7IM+oOMPKYX6WOX4RuqRqvGnW8c6T8VHUVBAalyAzeFtTLTNUFah -svr2JzbwJMTASyvBddCUlOyXGfbO2JjArty+U/b+5DXg7VLGQzv9Rs4vSMEORx7g -HLkoBmxrCs84k8eMagTGuXsHPGz3IaaerjK+wOSXtEpzac8peVRjrB1R6FMO67MX -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 -----END AGE ENCRYPTED FILE----- diff --git a/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml b/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml index 901f3b7..25c62c6 100644 --- a/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml +++ b/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml @@ -1,32 +1,9 @@ -- model_id: crsr-claude-3.5-sonnet - model_name: claude-3.5-sonnet - api_base: "http://localhost:3000/v1" - api_key_name: crsr - -- model_id: crsr-claude-3.7-sonnet - model_name: claude-3.7-sonnet - api_base: "http://localhost:3000/v1" - api_key_name: crsr - -- model_id: crsr-claude-3.7-sonnet-max - model_name: claude-3.7-sonnet-max - api_base: "http://localhost:3000/v1" - api_key_name: crsr - -- model_id: crsr-gpt-4.1 +- model_id: copilot-gpt-4.1 model_name: gpt-4.1 - api_base: "http://localhost:3000/v1" - api_key_name: crsr + api_base: "https://api.githubcopilot.com" + api_key_name: copilot -- model_id: crsr-o4-mini - model_name: o4-mini - api_base: "http://localhost:3000/v1" - api_key_name: crsr - -- model_id: proxy-gpt-4o +- model_id: copilot-gpt-4o model_name: gpt-4o - api_base: "http://localhost:8080" - -- model_id: proxy-gpt-4.1 - model_name: gpt-4.1 - api_base: "http://localhost:8080" \ No newline at end of file + api_base: "https://api.githubcopilot.com" + api_key_name: copilot