MAINT: vscode et al (#5)

This commit is contained in:
Matthew Ryan Dillon 2020-02-23 16:25:07 -07:00 committed by GitHub
parent 98c89a360d
commit d070b2d27a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 531 additions and 734 deletions

View file

@ -20,14 +20,19 @@ $ nix-env -i \
htop \
mr \
postgresql \
reattach-to-user-namespace \
silver-searcher \
tmux \
vim \
wget \
xz
$ base16_ashes
$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
$ vim +PlugInstall
$ code --install-extension AndrsDC.base16-themes
$ code --install-extension lextudio.restructuredtext
$ code --install-extension ms-python.python
$ code --install-extension vscodevim.vim
$ code --install-extension alefragnani.project-manager
$ code --install-extension donjayamanne.githistory
$ mr checkout
$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
$ sudo sh Miniconda3-latest-MacOSX-x86_64.sh -p /opt/miniconda3 -b

View file

@ -1,355 +0,0 @@
window:
dimensions:
columns: 0
lines: 0
padding:
x: 2
y: 2
decorations: full
scrolling:
history: 10000
multiplier: 3
auto_scroll: false
tabspaces: 8
font:
normal:
family: Anonymous Pro
bold:
family: Anonymous Pro
italic:
family: Anonymous Pro
size: 12.0
offset:
x: 0
y: 0
glyph_offset:
x: 0
y: 0
draw_bold_text_with_bright_colors: true
#### Unmodified from here down:
# Colors (Tomorrow Night Bright)
colors:
# Default colors
primary:
background: '0x000000'
foreground: '0xeaeaea'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not present.
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
# is `false`, the normal foreground color will be used.
#
#dim_foreground: '0x9a9a9a'
#bright_foreground: '0xffffff'
# Cursor colors
#
# These will only be used when the `custom_cursor_colors` field is set to `true`.
cursor:
text: '0x000000'
cursor: '0xffffff'
# Normal colors
normal:
black: '0x000000'
red: '0xd54e53'
green: '0xb9ca4a'
yellow: '0xe6c547'
blue: '0x7aa6da'
magenta: '0xc397d8'
cyan: '0x70c0ba'
white: '0xffffff'
# Bright colors
bright:
black: '0x666666'
red: '0xff3334'
green: '0x9ec400'
yellow: '0xe7c547'
blue: '0x7aa6da'
magenta: '0xb77ee0'
cyan: '0x54ced6'
white: '0xffffff'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
dim:
black: '0x333333'
red: '0xf2777a'
green: '0x99cc99'
yellow: '0xffcc66'
blue: '0x6699cc'
magenta: '0xcc99cc'
cyan: '0x66cccc'
white: '0xdddddd'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
#indexed_colors:
# - { index: 16, color: '0x000000' }
# Visual Bell
#
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# rung, the terminal background will be set to white and transition back to the
# default background color. You can control the rate of this transition by
# setting the `duration` property (represented in milliseconds). You can also
# configure the transition function by setting the `animation` property.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#
# Specifying a `duration` of `0` will disable the visual bell.
visual_bell:
animation: EaseOutExpo
duration: 0
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
background_opacity: 1.0
# Mouse bindings
#
# Available fields:
# - mouse
# - action
# - mods (optional)
#
# Values for `mouse`:
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# All available `mods` and `action` values are documented in the key binding
# section.
mouse_bindings:
- { mouse: Middle, action: PasteSelection }
mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
double_click: { threshold: 300 }
triple_click: { threshold: 300 }
selection:
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
# When set to `true`, selected text will be copied to both the primary and
# the selection clipboard. Otherwise, it will only be copied to the selection
# clipboard.
save_to_clipboard: false
dynamic_title: true
# Live config reload (changes require restart)
live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
# Entries in `shell.args` are passed unmodified as arguments to the shell.
#
#shell:
# program: /bin/bash
# args:
# - --login
# Key bindings
#
# Key bindings are specified as a list of objects. Each binding will specify
# a key and modifiers required to trigger it, terminal modes where the binding
# is applicable, and what should be done when the key binding fires. It can
# either send a byte sequnce to the running application (`chars`), execute
# a predefined action (`action`) or fork and execute a specified command plus
# arguments (`command`).
#
# Example:
# `- { key: V, mods: Command, action: Paste }`
#
# Available fields:
# - key
# - mods (optional)
# - chars | action | command (exactly one required)
# - mode (optional)
#
# Values for `key`:
# - `A` -> `Z`
# - `F1` -> `F12`
# - `Key1` -> `Key0`
#
# A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
#
# Values for `mods`:
# - Command
# - Control
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
# Whitespace and capitalization is relevant and must match the example.
#
# Values for `chars`:
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences.
# To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run
# the command `showkey -a` outside of tmux.
# Note that applications use terminfo to map escape sequences back to
# keys. It is therefore required to update the terminfo when
# changing an escape sequence.
#
# Values for `action`:
# - Paste
# - PasteSelection
# - Copy
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# - Hide
# - Quit
#
# Values for `command`:
# The `command` field must be a map containing a `program` string and
# an `args` array of command line parameter strings.
#
# Example:
# `command: { program: "alacritty", args: ["-e", "vttest"] }`
#
# Values for `mode`:
# - ~AppCursor
# - AppCursor
# - ~AppKeypad
# - AppKeypad
key_bindings:
- { key: V, mods: Control|Shift, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
- { key: Paste, action: Paste }
- { key: Copy, action: Copy }
- { key: Q, mods: Command, action: Quit }
- { key: W, mods: Command, action: Quit }
- { key: Insert, mods: Shift, action: PasteSelection }
- { key: Key0, mods: Control, action: ResetFontSize }
- { key: Equals, mods: Control, action: IncreaseFontSize }
- { key: Subtract, mods: Control, action: DecreaseFontSize }
- { key: Home, chars: "\x1bOH", mode: AppCursor }
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
- { key: End, chars: "\x1bOF", mode: AppCursor }
- { key: End, chars: "\x1b[F", mode: ~AppCursor }
- { key: PageUp, mods: Shift, chars: "\x1b[5;2~" }
- { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
- { key: PageUp, chars: "\x1b[5~" }
- { key: PageDown, mods: Shift, chars: "\x1b[6;2~" }
- { key: PageDown, mods: Control, chars: "\x1b[6;5~" }
- { key: PageDown, chars: "\x1b[6~" }
- { key: Tab, mods: Shift, chars: "\x1b[Z" }
- { key: Back, chars: "\x7f" }
- { key: Back, mods: Alt, chars: "\x1b\x7f" }
- { key: Insert, chars: "\x1b[2~" }
- { key: Delete, chars: "\x1b[3~" }
- { key: Left, mods: Shift, chars: "\x1b[1;2D" }
- { key: Left, mods: Control, chars: "\x1b[1;5D" }
- { key: Left, mods: Alt, chars: "\x1b[1;3D" }
- { key: Left, chars: "\x1b[D", mode: ~AppCursor }
- { key: Left, chars: "\x1bOD", mode: AppCursor }
- { key: Right, mods: Shift, chars: "\x1b[1;2C" }
- { key: Right, mods: Control, chars: "\x1b[1;5C" }
- { key: Right, mods: Alt, chars: "\x1b[1;3C" }
- { key: Right, chars: "\x1b[C", mode: ~AppCursor }
- { key: Right, chars: "\x1bOC", mode: AppCursor }
- { key: Up, mods: Shift, chars: "\x1b[1;2A" }
- { key: Up, mods: Control, chars: "\x1b[1;5A" }
- { key: Up, mods: Alt, chars: "\x1b[1;3A" }
- { key: Up, chars: "\x1b[A", mode: ~AppCursor }
- { key: Up, chars: "\x1bOA", mode: AppCursor }
- { key: Down, mods: Shift, chars: "\x1b[1;2B" }
- { key: Down, mods: Control, chars: "\x1b[1;5B" }
- { key: Down, mods: Alt, chars: "\x1b[1;3B" }
- { key: Down, chars: "\x1b[B", mode: ~AppCursor }
- { key: Down, chars: "\x1bOB", mode: AppCursor }
- { key: F1, chars: "\x1bOP" }
- { key: F2, chars: "\x1bOQ" }
- { key: F3, chars: "\x1bOR" }
- { key: F4, chars: "\x1bOS" }
- { key: F5, chars: "\x1b[15~" }
- { key: F6, chars: "\x1b[17~" }
- { key: F7, chars: "\x1b[18~" }
- { key: F8, chars: "\x1b[19~" }
- { key: F9, chars: "\x1b[20~" }
- { key: F10, chars: "\x1b[21~" }
- { key: F11, chars: "\x1b[23~" }
- { key: F12, chars: "\x1b[24~" }
- { key: F1, mods: Shift, chars: "\x1b[1;2P" }
- { key: F2, mods: Shift, chars: "\x1b[1;2Q" }
- { key: F3, mods: Shift, chars: "\x1b[1;2R" }
- { key: F4, mods: Shift, chars: "\x1b[1;2S" }
- { key: F5, mods: Shift, chars: "\x1b[15;2~" }
- { key: F6, mods: Shift, chars: "\x1b[17;2~" }
- { key: F7, mods: Shift, chars: "\x1b[18;2~" }
- { key: F8, mods: Shift, chars: "\x1b[19;2~" }
- { key: F9, mods: Shift, chars: "\x1b[20;2~" }
- { key: F10, mods: Shift, chars: "\x1b[21;2~" }
- { key: F11, mods: Shift, chars: "\x1b[23;2~" }
- { key: F12, mods: Shift, chars: "\x1b[24;2~" }
- { key: F1, mods: Control, chars: "\x1b[1;5P" }
- { key: F2, mods: Control, chars: "\x1b[1;5Q" }
- { key: F3, mods: Control, chars: "\x1b[1;5R" }
- { key: F4, mods: Control, chars: "\x1b[1;5S" }
- { key: F5, mods: Control, chars: "\x1b[15;5~" }
- { key: F6, mods: Control, chars: "\x1b[17;5~" }
- { key: F7, mods: Control, chars: "\x1b[18;5~" }
- { key: F8, mods: Control, chars: "\x1b[19;5~" }
- { key: F9, mods: Control, chars: "\x1b[20;5~" }
- { key: F10, mods: Control, chars: "\x1b[21;5~" }
- { key: F11, mods: Control, chars: "\x1b[23;5~" }
- { key: F12, mods: Control, chars: "\x1b[24;5~" }
- { key: F1, mods: Alt, chars: "\x1b[1;6P" }
- { key: F2, mods: Alt, chars: "\x1b[1;6Q" }
- { key: F3, mods: Alt, chars: "\x1b[1;6R" }
- { key: F4, mods: Alt, chars: "\x1b[1;6S" }
- { key: F5, mods: Alt, chars: "\x1b[15;6~" }
- { key: F6, mods: Alt, chars: "\x1b[17;6~" }
- { key: F7, mods: Alt, chars: "\x1b[18;6~" }
- { key: F8, mods: Alt, chars: "\x1b[19;6~" }
- { key: F9, mods: Alt, chars: "\x1b[20;6~" }
- { key: F10, mods: Alt, chars: "\x1b[21;6~" }
- { key: F11, mods: Alt, chars: "\x1b[23;6~" }
- { key: F12, mods: Alt, chars: "\x1b[24;6~" }
- { key: F1, mods: Super, chars: "\x1b[1;3P" }
- { key: F2, mods: Super, chars: "\x1b[1;3Q" }
- { key: F3, mods: Super, chars: "\x1b[1;3R" }
- { key: F4, mods: Super, chars: "\x1b[1;3S" }
- { key: F5, mods: Super, chars: "\x1b[15;3~" }
- { key: F6, mods: Super, chars: "\x1b[17;3~" }
- { key: F7, mods: Super, chars: "\x1b[18;3~" }
- { key: F8, mods: Super, chars: "\x1b[19;3~" }
- { key: F9, mods: Super, chars: "\x1b[20;3~" }
- { key: F10, mods: Super, chars: "\x1b[21;3~" }
- { key: F11, mods: Super, chars: "\x1b[23;3~" }
- { key: F12, mods: Super, chars: "\x1b[24;3~" }

View file

@ -1,61 +0,0 @@
personal_ws-1.1 en 60
dada
py
TSV
tsv
demultiplex
Jaccard
qiime
url
ASV
OTUs
cli
saveas
dev
metadata
filepath
clade
demultiplexed
Miniconda
subsample
phylogenetic
wget
genotype
informatics
dir
qza
subsampled
conda
denoising
microbiome
confounders
covariate
Orchanian
PairedEndSequencesWithQuality
PCoA
qzv
MiSeq
Illumina
covariates
SequencesWithQuality
dataset
genotypes
macOS
Pielou's
SampleData
denoised
osx
linux
EMP
linenos
unifrac
UniFrac
univariate
differentially
ASVs
yml
env
denoise
demultiplexing
shannon
demuliplexed

View file

@ -1,21 +0,0 @@
directory: ~/Music/beets/
library: ~/Music/beets/mrdlib.blb
import:
copy: true
write: true
resume: ask
art: true
quiet_fallback: skip
timid: true
log: beetslog.txt
art_filename: albumart
pluginpath:
- ~/Music/beets/myplugins
threaded: false
color: true

View file

@ -2,7 +2,7 @@
name = Matthew Dillon
email = matthewrdillon@gmail.com
[core]
editor = vim
editor = code --wait
excludesfile = /Users/matthew/.gitignore_global
[color]
diff = auto

View file

@ -1,3 +1,4 @@
*~
.DS_Store
.idea
.vscode

View file

@ -11,16 +11,16 @@
~/.zprofile: zsh/zprofile
~/.zshenv: zsh/zshenv
~/.zshrc: zsh/zshrc
~/.aspell.en.pws: aspell.en.pws
~/.vimrc: vimrc
~/.mrconfig: mrconfig
~/.taskrc: taskrc
~/.config/beets/config.yaml:
~/Library/Application Support/Code/User/settings.json:
create: true
path: beets.yaml
~/.config/alacritty/alacritty.yml:
path: vscode/settings.json
~/Library/Application Support/Code/User/keybindings.json:
create: true
path: alacritty.yml
~/.config/Code/User/settings.json:
path: vscode/keybindings.json
~/Library/Application Support/Code/User/tasks.json:
create: true
path: vscode_settings.json
path: vscode/tasks.json
~/Library/Application Support/Code/User/globalStorage/alefragnani.project-manager/projects.json:
create: true
path: vscode/projects.json

View file

@ -0,0 +1,97 @@
import json
qiime2_projects = [
'Keemei',
'busywork',
'data.qiime2.org',
'dev-docs',
'discourse-unhandled-tagger',
'docs',
'environment-files',
'galaxy',
'library',
'logos',
'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-phylogeny',
'q2-quality-control',
'q2-quality-filter',
'q2-sample-classifier',
'q2-taxa',
'q2-types',
'q2-vsearch',
'q2cli',
'q2cwl',
'q2galaxy',
'q2studio',
'q2templates',
'q2view',
'qiime2',
'qiime2.github.io',
'template-repo',
'view.qiime2.org',
'vm-playbooks',
'workshop-playbooks',
'workshops.qiime2.org',
]
thermokarst_projects = [
'ccdb-api',
'ccdb-web',
'fathm',
'tucotuco',
]
cap_lab_projects = [
'caporaso-lab.github.io',
'pretrained-feature-classifiers',
]
gregcaporaso_projects = [
'caporaso-lab-secrets',
'qiime2-meta-figures',
]
projects = []
def record(name, rootPath, group):
return {
'name': name,
'rootPath': rootPath,
'paths': [],
'group': group,
'enabled': True,
}
Record = lambda x, y, z: record(x.lower(), '/'.join([y, x]), z)
for proj in qiime2_projects:
projects.append(Record(proj, '$home/src/qiime2', 'qiime2'))
for proj in thermokarst_projects:
projects.append(Record(proj, '$home/src/thermokarst', 'thermokarst'))
for proj in cap_lab_projects:
projects.append(Record(proj, '$home/src/caporaso-lab', 'caporaso-lab'))
for proj in gregcaporaso_projects:
projects.append(Record(proj, '$home/src/gregcaporaso', 'gregcaporaso'))
projects.append(record('dotfiles', '$home/.dotfiles', ''))
with open('vscode/projects.json', 'w') as fh:
json.dump(projects, fh, sort_keys=True, indent=4)

View file

@ -1,2 +0,0 @@
tasksh 545
variants {debug universal} depends_build path:bin/cmake:cmake portdir office/tasksh description {tasksh is a shell command that wraps Taskwarrior commands} homepage http://tasktools.org/projects/tasksh.html depends_run port:task epoch 0 platforms darwin name tasksh depends_lib port:readline maintainers nomaintainer license MIT long_description {{tasksh is a shell command that wraps Taskwarrior commands.} It is intended to provide simpler Taskwarrior access, and add a few new features of its own.} categories office version 1.2.0 revision 1

View file

@ -1 +0,0 @@
tasksh 0

View file

@ -1,35 +0,0 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
PortGroup cmake 1.0
name tasksh
version 1.2.0
revision 1
categories office
platforms darwin
license MIT
maintainers nomaintainer
description tasksh is a shell command that wraps Taskwarrior commands
long_description ${description}. \
It is intended to provide simpler Taskwarrior access, and \
add a few new features of its own.
homepage http://tasktools.org/projects/tasksh.html
master_sites http://taskwarrior.org/download/
checksums sha1 f3171552d30e811227607816e7c9638afd7b6d71 \
rmd160 2aa4b5480f3b63a50d79df80bafc275bf2ee2ea7 \
sha256 6e42f949bfd7fbdde4870af0e7b923114cc96c4344f82d9d924e984629e21ffd
patchfiles patch-readline.diff
post-patch {
reinplace -E "s,@@PREFIX@@,${prefix},g" ${worksrcpath}/cmake/Modules/FindReadline.cmake
}
depends_lib port:readline
depends_run port:task
cmake.out_of_source yes

View file

@ -1,42 +0,0 @@
--- cmake/Modules/FindReadline.cmake.orig 2015-12-07 11:04:57.000000000 +0100
+++ cmake/Modules/FindReadline.cmake 2015-12-07 11:05:32.000000000 +0100
@@ -11,11 +11,7 @@
# So we look for another one by default
IF (APPLE OR FREEBSD)
FIND_PATH (READLINE_INCLUDE_DIR NAMES readline/readline.h PATHS
- /usr/include/
- /sw/include
- /opt/local/include
- /opt/include
- /usr/local/include
+ @@PREFIX@@/include
NO_DEFAULT_PATH
)
ENDIF (APPLE OR FREEBSD)
@@ -26,11 +22,7 @@
# So we look for another one by default
IF (APPLE OR FREEBSD)
FIND_LIBRARY (READLINE_readline_LIBRARY NAMES readline PATHS
- /usr/lib
- /sw/lib
- /opt/local/lib
- /opt/lib
- /usr/local/lib
+ @@PREFIX@@/lib
NO_DEFAULT_PATH
)
ENDIF (APPLE OR FREEBSD)
@@ -39,12 +31,7 @@
# Sometimes readline really needs ncurses
IF (APPLE OR FREEBSD)
FIND_LIBRARY (READLINE_ncurses_LIBRARY NAMES ncurses PATHS
- /usr/lib
- /sw/lib
- /opt/local/lib
- /opt/lib
- /usr/local/lib
- /usr/lib
+ @@PREFIX@@/lib
NO_DEFAULT_PATH
)
ENDIF (APPLE OR FREEBSD)

View file

@ -1,10 +0,0 @@
# /etc/systemd/system/
[Unit]
Description=Fix for the suspend issue
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo XHC1 > /proc/acpi/wakeup && echo LID0 > /proc/acpi/wakeup"
[Install]
WantedBy=multi-user.target

47
taskrc
View file

@ -1,47 +0,0 @@
### general
data.location=~/.task
include /Users/matthew/Dropbox/task/taskrc
### colors
include /opt/local/share/doc/task/rc/no-color.theme
color.overdue=bold white on color2
color.active=color0 on color4
### reports
# customize `next`
report.next.filter=status:pending limit:10 -reading project.not:shopping
report.next.columns=id,depends,project,tags,priority,scheduled.relative,due.relative,description.count,urgency
report.next.labels=id,depends,project,tags,priority,scheduled,due,description,urgency
# `full`
report.full.description=all open, grouped by project
report.full.sort=project+/,urgency
report.full.filter=status:pending
report.full.columns=id,depends,project,tags,priority,scheduled.relative,due.relative,description.count,urgency
report.full.labels=id,depends,project,tags,priority,scheduled,due,description,urgency
# `inbox`
report.inbox.description=Incoming unfiled todos
report.inbox.filter=status:pending project:
report.inbox.sort=recur+,urgency-
report.inbox.columns=id,depends,priority,project,due.relative,description.count,urgency
report.inbox.labels=id,depends,priority,project,due.relative,description,urgency
# tasksh
uda.reviewed.type=date
uda.reviewed.label=Reviewed
report._reviewed.description=Tasksh review report
report._reviewed.columns=uuid
report._reviewed.sort=reviewed+,modified+
report._reviewed.filter=(reviewed.none: or reviewed.before:now-6days) and (+PENDING or +WAITING) and project.not:reading
### contexts
# work
context.work=project.not:personal
# personal
context.personal=project.not:work

View file

@ -2,6 +2,7 @@
setw -g automatic-rename
set-option -g default-shell /bin/zsh
set -g default-command "reattach-to-user-namespace -l ${SHELL}"
# remap prefix to Control + a
set -g prefix C-a
@ -23,9 +24,6 @@ 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
# hjkl pane traversal
set-window-option -g mode-keys vi
bind h select-pane -L
bind j select-pane -D
@ -48,5 +46,6 @@ set-option -g destroy-unattached 'off'
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
bind-key -T copy-mode-vi 'r' send -X rectangle-toggle
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

138
vimrc
View file

@ -1,138 +0,0 @@
call plug#begin()
" Color/theme integration
Plug 'danielwe/base16-vim'
" Time-tracking
Plug 'wakatime/vim-wakatime'
" Python Flake8 support
Plug 'nvie/vim-flake8'
" Status bar
Plug 'vim-airline/vim-airline'
" Color/theme integration
Plug 'vim-airline/vim-airline-themes'
" Git integration
Plug 'airblade/vim-gitgutter'
" Whitespace handling
Plug 'ntpeters/vim-better-whitespace'
" Mustache/handlebars support
Plug 'mustache/vim-mustache-handlebars'
" the silver searcher
Plug 'mileszs/ack.vim'
" fzf setup
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
call plug#end()
set t_Co=256
if filereadable(expand("~/.vimrc_background"))
let base16colorspace=256
source ~/.vimrc_background
endif
set background=dark
let g:airline_theme='base16'
" default encoding
set encoding=utf-8
" Enable file type detection and do language-dependent indenting.
filetype plugin indent on
" turn on syntax highlighting
syntax enable
syntax on
" turn on line numbering
set number
set relativenumber
" make backspace behave as expected
set backspace=indent,eol,start
" set up whitespace substitutions
set list
set listchars=tab:▸\ ,extends:>,precedes:<,trail:~
" highlight current line
set cursorline
" show matching ({[]})
set showmatch
" show a vertical bar on right side of editor
set colorcolumn=80
highlight LineNr ctermfg=DarkGrey
" number of visual spaces per tab
set tabstop=4
" number of spaces in tab when editing
set softtabstop=4
" tabs are spaces
set expandtab
" self-explanatory
set autoindent
"
" show airline all the time
set laststatus=2
" set up central backups
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
" change the mapleader from \ to ,
let mapleader=" "
" PEP8 formatting
au BufNewFile,BufRead *.py
\ set tabstop=4 |
\ set softtabstop=4 |
\ set shiftwidth=4 |
\ set textwidth=79 |
\ set expandtab |
\ set autoindent |
\ set fileformat=unix
" Everybody else
au BufNewFile,BufRead *.js,*.html,*.css
\ set tabstop=2 |
\ set softtabstop=2 |
\ set shiftwidth=2
" Stop the YAML madness
autocmd FileType yaml setl indentkeys-=<:>
" show open buffers in airline
let g:airline#extensions#tabline#enabled = 1
" show just the filename
let g:airline#extensions#tabline#fnamemod = ':t'
" cycle to next buffer
nmap <leader>l :bnext<CR>
" cycle to previous buffer
nmap <leader>h :bprevious<CR>
" flake8 config
let g:flake8_show_in_gutter = 1
let g:flake8_error_marker = 'EE'
let g:flake8_warning_marker = 'WW'
" Inform ack.vim that we are actually using the_silver_searcher
let g:ackprg = 'ag --vimgrep'
" relative numbers in normal mode, absolute in insert
augroup numbertoggle
autocmd!
autocmd BufEnter,FocusGained,InsertLeave * set relativenumber
autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber
augroup END
" fzf config
map <leader><Tab> :FZF<CR>

7
vscode/keybindings.json Normal file
View file

@ -0,0 +1,7 @@
[
{
"key": "ctrl+w k",
"command": "workbench.action.focusActiveEditorGroup",
"when": "!editorFocus"
}
]

380
vscode/projects.json Normal file
View file

@ -0,0 +1,380 @@
[
{
"enabled": true,
"group": "qiime2",
"name": "keemei",
"paths": [],
"rootPath": "$home/src/qiime2/Keemei"
},
{
"enabled": true,
"group": "qiime2",
"name": "busywork",
"paths": [],
"rootPath": "$home/src/qiime2/busywork"
},
{
"enabled": true,
"group": "qiime2",
"name": "data.qiime2.org",
"paths": [],
"rootPath": "$home/src/qiime2/data.qiime2.org"
},
{
"enabled": true,
"group": "qiime2",
"name": "dev-docs",
"paths": [],
"rootPath": "$home/src/qiime2/dev-docs"
},
{
"enabled": true,
"group": "qiime2",
"name": "discourse-unhandled-tagger",
"paths": [],
"rootPath": "$home/src/qiime2/discourse-unhandled-tagger"
},
{
"enabled": true,
"group": "qiime2",
"name": "docs",
"paths": [],
"rootPath": "$home/src/qiime2/docs"
},
{
"enabled": true,
"group": "qiime2",
"name": "environment-files",
"paths": [],
"rootPath": "$home/src/qiime2/environment-files"
},
{
"enabled": true,
"group": "qiime2",
"name": "galaxy",
"paths": [],
"rootPath": "$home/src/qiime2/galaxy"
},
{
"enabled": true,
"group": "qiime2",
"name": "library",
"paths": [],
"rootPath": "$home/src/qiime2/library"
},
{
"enabled": true,
"group": "qiime2",
"name": "logos",
"paths": [],
"rootPath": "$home/src/qiime2/logos"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-alignment",
"paths": [],
"rootPath": "$home/src/qiime2/q2-alignment"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-composition",
"paths": [],
"rootPath": "$home/src/qiime2/q2-composition"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-cutadapt",
"paths": [],
"rootPath": "$home/src/qiime2/q2-cutadapt"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-dada2",
"paths": [],
"rootPath": "$home/src/qiime2/q2-dada2"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-deblur",
"paths": [],
"rootPath": "$home/src/qiime2/q2-deblur"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-demux",
"paths": [],
"rootPath": "$home/src/qiime2/q2-demux"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-diversity",
"paths": [],
"rootPath": "$home/src/qiime2/q2-diversity"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-diversity-lib",
"paths": [],
"rootPath": "$home/src/qiime2/q2-diversity-lib"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-emperor",
"paths": [],
"rootPath": "$home/src/qiime2/q2-emperor"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-feature-classifier",
"paths": [],
"rootPath": "$home/src/qiime2/q2-feature-classifier"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-feature-table",
"paths": [],
"rootPath": "$home/src/qiime2/q2-feature-table"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-fragment-insertion",
"paths": [],
"rootPath": "$home/src/qiime2/q2-fragment-insertion"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-gneiss",
"paths": [],
"rootPath": "$home/src/qiime2/q2-gneiss"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-longitudinal",
"paths": [],
"rootPath": "$home/src/qiime2/q2-longitudinal"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-metadata",
"paths": [],
"rootPath": "$home/src/qiime2/q2-metadata"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-phylogeny",
"paths": [],
"rootPath": "$home/src/qiime2/q2-phylogeny"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-quality-control",
"paths": [],
"rootPath": "$home/src/qiime2/q2-quality-control"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-quality-filter",
"paths": [],
"rootPath": "$home/src/qiime2/q2-quality-filter"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-sample-classifier",
"paths": [],
"rootPath": "$home/src/qiime2/q2-sample-classifier"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-taxa",
"paths": [],
"rootPath": "$home/src/qiime2/q2-taxa"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-types",
"paths": [],
"rootPath": "$home/src/qiime2/q2-types"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2-vsearch",
"paths": [],
"rootPath": "$home/src/qiime2/q2-vsearch"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2cli",
"paths": [],
"rootPath": "$home/src/qiime2/q2cli"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2cwl",
"paths": [],
"rootPath": "$home/src/qiime2/q2cwl"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2galaxy",
"paths": [],
"rootPath": "$home/src/qiime2/q2galaxy"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2studio",
"paths": [],
"rootPath": "$home/src/qiime2/q2studio"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2templates",
"paths": [],
"rootPath": "$home/src/qiime2/q2templates"
},
{
"enabled": true,
"group": "qiime2",
"name": "q2view",
"paths": [],
"rootPath": "$home/src/qiime2/q2view"
},
{
"enabled": true,
"group": "qiime2",
"name": "qiime2",
"paths": [],
"rootPath": "$home/src/qiime2/qiime2"
},
{
"enabled": true,
"group": "qiime2",
"name": "qiime2.github.io",
"paths": [],
"rootPath": "$home/src/qiime2/qiime2.github.io"
},
{
"enabled": true,
"group": "qiime2",
"name": "template-repo",
"paths": [],
"rootPath": "$home/src/qiime2/template-repo"
},
{
"enabled": true,
"group": "qiime2",
"name": "view.qiime2.org",
"paths": [],
"rootPath": "$home/src/qiime2/view.qiime2.org"
},
{
"enabled": true,
"group": "qiime2",
"name": "vm-playbooks",
"paths": [],
"rootPath": "$home/src/qiime2/vm-playbooks"
},
{
"enabled": true,
"group": "qiime2",
"name": "workshop-playbooks",
"paths": [],
"rootPath": "$home/src/qiime2/workshop-playbooks"
},
{
"enabled": true,
"group": "qiime2",
"name": "workshops.qiime2.org",
"paths": [],
"rootPath": "$home/src/qiime2/workshops.qiime2.org"
},
{
"enabled": true,
"group": "thermokarst",
"name": "ccdb-api",
"paths": [],
"rootPath": "$home/src/thermokarst/ccdb-api"
},
{
"enabled": true,
"group": "thermokarst",
"name": "ccdb-web",
"paths": [],
"rootPath": "$home/src/thermokarst/ccdb-web"
},
{
"enabled": true,
"group": "thermokarst",
"name": "fathm",
"paths": [],
"rootPath": "$home/src/thermokarst/fathm"
},
{
"enabled": true,
"group": "thermokarst",
"name": "tucotuco",
"paths": [],
"rootPath": "$home/src/thermokarst/tucotuco"
},
{
"enabled": true,
"group": "caporaso-lab",
"name": "caporaso-lab.github.io",
"paths": [],
"rootPath": "$home/src/caporaso-lab/caporaso-lab.github.io"
},
{
"enabled": true,
"group": "caporaso-lab",
"name": "pretrained-feature-classifiers",
"paths": [],
"rootPath": "$home/src/caporaso-lab/pretrained-feature-classifiers"
},
{
"enabled": true,
"group": "gregcaporaso",
"name": "caporaso-lab-secrets",
"paths": [],
"rootPath": "$home/src/gregcaporaso/caporaso-lab-secrets"
},
{
"enabled": true,
"group": "gregcaporaso",
"name": "qiime2-meta-figures",
"paths": [],
"rootPath": "$home/src/gregcaporaso/qiime2-meta-figures"
},
{
"enabled": true,
"group": "",
"name": "dotfiles",
"paths": [],
"rootPath": "$home/.dotfiles"
}
]

View file

@ -1,9 +1,14 @@
{
"editor.renderWhitespace": "all",
"editor.cursorStyle": "block",
"editor.minimap.enabled": false,
"telemetry.enableTelemetry": false,
"telemetry.enableCrashReporter": false,
"workbench.colorTheme": "Base16 Dark Ashes",
"terminal.integrated.shell.linux": "/usr/bin/zsh",
"window.zoomLevel": 0
"window.zoomLevel": 0,
"window.restoreFullscreen": true,
"python.jediEnabled": false
}

10
vscode/tasks.json Normal file
View file

@ -0,0 +1,10 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "q2 test",
"type": "shell",
"command": "make test"
}
]
}

View file

@ -20,8 +20,8 @@ fi
# Editors
#
export EDITOR='vim'
export VISUAL='vim'
export EDITOR='code'
export VISUAL='code'
export PAGER='less'
#
@ -84,9 +84,14 @@ path=(
# miniconda
/opt/miniconda3/bin
# yarn
$HOME/.yarn/bin
$HOME/.config/yarn/global/node_modules/.bin
# misc apps
/Applications/Postgres.app/Contents/Versions/12/bin/
/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/
)
export -U PATH