From d070b2d27a4ee0d8aa7e7c61f0945ae454cc3ae9 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 23 Feb 2020 16:25:07 -0700 Subject: [PATCH] MAINT: vscode et al (#5) --- README.md | 9 +- alacritty.yml | 355 ---------------- aspell.en.pws | 61 --- beets.yaml | 21 - git/gitconfig | 2 +- git/gitignore_global | 1 + install.conf.yaml | 18 +- metabin/generate_vscode_projects.py | 97 +++++ ports/PortIndex | 2 - ports/PortIndex.quick | 1 - ports/office/tasksh/Portfile | 35 -- ports/office/tasksh/files/patch-readline.diff | 42 -- suspend-fix.service | 10 - taskrc | 47 --- tmux.conf | 9 +- vimrc | 138 ------- vscode/keybindings.json | 7 + vscode/projects.json | 380 ++++++++++++++++++ vscode_settings.json => vscode/settings.json | 11 +- vscode/tasks.json | 10 + zsh/zshenv | 9 +- 21 files changed, 531 insertions(+), 734 deletions(-) delete mode 100644 alacritty.yml delete mode 100644 aspell.en.pws delete mode 100644 beets.yaml create mode 100644 metabin/generate_vscode_projects.py delete mode 100644 ports/PortIndex delete mode 100644 ports/PortIndex.quick delete mode 100644 ports/office/tasksh/Portfile delete mode 100644 ports/office/tasksh/files/patch-readline.diff delete mode 100644 suspend-fix.service delete mode 100644 taskrc delete mode 100644 vimrc create mode 100644 vscode/keybindings.json create mode 100644 vscode/projects.json rename vscode_settings.json => vscode/settings.json (55%) create mode 100644 vscode/tasks.json diff --git a/README.md b/README.md index dd74e30..3da342b 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/alacritty.yml b/alacritty.yml deleted file mode 100644 index 27a7974..0000000 --- a/alacritty.yml +++ /dev/null @@ -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~" } diff --git a/aspell.en.pws b/aspell.en.pws deleted file mode 100644 index 465a603..0000000 --- a/aspell.en.pws +++ /dev/null @@ -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 diff --git a/beets.yaml b/beets.yaml deleted file mode 100644 index b446e64..0000000 --- a/beets.yaml +++ /dev/null @@ -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 diff --git a/git/gitconfig b/git/gitconfig index 64abf21..4464f47 100644 --- a/git/gitconfig +++ b/git/gitconfig @@ -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 diff --git a/git/gitignore_global b/git/gitignore_global index 0da0427..018d046 100644 --- a/git/gitignore_global +++ b/git/gitignore_global @@ -1,3 +1,4 @@ *~ .DS_Store .idea +.vscode diff --git a/install.conf.yaml b/install.conf.yaml index b5a0c5d..089d4b4 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -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 diff --git a/metabin/generate_vscode_projects.py b/metabin/generate_vscode_projects.py new file mode 100644 index 0000000..4478d85 --- /dev/null +++ b/metabin/generate_vscode_projects.py @@ -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) diff --git a/ports/PortIndex b/ports/PortIndex deleted file mode 100644 index d546ab7..0000000 --- a/ports/PortIndex +++ /dev/null @@ -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 diff --git a/ports/PortIndex.quick b/ports/PortIndex.quick deleted file mode 100644 index 29cd8c9..0000000 --- a/ports/PortIndex.quick +++ /dev/null @@ -1 +0,0 @@ -tasksh 0 diff --git a/ports/office/tasksh/Portfile b/ports/office/tasksh/Portfile deleted file mode 100644 index 27b95f0..0000000 --- a/ports/office/tasksh/Portfile +++ /dev/null @@ -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 diff --git a/ports/office/tasksh/files/patch-readline.diff b/ports/office/tasksh/files/patch-readline.diff deleted file mode 100644 index a4b8ef5..0000000 --- a/ports/office/tasksh/files/patch-readline.diff +++ /dev/null @@ -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) diff --git a/suspend-fix.service b/suspend-fix.service deleted file mode 100644 index ef7081e..0000000 --- a/suspend-fix.service +++ /dev/null @@ -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 diff --git a/taskrc b/taskrc deleted file mode 100644 index 843f756..0000000 --- a/taskrc +++ /dev/null @@ -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 diff --git a/tmux.conf b/tmux.conf index 6b23ada..76ab997 100644 --- a/tmux.conf +++ b/tmux.conf @@ -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 diff --git a/vimrc b/vimrc deleted file mode 100644 index 697395f..0000000 --- a/vimrc +++ /dev/null @@ -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 l :bnext - -" cycle to previous buffer -nmap h :bprevious - -" 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 :FZF diff --git a/vscode/keybindings.json b/vscode/keybindings.json new file mode 100644 index 0000000..640902d --- /dev/null +++ b/vscode/keybindings.json @@ -0,0 +1,7 @@ +[ + { + "key": "ctrl+w k", + "command": "workbench.action.focusActiveEditorGroup", + "when": "!editorFocus" + } +] \ No newline at end of file diff --git a/vscode/projects.json b/vscode/projects.json new file mode 100644 index 0000000..8b73dae --- /dev/null +++ b/vscode/projects.json @@ -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" + } +] \ No newline at end of file diff --git a/vscode_settings.json b/vscode/settings.json similarity index 55% rename from vscode_settings.json rename to vscode/settings.json index 6832c01..9b74ee8 100644 --- a/vscode_settings.json +++ b/vscode/settings.json @@ -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 } \ No newline at end of file diff --git a/vscode/tasks.json b/vscode/tasks.json new file mode 100644 index 0000000..12178e7 --- /dev/null +++ b/vscode/tasks.json @@ -0,0 +1,10 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "q2 test", + "type": "shell", + "command": "make test" + } + ] +} \ No newline at end of file diff --git a/zsh/zshenv b/zsh/zshenv index 8479bd9..bad57ac 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -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