diff --git a/.gitignore b/.gitignore index 5de6a2d..433d574 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ -__pycache__/ - -node_modules/ +.csync_* +.owncloudsync.log diff --git a/apt/export.py b/apt/export.py index 65f9b0c..3496242 100755 --- a/apt/export.py +++ b/apt/export.py @@ -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') diff --git a/atom/README.md b/atom/README.md new file mode 100644 index 0000000..24c0bdb --- /dev/null +++ b/atom/README.md @@ -0,0 +1 @@ +# Atom Sync-Settings \ No newline at end of file diff --git a/atom/config.cson b/atom/config.cson deleted file mode 100644 index 9057cd8..0000000 --- a/atom/config.cson +++ /dev/null @@ -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 diff --git a/atom/export.sh b/atom/export.sh deleted file mode 100755 index 059b485..0000000 --- a/atom/export.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -e - -mkdir ~/.atom - -cp * ~/.atom diff --git a/atom/init.coffee b/atom/init.coffee index e69de29..c0bdf0f 100644 --- a/atom/init.coffee +++ b/atom/init.coffee @@ -0,0 +1 @@ +# initialization file (not found) \ No newline at end of file diff --git a/atom/keymap.cson b/atom/keymap.cson index 1bb3423..6ecca26 100644 --- a/atom/keymap.cson +++ b/atom/keymap.cson @@ -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' diff --git a/atom/packages.json b/atom/packages.json index 4210bb6..8ded2e3 100644 --- a/atom/packages.json +++ b/atom/packages.json @@ -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" + } +] \ No newline at end of file diff --git a/atom/settings.json b/atom/settings.json new file mode 100644 index 0000000..28b7e3b --- /dev/null +++ b/atom/settings.json @@ -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 + } +} \ No newline at end of file diff --git a/atom/styles.less b/atom/styles.less index e69de29..0e07db3 100644 --- a/atom/styles.less +++ b/atom/styles.less @@ -0,0 +1 @@ +// styles file (not found) \ No newline at end of file diff --git a/bash/.bash_aliases b/bash/.bash_aliases deleted file mode 100644 index 87dd70d..0000000 --- a/bash/.bash_aliases +++ /dev/null @@ -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 diff --git a/bash/.bashrc b/bash/.bashrc new file mode 100644 index 0000000..d68f866 --- /dev/null +++ b/bash/.bashrc @@ -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" diff --git a/bash/export.sh b/bash/export.sh index 475786e..c3739dc 100755 --- a/bash/export.sh +++ b/bash/export.sh @@ -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 diff --git a/circle.yml b/circle.yml index 63932a1..d4677ef 100644 --- a/circle.yml +++ b/circle.yml @@ -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 diff --git a/config/export.sh b/config/export.sh index 1322e82..027432c 100755 --- a/config/export.sh +++ b/config/export.sh @@ -2,4 +2,5 @@ set -e +mkdir -p ~/.config/terminator cp terminator.conf ~/.config/terminator/config diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..e1c1c49 --- /dev/null +++ b/deploy.sh @@ -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 diff --git a/scripts/runtests.sh b/scripts/runtests.sh deleted file mode 100755 index f30f253..0000000 --- a/scripts/runtests.sh +++ /dev/null @@ -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 diff --git a/yaourt/export.py b/yaourt/export.py index 2ce5f1b..434ae5b 100755 --- a/yaourt/export.py +++ b/yaourt/export.py @@ -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') diff --git a/yaourt/packages.json b/yaourt/packages.json index 9cb6c6c..2f5c99f 100644 --- a/yaourt/packages.json +++ b/yaourt/packages.json @@ -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",