GitHub deploy at 06/05/2016.

This commit is contained in:
Jake Howard 2016-05-06 17:04:10 +01:00
parent 3c1db96f15
commit ef1b92c3df
19 changed files with 896 additions and 133 deletions

5
.gitignore vendored
View file

@ -1,3 +1,2 @@
__pycache__/
node_modules/
.csync_*
.owncloudsync.log

View file

@ -1,25 +1,32 @@
#!/usr/bin/env python3
import json, os
# Update currently installed packages
os.system('sudo apt-get update -y')
os.system('sudo apt-get upgrade -y')
os.system('sudo apt-get dist-upgrade -y')
# Install packages in pre-installed repos
packages = " ".join(json.load(open('apt-installs-core.json')))
os.system("sudo apt-get install {} -y".format(packages))
# Add keys for extra apt repos
for key in json.load(open('apt-keys.json')):
os.system("wget -O - {} | sudo apt-key add -".format(key))
# Add extra repos by url
os.system('sudo apt/add-apt-sources.sh')
# Add extra urls by PPA
for repo in json.load(open('apt-repos.json')):
os.system("sudo add-apt-repository {} -y".format(repo))
# Get package info from new repos
os.system('sudo apt-get update -y')
# Install extra packages from new repos
packages = " ".join(json.load(open('apt-installs-extra.json')))
os.system("sudo apt-get install {} -y".format(packages))
# Install packages with non-standard install
os.system('apt/custom-installs.sh')

1
atom/README.md Normal file
View file

@ -0,0 +1 @@
# Atom Sync-Settings

View file

@ -1,53 +0,0 @@
"*":
"atom-alignment": {}
"autoclose-html": {}
"color-picker":
abbreviateValues: true
preferredFormat: "HEX"
uppercaseColorValues: true
core:
packagesWithKeymapsDisabled: [
"merge-conflicts"
]
themes: [
"one-dark-ui"
"monokai"
]
editor:
fontSize: 13
invisibles:
tab: "-"
scrollPastEnd: true
showIndentGuide: true
tabType: "soft"
"exception-reporting":
userId: "78a3a259-396e-edee-6010-e8552cf30255"
"glowing-cursor":
glowColor:
red: 255
green: 127
blue: 0
alpha: 1
innerColor:
red: 255
green: 127
blue: 0
alpha: 1
linter:
errorPanelHeight: 22
"linter-eslint":
eslintRulesDir: "node_modules/eslint-config/"
"linter-flake8":
ignoreErrorCodes: [
"E128"
"E501"
]
"merge-conflicts": {}
minimap:
plugins:
"highlight-selected": true
pigments:
markerType: "outline"
"tree-view": {}
welcome:
showOnStartup: false

View file

@ -1,7 +0,0 @@
#!/usr/bin/env bash
set -e
mkdir ~/.atom
cp * ~/.atom

View file

@ -0,0 +1 @@
# initialization file (not found)

View file

@ -1,9 +1,24 @@
# Because Atom needs to work more like sublime!
'atom-workspace atom-text-editor:not([mini])':
'*':
# Because Atom needs to work more like sublime!
'ctrl-up': 'core:move-up'
'ctrl-down': 'core:move-down'
'body':
'ctrl-shift-up': 'editor:move-line-up'
'ctrl-shift-down': 'editor:move-line-down'
'ctrl-t': 'application:new-file'
'alt-u': 'editor:lower-case'
'alt-shift-u': 'editor:upper-case'
# Move panes in a logical way
'ctrl-k e j': 'pane:split-left-creating-empty-pane'
'ctrl-k e l': 'pane:split-right-creating-empty-pane'
'ctrl-k e i': 'pane:split-up-creating-empty-pane'
'ctrl-k e k': 'pane:split-down-creating-empty-pane'
'ctrl-k j': 'pane:split-left-moving-current-tab'
'ctrl-k l': 'pane:split-right-moving-current-tab'
'ctrl-k i': 'pane:split-up-moving-current-tab'
'ctrl-k k': 'pane:split-down-moving-current-tab'
'ctrl-k d j': 'pane:split-left'
'ctrl-k d l': 'pane:split-right'
'ctrl-k d i': 'pane:split-up'
'ctrl-k d k': 'pane:split-down'
'ctrl-k m': 'pane:merge-all-panes'

View file

