diff --git a/.chezmoiroot b/.chezmoiroot deleted file mode 100644 index 5e72f75..0000000 --- a/.chezmoiroot +++ /dev/null @@ -1 +0,0 @@ -home diff --git a/.gitignore b/.gitignore index b59793a..1e19e61 100644 --- a/.gitignore +++ b/.gitignore @@ -107,5 +107,3 @@ dmypy.json .pyre/ # End of https://www.gitignore.io/api/python - -step.log diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..1af14d0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "dotbot"] + path = dotbot + url = https://github.com/anishathalye/dotbot + ignore = dirty diff --git a/README.md b/README.md index 4acdfd0..ef36144 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,92 @@ # dotfiles -## 1. set the fqdn: - ```bash -sudo scutil --set HostName $MY_HOSTNAME.local -sudo scutil --set LocalHostName $MY_HOSTNAME -sudo scutil --set ComputerName $MY_HOSTNAME -dscacheutil -flushcache +$ git clone https://github.com/thermokarst/dotfiles.git ~/.dotfiles +$ cd ~/.dotfiles +$ git remote rename origin thermokarst +$ 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" +$ ./install +$ sh <(curl -L https://nixos.org/nix/install) --darwin-use-unencrypted-nix-store-volume +$ source ~/.zshrc +$ nix-env -i \ + coreutils \ + elixir \ + ffmpeg \ + git \ + heroku \ + htop \ + kakoune \ + nodejs \ + packer \ + reattach-to-user-namespace \ + silver-searcher \ + sslmate \ + tmux \ + tree \ + vim \ + watch \ + wget \ + xz +$ 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-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 ``` -## 2. reboot +## todos -## 3. install https://typeof.net/Iosevka/ +- rework git bootstrap script +- add in neuron install +- cmus won't install -## 4. install `age` private key from password manager into `~/.key.txt` +## manual install/setup -## 5. bootstrap chezmoi: +- 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 -sh -c "$(curl -fsLS get.chezmoi.io)" -- \ - init \ - git://git.thermokar.st/thermokarst/dotfiles \ - --apply \ - --guess-repo-url=false -``` - -## 6. restart shell - -## 7. some "manual" stuff: - -```bash -vdirsyncer discover my_cals +$ 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 ``` diff --git a/bin/bootstrap_git_repos.py b/bin/bootstrap_git_repos.py new file mode 100644 index 0000000..06a356a --- /dev/null +++ b/bin/bootstrap_git_repos.py @@ -0,0 +1,54 @@ +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 new file mode 100644 index 0000000..e7e7515 --- /dev/null +++ b/bin/generate_vscode_workspaces.py @@ -0,0 +1,57 @@ +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 new file mode 100644 index 0000000..94825b4 --- /dev/null +++ b/bin/mds_projects.py @@ -0,0 +1,10 @@ +PROJECTS = { + 'thermokarst': [ + 'ccdb-api', + 'ccdb-web', + 'tucotuco', + 'fathm', + 'hibernators', + 'hibernators-web', + ], +} diff --git a/bin/personal_projects.py b/bin/personal_projects.py new file mode 100644 index 0000000..b557888 --- /dev/null +++ b/bin/personal_projects.py @@ -0,0 +1,5 @@ +PROJECTS = { + 'thermokarst': [ + 'elixir-class', + ], +} diff --git a/bin/qiime2_projects.py b/bin/qiime2_projects.py new file mode 100644 index 0000000..0a6e095 --- /dev/null +++ b/bin/qiime2_projects.py @@ -0,0 +1,79 @@ +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/data/personal.toml b/data/personal.toml deleted file mode 100644 index 7265a7b..0000000 --- a/data/personal.toml +++ /dev/null @@ -1,66 +0,0 @@ -# personal -[[workspace]] -path = "$HOME/projects/personal" -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", - "gpx-web-utils", - "gwar", - "leaving-hope", - "llm-copilot", - "markdone", - "mini-lsm", - "pingo", - "talent-plan", - "trmnl-report", -] -remotes = [] - -# personal-dokku -[[workspace]] -path = "$HOME/projects/personal" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@git.thermokar.st/thermokarst" -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" }] - -# mds -[[workspace]] -path = "$HOME/projects/mds" -ssh_key_path = "$HOME/.ssh/id_ecdsa" -origin.base_addr = "ssh://git@git.thermokar.st/thermokarst" -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/dotbot b/dotbot new file mode 160000 index 0000000..5d83f9e --- /dev/null +++ b/dotbot @@ -0,0 +1 @@ +Subproject commit 5d83f9e797b1950199e127a8196803f5e33e0916 diff --git a/home/dot_gitconfig.tmpl b/git/gitconfig similarity index 61% rename from home/dot_gitconfig.tmpl rename to git/gitconfig index 704399d..64abf21 100644 --- a/home/dot_gitconfig.tmpl +++ b/git/gitconfig @@ -1,18 +1,9 @@ [user] - name = {{ .name }} -{{- if eq .hosttype "work" }} - email = {{ .email_work }} -{{- else }} - email = {{ .email_personal }} -{{- end }} + name = Matthew Dillon + email = matthewrdillon@gmail.com [core] - editor = hx - excludesFiles = ~/.config/git/ignore -{{ if eq .hosttype "work" }} - sshCommand = "ssh -i ~/.ssh/id_rsa_work" -{{ end }} -[diff] - colorMoved = default + editor = vim + excludesfile = /Users/matthew/.gitignore_global [color] diff = auto status = auto @@ -23,9 +14,12 @@ 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 \ @@ -44,29 +38,19 @@ a = add c = commit --verbose ca = commit -a --verbose + m = commit --amend --verbose d = diff + dc = diff --cached s = status -s - sw = switch - swc = switch -c + co = checkout + cob = checkout -b # 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-" +[push] + default = upstream +[credential] + helper = osxkeychain [pull] rebase = true -[init] - defaultBranch = main - -{{ if eq .hosttype "work" -}} -[includeIf "gitdir:~/projects/personal/"] - path = ~/.gitconfig-personal-override - -[includeIf "gitdir:~/.local/share/chezmoi/"] - path = ~/.gitconfig-personal-override - -[includeIf "gitdir:~/.local/share/tree-sitter-prr/"] - path = ~/.gitconfig-personal-override - -[includeIf "gitdir:~/notebook/"] - path = ~/.gitconfig-personal-override -{{- end }} diff --git a/git/gitignore_global b/git/gitignore_global new file mode 100644 index 0000000..018d046 --- /dev/null +++ b/git/gitignore_global @@ -0,0 +1,4 @@ +*~ +.DS_Store +.idea +.vscode diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl deleted file mode 100644 index eb8400b..0000000 --- a/home/.chezmoi.toml.tmpl +++ /dev/null @@ -1,26 +0,0 @@ -{{- $hostname := .chezmoi.hostname -}} -{{- if eq .chezmoi.os "darwin" -}} -{{- $hostname := output "scutil" "--get" "ComputerName" | trim -}} -{{- end -}} - -{{- $choices := list "personal" "work" -}} -{{- $hosttype := promptChoiceOnce . "hosttype" "What type of host are you on" $choices -}} - -{{ $name := promptString "name" -}} -{{ $email_personal := promptString "email_personal" -}} -{{ $email_work := promptString "email_work" -}} -{{ $github_personal := promptString "github_personal" -}} -{{ $github_work := promptString "github_work" -}} - -encryption = "age" -[age] - identity = "~/.key.txt" - recipient = "age1yd87u4ae86erpem2tynyl959ppc8a3jt4ztssykytzaklut6uvus5prt2t" -[data] - hostname = {{ $hostname | quote }} - hosttype = {{ $hosttype | quote }} - name = {{ $name | quote }} - email_personal = {{ $email_personal | quote }} - email_work = {{ $email_work | quote }} - github_personal = {{ $github_personal | quote }} - github_work = {{ $github_work | quote }} diff --git a/home/.chezmoiexternal.toml.tmpl b/home/.chezmoiexternal.toml.tmpl deleted file mode 100644 index 962a0e2..0000000 --- a/home/.chezmoiexternal.toml.tmpl +++ /dev/null @@ -1,4 +0,0 @@ -[".local/share/tree-sitter-prr"] - type = "git-repo" - url = "ssh://git@git.thermokar.st/thermokarst/tree-sitter-prr.git" - refreshPeriod = "168h" diff --git a/home/.chezmoiignore.tmpl b/home/.chezmoiignore.tmpl deleted file mode 100644 index b029182..0000000 --- a/home/.chezmoiignore.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -{{- if eq .hosttype "work" }} -.zshprivate -{{- end }} -{{- if eq .hosttype "personal" }} -.apprc -.s2a_login -.work_packages -.work_paths -.zshwork -{{- end }} diff --git a/home/bin/encrypted_executable_kwork.sh.age b/home/bin/encrypted_executable_kwork.sh.age deleted file mode 100644 index 653c3c3..0000000 --- a/home/bin/encrypted_executable_kwork.sh.age +++ /dev/null @@ -1,96 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJVGExVmpSUzJwYjNiU0Fy -RTU3eUE1TXFHdlovMGs1Tmg5ZFgxZDh0M1E0CjV0NnVXQXJ1aHVTaG1CQUlxWkxG -c3cwa3VpMHNPOVJTWmpUNlRQbXJGKzQKLS0tIDRtazR5QjBmM2IrbEFZaTB4VlFy -MStHc2c0azFwVmVXNkFoSUJ0QUdXYWMKg+edrwx7oCNcMlJWJ0kbYUFVXO9IzzXU -xVa2EnXYscPyLgikrkVH61mOZZlnikIjzRdrKvebyszm71novi9wvbjVXf6sz7pf -QfKiEeZxSiWn8O1HZWHyrIgZW8QLS3nhvqr9rD2VFI9Yn6cGuxtzCEAouShytRlY -MNieznSyyc6nqKzQgCv2+prY0+NqjAvybkMavLLaQhcpaUkEcGGhM1fYWP4A4UiC -AFTAvURFhNq/m2GCLnkwpWpesIQJEDF1cKkNX/tqc7wCgEAeLPLHYKuRPIexSnt0 -vCNKX79b9PHVtKhVCkM5sw7gFKKkhyizNPkyq4JzcOK5itoLfkLu1fo2JryOH8gA -bYFEU5/2cqN4e+JlMZEVXszbl97iT4JkGN1K9FxpDuDYaz8PGK/s6vk2E5GQYCsO -/CAnIAywUACboTQ95+b7UJhbM1Fgu8Ug6ANqBYDt4eDleslFwNyUgjuncPCGNL+r -pxbLJblC7k2jctQQSYCdIhuYi5NtdCxeN2L+qrfRab3Pv3vJrbofA6mLEgpc3soc -jBmXgw7ieI/GmFZFp78kmHmvRIlRSp7IGY0rxjOOq1IftzYOAEgk7ZcvbWFwZgLp -FsGRkNTIw4/MHo8vQZ4oV70wNWyPTsQ/DDOUpsDeeBsIwnmft5+Sd3XMfLvQarJN -8nnPIOxqwluqhozXr3ZIloOQrVXLQqzkCFhDdYdjkzhWAPxfX8pCsIYvO4D6I/Lu -JNLqLQBVEZnopoWD1Km1r2VQ6HXrrvltcWb90Wz2yT/OJkmsmCrDuEEayoxwMvHj -v5NRMxfUktayPqYfycM+QAMgiZj3yt3LRwKgDZHHRDCI2paX5CXj/qXVdK6eslsk -hlG4D5rnzzu5G5G1vyZGTMDZrtl7JED+QAhnePfEjqTARmBw0ho3FSpU5hIVnCfv -hbWhZMmiO/NVWdXGckovctSvE+XGfU7p4GyC3kbpq57B+zp8PFZDligifzuvOC0M -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 -rZ4= ------END AGE ENCRYPTED FILE----- diff --git a/home/bin/encrypted_executable_review-pr.age b/home/bin/encrypted_executable_review-pr.age deleted file mode 100644 index 311e6e5..0000000 --- a/home/bin/encrypted_executable_review-pr.age +++ /dev/null @@ -1,36 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4S0ZWL3BLcHpuNU1NNE5Y -NXcyRENhTTFPcGViMmQ4REdqOTFBdzZtVG5FCmxZMmNOS053OVlwMHZzc01JNUti -ajhEVkNsRk9HdHNhM0pHMk1GakMrN2cKLS0tIEFnd000T1E3ZjUwNnlTWklpbTJS -bmk2OUQ2MWVOdjk0czZIMEVseWxQODQKwA1fsDNDnMDMngERYOHFRRZ38DEgtNvG -PdnXl/z47zdjOhOxQRiQ4UYOTEiQTm1ALTXZJA2IFxT/h0zvs6tQk4yor6lQ1h7x -SpqGSYXAZkLGFqTzvFS/fos3DIBtt4wPTxpdAjU6zA6L9h8YAXxVh8aiIufHmvGv -t4f0BJ7l3+PuttHJt4Y1kzQLFYASO3rKxqCHY5grjE7KUg7PH5VjJxfdcO6dTztr -ZTThBkI+YArAJSjt22D0oIlcQJVGdaymuwjnTZ+AyGS2fZqne/4TtEjcvhj1ZRLi -gxRy2Wzxv5QtH34hINJetq1g5CCjd9mj0R+RhISCt7h6/FwbTHLfncpntL1qUZJZ -7rndhJ73nCKbk9viH8i4RN78jy6cnQ+bPin6j4Qnavr9umObKdL2PX8fnicb8JBN -pfoTXerp40b7Nk4ZjgcKgDR6USDU1ugTxb2WerSDCX/p9+fmydOr1btdnb6HwfFQ -bV8pzww4CbMCk0Bld80GiFGgkoy99PWLsLPQXweLcf21PJNoQkcoYRY/wzoSMfVt -uRzEISv5TWGvywQ0uRX5JG8sT/V+nuZBi3xlP/uRzrgAsYBn9nyKVSJk1VX0ZYze -ju1n7rJK5qbDl96y8qJTJpdnQMXmBHbhY2FtymkbJrKtD6+Htzctc45xjC3UUesP -ntCh1PNkFaayQFtZ+Fs/hSjueQp/WbMWOTPsjqE1ySQInc4zWDEbUscLV8xBgQMh -MmX5DaIgVgWVCfCzPsZEwpWy6mgZkVCkfOJdMSwg9YwVlS1L5wzBHh1xa+mthjTA -uxoZKvexsSPNrn2xSGhxaJE9yijciTT/tAJgo1Tqo1LrZ7fKj2AijHKF57FfuKHO -p4f004dBBkm7iTnpLuuEZiAT4VErKAbxSWprePIynH2e4YqUiyY3bk7ddDbYnaUC -fu9jg2rGDsKknp3L9uSeO9ygGBuwDt3JFMGN7SZK3qf/Zf9hfd5SYumHSd3vIbs+ -/VWnIOPKn8DT2fTNnGswL1iTIrfLTV6Caq0McSkfAWplHqFvmW6dSzkpk2YpnBkh -jLg0ulW65agCecYQ0cI23i41c+PDuw0Mbt8tUc6Rd/JV4I2sBan509rxdBLJUxE+ -AvRyxeVGxP8b3Nc+vRdkciy9zySxUSnRgG1BJxrQhLYPkyIzGHYY/pcOhBluhopz -Fe08akTRXHBR+gSqoOyi2mQGIznob3ijPKjAjr85Tj1Ir7PsfIRUqJys1gvo2XrD -EQGZ3ejwwtELqZDMqEb5NufvDJ0aRabvSar8vb9u2eSw9ooTQ5uW+RKJrc7vZy1e -0zngiRsKjxwc9TTXMnvNVXI1Y3kPBFoOqll2Cjxwxo8tbAuKvgZx7//qoMXWifFf -bXAVAhRIjGW7x2lB2/MIJ6hrWSqjn5Z1eRV/5VFtwhp7nyrPx94tlpBJ9DJURm9a -MHPzeho1pX9Xbf7pC6XM+kVk+PzUffHrp3O7ik8xjslJ1G9A+ZaUo/smabtaPSqU -Aoc4seR0HL6iaswEMPVKvHDB68NJtXa6cD5bQaRD37iXpyEj13UpzrfA2EokwykS -y6CmORSAlCisLf+xH2juA1II/yVmnqldLXO0u0B7RDPuzEM52qpWvZHR2w6rWMbC -NyTz7UtVT8JjaqwAGi7jp+HX3OHlAVes7+7n4Z4PH3D0fojsFJrWJTU+KY4jmwMM -iwsoY/A1DQbVzqeuSK04Hn6j1PtwCSElJc6MkVjcEIAxSr2dnnPqKxHdUuQFM7jf -Is6ss3lDqEGSBAjAaLUD+UYq68JGpEHnJcueSEPa3gXrchpNI43TOVHJLgFgHoJJ -zpf02tYUx5TKpSKU6Utg8PEHZViDlW7aQRNpX8zBgAlySkQa1ZyX070gl6t2TceJ -oTJXFFO8s+7AjMknDc6e1T7sVUxaf+FsJz1EjTY= ------END AGE ENCRYPTED FILE----- diff --git a/home/bin/executable_inbox b/home/bin/executable_inbox deleted file mode 100644 index c902603..0000000 --- a/home/bin/executable_inbox +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -file=~/notebook/todo.xit - -if [[ ! -f "$file" ]]; then - echo "$file is missing" - exit 0 -fi - -content=$(sed -n '/^Inbox$/,$ p' "$file" | tail -n +2) - -if [[ -z "${content// }" ]]; then - echo "Inbox is empty" -else - echo "$content" -fi - diff --git a/home/bin/executable_jj-split-by-owner b/home/bin/executable_jj-split-by-owner deleted file mode 100644 index ae50cd5..0000000 --- a/home/bin/executable_jj-split-by-owner +++ /dev/null @@ -1,309 +0,0 @@ -#!/usr/bin/env bash -# -# jj-split-by-owner - Split a jj revision into multiple revisions by CODEOWNERS -# -# Usage: jj-split-by-owner -# -# The description_template should contain %s where you want the team name inserted. -# Example: "feat: update %s components" -# -> "feat: update @frontend-team components" -# -> "feat: update @backend-team components" -# -# Example: "[%s] refactor authentication" -# -> "[@security-team] refactor authentication" -# - -set -euo pipefail - -usage() { - cat < - -Split a jj revision into multiple revisions based on CODEOWNERS. - -Arguments: - revision The jj revision to split (e.g., @, @-, abc123) - description_template A printf-style template with %s for the team name - Example: "feat: update %s components" - -The script will: - 1. Find all changed files in the revision - 2. Match each file to its owner from CODEOWNERS - 3. Create separate revisions for each unique owner - 4. Each revision gets the template with the owner name substituted - -EOF - exit 1 -} - -# Check arguments -if [[ $# -lt 2 ]]; then - usage -fi - -REVISION="$1" -TEMPLATE="$2" - -# Create temp directory for all working files -TMPDIR=$(mktemp -d) -trap 'rm -rf "$TMPDIR"' EXIT - -# Find CODEOWNERS file (check common locations) -find_codeowners() { - local locations=( - "CODEOWNERS" - ".github/CODEOWNERS" - "docs/CODEOWNERS" - ".gitlab/CODEOWNERS" - ) - - for loc in "${locations[@]}"; do - if [[ -f "$loc" ]]; then - echo "$loc" - return 0 - fi - done - - echo "Error: CODEOWNERS file not found" >&2 - exit 1 -} - -CODEOWNERS_FILE=$(find_codeowners) -echo "Using CODEOWNERS: $CODEOWNERS_FILE" - -# Get list of changed files in the revision -get_changed_files() { - jj diff -r "$REVISION" --summary | awk '{print $2}' -} - -# Parse CODEOWNERS and convert patterns to regex in a single awk pass -# Output format: regexowner (one per line, in order) -parse_and_convert_codeowners() { - awk ' - # Skip empty lines and comments - /^[[:space:]]*$/ { next } - /^[[:space:]]*#/ { next } - - { - pattern = $1 - owner = $2 - - # Skip if no pattern or no owner - if (pattern == "" || owner == "") next - - # Convert pattern to regex - regex = pattern - - # Escape special regex chars (except *) - gsub(/\./, "\\.", regex) - gsub(/\?/, "\\?", regex) - gsub(/\+/, "\\+", regex) - gsub(/\[/, "\\[", regex) - gsub(/\]/, "\\]", regex) - gsub(/\^/, "\\^", regex) - gsub(/\$/, "\\$", regex) - - # Handle ** first (match any path including /) - gsub(/\*\*/, ".*", regex) - - # Handle * (match anything except /) - but not the .* we just created - # We need to be careful here: .* should stay, but lone * becomes [^/]* - # Split and rejoin to handle this - result = "" - n = split(regex, parts, /\.\*/) - for (i = 1; i <= n; i++) { - gsub(/\*/, "[^/]*", parts[i]) - if (i > 1) result = result ".*" - result = result parts[i] - } - regex = result - - # Handle leading / (anchor to start) - if (substr(regex, 1, 1) == "/") { - regex = "^" substr(regex, 2) - } else { - # Pattern can match anywhere in path - regex = "(^|/)" regex - } - - # Handle trailing / (directory - match anything inside) - if (substr(regex, length(regex), 1) == "/") { - regex = regex ".*" - } - - # Anchor to end unless it ends with .* - if (substr(regex, length(regex)-1, 2) != ".*") { - regex = regex "$" - } - - print regex "\t" owner - } - ' "$CODEOWNERS_FILE" -} - -# Main logic -echo "Analyzing revision: $REVISION" -echo "" - -# Get changed files -get_changed_files > "$TMPDIR/files.txt" -FILE_COUNT=$(wc -l < "$TMPDIR/files.txt" | tr -d ' ') - -if [[ "$FILE_COUNT" -eq 0 ]]; then - echo "No changed files in revision $REVISION" - exit 0 -fi - -echo "Found $FILE_COUNT changed file(s)" - -# Parse CODEOWNERS and convert to regex in one pass -echo "Parsing CODEOWNERS..." -parse_and_convert_codeowners > "$TMPDIR/codeowners_regex.txt" -line_num=$(wc -l < "$TMPDIR/codeowners_regex.txt" | tr -d ' ') -echo "Loaded $line_num CODEOWNERS rules" -echo "" - -# Now match each file to its owner -# CODEOWNERS semantics: later rules override earlier ones -echo "Matching files to owners..." - -# Process all files at once with awk for speed -awk -F'\t' ' -BEGIN { - # Read all patterns and their owners - while ((getline line < "'"$TMPDIR/codeowners_regex.txt"'") > 0) { - n = split(line, parts, "\t") - if (n >= 2) { - pattern_count++ - patterns[pattern_count] = parts[1] # regex - owners[pattern_count] = parts[2] # owner - } - } - close("'"$TMPDIR/codeowners_regex.txt"'") -} - -{ - file = $0 - matched_owner = "UNOWNED" - - # Check each pattern (later ones override) - for (i = 1; i <= pattern_count; i++) { - if (match(file, patterns[i])) { - matched_owner = owners[i] - } - } - - print file "\t" matched_owner -} -' "$TMPDIR/files.txt" > "$TMPDIR/file_owners.txt" - -# Group files by owner -echo "Grouping files by owner..." -mkdir -p "$TMPDIR/owners" - -ALL_OWNERS="" -while IFS=$'\t' read -r file owner; do - # Sanitize owner name for filename - owner_safe=$(echo "$owner" | sed 's/[^a-zA-Z0-9_-]/_/g') - - echo "$file" >> "$TMPDIR/owners/$owner_safe.files" - echo "$owner" > "$TMPDIR/owners/$owner_safe.name" - - # Track unique owners - if [[ ! -f "$TMPDIR/owners/$owner_safe.seen" ]]; then - touch "$TMPDIR/owners/$owner_safe.seen" - ALL_OWNERS="${ALL_OWNERS:+$ALL_OWNERS }$owner_safe" - fi -done < "$TMPDIR/file_owners.txt" - -# Show what we found -echo "" -echo "Files by owner:" -echo "---------------" -for owner_safe in $ALL_OWNERS; do - owner=$(cat "$TMPDIR/owners/$owner_safe.name") - file_count=$(wc -l < "$TMPDIR/owners/$owner_safe.files" | tr -d ' ') - echo " $owner: $file_count file(s)" -done -echo "" - -# Count owners -OWNER_COUNT=$(echo "$ALL_OWNERS" | wc -w | tr -d ' ') -echo "Will create $OWNER_COUNT revision(s)" -echo "" - -# If only one owner, no split needed -if [[ "$OWNER_COUNT" -eq 1 ]]; then - owner_safe=$(echo "$ALL_OWNERS" | awk '{print $1}') - owner=$(cat "$TMPDIR/owners/$owner_safe.name") - # shellcheck disable=SC2059 - description=$(printf "$TEMPLATE" "$owner") - echo "Only one owner found. Updating revision description..." - jj describe -r "$REVISION" -m "$description" - echo "Done! Revision updated with description: $description" - exit 0 -fi - -# Convert to array for indexing -OWNERS_ARR=($ALL_OWNERS) -FIRST_OWNER_SAFE="${OWNERS_ARR[0]}" -FIRST_OWNER=$(cat "$TMPDIR/owners/$FIRST_OWNER_SAFE.name") - -echo "Processing owners..." -echo "" - -# Get the parent of the original revision -PARENT=$(jj log -r "parents($REVISION)" --no-graph -T 'change_id.short(12)' | head -1) - -# Get the original revision's change_id for reference -ORIG_CHANGE_ID=$(jj log -r "$REVISION" --no-graph -T 'change_id.short(12)') - -# Create a new revision for each owner (original revision stays untouched) -for i in "${!OWNERS_ARR[@]}"; do - owner_safe="${OWNERS_ARR[$i]}" - owner=$(cat "$TMPDIR/owners/$owner_safe.name") - # shellcheck disable=SC2059 - description=$(printf "$TEMPLATE" "$owner") - - # Create a new empty revision as sibling of original (this changes @) - jj new "$PARENT" -m "$description" >/dev/null 2>&1 - # @ is now the new revision, get its change_id - new_rev=$(jj log -r @ --no-graph -T 'change_id.short(12)') - echo "$new_rev" > "$TMPDIR/owners/$owner_safe.rev" - echo "[$owner] Created new revision: $new_rev" -done - -# Return to original revision -jj edit "$ORIG_CHANGE_ID" >/dev/null 2>&1 || true - -echo "" -echo "Copying files to new revisions..." - -# For each owner, copy their files from original to the new revision -for i in "${!OWNERS_ARR[@]}"; do - owner_safe="${OWNERS_ARR[$i]}" - owner=$(cat "$TMPDIR/owners/$owner_safe.name") - target_rev=$(cat "$TMPDIR/owners/$owner_safe.rev") - - echo "Copying files for $owner to $target_rev..." - - # Debug: show the command being run - file_count=$(wc -l < "$TMPDIR/owners/$owner_safe.files" | tr -d ' ') - echo " ($file_count files)" - - # Pass all files at once to jj restore (show errors for debugging) - if ! xargs jj restore --from "$ORIG_CHANGE_ID" --to "$target_rev" < "$TMPDIR/owners/$owner_safe.files"; then - echo " Warning: jj restore had errors" - echo " Files: $(cat "$TMPDIR/owners/$owner_safe.files" | tr '\n' ' ')" - fi -done - -echo "" -echo "Done! Created revisions:" -echo "" -for owner_safe in $ALL_OWNERS; do - owner=$(cat "$TMPDIR/owners/$owner_safe.name") - # shellcheck disable=SC2059 - desc=$(printf "$TEMPLATE" "$owner") - echo " $owner -> $desc" -done diff --git a/home/bin/executable_nb b/home/bin/executable_nb deleted file mode 100644 index 64265f8..0000000 --- a/home/bin/executable_nb +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env zsh -setopt aliases - -NOTEBOOK_DIR=~/notebook - -if [[ ! -d "$NOTEBOOK_DIR" ]]; then - echo "Error: Notebook directory does not exist at $NOTEBOOK_DIR" - exit 1 -fi - -cd "$NOTEBOOK_DIR" || exit 1 - -show_help() { - cat << EOF -nb - Notebook management tool - -Usage: nb - -Commands: - cd Change directories - save Commit changes with timestamp - sync Save, fetch, and push changes - log Show commit log - diff Show differences - status Show diff summary - todo Add a todo item (or manage todos) - archive Archive completed todos - inbox List contents of inbox(es) - -EOF -} - -case "$1" in - cd) - exec "$SHELL" - ;; - save) - jj diff -r @ --summary | grep -q . && jj commit -m "$(date +"%Y-%m-%dT%H:%M:%S%z")" && jj tug || true - ;; - sync) - "$0" save && jj git fetch && jj git push - ;; - log) - jj log -r ".." - ;; - diff) - jj diff - ;; - status) - jj diff -s - ;; - todo) - if [[ "$2" == "archive" && -z "$3" ]]; then - todo_archive todo.xit done.xit - elif [[ "$2" == "inbox" && -z "$3" ]]; then - uvx --from todoman todo - else - todo "${@:2}" - fi - ;; - "") - show_help - ;; - *) - echo "Error: Unknown command '$1'" - echo "" - show_help - exit 1 - ;; -esac diff --git a/home/bin/executable_now b/home/bin/executable_now deleted file mode 100644 index 9333201..0000000 --- a/home/bin/executable_now +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -date +"%Y-%m-%dT%H:%M:%S%z" \ No newline at end of file diff --git a/home/bin/executable_reldate b/home/bin/executable_reldate deleted file mode 100644 index f57e74e..0000000 --- a/home/bin/executable_reldate +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env bash - -if [[ -z "$1" ]]; then - cat << EOF -reldate - Format or adjust dates - -Usage: reldate - -Examples: - reldate "2025-12-12" # Output: 2025-12-12 - reldate "+1d" # Output: tomorrow's date - reldate "-1w" # Output: date 1 week ago - reldate "+2m" # Output: date 2 months from now - reldate "-1y" # Output: date 1 year ago - - reldate today # Output: today's date - reldate tomorrow # Output: tomorrow's date - reldate yesterday # Output: yesterday's date - - reldate friday # Output: next Friday - reldate fri # Output: next Friday - reldate weekend # Output: next Saturday - -Adjustments: - d = days, w = weeks, m = months, y = years - Use + for future, - for past - -Keywords: - today, tomorrow, yesterday - monday-sunday (or mon-sun) - weekend (Saturday) - -EOF - exit 1 -fi - -# Normalize input to lowercase -input=$(echo "$1" | tr '[:upper:]' '[:lower:]') - -# Calculate days until a target weekday (1=Mon, 7=Sun) -# Returns days to add (1-7, never 0 - same day means next week) -days_until_weekday() { - local target=$1 - local current=$(date +%u) - local diff=$(( (target - current + 7) % 7 )) - if [[ $diff -eq 0 ]]; then - diff=7 - fi - echo $diff -} - -# Map day name to number (1=Mon, 7=Sun) -day_to_number() { - case "$1" in - mon|monday) echo 1 ;; - tue|tuesday) echo 2 ;; - wed|wednesday) echo 3 ;; - thu|thursday) echo 4 ;; - fri|friday) echo 5 ;; - sat|saturday) echo 6 ;; - sun|sunday) echo 7 ;; - *) echo 0 ;; - esac -} - -# Handle natural language keywords -case "$input" in - today) - date "+%Y-%m-%d" - ;; - tomorrow) - date -v "+1d" "+%Y-%m-%d" - ;; - yesterday) - date -v "-1d" "+%Y-%m-%d" - ;; - weekend) - days=$(days_until_weekday 6) - date -v "+${days}d" "+%Y-%m-%d" - ;; - mon|monday|tue|tuesday|wed|wednesday|thu|thursday|fri|friday|sat|saturday|sun|sunday) - day_num=$(day_to_number "$input") - days=$(days_until_weekday "$day_num") - date -v "+${days}d" "+%Y-%m-%d" - ;; - *) - # Fall through to original logic - if [[ "$1" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then - date -j -f "%Y-%m-%d" "$1" "+%Y-%m-%d" 2>/dev/null || echo "Invalid date: $1" - else - date -v "$1" "+%Y-%m-%d" - fi - ;; -esac diff --git a/home/bin/executable_today b/home/bin/executable_today deleted file mode 100644 index b49d528..0000000 --- a/home/bin/executable_today +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -date +"%Y-%m-%d" diff --git a/home/bin/executable_todo b/home/bin/executable_todo deleted file mode 100644 index 2a173d3..0000000 --- a/home/bin/executable_todo +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -if [[ -z "$*" ]]; then - echo "Error: Please provide a todo item" - exit 1 -fi - -echo "[ ] $*" >> ~/notebook/todo.xit diff --git a/home/bin/executable_todo_archive b/home/bin/executable_todo_archive deleted file mode 100644 index f052a58..0000000 --- a/home/bin/executable_todo_archive +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/env -S uv run --script -# /// script -# requires-python = ">=3.10" -# dependencies = [ -# "stage-left", -# ] -# /// -""" -Archive completed (DONE) and obsolete todos from a [x]it! file. - -Extracts all checked and obsolete items, outputs them (preserving groups), and -removes them from the original file. -""" - -import argparse -import sys -from pathlib import Path - -from stage_left import parse_file -from stage_left.types import State, Group, Item - - -def format_item(item: Item) -> str: - """Format an item back to [x]it! syntax.""" - lines = item.description.split('\n') - first_line = f"[{item.state.value}] {lines[0]}" - if len(lines) == 1: - return first_line - # Indent continuation lines (4 spaces to align with content after "[x] ") - continuation_lines = [' ' + line for line in lines[1:]] - return '\n'.join([first_line] + continuation_lines) - - -def sort_groups(groups: list[Group]) -> list[Group]: - """ - Sort groups: untitled groups first, then alphabetically by title. - """ - untitled = [g for g in groups if not g.title] - titled = [g for g in groups if g.title] - titled.sort(key=lambda g: g.title.lower()) - return untitled + titled - - -def format_groups(groups: list[Group]) -> str: - """Format a list of groups back to [x]it! syntax.""" - lines = [] - - for i, group in enumerate(groups): - if group.title: - if i > 0: - lines.append("") # Blank line before group title - lines.append(group.title) - - for item in group.items: - lines.append(format_item(item)) - - return "\n".join(lines) - - -def extract_archivable_items(groups: list[Group]) -> tuple[list[Group], list[Group]]: - """ - Split groups into archivable (done/obsolete) and remaining items. - - Returns: - (archivable_groups, remaining_groups) - Both preserve group structure. - Empty groups are preserved in remaining_groups. - """ - archivable_states = {State.CHECKED, State.OBSOLETE, State.IN_QUESTION} - archivable_groups = [] - remaining_groups = [] - - for group in groups: - archivable_items = [item for item in group.items if item.state in archivable_states] - remaining_items = [item for item in group.items if item.state not in archivable_states] - - if archivable_items: - archivable_groups.append(Group(title=group.title, items=archivable_items)) - - # Always preserve the group in remaining, even if empty - remaining_groups.append(Group(title=group.title, items=remaining_items)) - - return archivable_groups, remaining_groups - - -def merge_groups(existing: list[Group], new: list[Group]) -> list[Group]: - """ - Merge new groups into existing groups. - - Groups with matching titles have their items combined. - New groups without a matching title are appended. - """ - merged: dict[str | None, Group] = {} - order: list[str | None] = [] - - for group in existing: - if group.title in merged: - # Extend existing group's items - merged[group.title] = Group( - title=group.title, - items=merged[group.title].items + group.items, - ) - else: - merged[group.title] = Group(title=group.title, items=list(group.items)) - order.append(group.title) - - for group in new: - if group.title in merged: - # Merge into existing group - merged[group.title] = Group( - title=group.title, - items=merged[group.title].items + group.items, - ) - else: - # New group - merged[group.title] = Group(title=group.title, items=list(group.items)) - order.append(group.title) - - return [merged[title] for title in order] - - -def main() -> int: - parser = argparse.ArgumentParser( - description="Archive completed and obsolete todos from a [x]it! file.", - epilog="Done and obsolete items are extracted and removed from the input file.", - ) - parser.add_argument( - "input", - type=Path, - help="Path to the [x]it! file to process", - ) - parser.add_argument( - "output", - type=Path, - help="Output file for archived todos", - ) - - args = parser.parse_args() - - if not args.input.exists(): - print(f"Error: Input file not found: {args.input}", file=sys.stderr) - return 1 - - with open(args.input, "r") as fp: - groups = parse_file(fp) - - archivable_groups, remaining_groups = extract_archivable_items(groups) - - if archivable_groups: - if args.output.exists(): - with open(args.output, "r") as fp: - existing_groups = parse_file(fp) - merged_groups = merge_groups(existing_groups, archivable_groups) - else: - merged_groups = archivable_groups - - merged_output = format_groups(sort_groups(merged_groups)) - with open(args.output, "w") as fp: - fp.write(merged_output) - fp.write("\n") - remaining_output = format_groups(remaining_groups) - with open(args.input, "w") as fp: - if remaining_output: - fp.write(remaining_output) - fp.write("\n") - elif args.output.exists(): - # No new items to archive, but re-sort existing archive - with open(args.output, "r") as fp: - existing_groups = parse_file(fp) - sorted_output = format_groups(sort_groups(existing_groups)) - with open(args.output, "w") as fp: - fp.write(sorted_output) - fp.write("\n") - - archived_count = sum(len(g.items) for g in archivable_groups) - remaining_count = sum(len(g.items) for g in remaining_groups) - if archived_count: - print( - f"Archived {archived_count} todo(s). {remaining_count} remaining.", - file=sys.stderr, - ) - else: - print(f"Sorted {remaining_count} todo(s).", file=sys.stderr) - - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/home/dot_aider.conf.yml.tmpl b/home/dot_aider.conf.yml.tmpl deleted file mode 100644 index 8f88d8f..0000000 --- a/home/dot_aider.conf.yml.tmpl +++ /dev/null @@ -1,18 +0,0 @@ -cache-prompts: true -gitignore: false -auto-commits: false -watch-files: true -subtree-only: true -stream: false -show-model-warnings: false - -code-theme: "lightbulb" -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_gitconfig-personal-override.tmpl b/home/dot_gitconfig-personal-override.tmpl deleted file mode 100644 index 812d96c..0000000 --- a/home/dot_gitconfig-personal-override.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -[user] - email = {{ .email_personal }} - -[core] - sshCommand = "ssh -i ~/.ssh/id_rsa_personal" diff --git a/home/dot_npmrc b/home/dot_npmrc deleted file mode 100644 index e69de29..0000000 diff --git a/home/dot_ripgreprc b/home/dot_ripgreprc deleted file mode 100644 index 93e2cfc..0000000 --- a/home/dot_ripgreprc +++ /dev/null @@ -1 +0,0 @@ ---glob=!.git/* diff --git a/home/dot_zprofile.tmpl b/home/dot_zprofile.tmpl deleted file mode 100644 index f8d5647..0000000 --- a/home/dot_zprofile.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -# {{ .name }} -# {{ .email_personal }} - -# Added by OrbStack: command-line tools and integration -source ~/.orbstack/shell/init.zsh 2>/dev/null || : diff --git a/home/dot_zshenv.tmpl b/home/dot_zshenv.tmpl deleted file mode 100644 index 1064839..0000000 --- a/home/dot_zshenv.tmpl +++ /dev/null @@ -1,100 +0,0 @@ -# Browser -if [[ "$OSTYPE" == darwin* ]]; then - export BROWSER='open' -fi - -# Editors -export EDITOR='hx' -export VISUAL='hx' -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. -export LESS='-F -g -i -M -R -S -w -X -z-4' - -# Set the Less input preprocessor. -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" -fi - -TMPPREFIX="${TMPDIR%/}/zsh" -if [[ ! -d "$TMPPREFIX" ]]; then - mkdir -p "$TMPPREFIX" -fi - -# Paths -typeset -gU cdpath fpath mailpath path - -check_paths=( - # rust - $HOME/.cargo/bin - $HOME/.cargo/env - - # npm - $HOME/.npm-packages/bin - - # yarn - $HOME/.yarn/bin - $HOME/.config/yarn/global/node_modules/.bin - - # WSL - # /mnt/c/windows - # /mnt/c/windows/system32 - - # home - $HOME/bin - - # go - $HOME/go/bin - - # pixi - $HOME/.pixi/bin - - # homebrew - /opt/homebrew/bin - - # uv - $HOME/.local/bin - - # lm studio - $HOME/.lmstudio/bin - - {{ join .chezmoi.sourceDir "encrypted_dot_work_paths.age" | include | decrypt -}} -) - -for fp in $check_paths; do - if [[ -s "$fp" ]]; then - path+=("$fp") - fi -done - -export -U PATH - -export NVM_DIR="$HOME/.nvm" -export XDG_CONFIG_HOME=$HOME/.config -export JJ_CONFIG=$XDG_CONFIG_HOME/jj/config.toml -export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc -export FZF_DEFAULT_COMMAND="rg --files --hidden" -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" - -alias devlog="cd ~/projects/personal/devlog && hx logs/$(date '+%Y-%m-%d').gmi && cd -" -alias khal='uvx khal "$@"' -alias todoman='uvx --from todoman todo "$@"' diff --git a/home/dot_zshrc.tmpl b/home/dot_zshrc.tmpl deleted file mode 100644 index 48946a3..0000000 --- a/home/dot_zshrc.tmpl +++ /dev/null @@ -1,63 +0,0 @@ -setopt HIST_IGNORE_ALL_DUPS -bindkey -v -WORDCHARS=${WORDCHARS//[\/]} -ZSH_AUTOSUGGEST_MANUAL_REBIND=1 -ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) -ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim - -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 - -if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZDOTDIR:-${HOME}}/.zimrc ]]; then - source ${ZIM_HOME}/zimfw.zsh init -q -fi - -source ${ZIM_HOME}/init.zsh - -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=( - "$HOME/.cargo/env" - "$HOME/.zshwork" - "$HOME/.zshprivate" -) - -for fp in $srcs; do - if [[ -s "$fp" ]]; then - source "$fp" - fi -done - -eval "$(/opt/homebrew/bin/brew shellenv)" -eval "$(direnv hook zsh)" -eval "$(jj util completion zsh)" -[ -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" - -[ "$TERM" = "xterm-kitty" ] && alias ssh="TERM=xterm ssh" - -function update_now() { - cd ~/projects/personal/thermokar.st || return - jj git fetch --remote pingo && jj new deploy - hx now.md - if [[ -n $(jj diff) ]]; then - jj commit -m "$(now)" - jj tug - jj git push --remote pingo - jj git push --remote dokku - fi -} diff --git a/home/encrypted_dot_apprc.age b/home/encrypted_dot_apprc.age deleted file mode 100644 index 320ace9..0000000 --- a/home/encrypted_dot_apprc.age +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -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_s2a_login.age b/home/encrypted_dot_s2a_login.age deleted file mode 100644 index aaaed59..0000000 --- a/home/encrypted_dot_s2a_login.age +++ /dev/null @@ -1,10 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -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_work_packages.age b/home/encrypted_dot_work_packages.age deleted file mode 100644 index 3245fe4..0000000 --- a/home/encrypted_dot_work_packages.age +++ /dev/null @@ -1,9 +0,0 @@ ------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_dot_work_paths.age b/home/encrypted_dot_work_paths.age deleted file mode 100644 index 8706fc1..0000000 --- a/home/encrypted_dot_work_paths.age +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByV0J4aGFoR3hDSTJvNVp2 -a1F1NzJmaERoYWwycStJeC9OS0tLaUp0aXpvCjhndzJrQmhRaWo4STRzdWtYTE94 -Y0V4UHJ5UHlwaXZJOVJXSjdhMktvUWcKLS0tIDRtUHptRjYzT0RHQVJxT2RBbXNa -OUwxak52ZVhQL2psSUlpRVhHdzUxZjgKtcrEfrCDzTmLFhPNcnJ/PBMoiIxF0KAE -B2lhLyJ6+0OVTHMM6byVr+JnjnIXoA35537EUkQZ+A== ------END AGE ENCRYPTED FILE----- diff --git a/home/encrypted_dot_zshprivate.age b/home/encrypted_dot_zshprivate.age deleted file mode 100644 index bce01ce..0000000 --- a/home/encrypted_dot_zshprivate.age +++ /dev/null @@ -1,12 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzTmhSUzdOTnJmczRqd3g3 -YWhZRm1iNHpIMFNwOFdDMExKQ25qcGgwTWhJClBpSzkrUTREZk84VDZYajlXcndF -enhwVUt1enVFY24xUDNDK2gwQUxTb2cKLS0tIGE5ellZWHZHR3Y2WVhoTUNLWUlT -YmM3S2diZ1JYOHNMcW83dm5zRzVkZmcKTOtE4Sekeosb1khWwlViiPDjg7iG4unX -iqforD+jLIR+M0+2inoNXuSwz1mn1dZVaR5m5B6aXw6oUNXlA3nzZIN57p7pR+kW -YkHA5MovQpHSpFNP0QMhfngU+oZ2+U/sQLa2EegtmfErt3uuYEJ3axpe6CcZgQsh -x9eZYlc/cF8UxqPew9/Pj1M+Bu8jpRMWvKXUOBQgp19Jc/wh9eXqydmnLqYoJJ0a -LMzN+oZDejtV3WVC9jmwrFVFQ+YAKGc17UZAxWk/fhhuPT7CJkhqRkuIiBkmmXXp -3Vmwm5csnJahKjVdntMz+QQ0wdoPKCn1NPOypH+ox57nE1K3bAuoMPDv+RgODisB -ESW3gXyo+pEMxdsP31/awOK4CNQdaKNtmrYa5A5V3+CJOzqiVxM= ------END AGE ENCRYPTED FILE----- diff --git a/home/encrypted_dot_zshwork.age b/home/encrypted_dot_zshwork.age deleted file mode 100644 index 183d2bd..0000000 --- a/home/encrypted_dot_zshwork.age +++ /dev/null @@ -1,63 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGU2E2Mld2R1R3R2JWRURO -cEd4SWRTaU9jeENkZ3g2Tm9FL2h5R0l2eG5JCjNzUVpoWmVwR3BOUGU1RDNyNUw2 -N0c2NWtBaFZNK3hrNmNTN1VOWmZEZzAKLS0tIC9WSEdlOWFkaWhhZ1FyamlybWlj -RFZGZHJVbXpaVk02c1JDS3BGWVJmL1kKRKjBdIPBTWB0pbPdw9cb7ZPueXdRY2wy -goYJrLhHjdAISUHldgabcGJzdBpfwRzL5TcVSzfqjCGNPToH2brLRYNrRjm7J3t8 -ZcZo//w4TIvU8x4qyqqw/GN5/PS0vd/LQ1Gu4EOH95Q/xWXu+YowDTcYijOaBGiD -I1mGWgy6iU/8NLF987GtNSltfJlzy1wGU97gawMkDUNjI+tP6VLvJ3vEiCQzKdPA -rnLifnzClvGb7LPLzXTMwqmX+vm889S6cZE1giMRgeg/w9NNA+LPRKd1ofIrOA+v -UjToiSoz3wClaJ+DzrtT2Cp4KXx/GApIjCUIlEfPgO+i5wlpnJBrOTu/fQ+9CCb6 -mVLHoptx3I8mkZiMmkcLQcJZFt40BvMieX18oXpTtcHdj9znYmHnN+2tYs6QcKQD -/jgSPfVWKANUSayhlhFFX76qqSuh/pxrpsFZiEtUujxmCmXOhZdBa7q6RqaO9eR5 -X4dayXBwhocP982cMGQLjpTWo9gmmkig70nDILc5bjqXNUvJCouK+qSHKfN041dF -KGhrZU15lcCimKkoiPRZPWei7lTcZS84g6jrLisF+C3LzWAmB4NZ+W5I5SQJ81fk -W31gsu17M0zfdJYugrYbUsALA79PH3FcdWtFLG7uXVJY6j7DZcqUy9rz8CRjiqNA -E80Qk4Qn+3t5ptvtaGOG6dLdXt2Q6jcC7lc2TIddV3f2/I7SOebviLQUrfJ858HM -IZJXyz8xy6wCMs80p+VjYidZIqaLQy8bLvQ/EXGnkEHCezFFxNYwxpPqCNsrZWff -+8SNAdcM5nH5n1MbjotgAAXMYpmRMBejccN9uSW/8GxUZLaEPM5G6AdJeRalbHfk -LEjenKx1BVoAR2s9M0EfyPpBMmivPrETRGeh9pGvNJtj92vGcj1bu0jUVzNNMs5F -VX9HaWQLbVbl6Sz+YW3Vbe8qk7ypEmdlylDw6F0NmUExRtYjkCXuLAfuR0foVBNS -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 -7husN3fi6bqeIxAr7vY= ------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 deleted file mode 100644 index 4ab985e..0000000 --- a/home/private_Library/private_Application Support/io.datasette.llm/extra-openai-models.yaml +++ /dev/null @@ -1,17 +0,0 @@ -- model_id: copilot-gpt-4.1 - model_name: gpt-4.1 - api_base: "https://api.githubcopilot.com" - api_key_name: copilot - supports_tools: true - -- model_id: copilot-gpt-4o - model_name: gpt-4o - api_base: "https://api.githubcopilot.com" - api_key_name: copilot - supports_tools: true - -- model_id: lms-qwen3-coder-30b - model_name: qwen/qwen3-coder-30b - api_base: "http://localhost:1234/v1" - api_key_name: copilot - supports_tools: true diff --git a/home/private_dot_config/bat/config b/home/private_dot_config/bat/config deleted file mode 100644 index b7de378..0000000 --- a/home/private_dot_config/bat/config +++ /dev/null @@ -1 +0,0 @@ ---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 deleted file mode 100644 index 6bd0f29..0000000 --- a/home/private_dot_config/bat/themes/Catppuccin Mocha.tmTheme +++ /dev/null @@ -1,2081 +0,0 @@ - - - - - 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/git/ignore b/home/private_dot_config/git/ignore deleted file mode 100644 index aa755db..0000000 --- a/home/private_dot_config/git/ignore +++ /dev/null @@ -1,9 +0,0 @@ -*~ -.DS_Store -.idea -.vscode -.envrc -.aider* -**/.claude/settings.local.json -CLAUDE.md -TODO.xit \ No newline at end of file diff --git a/home/private_dot_config/helix/config.toml b/home/private_dot_config/helix/config.toml deleted file mode 100644 index 8164437..0000000 --- a/home/private_dot_config/helix/config.toml +++ /dev/null @@ -1,16 +0,0 @@ -theme = "catppuccin_mocha" - -[editor] -true-color = true -insert-final-newline = false - -[editor.file-picker] -hidden = false - -[keys.normal.space.m] -r = ":reload-all" -s = ":toggle-option soft-wrap.enable" - -[keys.normal.space.m.n] -a = ":run-shell-command nb todo archive" -s = ":run-shell-command nb sync" diff --git a/home/private_dot_config/helix/languages.toml.tmpl b/home/private_dot_config/helix/languages.toml.tmpl deleted file mode 100644 index aef7a90..0000000 --- a/home/private_dot_config/helix/languages.toml.tmpl +++ /dev/null @@ -1,73 +0,0 @@ -[[language]] -name = "rust" -language-servers = ["rust-analyzer"] - -[language-server.rust-analyzer.config.check] -command = "clippy" - -[language-server.pyright] -command = "pyright-langserver" -args = ["--stdio"] -config = {} - -[[language]] -name = "python" -language-servers = ["pyright"] - -[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" } - -[[language]] -name = "go" -roots = ["go.work", "go.mod"] -auto-format = true -formatter = ["gofmt"] -comment-token = "//" -language-servers = ["gopls"] - -[language-server] -zk-lsp = { command = "zk", args = [ "lsp" ] } - -[[language]] -name = "markdown" -language-servers = ["zk-lsp"] -roots = [ ".zk" ] - -[[language]] -name = "lua" -formatter = { command = "stylua", args = [ "-" ] } - -[[language]] -name = "prr" -scope = "source.prr" -file-types = ["prr"] -roots = [] -comment-token = "#" - -[[grammar]] -name = "prr" -source = { path = "~/.local/share/tree-sitter-prr" } diff --git a/home/private_dot_config/helix/runtime/queries/prr/private_highlights.scm b/home/private_dot_config/helix/runtime/queries/prr/private_highlights.scm deleted file mode 100644 index a1fd4fb..0000000 --- a/home/private_dot_config/helix/runtime/queries/prr/private_highlights.scm +++ /dev/null @@ -1,25 +0,0 @@ -; PRR syntax highlighting for Helix - -; Diff additions and deletions -(addition) @diff.plus -(deletion) @diff.minus - -; File headers -(old_file) @diff.minus -(new_file) @diff.plus - -; Diff metadata -(diff_header) @keyword -(index_line) @comment -(chunk_header) @attribute - -; Context lines (unchanged diff lines) -(context_line) @comment - -; PRR tag components -(tag_name) @keyword -(action) @string -(tag_content) @comment - -; User comments -(comment_line) @comment diff --git a/home/private_dot_config/jj/config.toml.tmpl b/home/private_dot_config/jj/config.toml.tmpl deleted file mode 100644 index c4eb183..0000000 --- a/home/private_dot_config/jj/config.toml.tmpl +++ /dev/null @@ -1,42 +0,0 @@ -[user] -name = {{ .name | quote }} -{{- if eq .hosttype "work" }} -email = {{ .email_work | quote }} -{{- else }} -email = {{ .email_personal | quote }} -{{- end }} - -[git] -private-commits = "description(glob:'private:*')" - -[templates] -{{- if eq .hosttype "work" }} -git_push_bookmark = '"2025_{{ .github_work }}_jj_" ++ change_id.short()' -{{- else }} -git_push_bookmark = '"{{ .github_personal }}_jj_" ++ change_id.short()' -{{- end }} - -[colors] -"diff removed token" = { fg = "red", underline = false } -"diff added token" = { fg = "green", underline = false } - -[revset-aliases] -"immutable_heads()" = "builtin_immutable_heads() | (trunk().. & ~mine())" -"why_immutable(r)" = "r | roots(r:: & immutable_heads())" -"closest_bookmark(to)" = "heads(::to & bookmarks())" - -[aliases] -tug = ["bookmark", "move", "--from", "closest_bookmark(@-)", "--to", "@-"] - -[ui] -default-command = ["log"] -diff-formatter = ":git" - -{{ if eq .hosttype "work" -}} -[[--scope]] ---when.repositories = ["~/projects/personal", "~/.local/share/chezmoi"] -[--scope.user] -email = {{ .email_personal | quote }} -[--scope.templates] -git_push_bookmark = '"{{ .github_personal }}_jj_" ++ change_id.short()' -{{- end }} diff --git a/home/private_dot_config/khal/encrypted_config.age b/home/private_dot_config/khal/encrypted_config.age deleted file mode 100644 index 4dd06f5..0000000 --- a/home/private_dot_config/khal/encrypted_config.age +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzM1hrWEZheUp6MEF3Y1ZO -NXQyRlVlUDl5T2xsYktXeldxZlR1c0ZDVW5zCnVzdUhNUFRySlZqa2Y1dk5WaEM1 -RENzc25KSG94ZmNDcTd3TmJXd0JxZVEKLS0tIHNZYWpsMHMrNmw1V2wxK1NXT2Nu -N1pDNFdaYVlCQmJOTVZMZ2V5Mmt0MlUK5kSI0GGB5f1k7Yrk5Hn+p60Nqa5fXhHW -Wy4X3ww/Nmgs9DWiNc/cHz/xheJ6jWAQ7spw0sJRLCG1dmUAwpgzoObCIByC58rd -ZwS7N2/OKkAFd+CGyqxcxQMjKHOzzT/DG5GvCWZcnbAc6WhF5uD949VtV2V4bXlf -RnZyQ1TvmQ0bsqHzJgs/ts/AerbM5km/jeKzXdOIJEw00x6Mh3U8JXuusHnKw4CI -eHxFHTDasx51+GDPAw9wv7hd2bn/6bv8FS0VQ58W8YnXeUIKAaxUnsdgq/ancR6g -vrqy29yTo1UIao6B5tWnhlThycZbYVbVeFCnnA/GpUhIRYUmFGttNU4U8IS+mNwl -6OfGuBqGKa/ele8ZZ3Ty3hC5yV/6C+7H+SI7g4+sI/dbdwyJ4PkX0ItQ7Iv6vlme -Nu9mB4l8fJTiSTSDGfM7Z4845YGgibgFhWME0tCifzubljDtHyBfeEocI1KfN0pN -qfjUPujtHnXO9TzpIwd73iHJKcR5MmKsnXvffwtJDrxPI781ucPxA8U2txyEs+nP -NRPzdotxFjK7YHoQSfhvtS5+83MXkul9GmCVGxYzvHKF36I3fEsiJ2YI7hwibEkO -FRfYi6zFfs1h6SGdni6D1ZwTmtnfSJWmOnaVS1QXVUJoUgyTNZyRdmz9yLDGaTkF -Kv0Pht3deoCWLcg9jemFnZzpQpMIPi3BtilVGSRy4IZApY3KN2SWibeJWoMmcvuy -tQZBjss/djL48/HOGn6hGPz/1IyXkUQNz9747VN952MdwgvtWGYaFDsypjGWrueD -NV6SlIe+jVp1IKiwhlbfMPd8VUtXGiE0KarkNPBqo3CbB7iZazRrItU= ------END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_config/kitty/kitty.app.icns b/home/private_dot_config/kitty/kitty.app.icns deleted file mode 100644 index 586396d..0000000 Binary files a/home/private_dot_config/kitty/kitty.app.icns and /dev/null differ diff --git a/home/private_dot_config/kitty/kitty.conf.tmpl b/home/private_dot_config/kitty/kitty.conf.tmpl deleted file mode 100644 index 1d17795..0000000 --- a/home/private_dot_config/kitty/kitty.conf.tmpl +++ /dev/null @@ -1,38 +0,0 @@ -font_family Iosevka Term Extralight -font_size 14.0 -shell . -clipboard_control write-clipboard write-primary no-append -macos_option_as_alt yes -enable_audio_bell no -visual_bell_duration 0.5 -enabled_layouts splits, stack -tab_bar_edge top -tab_bar_min_tabs 2 -tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{index} {title.split('/')[-1].split(':')[-1]}" -allow_remote_control yes - -map ctrl+a>h neighboring_window left -map ctrl+a>j neighboring_window bottom -map ctrl+a>k neighboring_window top -map ctrl+a>l neighboring_window right - -map ctrl+a>" launch --location=hsplit -map ctrl+a>% launch --location=vsplit -map ctrl+a>c new_tab_with_cwd -map ctrl+a>shift+c new_tab -map ctrl+a>z toggle_layout stack -map ctrl+a>ctrl+a goto_tab -1 -map ctrl+a>0 select_tab -map ctrl+a>1 goto_tab 1 -map ctrl+a>2 goto_tab 2 -map ctrl+a>3 goto_tab 3 -map ctrl+a>4 goto_tab 4 -map ctrl+a>5 goto_tab 5 -map ctrl+a>6 goto_tab 6 -map ctrl+a>7 goto_tab 7 -map ctrl+a>8 goto_tab 8 -map ctrl+a>9 goto_tab 9 - -# BEGIN_KITTY_THEME -include current-theme.conf -# END_KITTY_THEME diff --git a/home/private_dot_config/klog/bookmarks.json b/home/private_dot_config/klog/bookmarks.json deleted file mode 100644 index bfff99f..0000000 --- a/home/private_dot_config/klog/bookmarks.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "name": "default", - "path": "/Users/matthew.dillon/notebook/tracker.klg" - }, - { - "name": "tracker", - "path": "/Users/matthew.dillon/notebook/tracker.klg" - }, - { - "name": "agenda", - "path": "/Users/matthew.dillon/notebook/agenda.klg" - } -] diff --git a/home/private_dot_config/nvim/dot_luarc.json b/home/private_dot_config/nvim/dot_luarc.json deleted file mode 100644 index 1e1765c..0000000 --- a/home/private_dot_config/nvim/dot_luarc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "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 deleted file mode 100644 index 9d1054c..0000000 --- a/home/private_dot_config/nvim/init.lua +++ /dev/null @@ -1,20 +0,0 @@ --- 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 deleted file mode 100644 index 8b59669..0000000 --- a/home/private_dot_config/nvim/lua/plugins/ai-config.lua +++ /dev/null @@ -1,25 +0,0 @@ -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" }, - }, - }, -} diff --git a/home/private_dot_config/nvim/lua/plugins/catppuccin.lua b/home/private_dot_config/nvim/lua/plugins/catppuccin.lua deleted file mode 100644 index 249efad..0000000 --- a/home/private_dot_config/nvim/lua/plugins/catppuccin.lua +++ /dev/null @@ -1,9 +0,0 @@ -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 deleted file mode 100644 index 0e5cbc0..0000000 --- a/home/private_dot_config/nvim/lua/plugins/completions.lua +++ /dev/null @@ -1,38 +0,0 @@ -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 deleted file mode 100644 index d92dae4..0000000 --- a/home/private_dot_config/nvim/lua/plugins/lsp-config.lua +++ /dev/null @@ -1,49 +0,0 @@ -return { - { - "williamboman/mason.nvim", - config = function() - require("mason").setup() - end, - }, - { - "williamboman/mason-lspconfig.nvim", - config = function() - require("mason-lspconfig").setup({ - ensure_installed = { "lua_ls", "marksman", "rust_analyzer", "pyright" }, - }) - 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, - }) - - -- 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/lualine.lua b/home/private_dot_config/nvim/lua/plugins/lualine.lua deleted file mode 100644 index 5f54a0b..0000000 --- a/home/private_dot_config/nvim/lua/plugins/lualine.lua +++ /dev/null @@ -1,6 +0,0 @@ -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 deleted file mode 100644 index 29d0ba6..0000000 --- a/home/private_dot_config/nvim/lua/plugins/neo-tree.lua +++ /dev/null @@ -1,12 +0,0 @@ -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 deleted file mode 100644 index 403da6e..0000000 --- a/home/private_dot_config/nvim/lua/plugins/none-ls.lua +++ /dev/null @@ -1,14 +0,0 @@ -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 deleted file mode 100644 index b8af826..0000000 --- a/home/private_dot_config/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,39 +0,0 @@ -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 deleted file mode 100644 index f634f60..0000000 --- a/home/private_dot_config/nvim/lua/plugins/testing-config.lua +++ /dev/null @@ -1,56 +0,0 @@ -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 deleted file mode 100644 index f854eca..0000000 --- a/home/private_dot_config/nvim/lua/plugins/treesitter.lua +++ /dev/null @@ -1,15 +0,0 @@ -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", "markdown" }, - 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 deleted file mode 100644 index 6316a7b..0000000 --- a/home/private_dot_config/nvim/lua/plugins/which-key.lua +++ /dev/null @@ -1,14 +0,0 @@ -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 deleted file mode 100644 index 605da9d..0000000 --- a/home/private_dot_config/nvim/lua/vim-options.lua +++ /dev/null @@ -1,11 +0,0 @@ -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 - -vim.keymap.set({ "n", "v" }, "y", "\"*y", { desc = "yank to clipboard" }) diff --git a/home/private_dot_config/presenterm/config.yaml b/home/private_dot_config/presenterm/config.yaml deleted file mode 100644 index ddbe003..0000000 --- a/home/private_dot_config/presenterm/config.yaml +++ /dev/null @@ -1,3 +0,0 @@ -defaults: - max_columns: 150 - theme: "catppuccin-mocha" diff --git a/home/private_dot_config/private_cmus/rc b/home/private_dot_config/private_cmus/rc deleted file mode 100644 index adab9a8..0000000 --- a/home/private_dot_config/private_cmus/rc +++ /dev/null @@ -1,26 +0,0 @@ -set mouse=1 - -### catppuccin theme -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 diff --git a/home/private_dot_config/private_glow/glow.yml.tmpl b/home/private_dot_config/private_glow/glow.yml.tmpl deleted file mode 100644 index bac17fd..0000000 --- a/home/private_dot_config/private_glow/glow.yml.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index a177f55..0000000 --- a/home/private_dot_config/private_glow/themes/catppuccin-mocha.json +++ /dev/null @@ -1,199 +0,0 @@ -{ - "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/private_dot_config/private_k9s/private_aliases.yaml b/home/private_dot_config/private_k9s/private_aliases.yaml deleted file mode 100644 index ee4d9ec..0000000 --- a/home/private_dot_config/private_k9s/private_aliases.yaml +++ /dev/null @@ -1,9 +0,0 @@ -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 deleted file mode 100644 index 425a5dd..0000000 --- a/home/private_dot_config/private_k9s/private_config.yaml.tmpl +++ /dev/null @@ -1,44 +0,0 @@ -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 deleted file mode 100644 index 2db3e3f..0000000 --- a/home/private_dot_config/private_k9s/skins/catppuccin-frappe-transparent.yaml +++ /dev/null @@ -1,100 +0,0 @@ -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 deleted file mode 100644 index 404288f..0000000 --- a/home/private_dot_config/private_k9s/skins/catppuccin-frappe.yaml +++ /dev/null @@ -1,100 +0,0 @@ -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 deleted file mode 100644 index 3715583..0000000 --- a/home/private_dot_config/private_k9s/skins/catppuccin-latte-transparent.yaml +++ /dev/null @@ -1,100 +0,0 @@ -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 deleted file mode 100644 index acfcc8b..0000000 --- a/home/private_dot_config/private_k9s/skins/catppuccin-latte.yaml +++ /dev/null @@ -1,100 +0,0 @@ -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 deleted file mode 100644 index 0b5144e..0000000 --- a/home/private_dot_config/private_k9s/skins/catppuccin-macchiato-transparent.yaml +++ /dev/null @@ -1,100 +0,0 @@ -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 deleted file mode 100644 index bd4caf0..0000000 --- a/home/private_dot_config/private_k9s/skins/catppuccin-macchiato.yaml +++ /dev/null @@ -1,100 +0,0 @@ -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 deleted file mode 100644 index 44df98c..0000000 --- a/home/private_dot_config/private_k9s/skins/catppuccin-mocha-transparent.yaml +++ /dev/null @@ -1,100 +0,0 @@ -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 deleted file mode 100644 index f1523a5..0000000 --- a/home/private_dot_config/private_k9s/skins/catppuccin-mocha.yaml +++ /dev/null @@ -1,100 +0,0 @@ -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' diff --git a/home/private_dot_config/prr/encrypted_config.toml.age b/home/private_dot_config/prr/encrypted_config.toml.age deleted file mode 100644 index 8231739..0000000 --- a/home/private_dot_config/prr/encrypted_config.toml.age +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrZy9talpnbS9zRUpNV0RC -YmExd1FYUkdtekVwa241dUhWUWxpSy83c1ZzCmhLRnZlcHozaVhNaUVPUVA3L0wx -dExBZXZMRk4xL1Y5Q3Bjd2M1VHQwb2cKLS0tIDZha0hwR0FnaDJXNXhIcTk3dFBa -blV4dGlSUFpyd3BOYks3MGlZTW55U2cKpSgRsX6cHEDJdbAhkiTzESJsEYJvQECE -18UYtpibMeVdHnGh9/J4qkH7RNLGu/o+IsIJlIN+2ALNXkRTgnwska7di8FlgN+X -OBAf03DbwILRRf9rFqdgehzD7TsiVX1DbFQm8986//FhPVrblA9N3sRlGvywatDG -CJujmkqXSBSCTimvM+ECYUWB6Q== ------END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_config/todoman/encrypted_config.py.tmpl.age b/home/private_dot_config/todoman/encrypted_config.py.tmpl.age deleted file mode 100644 index f8d9212..0000000 --- a/home/private_dot_config/todoman/encrypted_config.py.tmpl.age +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxNkVwT0lIQUMxS0t5ZCt1 -dkV4aXB2QU02NFZydFI0andWZklTbUp6OGk4CkcvdWJXeUorczZDNGw0VTg5YTl2 -NHJLNGRYbVdwdTZWL2RhT0E1RUtZaU0KLS0tIERHZGpEY0gySFNHTXlqblV5QVpz -alFhVUtXQ3ErR0hSdytxWmM5c2dja1UKkqMyi5ZSf/PRT1JUm+FstxOp3Z8DJovv -xZMuAj85RWL0yXMe8mcLupxkxuT3eKbCvkKWP5Ot+YX1p3npVGGceQ4a7frs9QRj -fi+YZx8LOEUu5m1OiMYqYVrRDyTvMiHhJjQ3lKl2ikoWLnE9AFkx0EOsRzVFGv6G -AbxHzYuhDAw8DvCBbsu0FORLB0gN+uxwfg== ------END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_config/vdirsyncer/encrypted_config.tmpl.age b/home/private_dot_config/vdirsyncer/encrypted_config.tmpl.age deleted file mode 100644 index a1eb864..0000000 --- a/home/private_dot_config/vdirsyncer/encrypted_config.tmpl.age +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoNGxzeUdqNkE4TTZEek9y -a2oybWwzNlZXbGhrMmJybkwyT1JGRkkvWFQ4CjUwbkNjVnByQTJ1d2FsbHV6dUpT -cnJzZUoxY0d5L2dETit5aWYrZUdHelkKLS0tIEZ1Q2RQSlBMZ0V0QzFxdlBqekJp -TXdLK3RRSEtmWGZ2aWZkK2hobWx4aVUKz8hAJq2YWa5kMZYt/5Di6pK1on+x8zeH -sLETXqtVU0bSKkFIizRfk+6rlt+34oTumuPeHXeL1/o4ks8aYyTCZfxN1/zmopS5 -gi79LXdJVZATnwrNZ5MpBYHmI0VhMclhnt5K17yiEpDOFwwSTt7xJetZtLUP/uNw -pxvKexRE+lRWSesS3kG7Z8jfFHxAOAmrhlkXsmUfKuLCCSdb3bBVDnKTgL4iN8DP -ZF2lktkGdP5azhJ21KD4nTtYacwGKJuEEpOK5Ly8184ucOOtn1CbAb8keUbvpURO -ms/ROKDyBtBLb3jKZTSWfwFHNExC/H0qgXQAqnpWXWlki/1BbnFU+DX76b3zKHwo -K7e8IMygflCe+XOAy9jKi7hv0x+vYvPUBU7W9kVP/f073aewm3lnbz6/rGfKCaUR -YyFlJ5FcrOV4PLoXLvItd84qUyHPNusSyQHsjAb3CMirgZjFreLN0SJUi+eu8Y0G -l1IIK1BuDQleJVbrj67c/WW3sRHSoeB3UAKu3Ch4BokO3B7YTt1vk1eRPaHKMat7 -NvvAapJLKr+QMkX0KO5Hi2do4KPleBGfLTKuXh/q3Tq4G8ZdBokDu8r3k6gQcInK -gxkdyE4RNcAsKkV0NcSQ6jA+MMfo6mVp0RfMG/u0swDfk+wPzUvSBlFR7EJ4LKtS -b90bBIxj7nlC6T5mLR9OOhehsnGfgwZjFg4wKVAYsYkdWlXJWmqf/aBDdmysJh6Q -FBVUG+cnePUJxoIsleuw5bq+S0xKBj4vhOXvCLpoPsA1rAIOA3u9DPO39/m/ELv1 -T1IdOgQuoHdqpDPiBtiut7j3k7o7KL8XU2WB9JsdCMZCXtlKWOvu7QsQwrGya8/I ------END AGE ENCRYPTED FILE----- diff --git a/home/private_dot_ssh/config.tmpl b/home/private_dot_ssh/config.tmpl deleted file mode 100644 index 6b55614..0000000 --- a/home/private_dot_ssh/config.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{ if eq .chezmoi.os "darwin" -}} -Include ~/.orbstack/ssh/config -{{ end }} diff --git a/home/private_dot_ssh/encrypted_id_ecdsa.pub.age b/home/private_dot_ssh/encrypted_id_ecdsa.pub.age deleted file mode 100644 index 18f5b1c..0000000 --- a/home/private_dot_ssh/encrypted_id_ecdsa.pub.age +++ /dev/null @@ -1,12 +0,0 @@ ------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_id_ed25519.pub.age b/home/private_dot_ssh/encrypted_id_ed25519.pub.age deleted file mode 100644 index 01a9e83..0000000 --- a/home/private_dot_ssh/encrypted_id_ed25519.pub.age +++ /dev/null @@ -1,9 +0,0 @@ ------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_id_rsa_personal.pub.age b/home/private_dot_ssh/encrypted_id_rsa_personal.pub.age deleted file mode 100644 index 41aa5ce..0000000 --- a/home/private_dot_ssh/encrypted_id_rsa_personal.pub.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----- diff --git a/home/private_dot_ssh/encrypted_id_rsa_work.pub.age b/home/private_dot_ssh/encrypted_id_rsa_work.pub.age deleted file mode 100644 index 06d02f0..0000000 --- a/home/private_dot_ssh/encrypted_id_rsa_work.pub.age +++ /dev/null @@ -1,22 +0,0 @@ ------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_ecdsa.age b/home/private_dot_ssh/encrypted_private_id_ecdsa.age deleted file mode 100644 index f2104bf..0000000 --- a/home/private_dot_ssh/encrypted_private_id_ecdsa.age +++ /dev/null @@ -1,22 +0,0 @@ ------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----- diff --git a/home/private_dot_ssh/encrypted_private_id_ed25519.age b/home/private_dot_ssh/encrypted_private_id_ed25519.age deleted file mode 100644 index 0a38344..0000000 --- a/home/private_dot_ssh/encrypted_private_id_ed25519.age +++ /dev/null @@ -1,15 +0,0 @@ ------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----- diff --git a/home/private_dot_ssh/encrypted_private_id_rsa.age b/home/private_dot_ssh/encrypted_private_id_rsa.age deleted file mode 100644 index 88d8440..0000000 --- a/home/private_dot_ssh/encrypted_private_id_rsa.age +++ /dev/null @@ -1,77 +0,0 @@ ------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_private_id_rsa.pub.age b/home/private_dot_ssh/encrypted_private_id_rsa.pub.age deleted file mode 100644 index 41aa5ce..0000000 --- a/home/private_dot_ssh/encrypted_private_id_rsa.pub.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----- diff --git a/home/private_dot_ssh/encrypted_private_id_rsa_personal.age b/home/private_dot_ssh/encrypted_private_id_rsa_personal.age deleted file mode 100644 index 88d8440..0000000 --- a/home/private_dot_ssh/encrypted_private_id_rsa_personal.age +++ /dev/null @@ -1,77 +0,0 @@ ------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_private_id_rsa_work.age b/home/private_dot_ssh/encrypted_private_id_rsa_work.age deleted file mode 100644 index f21fa6f..0000000 --- a/home/private_dot_ssh/encrypted_private_id_rsa_work.age +++ /dev/null @@ -1,74 +0,0 @@ ------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_zimrc b/home/private_dot_zimrc deleted file mode 100644 index 3994a86..0000000 --- a/home/private_dot_zimrc +++ /dev/null @@ -1,49 +0,0 @@ -### 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 diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl deleted file mode 100644 index f96f422..0000000 --- a/home/run_once_01install-packages.sh.tmpl +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - -set -e - -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -eval "$(/opt/homebrew/bin/brew shellenv)" -brew install \ - age \ - bat \ - bzip2 \ - cmus \ - curl \ - direnv \ - exercism \ - fzf \ - gh \ - git \ - glow \ - go \ - golangci-lint \ - helix \ - inlyne \ - jj \ - just \ - lua-language-server \ - luarocks \ - marksman \ - nvm \ - presenterm \ - prr \ - ripgrep \ - sqlite \ - tree \ - vdirsyncer \ - watch \ - wget \ - xz \ - zlib - -export NVM_DIR="$HOME/.nvm" -[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" -nvm install 22 -nvm use 22 - -curl -LsSf https://astral.sh/uv/install.sh | sh - -{{ if eq .hosttype "personal" -}} -brew install \ - love \ - mingw-w64 \ - pandoc \ - stylua -{{ else if eq .hosttype "work" -}} - {{ join .chezmoi.sourceDir "encrypted_dot_work_packages.age" | include | decrypt -}} -{{ end }} diff --git a/home/run_once_02install-rust.sh.tmpl b/home/run_once_02install-rust.sh.tmpl deleted file mode 100644 index 86240e9..0000000 --- a/home/run_once_02install-rust.sh.tmpl +++ /dev/null @@ -1,9 +0,0 @@ -#!/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 --no-modify-path -. $HOME/.cargo/env -rustup update stable diff --git a/home/run_once_03install-gwar.sh.tmpl b/home/run_once_03install-gwar.sh.tmpl deleted file mode 100644 index cb525c7..0000000 --- a/home/run_once_03install-gwar.sh.tmpl +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -set -e - -if [ ! -d $HOME/.src/gwar ] ; then - git clone ssh://git@git.thermokar.st/thermokarst/gwar $HOME/.src/gwar -fi - -cd $HOME/.src/gwar -# belt-and-suspenders -. $HOME/.cargo/env -cargo build --release -cp target/release/gwar ~/bin diff --git a/home/run_once_04add-notebook.sh.tmpl b/home/run_once_04add-notebook.sh.tmpl deleted file mode 100644 index 26bd960..0000000 --- a/home/run_once_04add-notebook.sh.tmpl +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -set -e - -{{- if eq .hosttype "work" }} -if [ ! -d $HOME/notebook ] ; then - jj git clone ssh://git@git.thermokar.st/thermokarst/klaviyo-notebook $HOME/notebook -fi -{{- end }} - -{{- if eq .hosttype "personal" }} -if [ ! -d $HOME/notebook ] ; then - jj git clone ssh://git@git.thermokar.st/thermokarst/notebook $HOME/notebook -fi -{{- end }} diff --git a/install b/install new file mode 100755 index 0000000..5a7e72c --- /dev/null +++ b/install @@ -0,0 +1,15 @@ +#!/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 new file mode 100644 index 0000000..58de954 --- /dev/null +++ b/install.conf.yaml @@ -0,0 +1,41 @@ +- clean: + - '~' + +- create: + - ~/projects/qiime2 + - ~/projects/qiime2/data/moving-pictures + - ~/projects/mds + - ~/projects/personal + - ~/desk + - ~/files + +- link: + ~/.tmux.conf: tmux.conf + ~/.gitconfig: git/gitconfig + ~/.gitignore_global: git/gitignore_global + ~/.npmrc: npmrc + ~/.psqlrc: psqlrc + ~/.vimrc: vimrc + ~/.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 + ~/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/kakrc b/kakrc new file mode 100644 index 0000000..c1093f1 --- /dev/null +++ b/kakrc @@ -0,0 +1,36 @@ +# 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 new file mode 100644 index 0000000..a802602 --- /dev/null +++ b/mouse.xml @@ -0,0 +1,44 @@ + + + 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/npmrc b/npmrc new file mode 100644 index 0000000..ff27651 --- /dev/null +++ b/npmrc @@ -0,0 +1 @@ +prefix=~/.npm-packages \ No newline at end of file diff --git a/home/dot_psqlrc b/psqlrc similarity index 100% rename from home/dot_psqlrc rename to psqlrc diff --git a/rsync_excludes.txt b/rsync_excludes.txt new file mode 100644 index 0000000..cb40124 --- /dev/null +++ b/rsync_excludes.txt @@ -0,0 +1,24 @@ +- .DS_Store +- venv +- node_modules +- __pycache__ +- *.pyc +- Applications/ +- Library/ +- miniconda3/ +- tmp/ +- .cache/ +- .npm/ +- .Trash/ +- .cpan/ +- .nvim/plugged/ +- .vim/plugged/ +- .conda/ +- .mail/ +- .dropbox/ +- .wine/ +- .cisco/ +- .fzf/ +- .local/ +- .zprezto/ +- .conda-bld/ diff --git a/tmux.conf b/tmux.conf new file mode 100644 index 0000000..0e88e4a --- /dev/null +++ b/tmux.conf @@ -0,0 +1,44 @@ +setw -g automatic-rename + +set-option -g default-shell /bin/zsh +set -g default-command "reattach-to-user-namespace -l ${SHELL}" +set -g default-terminal "screen-256color" + +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=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) +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 +bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy' +bind-key p paste-buffer diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..812cfca --- /dev/null +++ b/vimrc @@ -0,0 +1,61 @@ +" 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 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 + +nnoremap [b :bprevious +nnoremap ]b :bnext +nnoremap [B :bfirst +nnoremap ]B :blast + +call plug#begin('~/.vim/plugged') + Plug 'airblade/vim-gitgutter' + Plug 'chriskempson/base16-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' +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' diff --git a/vscode/keybindings.json b/vscode/keybindings.json new file mode 100644 index 0000000..4d7cfcb --- /dev/null +++ b/vscode/keybindings.json @@ -0,0 +1,11 @@ +[ + { + "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 new file mode 100644 index 0000000..149d793 --- /dev/null +++ b/vscode/mds.code-workspace @@ -0,0 +1,32 @@ +{ + "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 new file mode 100644 index 0000000..bb1fb86 --- /dev/null +++ b/vscode/personal.code-workspace @@ -0,0 +1,12 @@ +{ + "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 new file mode 100644 index 0000000..c6ca305 --- /dev/null +++ b/vscode/qiime2-1.code-workspace @@ -0,0 +1,252 @@ +{ + "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 new file mode 100644 index 0000000..c6ca305 --- /dev/null +++ b/vscode/qiime2-2.code-workspace @@ -0,0 +1,252 @@ +{ + "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 new file mode 100644 index 0000000..c6ca305 --- /dev/null +++ b/vscode/qiime2-3.code-workspace @@ -0,0 +1,252 @@ +{ + "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 new file mode 100644 index 0000000..b407f90 --- /dev/null +++ b/vscode/settings.json @@ -0,0 +1,32 @@ +{ + "editor.cursorStyle": "block", + "editor.minimap.enabled": false, + + "telemetry.enableTelemetry": false, + "telemetry.enableCrashReporter": false, + + "workbench.colorTheme": "Base16 Dark Ashes", + "workbench.sideBar.location": "right", + + "window.zoomLevel": 0, + "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", + "git.enabled": false, +} diff --git a/vscode/tasks.json b/vscode/tasks.json new file mode 100644 index 0000000..87ebba5 --- /dev/null +++ b/vscode/tasks.json @@ -0,0 +1,10 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "q2 test", + "type": "shell", + "command": "make test" + } + ] +} diff --git a/home/dot_zlogin b/zsh/zlogin similarity index 100% rename from home/dot_zlogin rename to zsh/zlogin diff --git a/home/dot_zlogout b/zsh/zlogout similarity index 100% rename from home/dot_zlogout rename to zsh/zlogout diff --git a/zsh/zpreztorc b/zsh/zpreztorc new file mode 100644 index 0000000..86fe3bb --- /dev/null +++ b/zsh/zpreztorc @@ -0,0 +1,146 @@ +# +# 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' +zstyle ':completion:*:*' ignored-patterns 'Desktop' 'Downloads' 'Documents' \ + 'Library' 'Movies' 'Music' 'Pictures' 'Public' + +# +# 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/zsh/zprofile b/zsh/zprofile new file mode 100644 index 0000000..1300610 --- /dev/null +++ b/zsh/zprofile @@ -0,0 +1,2 @@ +# Matthew Dillon +# matthewrdillon@gmail.com diff --git a/zsh/zshenv b/zsh/zshenv new file mode 100644 index 0000000..90470ff --- /dev/null +++ b/zsh/zshenv @@ -0,0 +1,102 @@ +# +# 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 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. +export LESS='-F -g -i -M -R -S -w -X -z-4' + +# Set the Less input preprocessor. +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" +fi + +TMPPREFIX="${TMPDIR%/}/zsh" +if [[ ! -d "$TMPPREFIX" ]]; then + mkdir -p "$TMPPREFIX" +fi + +# +# 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=( + $path + + # miniconda + /opt/miniconda3/bin + + # npm + $HOME/.npm-packages/bin + + # yarn + $HOME/.yarn/bin + $HOME/.config/yarn/global/node_modules/.bin + + # rust + $HOME/.cargo/bin + + # misc apps + /Applications/Postgres.app/Contents/Versions/latest/bin + /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/ +) + +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 new file mode 100644 index 0000000..46cc128 --- /dev/null +++ b/zsh/zshrc @@ -0,0 +1,71 @@ +# 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 + +if [[ -s "/opt/miniconda3/etc/profile.d/conda.sh" ]]; then + source /opt/miniconda3/etc/profile.d/conda.sh +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)" +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() { + 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 +}