Switch to using gnu stow
This commit is contained in:
parent
744d6e33bb
commit
0d47d81980
42
README.md
42
README.md
@ -2,49 +2,19 @@
|
|||||||
Syncs austenwares.com offical bash/zsh/tmux/vim/... config files
|
Syncs austenwares.com offical bash/zsh/tmux/vim/... config files
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
- Using Ansible (more setup, easier syncing)
|
|
||||||
|
- Using stow oneliner
|
||||||
|
|
||||||
git clone https://gitea.austenwares.com/stonewareslord/sync
|
git clone https://gitea.austenwares.com/stonewareslord/sync
|
||||||
cd sync
|
stow -t ~ sync/{[git i3 old shell tmux vim ...]}
|
||||||
virtualenv .env
|
|
||||||
. .env/bin/activate
|
|
||||||
pip install -r requirements.txt
|
|
||||||
./sync.sh TAG[,TAG2...] [ANSIBLE-OPTS]
|
|
||||||
|
|
||||||
- Using stow (quicker, easier, less features)
|
|
||||||
|
|
||||||
git clone https://gitea.austenwares.com/stonewareslord/sync ~/sync
|
|
||||||
cd ~/sync
|
|
||||||
stow skel
|
|
||||||
# For private
|
# For private
|
||||||
git clone https://gitea.austenwares.com/stonewareslord/private
|
git clone https://gitea.austenwares.com/stonewareslord/private
|
||||||
stow private/skel
|
stow -t ~ private/{[private ...]}
|
||||||
|
|
||||||
- Stow oneliner
|
- Stow one-liner
|
||||||
|
|
||||||
command -v stow >/dev/null && git clone https://gitea.austenwares.com/stonewareslord/sync ~/sync && cd ~/sync && stow skel && git clone git@gitea.austenwares.com:stonewareslord/private && stow private/skel
|
command -v stow >/dev/null || echo "You do not have GNU stow installed" && git clone https://gitea.austenwares.com/stonewareslord/sync && stow -t ~ git i3 old shell tmux vim
|
||||||
|
|
||||||
- Installing vim
|
- Installing vim
|
||||||
|
|
||||||
vim +'call Initialize()'
|
vim +'call Initialize()'
|
||||||
|
|
||||||
### Examples
|
|
||||||
#### Sync all config and remove existing files
|
|
||||||
|
|
||||||
./sync.sh clean --extra-vars 'overwrite_existing=yes'
|
|
||||||
|
|
||||||
#### Sync for root
|
|
||||||
|
|
||||||
./sync.sh default --become --ask-become-pass
|
|
||||||
|
|
||||||
#### Secure SSH
|
|
||||||
|
|
||||||
./sync.sh secure --ask-become-pass --tags
|
|
||||||
|
|
||||||
#### Disable SSH password authentication
|
|
||||||
|
|
||||||
./sync.sh secure --extra-vars 'disable_passwordauth=true' --ask-become-pass
|
|
||||||
|
|
||||||
#### Use 1.1.1.1 dns
|
|
||||||
|
|
||||||
./sync.sh dns --ask-become-pass
|
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
git clone https://github.com/clvv/fasd /tmp/fasd
|
|
||||||
\cd /tmp/fasd
|
|
||||||
sudo make install
|
|
||||||
\cd -
|
|
@ -1,44 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
mkdir ~/ffmpeg_sources
|
|
||||||
cd ~/ffmpeg_sources
|
|
||||||
wget -O fdk-aac.zip https://github.com/mstorsjo/fdk-aac/zipball/master
|
|
||||||
unzip fdk-aac.zip
|
|
||||||
cd mstorsjo-fdk-aac*
|
|
||||||
autoreconf -fiv
|
|
||||||
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
make distclean
|
|
||||||
cd ~/ffmpeg_sources
|
|
||||||
wget http://webm.googlecode.com/files/libvpx-v1.3.0.tar.bz2
|
|
||||||
tar xjvf libvpx-v1.3.0.tar.bz2
|
|
||||||
cd libvpx-v1.3.0
|
|
||||||
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples
|
|
||||||
PATH="$PATH:$HOME/bin" make
|
|
||||||
sudo make install
|
|
||||||
make clean
|
|
||||||
cd ~/ffmpeg_sources
|
|
||||||
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
|
|
||||||
tar xjvf ffmpeg-snapshot.tar.bz2
|
|
||||||
cd ffmpeg
|
|
||||||
PATH="$PATH:$HOME/bin" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
|
|
||||||
--prefix="$HOME/ffmpeg_build" \
|
|
||||||
--extra-cflags="-I$HOME/ffmpeg_build/include" \
|
|
||||||
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
|
|
||||||
--bindir="$HOME/bin" \
|
|
||||||
--enable-gpl \
|
|
||||||
--enable-libass \
|
|
||||||
--enable-libfdk-aac \
|
|
||||||
--enable-libfreetype \
|
|
||||||
--enable-libmp3lame \
|
|
||||||
--enable-libopus \
|
|
||||||
--enable-libtheora \
|
|
||||||
--enable-libvorbis \
|
|
||||||
--enable-libvpx \
|
|
||||||
--enable-libx264 \
|
|
||||||
--enable-nonfree \
|
|
||||||
--enable-x11grab
|
|
||||||
PATH="$PATH:$HOME/bin" make
|
|
||||||
sudo make install
|
|
||||||
make distclean
|
|
||||||
hash -r
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
sudo sh -c "echo \"kernel.yama.ptrace_scope = 0\" > /etc/sysctl.d/10-ptrace.conf"
|
|
||||||
sudo sysctl -p /etc/sysctl.d/10-ptrace.conf
|
|
@ -1,13 +0,0 @@
|
|||||||
sudo apt-get remove -y vim-tiny vim-common vim-gui-common vim vim-runtime gvim
|
|
||||||
sudo apt-get install -y mercurial libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python3-dev luajit liblua5.3-dev
|
|
||||||
sudo apt-get build-dep -y vim
|
|
||||||
mkdir -p /tmp/vim
|
|
||||||
cd /tmp/vim
|
|
||||||
rm -rf vim
|
|
||||||
# Old method of cloning
|
|
||||||
#(date && hg clone https://vim.googlecode.com/hg/ vim) 2>&1 |tee log
|
|
||||||
# Checkout the latest non alpha or beta tag
|
|
||||||
git clone https://github.com/vim/vim && cd vim && git checkout $(git tag|sort -n|grep -v '[ab]'|tail -n1)
|
|
||||||
./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp --enable-perlinterp --enable-gui=gtk2 --enable-cscope --prefix=/usr --enable-luainterp=dynamic --enable-python3interp=dynamic --with-python3-config-dir="$(python3-config --configdir)" | tee -a log
|
|
||||||
make | tee -a log
|
|
||||||
sudo make install | tee -a log
|
|
@ -1,13 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
SUDO=""
|
|
||||||
if command -v sudo > /dev/null; then
|
|
||||||
SUDO="$(command -v sudo)"
|
|
||||||
fi
|
|
||||||
echo "Installing wemux..."
|
|
||||||
test -d /usr/local/share/wemux || $SUDO git clone git://github.com/zolrath/wemux.git /usr/local/share/wemux && $SUDO git --git-dir=/usr/local/share/wemux pull
|
|
||||||
$SUDO rm -r /usr/local/bin/wemux /usr/local/etc/wemux.conf
|
|
||||||
$SUDO ln -s /usr/local/share/wemux/wemux /usr/local/bin/wemux
|
|
||||||
$SUDO mkdir -p /usr/local/etc
|
|
||||||
$SUDO cp /usr/local/share/wemux/wemux.conf.example /usr/local/etc/wemux.conf
|
|
||||||
printf 'options="-u2"\n' | $SUDO tee -a /usr/local/etc/wemux.conf >/dev/null
|
|
||||||
printf "host_list=(root $USER)\n" | $SUDO tee -a /usr/local/etc/wemux.conf >/dev/null
|
|
@ -1,20 +0,0 @@
|
|||||||
#!/bin/zsh
|
|
||||||
if [ ! "$1" = "-y" ]; then
|
|
||||||
# They want to assume yes, require no user input
|
|
||||||
echo "Make sure this is in your .vimrc"
|
|
||||||
echo "Plug 'https://github.com/Valloric/YouCompleteMe'"
|
|
||||||
echo -n "Press enter to continue..."
|
|
||||||
read a
|
|
||||||
fi
|
|
||||||
rm -rf ~/ycm_build
|
|
||||||
mkdir ~/ycm_build
|
|
||||||
cd ~/ycm_build
|
|
||||||
touch .nobackup
|
|
||||||
cmake -G "Unix Makefiles" . ~/.vim/plugged/YouCompleteMe/third_party/ycmd/cpp
|
|
||||||
cmake --build . --target ycm_core
|
|
||||||
#cd ~/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/gocode
|
|
||||||
#go build
|
|
||||||
#cd ~/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/tern_runtime
|
|
||||||
#npm install --production
|
|
||||||
cd -
|
|
||||||
echo "It should be done."
|
|
@ -1,17 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Make sure this is in your .vimrc
|
|
||||||
# Plug 'https://github.com/Valloric/YouCompleteMe'
|
|
||||||
pushd ~/.vim/plugged/YouCompleteMe
|
|
||||||
echo "Compiling with clang support..."
|
|
||||||
ARGS="--clang-completer"
|
|
||||||
if command -v cargo 2>&1 > /dev/null && command -v rustc 2>&1 > /dev/null; then
|
|
||||||
echo "Compiling with rust support..."
|
|
||||||
ARGS="$ARGS --racer-completer"
|
|
||||||
fi
|
|
||||||
if command -v go 2>&1 > /dev/null; then
|
|
||||||
echo "Compiling with go support..."
|
|
||||||
ARGS="$ARGS --gocode-completer"
|
|
||||||
fi
|
|
||||||
./install.py $ARGS
|
|
||||||
popd
|
|
||||||
echo "It should be done."
|
|
@ -1,5 +1,5 @@
|
|||||||
[include]
|
[include]
|
||||||
path = .conf.d/gitconfig.custom
|
path = .config/gitconfig.custom
|
||||||
[alias]
|
[alias]
|
||||||
i = "!git br&&git st"
|
i = "!git br&&git st"
|
||||||
# coa = "!for i in $(git branch -a|cut -b3-|grep remotes|sed -e 's/remotes\///'|cut -d/ -f1 --complement|cut -d\ -f1);do git checkout $i;done"
|
# coa = "!for i in $(git branch -a|cut -b3-|grep remotes|sed -e 's/remotes\///'|cut -d/ -f1 --complement|cut -d\ -f1);do git checkout $i;done"
|
17
main.yml
17
main.yml
@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts: all
|
|
||||||
vars:
|
|
||||||
install_path: "{{ ansible_env.HOME }}"
|
|
||||||
sync_path: "{{ install_path }}/sync"
|
|
||||||
disable_passwordauth: false
|
|
||||||
enable_passwordauth: false
|
|
||||||
private_repo: "git@austenwares.com:stonewareslord/private"
|
|
||||||
overwrite_existing: no
|
|
||||||
roles:
|
|
||||||
- {role: core, tags: [core,default]}
|
|
||||||
- {role: clean, tags: [clean]}
|
|
||||||
- {role: default, tags: [default]}
|
|
||||||
- {role: private, tags: [private]}
|
|
||||||
- {role: youcompleteme, tags: [youcompleteme]}
|
|
||||||
- {role: secure, become: yes, tags: [secure]}
|
|
||||||
- {role: dns, tags: [dns]}
|
|
@ -1 +0,0 @@
|
|||||||
ansible
|
|
@ -1,13 +0,0 @@
|
|||||||
- name: Remove files
|
|
||||||
file:
|
|
||||||
path: "{{ install_path }}/{{ item.path }}"
|
|
||||||
state: absent
|
|
||||||
with_filetree: "skel/"
|
|
||||||
when: item.state == 'file'
|
|
||||||
- name: Remove cloned repositories
|
|
||||||
file:
|
|
||||||
path: "{{ install_path }}/{{ item }}"
|
|
||||||
state: absent
|
|
||||||
loop:
|
|
||||||
- ".fzf"
|
|
||||||
- ".vim"
|
|
@ -1,6 +0,0 @@
|
|||||||
- name: Clone sync project
|
|
||||||
git:
|
|
||||||
repo: "https://gitea.austenwares.com/stonewareslord/sync.git"
|
|
||||||
dest: "{{ sync_path }}"
|
|
||||||
clone: yes
|
|
||||||
update: yes
|
|
@ -1,31 +0,0 @@
|
|||||||
- name: Create directories
|
|
||||||
file:
|
|
||||||
path: "{{ install_path }}/{{ item.path }}"
|
|
||||||
state: directory
|
|
||||||
force: "{{ overwrite_existing }}"
|
|
||||||
with_filetree: "skel/"
|
|
||||||
when: item.state == 'directory'
|
|
||||||
- name: Delete existing private files
|
|
||||||
file:
|
|
||||||
path: "{{ install_path }}/{{ item.path }}"
|
|
||||||
state: absent
|
|
||||||
with_filetree: "private/skel/"
|
|
||||||
when: item.state == 'file'
|
|
||||||
- name: Link files
|
|
||||||
file:
|
|
||||||
src: "{{ sync_path }}/skel/{{ item.path }}"
|
|
||||||
dest: "{{ install_path }}/{{ item.path }}"
|
|
||||||
remote_src: yes
|
|
||||||
state: link
|
|
||||||
force: "{{ overwrite_existing }}"
|
|
||||||
with_filetree: "skel/"
|
|
||||||
when: item.state == 'file'
|
|
||||||
- name: Clone fzf
|
|
||||||
git:
|
|
||||||
repo: "https://gitea.austenwares.com/stonewareslord/fzf.git"
|
|
||||||
dest: "{{ install_path }}/.fzf"
|
|
||||||
clone: yes
|
|
||||||
update: yes
|
|
||||||
force: yes
|
|
||||||
- name: Install fzf
|
|
||||||
shell: "{{ install_path|quote }}/.fzf/install --bin"
|
|
@ -1,15 +0,0 @@
|
|||||||
- name: Change DNS
|
|
||||||
lineinfile:
|
|
||||||
path: /etc/dhcp/dhclient.conf
|
|
||||||
regexp: '^\s*prepend\s+domain-name-servers'
|
|
||||||
insertafter: 'prepend\s+domain-name-servers'
|
|
||||||
state: 'present'
|
|
||||||
line: 'prepend domain-name-servers 1.0.0.1;'
|
|
||||||
become: yes
|
|
||||||
register: changed_dns
|
|
||||||
#- name: Restart networking
|
|
||||||
# service:
|
|
||||||
# name: network
|
|
||||||
# state: restarted
|
|
||||||
# become: yes
|
|
||||||
# when: changed_dns.changed
|
|
@ -1,22 +0,0 @@
|
|||||||
- name: Clone private repo
|
|
||||||
git:
|
|
||||||
repo: "{{ private_repo }}"
|
|
||||||
dest: "{{ sync_path }}/private"
|
|
||||||
clone: yes
|
|
||||||
update: yes
|
|
||||||
- name: Create priavte directories
|
|
||||||
file:
|
|
||||||
path: "{{ install_path }}/{{ item.path }}"
|
|
||||||
state: directory
|
|
||||||
force: "{{ overwrite_existing }}"
|
|
||||||
with_filetree: "private/skel/"
|
|
||||||
when: item.state == 'directory'
|
|
||||||
- name: Copy priavte files
|
|
||||||
copy:
|
|
||||||
src: "{{ sync_path }}/private/skel/{{ item.path }}"
|
|
||||||
dest: "{{ install_path }}/{{ item.path }}"
|
|
||||||
remote_src: yes
|
|
||||||
mode: 0600
|
|
||||||
force: "yes"
|
|
||||||
with_filetree: "private/skel/"
|
|
||||||
when: item.state == 'file'
|
|
@ -1,11 +0,0 @@
|
|||||||
- name: Check sshd
|
|
||||||
shell:
|
|
||||||
cmd: sshd -t
|
|
||||||
become: yes
|
|
||||||
listen: "restart_sshd"
|
|
||||||
- name: Restart sshd
|
|
||||||
service:
|
|
||||||
name: sshd
|
|
||||||
state: restarted
|
|
||||||
become: yes
|
|
||||||
listen: "restart_sshd"
|
|
@ -1,41 +0,0 @@
|
|||||||
- name: Secure SSH
|
|
||||||
lineinfile:
|
|
||||||
path: /etc/ssh/sshd_config
|
|
||||||
regexp: "{{ item.regexp }}"
|
|
||||||
# insertbefore: '^\s*Match'
|
|
||||||
insertbefore: BOF
|
|
||||||
state: 'present'
|
|
||||||
line: "{{ item.line }}"
|
|
||||||
notify: restart_sshd
|
|
||||||
loop:
|
|
||||||
- { regexp: '^\s*Protocol\s+2', line: 'Protocol 2' }
|
|
||||||
- { regexp: '^\s*UseDNS\s+no', line: 'UseDNS no' }
|
|
||||||
- { regexp: '^\s*PermitEmptyPasswords\s+no', line: 'PermitEmptyPasswords no' }
|
|
||||||
- { regexp: '^\s*PermitRootLogin\s+without-password', line: 'PermitRootLogin without-password' }
|
|
||||||
- name: Disable passwordauth
|
|
||||||
lineinfile:
|
|
||||||
path: /etc/ssh/sshd_config
|
|
||||||
regexp: "{{ item.regexp }}"
|
|
||||||
insertbefore: '^\s*Match'
|
|
||||||
state: 'present'
|
|
||||||
line: "{{ item.line }}"
|
|
||||||
notify: restart_sshd
|
|
||||||
loop:
|
|
||||||
- { regexp: '^\s*ChallengeResponseAuthentication\s+no', line: 'ChallengeResponseAuthentication no' }
|
|
||||||
- { regexp: '^\s*PasswordAuthentication\s+no', line: 'PasswordAuthentication no' }
|
|
||||||
- { regexp: '^\s*AuthenticationMethods\s+publickey', line: 'AuthenticationMethods publickey' }
|
|
||||||
when: "disable_passwordauth"
|
|
||||||
- name: Enable passwordauth
|
|
||||||
lineinfile:
|
|
||||||
path: /etc/ssh/sshd_config
|
|
||||||
regexp: "{{ item.regexp }}"
|
|
||||||
insertbefore: '^\s*Match'
|
|
||||||
state: 'present'
|
|
||||||
line: "{{ item.line }}"
|
|
||||||
notify: restart_sshd
|
|
||||||
loop:
|
|
||||||
- { regexp: '^\s*ChallengeResponseAuthentication\s+yes', line: 'ChallengeResponseAuthentication yes' }
|
|
||||||
- { regexp: '^\s*PasswordAuthentication\s+yes', line: 'PasswordAuthentication yes' }
|
|
||||||
- { regexp: '^\s*AuthenticationMethods\s+publickey\s+keyboard-interactive', line: 'AuthenticationMethods publickey keyboard-interactive' }
|
|
||||||
when: "enable_passwordauth"
|
|
||||||
- meta: "flush_handlers"
|
|
@ -1,7 +0,0 @@
|
|||||||
- name: Link files
|
|
||||||
file:
|
|
||||||
src: "{{ item.src }}"
|
|
||||||
dest: "{{ install_path }}/{{ item.path }}"
|
|
||||||
state: link
|
|
||||||
force: "{{ overwrite_existing }}"
|
|
||||||
with_filetree: "skel.vim/"
|
|
@ -1,29 +0,0 @@
|
|||||||
- name: Check if cargo is installed
|
|
||||||
shell: command -v cargo >/dev/null 2>&1
|
|
||||||
register: cargo_exists
|
|
||||||
ignore_errors: yes
|
|
||||||
- name: Check if go is installed
|
|
||||||
shell: command -v go >/dev/null 2>&1
|
|
||||||
register: go_exists
|
|
||||||
ignore_errors: yes
|
|
||||||
# TODO: Figure out how to transform cargo_flag.rc == 0 && echo --racer-completer
|
|
||||||
- name: Install youcompleteme
|
|
||||||
shell:
|
|
||||||
cmd: ./install.py
|
|
||||||
chdir: "~/.vim/plugged/YouCompleteMe"
|
|
||||||
when: "go_exists.rc != 0 and cargo_exists.rc != 0"
|
|
||||||
- name: Install youcompleteme with rust
|
|
||||||
shell:
|
|
||||||
cmd: ./install.py --racer-completer
|
|
||||||
chdir: "~/.vim/plugged/YouCompleteMe"
|
|
||||||
when: "go_exists.rc != 0 and cargo_exists.rc == 0"
|
|
||||||
- name: Install youcompleteme with go
|
|
||||||
shell:
|
|
||||||
cmd: ./install.py --gocode-completer
|
|
||||||
chdir: "~/.vim/plugged/YouCompleteMe"
|
|
||||||
when: "go_exists.rc == 0 and cargo_exists.rc != 0"
|
|
||||||
- name: Install youcompleteme with rust and go
|
|
||||||
shell:
|
|
||||||
cmd: ./install.py --gocode-completer --racer-completer
|
|
||||||
chdir: "~/.vim/plugged/YouCompleteMe"
|
|
||||||
when: "go_exists.rc == 0 and cargo_exists.rc == 0"
|
|
136
scripts/sync.sh
136
scripts/sync.sh
@ -1,136 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
ABSPATH="$(\pushd >/dev/null "$(\dirname "$0")/..";\pwd;\popd >/dev/null)"
|
|
||||||
SYNC_CONFIG=0
|
|
||||||
SHOW_HELP=0
|
|
||||||
SYNC_CUSTOM=0
|
|
||||||
SYNC_VIM=0
|
|
||||||
VALID_CMD=0
|
|
||||||
RECLONE=0
|
|
||||||
YCM=0
|
|
||||||
TMP_PATH="/tmp/$(uuidgen)"
|
|
||||||
mkdir -p "$TMP_PATH"
|
|
||||||
sync_config() {
|
|
||||||
# Remove old config files
|
|
||||||
remove ~/.gitconfig ~/.bashrc ~/.pylintrc ~/.zsh ~/.zshrc ~/.tmux.conf ~/.config/liquidpromptrc ~/.config/dunstrc
|
|
||||||
# Silently remove vimperator files since we are not reinstalling
|
|
||||||
remove -s ~/.vimperatorrc ~/.vimperator/colors/vimPgray.vimp
|
|
||||||
if [[ $RECLONE = 1 ]]; then
|
|
||||||
remove ~/.fzf ~/.zsh-git
|
|
||||||
fi
|
|
||||||
# Install on all systems
|
|
||||||
# Vimperator has perished. Don't install vimperator files anymore
|
|
||||||
#ln -s "$ABSPATH/vimperator/vimperatorrc" ~/.vimperatorrc
|
|
||||||
#mkdir -p ~/.vimperator/colors
|
|
||||||
#ln -s "$ABSPATH/vimperator/vimPgray.vimp" ~/.vimperator/colors/vimPgray.vimp
|
|
||||||
if command -v git 2>&1 >/dev/null; then
|
|
||||||
if command -v zsh 2>&1 >/dev/null; then
|
|
||||||
for i in lpr oh-my-git-themes omg zsh-syntax-highlighting; do
|
|
||||||
if [ ! -d ~/.zsh-git/"$i" ]; then
|
|
||||||
git clone "https://gitea.austenwares.com/stonewareslord/$i.git" ~/.zsh-git/"$i"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
if [ ! -d ~/.fzf ] ; then
|
|
||||||
git clone "https://gitea.austenwares.com/stonewareslord/fzf.git" ~/.fzf
|
|
||||||
~/.fzf/install --bin
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "No git! Not installing fzf or zsh packages"
|
|
||||||
fi
|
|
||||||
mkdir -p ~/.config
|
|
||||||
ln -s "$ABSPATH/dunst/dunstrc" ~/.config/dunstrc
|
|
||||||
ln -s "$ABSPATH/tmux/tmux.conf" ~/.tmux.conf
|
|
||||||
ln -s "$ABSPATH/python/pylintrc" ~/.pylintrc
|
|
||||||
ln -s "$ABSPATH/git/gitconfig" ~/.gitconfig
|
|
||||||
ln -s "$ABSPATH/shells/bashrc" ~/.bashrc
|
|
||||||
ln -s "$ABSPATH/shells/zshrc" ~/.zshrc
|
|
||||||
ln -s "$ABSPATH/zsh" ~/.zsh
|
|
||||||
ln -s "$ABSPATH/shells/liquidpromptrc" ~/.config/liquidpromptrc
|
|
||||||
if [ "$(uname)" != "Darwin" ]; then
|
|
||||||
# Don't install these on Mac
|
|
||||||
remove ~/.i3/{config,i3status.conf,run.sh} ~/.Xmodmap ~/.xsession ~/.config/synapse/gtkrc ~/.Xresources
|
|
||||||
mkdir -p ~/.i3 ~/.config/synapse
|
|
||||||
ln -s "$ABSPATH/i3/config" ~/.i3/config
|
|
||||||
ln -s "$ABSPATH/i3/$(hostname)-status.conf" ~/.i3/i3status.conf 2>/dev/null
|
|
||||||
ln -s "$ABSPATH/i3/run.sh" ~/.i3/run.sh
|
|
||||||
ln -s "$ABSPATH/i3/Xmodmap" ~/.Xmodmap
|
|
||||||
ln -s "$ABSPATH/i3/xsession" ~/.xsession
|
|
||||||
ln -s "$ABSPATH/i3/gtkrc" ~/.config/synapse/gtkrc
|
|
||||||
ln -s "$ABSPATH/shells/Xresources" ~/.Xresources
|
|
||||||
if command -v xrdb 2>&1 >/dev/null; then
|
|
||||||
xrdb ~/.Xresources
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
sync_custom() {
|
|
||||||
if ! command -v git 2>&1 >/dev/null; then
|
|
||||||
echo "Error! No git -- can't sync custom files"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
if [[ ! -d ~/.zsh-git/custom-config ]]; then
|
|
||||||
#TODO: Figure out if I should use ssh or https cloning
|
|
||||||
#git clone https://gitea.austenwares.com/stonewareslord/custom-config
|
|
||||||
git clone git@austenwares.com:stonewareslord/custom-config ~/.zsh-git/custom-config
|
|
||||||
fi
|
|
||||||
remove ~/.gitconfig
|
|
||||||
ln -s ~/.zsh-git/custom-config/gitconfig ~/.gitconfig
|
|
||||||
# Custom zsh is sourced from zshrc
|
|
||||||
}
|
|
||||||
sync_vim() {
|
|
||||||
remove ~/.vimrc
|
|
||||||
ln -s "$ABSPATH/vim/vimrc" ~/.vimrc
|
|
||||||
vim +"silent! call Initialize()" +q
|
|
||||||
}
|
|
||||||
show_help() {
|
|
||||||
echo "sync.sh syncs configuration files and Vim plugins on computers"
|
|
||||||
echo " -h Shows this help"
|
|
||||||
echo " -b Syncs Vim bundles"
|
|
||||||
echo " -s Use this if you want custom stonewareslord settings"
|
|
||||||
echo " -c Sync configuration files"
|
|
||||||
echo " -r Reclone all git repositories"
|
|
||||||
echo " -y Run youcompleteme.sh"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
run_ycm() {
|
|
||||||
"$ABSPATH/applications/youcompleteme.sh"
|
|
||||||
}
|
|
||||||
remove() {
|
|
||||||
local SILENT=0
|
|
||||||
if [[ "$1" = "-s" ]]; then
|
|
||||||
# Be quiet!
|
|
||||||
SILENT=1
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
if [[ $SILENT = 1 ]]; then
|
|
||||||
\mv -t "$TMP_PATH" $* 2>/dev/null
|
|
||||||
else
|
|
||||||
\mv -t "$TMP_PATH" $*
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
while getopts ":shbcyr" OPT "$@"; do
|
|
||||||
case $OPT in
|
|
||||||
b) SYNC_VIM=1;VALID_CMD=1;;
|
|
||||||
s) SYNC_CUSTOM=1;;
|
|
||||||
c) SYNC_CONFIG=1;VALID_CMD=1;;
|
|
||||||
r) RECLONE=1;;
|
|
||||||
y) YCM=1;VALID_CMD=1;;
|
|
||||||
*) echo "Invalid option: $OPT";SHOW_HELP=1;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if [[ $SHOW_HELP = 1 ]] || [[ ! $VALID_CMD = 1 ]]; then
|
|
||||||
show_help
|
|
||||||
fi
|
|
||||||
echo "Syncing config files. Placing old files in $TMP_PATH"
|
|
||||||
if [[ $SYNC_CONFIG = 1 ]]; then
|
|
||||||
sync_config
|
|
||||||
if [[ $SYNC_CUSTOM = 1 ]]; then
|
|
||||||
sync_custom
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [[ $SYNC_VIM = 1 ]]; then
|
|
||||||
sync_vim
|
|
||||||
fi
|
|
||||||
if [[ $YCM = 1 ]]; then
|
|
||||||
run_ycm
|
|
||||||
fi
|
|
||||||
echo "Done syncing"
|
|
@ -1,67 +0,0 @@
|
|||||||
#3 good monitors
|
|
||||||
timeout 1s pdsh -R ssh -w 10.0.1.196,10.0.1.207,10.0.1.33 "killall x11vnc"
|
|
||||||
killall x11vnc
|
|
||||||
xrandr --output VIRTUAL1 --off --output VIRTUAL2 --off --output VIRTUAL3 --off
|
|
||||||
xrandr --newmode "1280x800_60.00" 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync
|
|
||||||
xrandr --newmode "904x1600_60.00" 121.50 904 968 1064 1224 1600 1603 1613 1658 -hsync +vsync
|
|
||||||
xrandr --addmode VIRTUAL1 1280x800_60.00
|
|
||||||
xrandr --addmode VIRTUAL2 1280x800_60.00
|
|
||||||
xrandr --addmode VIRTUAL3 904x1600_60.00
|
|
||||||
xrandr --output VIRTUAL2 --mode 1280x800_60.00 --above HDMI1
|
|
||||||
xrandr --output VIRTUAL3 --mode 904x1600_60.00
|
|
||||||
xrandr --output VIRTUAL1 --mode 1280x800_60.00 --above HDMI3
|
|
||||||
x11vnc -clip 1280x800+640+0 -xrandr -forever -viewonly -allow 10.0.1.207 > /dev/null 2>&1 &
|
|
||||||
x11vnc -clip 1280x800+1920+0 -xrandr -forever -viewonly -allow 10.0.1.196 > /dev/null 2>&1 &
|
|
||||||
timeout 1s pdsh -R ssh -w 10.0.1.196,10.0.1.207 ./s
|
|
||||||
x11vnc -clip 900x1600+3840+280 -xrandr -forever -viewonly > /dev/null 2>&1 &
|
|
||||||
timeout 1s ssh 10.0.1.33 "export DISPLAY=:0.0&&xtightvncviewer 10.0.1.201:2 -fullscreen > /dev/null 2>&1 &"
|
|
||||||
xrandr --output VIRTUAL3 --pos 3840x280
|
|
||||||
xrandr --output VIRTUAL1 --pos 640x0
|
|
||||||
|
|
||||||
#3 monitors
|
|
||||||
x11vnc -clip 1280x800+640+0 -xrandr -forever
|
|
||||||
x11vnc -clip 1280x800+1920+0 -xrandr -forever
|
|
||||||
x11vnc -clip 1366x768+3840+800 -xrandr -forever
|
|
||||||
|
|
||||||
xrandr --newmode "1280x800_60.00" 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync
|
|
||||||
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
|
|
||||||
|
|
||||||
xrandr --addmode VIRTUAL1 1280x800_60.00
|
|
||||||
xrandr --addmode VIRTUAL2 1280x800_60.00
|
|
||||||
xrandr --addmode VIRTUAL3 1368x768_60.00
|
|
||||||
|
|
||||||
xrandr --output VIRTUAL1 --mode 1280x800_60.00 --above HDMI3
|
|
||||||
xrandr --output VIRTUAL3 --mode 1368x768_60.00 --right-of HDMI1
|
|
||||||
xrandr --output VIRTUAL2 --mode 1280x800_60.00 --above HDMI1
|
|
||||||
xrandr --output VIRTUAL1 --pos 640x0
|
|
||||||
xrandr --output VIRTUAL3 --pos 3840x800
|
|
||||||
|
|
||||||
export DISPLAY=:0.0&&xtightvncviewer 10.0.1.201:0 -fullscreen
|
|
||||||
while true; do xset dpms force on;sleep 601;done
|
|
||||||
xset dpms 0 0 0
|
|
||||||
|
|
||||||
xrandr --output VIRTUAL1 --off
|
|
||||||
xrandr --output VIRTUAL2 --off
|
|
||||||
xrandr --output VIRTUAL3 --off
|
|
||||||
|
|
||||||
|
|
||||||
#2 monitors
|
|
||||||
x11vnc -clip 1280x800+640+0 -xrandr -forever -viewonly -allow 10.0.1.207 nifyd
|
|
||||||
x11vnc -clip 1280x800+1920+0 -xrandr -forever -viewonly -allow 10.0.1.196 nifyd
|
|
||||||
|
|
||||||
smon ./s
|
|
||||||
|
|
||||||
xrandr --newmode "1280x800_60.00" 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync
|
|
||||||
|
|
||||||
xrandr --addmode VIRTUAL1 1280x800_60.00
|
|
||||||
xrandr --addmode VIRTUAL2 1280x800_60.00
|
|
||||||
|
|
||||||
xrandr --output VIRTUAL1 --mode 1280x800_60.00 --above HDMI3
|
|
||||||
xrandr --output VIRTUAL2 --mode 1280x800_60.00 --above HDMI1
|
|
||||||
xrandr --output VIRTUAL1 --pos 640x0
|
|
||||||
|
|
||||||
export DISPLAY=:0.0&&xtightvncviewer 10.0.1.201:0 -fullscreen
|
|
||||||
while true; do xset dpms force on;sleep 601;done
|
|
||||||
xset dpms 0 0 0
|
|
||||||
|
|
||||||
xrandr --output VIRTUAL1 --off;xrandr --output VIRTUAL2 --off;xrandr --output VIRTUAL3 --off
|
|
@ -1,4 +0,0 @@
|
|||||||
# This file can be replaced by using the private tag
|
|
||||||
[user]
|
|
||||||
email =
|
|
||||||
name =
|
|
@ -1,230 +0,0 @@
|
|||||||
[global]
|
|
||||||
font = Monospace 9
|
|
||||||
|
|
||||||
# allow a small subset of html markup:
|
|
||||||
# <b>bold</b>
|
|
||||||
# <i>italic</i>
|
|
||||||
# <s>strikethrough<s/>
|
|
||||||
# <u>underline</u>
|
|
||||||
#
|
|
||||||
# for a complete reference see http://developer.gnome.org/pango/stable/PangoMarkupFormat.html
|
|
||||||
# If markup is not allowed, those tags will be stripped out of the message.
|
|
||||||
allow_markup = yes
|
|
||||||
|
|
||||||
# The format of the message. Possible variables are:
|
|
||||||
# %a appname
|
|
||||||
# %s summary
|
|
||||||
# %b body
|
|
||||||
# %i iconname (including its path)
|
|
||||||
# %I iconname (without its path)
|
|
||||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
|
||||||
# Markup is allowed
|
|
||||||
format = "<b>%a:</b> %s\n%b"
|
|
||||||
|
|
||||||
# Sort messages by urgency
|
|
||||||
sort = yes
|
|
||||||
|
|
||||||
# Show how many messages are currently hidden (because of geometry)
|
|
||||||
indicate_hidden = yes
|
|
||||||
|
|
||||||
# alignment of message text.
|
|
||||||
# Possible values are "left", "center" and "right"
|
|
||||||
alignment = left
|
|
||||||
|
|
||||||
# The frequency with wich text that is longer than the notification
|
|
||||||
# window allows bounces back and forth.
|
|
||||||
# This option conflicts with 'word_wrap'.
|
|
||||||
# Set to 0 to disable
|
|
||||||
bounce_freq = 0
|
|
||||||
|
|
||||||
# show age of message if message is older than show_age_threshold seconds.
|
|
||||||
# set to -1 to disable
|
|
||||||
show_age_threshold = 60
|
|
||||||
|
|
||||||
# split notifications into multiple lines if they don't fit into geometry
|
|
||||||
word_wrap = yes
|
|
||||||
|
|
||||||
# ignore newlines '\n' in notifications
|
|
||||||
ignore_newline = no
|
|
||||||
|
|
||||||
|
|
||||||
# the geometry of the window
|
|
||||||
# geometry [{width}]x{height}][+/-{x}+/-{y}]
|
|
||||||
# The geometry of the message window.
|
|
||||||
# The height is measured in number of notifications everything else in pixels. If the width
|
|
||||||
# is omitted but the height is given ("-geometry x2"), the message window
|
|
||||||
# expands over the whole screen (dmenu-like). If width is 0,
|
|
||||||
# the window expands to the longest message displayed.
|
|
||||||
# A positive x is measured from the left, a negative from the
|
|
||||||
# right side of the screen. Y is measured from the top and down respectevly.
|
|
||||||
# The width can be negative. In this case the actual width is the
|
|
||||||
# screen width minus the width defined in within the geometry option.
|
|
||||||
#geometry = "300x5-30+20"
|
|
||||||
|
|
||||||
# The transparency of the window. range: [0; 100]
|
|
||||||
# This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..)
|
|
||||||
transparency = 0
|
|
||||||
|
|
||||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
|
||||||
# for longer than idle_threshold seconds.
|
|
||||||
# Set to 0 to disable.
|
|
||||||
idle_threshold = 120
|
|
||||||
|
|
||||||
# Which monitor should the notifications be displayed on.
|
|
||||||
monitor = 0
|
|
||||||
|
|
||||||
# Display notification on focused monitor. Possible modes are:
|
|
||||||
# mouse: follow mouse pointer
|
|
||||||
# keyboard: follow window with keyboard focus
|
|
||||||
# none: don't follow anything
|
|
||||||
#
|
|
||||||
# "keyboard" needs a windowmanager that exports the _NET_ACTIVE_WINDOW property.
|
|
||||||
# This should be the case for almost all modern windowmanagers.
|
|
||||||
#
|
|
||||||
# If this option is set to mouse or keyboard, the monitor option will be
|
|
||||||
# ignored.
|
|
||||||
follow = keyboard
|
|
||||||
|
|
||||||
# should a notification popped up from history be sticky or
|
|
||||||
# timeout as if it would normally do.
|
|
||||||
sticky_history = yes
|
|
||||||
|
|
||||||
# The height of a single line. If the height is smaller than the font height,
|
|
||||||
# it will get raised to the font height.
|
|
||||||
# This adds empty space above and under the text.
|
|
||||||
line_height = 0
|
|
||||||
|
|
||||||
# Draw a line of 'separatpr_height' pixel height between two notifications.
|
|
||||||
# Set to 0 to disable
|
|
||||||
separator_height = 2
|
|
||||||
|
|
||||||
# padding between text and separator
|
|
||||||
padding = 8
|
|
||||||
|
|
||||||
# horizontal padding
|
|
||||||
horizontal_padding = 8
|
|
||||||
|
|
||||||
# Define a color for the separator.
|
|
||||||
# possible values are:
|
|
||||||
# * auto: dunst tries to find a color fitting to the background
|
|
||||||
# * foreground: use the same color as the foreground
|
|
||||||
# * frame: use the same color as the frame.
|
|
||||||
# * anything else will be interpreted as a X color
|
|
||||||
separator_color = frame
|
|
||||||
|
|
||||||
# print a notification on startup
|
|
||||||
# This is mainly for error detection, since dbus (re-)starts dunst
|
|
||||||
# automatically after a crash.
|
|
||||||
startup_notification = true
|
|
||||||
|
|
||||||
# dmenu path
|
|
||||||
dmenu = /usr/bin/dmenu -p dunst:
|
|
||||||
|
|
||||||
# browser for opening urls in context menu
|
|
||||||
browser = /usr/bin/firefox -new-tab
|
|
||||||
|
|
||||||
[frame]
|
|
||||||
width = 3
|
|
||||||
color = "#FFFFFF"
|
|
||||||
|
|
||||||
[shortcuts]
|
|
||||||
# shortcuts are specified as [modifier+][modifier+]...key
|
|
||||||
# available modifiers are 'ctrl', 'mod1' (the alt-key), 'mod2', 'mod3'
|
|
||||||
# and 'mod4' (windows-key)
|
|
||||||
# xev might be helpful to find names for keys
|
|
||||||
|
|
||||||
# close notification
|
|
||||||
#close = mod4+m
|
|
||||||
|
|
||||||
# close all notifications
|
|
||||||
#close_all = mod4+shift+m
|
|
||||||
|
|
||||||
# redisplay last message(s)
|
|
||||||
#history = mod4+n
|
|
||||||
|
|
||||||
# context menu
|
|
||||||
#context = mod4+shift+i
|
|
||||||
|
|
||||||
[urgency_low]
|
|
||||||
# IMPORTANT: colors have to be defined in quotation marks.
|
|
||||||
# Otherwise the '#' and following would be interpreted as a comment.
|
|
||||||
background = "#121212"
|
|
||||||
foreground = "#FFFFFF"
|
|
||||||
timeout = 10
|
|
||||||
|
|
||||||
[urgency_normal]
|
|
||||||
background = "#121212"
|
|
||||||
foreground = "#FFFFFF"
|
|
||||||
timeout = 10
|
|
||||||
|
|
||||||
[urgency_critical]
|
|
||||||
background = "#FF0000"
|
|
||||||
foreground = "#FFFFFF"
|
|
||||||
timeout = 0
|
|
||||||
|
|
||||||
|
|
||||||
# Every section that isn't one of the above is interpreted as a rules
|
|
||||||
# to override settings for certain messages.
|
|
||||||
# Messages can be matched by 'appname', 'summary', 'body' or 'icon'
|
|
||||||
# and you can override the 'timeout', 'urgency', 'foreground', 'background'
|
|
||||||
# and 'format'.
|
|
||||||
# Shell-like globbing will get expanded.
|
|
||||||
#
|
|
||||||
# SCRIPTING
|
|
||||||
# you can specify a script that gets run when the rule matches by setting
|
|
||||||
# the 'script' option.
|
|
||||||
# The script will be called as follows:
|
|
||||||
# script appname summary body icon urgency
|
|
||||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
|
||||||
#
|
|
||||||
# NOTE: if you don't want a notification to be displayed, set the format to ""
|
|
||||||
# NOTE: It might be helpful to run dunst -print in a terminal in order to find
|
|
||||||
# fitting options for rules.
|
|
||||||
|
|
||||||
#[espeak]
|
|
||||||
# summary = "*"
|
|
||||||
# script = dunst_espeak.sh
|
|
||||||
|
|
||||||
#[script-test]
|
|
||||||
# summary = "*script*"
|
|
||||||
# script = dunst_test.sh
|
|
||||||
|
|
||||||
#[ignore]
|
|
||||||
## This notification will not be displayed
|
|
||||||
# summary = "foobar"
|
|
||||||
# format = ""
|
|
||||||
|
|
||||||
[riot]
|
|
||||||
appname = "Electron"
|
|
||||||
format = "<b>Riot:</b> %s\n%b"
|
|
||||||
|
|
||||||
[telegram]
|
|
||||||
appname = "Telegram Dektop"
|
|
||||||
format = "<b>Telegram:</b> %s\n%b"
|
|
||||||
|
|
||||||
#[signed_on]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = "*signed on*"
|
|
||||||
# urgency = low
|
|
||||||
#
|
|
||||||
#[signed_off]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = *signed off*
|
|
||||||
# urgency = low
|
|
||||||
#
|
|
||||||
#[says]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = *says*
|
|
||||||
# urgency = critical
|
|
||||||
# format = "%s "%b""
|
|
||||||
#
|
|
||||||
#[music]
|
|
||||||
# appname = Amarok
|
|
||||||
# summary = "Now playing"
|
|
||||||
# urgency = low
|
|
||||||
|
|
||||||
#[twitter]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = *twitter.com*
|
|
||||||
# urgency = normal
|
|
||||||
#
|
|
@ -1,47 +0,0 @@
|
|||||||
gtk_color_scheme = "bg_selected:#11ffeb\nbg_normal:#202020\nfg_normal:#f5f5f5\nfg_selected:#ffffff\n"
|
|
||||||
|
|
||||||
style "synapse"
|
|
||||||
{
|
|
||||||
bg[NORMAL] = @bg_normal
|
|
||||||
bg[SELECTED] = @bg_normal
|
|
||||||
fg[NORMAL] = @fg_normal
|
|
||||||
fg[SELECTED] = @fg_normal
|
|
||||||
|
|
||||||
base[NORMAL] = lighter (lighter (@bg_normal))
|
|
||||||
text[NORMAL] = @fg_normal
|
|
||||||
|
|
||||||
engine "murrine"
|
|
||||||
{
|
|
||||||
contrast = 0.6
|
|
||||||
arrowstyle = 2
|
|
||||||
reliefstyle = 3
|
|
||||||
highlight_shade = 1.0
|
|
||||||
glazestyle = 0
|
|
||||||
gradient_shades = {1.2, 1.0, 1.0, 0.8}
|
|
||||||
roundness = 4
|
|
||||||
lightborder_shade = 1.26
|
|
||||||
lightborderstyle = 1
|
|
||||||
separatorstyle = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
SynapseGuiView :: border-radius = 14
|
|
||||||
SynapseGuiView :: shadow-size = 10
|
|
||||||
|
|
||||||
SynapseGuiViewEssential :: ui-width = 500
|
|
||||||
SynapseGuiViewEssential :: icon-size = 96
|
|
||||||
SynapseGuiViewEssential :: title-size = "large"
|
|
||||||
SynapseGuiViewEssential :: title-min-size = "medium"
|
|
||||||
SynapseGuiViewEssential :: description-size = "small"
|
|
||||||
SynapseGuiViewEssential :: description-min-size = "small"
|
|
||||||
|
|
||||||
SynapseGuiViewDoish :: pane-spacing = 30
|
|
||||||
SynapseGuiViewDoish :: icon-size = 140
|
|
||||||
SynapseGuiViewDoish :: title-size = "large"
|
|
||||||
SynapseGuiViewDoish :: title-min-size = "small"
|
|
||||||
SynapseGuiViewDoish :: description-size = "medium"
|
|
||||||
SynapseGuiViewDoish :: description-min-size = "medium"
|
|
||||||
}
|
|
||||||
|
|
||||||
widget_class "*SynapseWindow*" style "synapse"
|
|
||||||
widget_class "*SynapseGuiView*" style "synapse"
|
|
||||||
|
|
17
sync.sh
17
sync.sh
@ -1,17 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
\cd "$(dirname $0)"
|
|
||||||
if [ -z "$1" ]; then
|
|
||||||
echo "Usage:"
|
|
||||||
echo "$0 TAG1[,TAG2] [ANSIBLE-OPTS]"
|
|
||||||
echo "Available tags:"
|
|
||||||
echo "$(\ls roles | tr '\n' ' ')"
|
|
||||||
echo "Example: $0 default,vim"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ -f .env/bin/activate ]; then
|
|
||||||
echo "Found virtualenv. Sourcing..."
|
|
||||||
source .env/bin/activate
|
|
||||||
fi
|
|
||||||
TAGS="$1"
|
|
||||||
shift
|
|
||||||
ansible-playbook -i 'localhost,' $* main.yml --tags "$TAGS"
|
|
Loading…
Reference in New Issue
Block a user