@ -1,27 +1,517 @@
[
"sublime-style-column-selection",
"zen",
"activate-power-mode",
"atom-alignment",
"atom-html-preview",
"change-case",
"file-icons",
"glowing-cursor",
"highlight-selected",
"keybinding-cheatsheet",
"language-babel",
"linter",
"linter-eslint",
"merge-conflicts",
"minimap",
"minimap-highlight-selected",
"multi-cursor",
"open-recent",
"react",
"script",
"trailing-spaces",
"monokai",
"css-edit-groups",
"pigments",
"atom-django"
]
{
"name": "Sublime-Style-Column-Selection",
"version": "1.5.1"
},
{
"name": "Zen",
"version": "0.16.4"
},
{
"name": "about",
"version": "1.4.2"
},
{
"name": "activate-power-mode",
"version": "0.5.2"
},
{
"name": "aesthetic-ui",
"version": "1.0.1",
"theme": "ui"
},
{
"name": "archive-view",
"version": "0.61.1"
},
{
"name": "atom-alignment",
"version": "0.12.1"
},
{
"name": "atom-dark-syntax",
"version": "0.27.0",
"theme": "syntax"
},
{
"name": "atom-dark-ui",
"version": "0.51.0",
"theme": "ui"
},
{
"name": "atom-django",
"version": "0.3.2"
},
{
"name": "atom-html-preview",
"version": "0.1.19"
},
{
"name": "atom-light-syntax",
"version": "0.28.0",
"theme": "syntax"
},
{
"name": "atom-light-ui",
"version": "0.43.0",
"theme": "ui"
},
{
"name": "atom-material-ui",
"version": "1.2.11",
"theme": "ui"
},
{
"name": "autocomplete-atom-api",
"version": "0.10.0"
},
{
"name": "autocomplete-css",
"version": "0.11.0"
},
{
"name": "autocomplete-html",
"version": "0.7.2"
},
{
"name": "autocomplete-plus",
"version": "2.29.1"
},
{
"name": "autocomplete-snippets",
"version": "1.10.0"
},
{
"name": "autoflow",
"version": "0.27.0"
},
{
"name": "autosave",
"version": "0.23.1"
},
{
"name": "background-tips",
"version": "0.26.0"
},
{
"name": "base16-tomorrow-dark-theme",
"version": "1.1.0",
"theme": "syntax"
},
{
"name": "base16-tomorrow-light-theme",
"version": "1.1.1",
"theme": "syntax"
},
{
"name": "bookmarks",
"version": "0.38.2"
},
{
"name": "bracket-matcher",
"version": "0.81.0"
},
{
"name": "change-case",
"version": "0.6.0"
},
{
"name": "color-picker",
"version": "2.1.1"
},
{
"name": "command-palette",
"version": "0.38.0"
},
{
"name": "css-edit-groups",
"version": "0.4.2"
},
{
"name": "deprecation-cop",
"version": "0.54.1"
},
{
"name": "dev-live-reload",
"version": "0.47.0"
},
{
"name": "encoding-selector",
"version": "0.21.0"
},
{
"name": "file-icons",
"version": "1.7.9"
},
{
"name": "find-and-replace",
"version": "0.199.0"
},
{
"name": "fuzzy-finder",
"version": "1.0.5"
},
{
"name": "git-diff",
"version": "1.0.1"
},
{
"name": "glowing-cursor",
"version": "0.1.1"
},
{
"name": "go-to-line",
"version": "0.30.0"
},
{
"name": "grammar-selector",
"version": "0.48.1"
},
{
"name": "highlight-selected",
"version": "0.11.2"
},
{
"name": "image-view",
"version": "0.57.0"
},
{
"name": "incompatible-packages",
"version": "0.25.1"
},
{
"name": "keybinding-cheatsheet",
"version": "0.1.0"
},
{
"name": "keybinding-resolver",
"version": "0.35.0"
},
{
"name": "language-babel",
"version": "2.19.4"
},
{
"name": "language-c",
"version": "0.51.1"
},
{
"name": "language-clojure",
"version": "0.20.0"
},
{
"name": "language-coffee-script",
"version": "0.46.1"
},
{
"name": "language-csharp",
"version": "0.12.0"
},
{
"name": "language-css",
"version": "0.36.0"
},
{
"name": "language-gfm",
"version": "0.85.0"
},
{
"name": "language-git",
"version": "0.12.1"
},
{
"name": "language-go",
"version": "0.42.0"
},
{
"name": "language-html",
"version": "0.44.1"
},
{
"name": "language-hyperlink",
"version": "0.16.0"
},
{
"name": "language-java",
"version": "0.17.0"
},
{
"name": "language-javascript",
"version": "0.110.0"
},
{
"name": "language-json",
"version": "0.17.6"
},
{
"name": "language-less",
"version": "0.29.0"
},
{
"name": "language-make",
"version": "0.21.0"
},
{
"name": "language-mustache",
"version": "0.13.0"
},
{
"name": "language-objective-c",
"version": "0.15.1"
},
{
"name": "language-perl",
"version": "0.32.0"
},
{
"name": "language-php",
"version": "0.37.0"
},
{
"name": "language-property-list",
"version": "0.8.0"
},
{
"name": "language-python",
"version": "0.43.0"
},
{
"name": "language-ruby",
"version": "0.68.3"
},
{
"name": "language-ruby-on-rails",
"version": "0.25.0"
},
{
"name": "language-sass",
"version": "0.46.0"
},
{
"name": "language-shellscript",
"version": "0.21.0"
},
{
"name": "language-source",
"version": "0.9.0"
},
{
"name": "language-sql",
"version": "0.20.0"
},
{
"name": "language-text",
"version": "0.7.1"
},
{
"name": "language-todo",
"version": "0.27.0"
},
{
"name": "language-toml",
"version": "0.18.0"
},
{
"name": "language-xml",
"version": "0.34.4"
},
{
"name": "language-yaml",
"version": "0.25.1"
},
{
"name": "lcov-info",
"version": "0.11.0"
},
{
"name": "line-ending-selector",
"version": "0.3.1"
},
{
"name": "link",
"version": "0.31.1"
},
{
"name": "linter",
"version": "1.11.4"
},
{
"name": "linter-eslint",
"version": "7.2.2"
},
{
"name": "linter-flake8",
"version": "1.13.0"
},
{
"name": "markdown-preview",
"version": "0.158.0"
},
{
"name": "markdown-scroll-sync",
"version": "2.1.2"
},
{
"name": "merge-conflicts",
"version": "1.4.2"
},
{
"name": "minimap",
"version": "4.23.5"
},
{
"name": "minimap-highlight-selected",
"version": "4.4.0"
},
{
"name": "monokai",
"version": "0.18.0",
"theme": "syntax"
},
{
"name": "move-panes",
"version": "0.2.0"
},
{
"name": "multi-cursor",
"version": "2.1.3"
},
{
"name": "notifications",
"version": "0.63.1"
},
{
"name": "one-dark-syntax",
"version": "1.2.0",
"theme": "syntax"
},
{
"name": "one-dark-ui",
"version": "1.2.0",
"theme": "ui"
},
{
"name": "one-light-syntax",
"version": "1.2.0",
"theme": "syntax"
},
{
"name": "one-light-ui",
"version": "1.2.0",
"theme": "ui"
},
{
"name": "open-on-github",
"version": "1.0.1"
},
{
"name": "open-recent",
"version": "5.0.0"
},
{
"name": "package-generator",
"version": "1.0.0"
},
{
"name": "pain-split",
"version": "1.4.0"
},
{
"name": "pane-split-moves-tab",
"version": "0.1.0"
},
{
"name": "pigments",
"version": "0.26.2"
},
{
"name": "project-manager",
"version": "2.9.7"
},
{
"name": "react",
"version": "0.15.0"
},
{
"name": "script",
"version": "3.7.1"
},
{
"name": "settings-view",
"version": "0.235.1"
},
{
"name": "snippets",
"version": "1.0.1"
},
{
"name": "solarized-dark-syntax",
"version": "1.0.0",
"theme": "syntax"
},
{
"name": "solarized-light-syntax",
"version": "1.0.0",
"theme": "syntax"
},
{
"name": "spell-check",
"version": "0.67.0"
},
{
"name": "status-bar",
"version": "1.1.2"
},
{
"name": "styleguide",
"version": "0.45.2"
},
{
"name": "symbols-view",
"version": "0.112.0"
},
{
"name": "sync-settings",
"version": "0.7.2"
},
{
"name": "tab-title",
"version": "0.3.3"
},
{
"name": "tabs",
"version": "0.92.0"
},
{
"name": "timecop",
"version": "0.33.1"
},
{
"name": "todo-show",
"version": "1.6.0"
},
{
"name": "trailing-spaces",
"version": "0.3.2"
},
{
"name": "tree-view",
"version": "0.205.0"
},
{
"name": "update-package-dependencies",
"version": "0.10.0"
},
{
"name": "welcome",
"version": "0.34.0"
},
{
"name": "whitespace",
"version": "0.32.2"
},
{
"name": "wrap-guide",
"version": "0.38.1"
}
]

