Compare commits

...

5 Commits

Author SHA1 Message Date
michael 2b18907902 windows config update 2023-04-15 13:46:27 -07:00
michael 7a2bb306fd add stuff from win 2023-04-15 10:51:41 -07:00
michael 3354c1c8f1 ignore windows stuff 2023-04-15 10:48:43 -07:00
michael cf0d26c454 ocf script 2023-03-20 16:32:49 -07:00
michael b626201d51 more stuff 2023-03-20 16:27:43 -07:00
10 changed files with 467 additions and 68 deletions

121
.gitignore vendored
View File

@ -1,5 +1,6 @@
# other stuff # other stuff
*.swp *.swp
*.exe
# General # General
.DS_Store .DS_Store
@ -67,3 +68,123 @@ $RECYCLE.BIN/
# .nfs files are created when an open file is removed but is still being accessed # .nfs files are created when an open file is removed but is still being accessed
.nfs* .nfs*
# visual code
/*.vsix
# .vscode/settings.json
.vscode-test
.lh
# Logs
logs
*.log
npm-debug.log*
# Runtime data
pids
*.pid
*.seed
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules
jspm_packages
# Optional npm cache directory
.npm
# Optional REPL history
.node_repl_history
#Macos
.DS_Store
## CLJS
.shadow-cljs/
lib/
cljs-out/
test-out/
# This and that
.nrepl-port
dist/
pom.xml
.idea
*.iml
*.bak
## TS
out/
html/main.js
tsconfig.tsbuildinfo
html/main.js.map
# Test reporter
junit/test-results.xml
# Don't know what this is
report.*
# clojure-lsp
.lsp
output.calva-repl
.clj-kondo
/clojure-lsp*
# MkDocs
/site/
# Calva dev
clojure.tmLanguage.json
.cpcache/
backup/
# Calva grammars (running the atom-ci docker image locally)
src/calva-fmt/atom-language-clojure/.cache/
src/calva-fmt/atom-language-clojure/.bash_history
# Leiningen
.lein-repl-history
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk

View File

@ -80,9 +80,14 @@ FocusOrOpen(name, launchExec:=-1)
Run, %launchExec% Run, %launchExec%
} }
^!e::FocusOrOpen("gvim.exe", "gvim.bat") ; ^!e::FocusOrOpen("gvim.exe", "gvim.bat")
^!e::FocusOrOpen("code.exe", "code.cmd")
^!v::FocusOrOpen("code.exe", "code.cmd") ^!v::FocusOrOpen("code.exe", "code.cmd")
^!t::FocusOrOpen("windowsterminal.exe", "wt.exe") ^!t::FocusOrOpen("windowsterminal.exe", "wt.exe")
^!o::FocusOrOpen("Obsidian.exe", "Obsidian") ^!o::FocusOrOpen("Obsidian.exe", "Obsidian")
^!w::FocusOrOpen("brave.exe") ^!w::FocusOrOpen("brave.exe")
^!s::FocusOrOpen("signal.exe", "Signal")
^!m::FocusOrOpen("spotify.exe", "Spotify")
^!j::FocusOrOpen("idea.exe", "idea.bat")
^!n::FocusOrOpen("nvim-qt.exe", "nvim-qt")

View File

@ -1,5 +1,11 @@
-- check for vscode nvim plugin
-- (https://github.com/vscode-neovim/vscode-neovim)
if not vim.g.vscode then
-- aliases -- aliases
local o = vim.o local o = vim.o
local c = vim.cmd local c = vim.cmd
local map = vim.api.nvim_set_keymap local map = vim.api.nvim_set_keymap
@ -8,26 +14,36 @@ local map = vim.api.nvim_set_keymap
o.termguicolors = true o.termguicolors = true
o.mouse = 'a' o.mouse = 'a'
o.autoindent = true -- o.autoindent = true
o.smartindent = true -- replacing autoindent with this
o.wrap = true o.wrap = true
o.nobinary = true o.nobinary = true
o.relativenumber = true o.relativenumber = true
o.tabstop = 4 o.tabstop = 4
o.shiftwidth = 4 o.shiftwidth = 4
o.expandtab = true
-- NOTE: pcall prevents plugin system from shitting itself on first load
if not pcall(function()
c.colorscheme 'catppuccin' c.colorscheme 'catppuccin'
end) then
print("Failed to load colorscheme - probably has not been installed")
end
-- keybinds -- keybinds
-- file management -- file management
map('n', '<c-t>', ':CHADopen<cr>', {silent = true}) map('n', '<c-t>', ':CHADopen<cr>', {silent = true})
map('n', '<c-`>', ':ToggleTerm<cr>', {silent = true}) map('n', '<c-`>', ':ToggleTerm direction="float"<cr>', {silent = true})
-- exit terminal requires <Cmd> prefix -- exit terminal requires <Cmd> prefix
map('t', '<c-`>', '<Cmd>:ToggleTerm<cr>', {silent = true}) map('t', '<c-`>', '<Cmd>:ToggleTerm<cr>', {silent = true})
map('n', '<Space>gs', ':Telescope git_status<cr>', {silent = true}) map('n', '<Space>gs', ':Telescope git_status<cr>', {silent = true})
map('n', '<Space>gc', ':Telescope git_commits<cr>', {silent = true}) map('n', '<Space>gc', ':Telescope git_commits<cr>', {silent = true})
map('n', '<Space>:', ':Telescope commands<cr>', {silent = true})
map('n', '<Space><Space>', ':Telescope find_files<cr>', {silent = true}) map('n', '<Space><Space>', ':Telescope find_files<cr>', {silent = true})
map('n', '<Space>f', ':Telescope grep_string<cr>', {silent = true})
-- buffer management -- buffer management
map('n', '<c-h>', ':bp<cr>', {silent = true}) map('n', '<c-h>', ':bp<cr>', {silent = true})
@ -47,19 +63,32 @@ return require('packer').startup(function(use)
-- Packer can manage itself -- Packer can manage itself
use 'wbthomason/packer.nvim' use 'wbthomason/packer.nvim'
-- Visual -- Visual
use 'vim-airline/vim-airline' use 'vim-airline/vim-airline'
use 'vim-airline/vim-airline-themes' use 'vim-airline/vim-airline-themes'
use { "catppuccin/nvim", as = "catppuccin" } use { "catppuccin/nvim", as = "catppuccin" }
use 'airblade/vim-gitgutter'
-- Editor -- Editor
use {'neovim/nvim-lspconfig', config = function() use {'neovim/nvim-lspconfig', config = function()
local lspc = require('lspconfig') local lspc = require('lspconfig')
lspc['pyright'].setup{} lspc['pyright'].setup{}
lspc['tsserver'].setup{} lspc['tsserver'].setup{}
lspc['rust-analyzer'].setup{} lspc['clojure_lsp'].setup{}
lspc['racket_langserver'].setup{}
lspc['rust_analyzer'].setup{}
lspc['gopls'].setup{}
end} end}
use 'hrsh7th/cmp-nvim-lsp'
use {'hrsh7th/nvim-cmp', config = function()
local cmp = require 'cmp'
cmp.setup {
sources = {
{ name = 'nvim_lsp' },
}
}
end}
use {'ms-jpq/chadtree', branch = 'chad'} use {'ms-jpq/chadtree', branch = 'chad'}
use 'nvim-lua/plenary.nvim' use 'nvim-lua/plenary.nvim'
use 'nvim-telescope/telescope.nvim' use 'nvim-telescope/telescope.nvim'
@ -67,8 +96,11 @@ return require('packer').startup(function(use)
require("toggleterm").setup() require("toggleterm").setup()
end} end}
use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate', config = function() use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate', config = function()
vim.cmd[[TSEnable highlight]] require'nvim-treesitter.configs'.setup{
highlight = {enable = true}
}
end} end}
end) end)
end

View File

@ -0,0 +1,139 @@
{
"workbench.iconTheme": "material-icon-theme",
"editor.fontFamily": "'CaskaydiaCove Nerd Font', Menlo, Monaco, 'Courier New', monospace",
"editor.inlineSuggest.enabled": true,
"latex-workshop.view.pdf.viewer": "tab",
"github.copilot.enable": {
"*": false,
"yaml": false,
"plaintext": false,
"markdown": false,
"go": false,
"python": false,
"html": true,
"rust": false,
"javascript": true,
"lua": true,
"typescript": false
},
"svelte.enable-ts-plugin": true,
"git.enableSmartCommit": true,
"git.confirmSync": false,
"terminal.integrated.commandsToSkipShell": [
"language-julia.interrupt"
],
"editor.guides.bracketPairs": true,
"editor.bracketPairColorization.enabled": true,
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[svelte]": {
"editor.defaultFormatter": "svelte.svelte-vscode",
"editor.tabSize": 2
},
"workbench.editor.untitled.hint": "hidden",
"[markdown]": {
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
},
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"workbench.settings.openDefaultKeybindings": true,
"[yaml]": {
"editor.defaultFormatter": "SimonSiefke.prettier-vscode"
},
"editor.fontLigatures": true,
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer"
},
"julia.enableTelemetry": true,
"vscode-neovim.neovimExecutablePaths.darwin": "/opt/homebrew/bin/nvim --noplugin",
"workbench.editorAssociations": {
"*.wasm": "default",
"*.stl": "default"
},
"workbench.productIconTheme": "material-product-icons",
"rust-analyzer.inlayHints.typeHints.enable": false,
"rust-analyzer.inlayHints.renderColons": false,
"rust-analyzer.inlayHints.chainingHints.enable": false,
"rust-analyzer.inlayHints.closingBraceHints.enable": false,
"rust-analyzer.inlayHints.parameterHints.enable": false,
"update.mode": "manual",
"calva.keybindingsEnabled": false,
//Add following lines of code to exclude the files & folders which aren't important for watchers to look for changes...
//exludes files & folders in search indexing
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/env": true,
"**/venv": true
},
//exludes files & folders for watcher service
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/**": true,
"**/env/**": true,
"**/venv/**": true,
"env-*": true
},
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"arduino.useArduinoCli": true,
"arduino.path": "/opt/homebrew/bin/",
"arduino.commandPath": "arduino-cli",
"workbench.colorCustomizations": {
"[Default Dark+]": {
// "titleBar.activeBackground": "#883333",
// "titleBar.inactiveBackground": "#aa5555"
// "titleBar.activeBackground": "#3a6acc",
// "titleBar.inactiveBackground": "#4a7add",
"titleBar.activeBackground": "#202020",
"titleBar.border": "#242424",
"editor.background": "#141414",
"sideBar.background": "#191919",
"activityBar.background": "#242424",
"tab.inactiveBackground": "#202020",
"tab.hoverBackground": "#323232",
"statusBar.background": "#191919",
"statusBar.noFolderBackground": "#622"
}
},
"go.toolsManagement.autoUpdate": true,
"extensions.ignoreRecommendations": true,
"svelte.plugin.svelte.note-new-transformation": false,
"diffEditor.ignoreTrimWhitespace": false,
"window.confirmBeforeClose": "keyboardOnly",
"cmake.configureOnOpen": true,
"files.associations": {
"*.i": "swiglang",
"*.hpp": "cpp"
},
"C_Cpp.clang_format_fallbackStyle": "LLVM",
"[c]": {
"editor.wordBasedSuggestions": false,
"editor.suggest.insertMode": "replace",
"editor.semanticHighlighting.enabled": true,
"editor.quickSuggestions": {
"comments": "on",
"strings": "on",
"other": "on"
}
},
"clangd.path": "/opt/homebrew/opt/llvm/bin/clangd",
"julia.symbolCacheDownload": true,
"calva.paredit.defaultKeyMap": "strict",
"jupyter.askForKernelRestart": false,
"[typescriptreact]": {
"editor.defaultFormatter": "SimonSiefke.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "SimonSiefke.prettier-vscode"
}
}

View File

@ -0,0 +1,6 @@
wget https://dl.google.com/android/repository/commandlinetools-mac-9123335_latest.zip -O ~/Downloads/as-mac-cli-tools.zip
mkdir -p ~/opt

24
scripts/mbackup Executable file
View File

@ -0,0 +1,24 @@
#!/usr/bin/env bb
(require '[clojure.string :as str :refer [split]])
(require '[babashka.tasks :as tasks :refer [shell]])
(def drive-dest "turtlebasket-gdrive:/macbook-air-m1")
(def paths ["Desktop"
"Documents/Personal Knowledge Base"
"Documents/Berkeley Notes"])
;; currently not used
(def exclude ["*.swp" ".git" "node_modules" "__pycache__" ".DS_Store"])
(for [path paths]
(future
(let [res
(shell "rclone" "sync"
path
(format "%s/%s" drive-dest (-> path (split #"/") last))
"--progress" "--retries" 1 "--delete-excluded")]
(if (= (get res "exit") 0)
(println (format "Backed up %s" path))
(println (get res "error"))))))
;; (for [item exclude] (cons "--exclude" item))))

19
scripts/mbackup-py Normal file
View File

@ -0,0 +1,19 @@
#!/usr/bin/env python3
from concurrent.futures import ThreadPoolExecutor
from subprocess import run as srun
DEST="turtlebasket-gdrive:/macbook-air-m1"
paths=[
"Desktop"
"Documents/Personal Knowledge Base"
"Documents/Berkeley Notes"
]
with ThreadPoolExecutor(max_workers=4) as executor:
for path in paths:
fname = path.split("/")[-1]
srun("rclone", "sync",
path,
f'{DEST}/{fname}',
"--progress", "--rertries", 1, "--delete-excluded")

19
scripts/projects-prune.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
# PROJECT DIR PRUNING SCRIPT
printf "%-40s%-20s%s\n" 'Clean git, oldest to newest' 'Date Modified' 'Size'
printf "%-40s%-20s%s\n" '===========================' '=============' '===='
for pdir in $(ls -r1dt */); do
cd $pdir
git status 2> /dev/null | grep 'nothing to commit, working tree clean' 1> /dev/null
if [ "$?" == "0" ]; then
dirModDate=$(date -r . +"%m/%d/%Y")
dirSize=$(du -sh . | awk '{print $1}')
printf "%-40s\e[32m%-20s\e[0m%s\n" $pdir $dirModDate $dirSize
fi
cd ..
done

