brendanorourke / dotfiles Goto Github PK
View Code? Open in Web Editor NEWBrendan's macOS and Ubuntu dotfiles.
Brendan's macOS and Ubuntu dotfiles.
Per: https://github.com/Valloric/YouCompleteMe#linux-64-bit
sudo apt install build-essential cmake python3-dev
cd ~/.vim/bundle/YouCompleteMe && python3 install.py --clang-completer
OpenJDK
install), add --java-completer
to install.py
callGo
install), add --go-completer
to install.py
callNode
& npm
install), add --ts-completer
to install.py
callPer: https://github.com/Valloric/YouCompleteMe#mac-os-x
macvim
vim
to macvim
using ln -s /usr/local/bin/mvim vim
Vundle
: (n)vim +PluginInstall +qall
As it stands, logic to extract compressed files from HTTP downloads is all over the place, see here.
That's one ugly function.
Logic for extracting files should be abstracted into a util function, which can also be exposed as terminal bin, for the user.
A great example from nparikh:
smartextract () {
if [ -f $1 ]; then
case $1 in
*.tar.bz2) tar -jxvf $1 ;;
*.tar.gz) tar -zxvf $1 ;;
*.bz2) bunzip2 $1 ;;
*.dmg) hdiutil mount $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar -xvf $1 ;;
*.tbz2) tar -jxvf $1 ;;
*.tgz) tar -zxvf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*) echo "'$1' cannot be extracted/mounted via smartextract()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
Typing SSH key passphrases at every instantiation is annoying. Add an alias to do this once per session:
alias ssha='eval $(ssh-agent) && ssh-add'
ssha
alias to /dotfiles/source/20_aliases.shThe script current uses the following command structure when installing casks:
brew cask install <<cask>>
Which results in the following:
Error: `brew cask` is no longer a `brew` command. Use `brew <command> --cask` instead.
Update the ./init/30_osx_homebrew_casks.sh
script to instead use the following:
brew install <<cask>>
Currently, the dotfiles use a combination of curl
&& wget
. In fact, running for Ubuntu installs curl
๐, see here.
This should be abstracted to a global download()
util, that routes automatically to the proper system HTTP client based on OS.
For example:
download() {
if command -v "curl" &> /dev/null; then
# use curl
elif command -v "wget" &> /dev/null; then
# use wget
fi
return 1
}
download
functionsudo apt-get install software-properties-common python-dev python-pip python3-dev python3-pip
sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt-get install neovim
Per: https://neovim.io/doc/user/nvim.html#nvim-from-vim
.config
directory.config/nvm/init.vim
nvim +PluginInstall +qall
/scripts/
init
#!/bin/sh
# Userland mode (~$USER/), (~/).
# ~/.fonts is now deprecated and that
#FONT_HOME=~/.fonts
# ~/.local/share/fonts should be used instead
FONT_HOME=~/.local/share/fonts
echo "installing fonts at $PWD to $FONT_HOME"
mkdir -p "$FONT_HOME/adobe-fonts/source-code-pro"
# find "$FONT_HOME" -iname '*.ttf' -exec echo '{}' \;
(git clone \
--branch release \
--depth 1 \
'https://github.com/adobe-fonts/source-code-pro.git' \
"$FONT_HOME/adobe-fonts/source-code-pro" && \
fc-cache -f -v "$FONT_HOME/adobe-fonts/source-code-pro")
The unencrypted git://
protocol has been deprecated by GitHub.
Do not use this protocol when pulling down the repo on initial run.
Tasks
git://
> https://
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.