114
atom/settings.json Normal file
View file

@ -0,0 +1,114 @@
{
"activate-power-mode": {
"autoToggle": false
},
"color-picker": {
"abbreviateValues": true,
"preferredFormat": "HEX",
"uppercaseColorValues": true
},
"core": {
"autoHideMenuBar": true,
"closeEmptyWindows": false,
"openEmptyEditorOnStart": false,
"packagesWithKeymapsDisabled": [
"merge-conflicts",
"lcov-info",
"activate-power-mode",
"encoding-selector"
],
"themes": [
"one-dark-ui",
"monokai"
]
},
"editor": {
"backUpBeforeSaving": true,
"fontSize": 13,
"invisibles": {
"tab": "-"
},
"scrollPastEnd": true,
"showIndentGuide": true,
"tabType": "soft"
},
"exception-reporting": {
"userId": "78a3a259-396e-edee-6010-e8552cf30255"
},
"file-icons": {
"forceShow": true
},
"file-watcher": {
"promptWhenFileHasChangedOnDisk": false
},
"glowing-cursor": {
"glowColor": {
"red": 255,
"green": 127,
"blue": 0,
"alpha": 1
},
"innerColor": {
"red": 255,
"green": 127,
"blue": 0,
"alpha": 1
}
},
"linter": {
"errorPanelHeight": 27
},
"linter-eslint": {
"disableWhenNoEslintConfig": false,
"showRuleIdInMessage": false
},
"linter-flake8": {
"executablePath": "$PROJECT/env/bin/flake8",
"ignoreErrorCodes": [
"E128",
"E501",
"E401",
"E402"
]
},
"minimap": {
"plugins": {
"highlight-selected": true,
"highlight-selectedDecorationsZIndex": 0
},
"scrollAnimation": true
},
"nuclide": {
"nuclide-home": {
"showHome": false
}
},
"pigments": {
"markerType": "outline",
"traverseIntoSymlinkDirectories": true
},
"project-manager": {
"sortBy": "last modified"
},
"project-plus": {
"notifications": false,
"projectHome": "/home/jake/Projects",
"showPath": true
},
"react": {
"enabledForAllJavascriptFiles": true
},
"script": {
"stopOnRerun": true
},
"sync-settings": {
"analytics": false,
"quietUpdateCheck": true
},
"trailing-spaces": {
"enableForIndentation": true
},
"welcome": {
"showOnStartup": false
}
}