22
setup/linux/cpenv Executable file
View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
envr=~/Projects/env
mkdir -vp ~/.bin ~/Projects
echo 'export PATH="~/.bin:$PATH"' > ~/.bashrc
# nvim install
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
chmod u+x nvim.appimage
mv nvim.appimage ~/.bin/nvim
# nvim packer install
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
~/.local/share/nvim/site/pack/packer/start/packer.nvim
# dotfiles
git clone https://github.com/turtlebasket/env $envr
mkdir -p ~/.config/nvim
cp -v $envr/config/neovim/macos/init.lua ~/.config/nvim/init.lua

12
ssh/motd/thinkpad-motd Normal file
View File

@ -0,0 +1,12 @@
_____ _ _ _____ _ _ _ ________ ___ ______
|_ _| | | |_ _| \ | || | / /| ___ \/ _ \| _ \
| | | |_| | | | | \| || |/ / | |_/ / /_\ \ | | |
| | | _ | | | | . ` || \ | __/| _ | | | |
| | | | | |_| |_| |\ || |\ \| | | | | | |/ /
\_/ \_| |_/\___/\_| \_/\_| \_/\_| \_| |_/___/
===========================================================
WARNING: DO NOT RESTART. THIS MACHINE'S SSD IS ENCRYPTED.
===========================================================