View file

@ -0,0 +1 @@
// styles file (not found)

View file

@ -1,9 +0,0 @@
# Export some variables
export REACT_EDITOR=atom
export ANDROID_HOME=/opt/android-sdk-linux
# Export PATH
export PATH=${PATH}:/opt/android-sdk-linux/tools
export PATH=${PATH}:/opt/android-sdk-linux/platform-tools
PATH=~/.bin:$PATH # Add part of home to path

174
bash/.bashrc Normal file
View file

@ -0,0 +1,174 @@
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary, update the values of LINES and COLUMNS.
shopt -s checkwinsize
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (debian-based only)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
color_prompt=yes
else
color_prompt=
fi
fi
# Set prompt
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# Add an "alert" alias for long running commands
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
# load nvm
export NVM_DIR="/home/jake/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # Load on ubuntu
# load thefuck
eval $(thefuck --alias)
# Export some variables
export ANDROID_HOME=/opt/android-sdk
# Export PATH
export PATH=${PATH}:/opt/android-sdk/tools
export PATH=${PATH}:/opt/android-sdk/platform-tools
export PATH=${PATH}:/opt/genymobile/genymotion
PATH=~/.bin:$PATH # Add part of home to path
# Platform Specific
if [ -f "$(command -v lsb_release)" ]; then # if on ubuntu
JAVA_HOME=/usr/local/java/jdk1.8.0_73
export PATH=$PATH:$JAVA_HOME/bin
fi
# JS aliases
alias ni="npm install"
alias ns="npm start"
alias nt="npm test"
nb() {
if [ $# -eq 0 ]; then
command npm run build
else
for arg in "$@"
do
command npm run build-${arg}
done
fi
}
nr() {
for arg in "$@"
do
command npm run $arg
done
}
# react-native
export REACT_EDITOR=atom
alias rnl="adb logcat | grep ReactNative"
alias nvmu="nvm use"
# catfish aliases
ctp() {
if [[ $1 == "shell" ]]; then
command ctf project run manage.py shell
elif [[ $1 == "build" ]]; then
command ctf project run build
elif [ $1 == "test" ] || [ $1 == "t" ]; then
command ctf project run runtests ${@:2}
elif [[ $1 == "migrate" ]]; then
command ctf project run manage.py migrate
else
command ctf project $@
fi
}
alias ctfs="cd ~/catfish && ./start && cd - > /dev/null"
# bash aliases
alias src="source ~/.bashrc"
export EDITOR=/usr/bin/nano
alias refresh="cd - > /dev/null && cd - > /dev/null"
# git aliases
alias gs="git status"
alias gd="git diff"
# miscellaneous software aliases
alias y="yoga"
alias ym="yoga mode"
alias serve="python -m SimpleHTTPServer"

View file

@ -2,4 +2,12 @@
set -e
cp .bash_aliases ~/
ln -sfP ~/.dotfiles/bash/.bashrc ~/.bashrc
source ~/.bashrc
# Arch uses python3 by default. Let's fix that...
sudo rm -rf /usr/bin/python
sudo ln -sfP /usr/bin/python2 /usr/bin/python
# Arch has the nvm script in a weird place. Time to fix!
sudo ln -sfP /usr/share/nvm/init-nvm.sh ~/.nvm/nvm.sh

View file

@ -1,10 +1,12 @@
## Customize the test machine
machine:
python:
version: 3.5.0
node:
version: 5.3.0
test:
override:
- scripts/runtests.sh
- npm install -g jsonlint
- jsonlint -q yaourt/packages.json
- jsonlint -q apt/apt-installs-core.json
- jsonlint -q apt/apt-installs-extra.json
- jsonlint -q apt/apt-repos.json
- jsonlint -q apt/apt-keys.json

View file

@ -2,4 +2,5 @@
set -e
mkdir -p ~/.config/terminator
cp terminator.conf ~/.config/terminator/config

36
deploy.sh Executable file
View file

@ -0,0 +1,36 @@
#!/usr/bin/env bash
echo "> Deploying to GitHub..."
set -e
echo ">> Downloading existing dotfiles..."
git clone --depth=1 git@github.com:RealOrangeOne/dotfiles.git /tmp/existing-dotfiles
echo ">> Remove existing files..."
cd /tmp/existing-dotfiles
git rm -rf .
cd -
echo ">> Copying existing..."
rsync -rtv . /tmp/existing-dotfiles/
echo ">> Getting Atom Data..."
cd /tmp/existing-dotfiles/
mkdir -p atom
git clone --depth=1 git@gist.github.com:9f9a4dd799ad01aa0502a09f06cbf454.git atom/
rm -rf atom/.git
mv atom/Atom\ Settings.md atom/README.md
echo ">> Saving changes..."
git config user.name "Jake Howard"
git config user.email "git@theorangeone.net"
git add .
git commit -m "GitHub deploy at $(date +%d/%m/%Y)."
git push -f origin master
echo "> Deployment Complete."
cd -
rm -rf /tmp/existing-dotfiles

View file

@ -1,21 +0,0 @@
#!/usr/bin/env bash
set -e
echo ">> Setting up tests"
npm install jsonlint -g
pip install flake8
echo ">> Validating JSON..."
jsonlint -q apt/apt-installs-core.json
jsonlint -q apt/apt-installs-extra.json
jsonlint -q apt/apt-keys.json
jsonlint -q apt/apt-repos.json
jsonlint -q atom/packages.json
jsonlint -q yaourt/packages.json
echo ">> Validating Python..."
flake8 apt/export.py --ignore=E128,E501,E401,F403
flake8 yaourt/export.py --ignore=E128,E501,E401,F403

View file

@ -1,7 +1,12 @@
#!/usr/bin/env python3
import os, json
# Update pre-installed packages and repo lists
os.system('sudo yaourt -Syau')
# Install extra packages
packages = " ".join(json.load(open('packages.json')))
os.system("sudo yaourt -S {} ".format(packages))
# Symlink yaourtrc file
os.system('ln -s ~/.dotfiles/yaourt/.yaourtrc ~/.yaourtrc')

View file

@ -1,6 +1,6 @@
[
"yaourt",
"atom-editor",
"atom-editor-bin",
"spotify",
"teamviewer",
"telegram-desktop-bin",
@ -22,7 +22,7 @@
"kodi",
"remmina",
"zeal",
"hipchat4",
"hipchat",
"virtualbox",
"insync",
"insync-nautilus",
@ -39,7 +39,6 @@
"pypy3-virtualenv",
"steam-fonts",
"steam",
"steam-native",
"terminator",
"thunderbird",
"vlc",