dotfiles/tasks/linux.py

65 lines
1.9 KiB
Python
Raw Normal View History

2014-11-11 14:32:13 -07:00
import os
2016-07-09 01:47:56 -06:00
from invoke import task as ctask
2016-09-03 17:43:05 -06:00
from .util import RESOURCES_DIRECTORY
2014-11-11 14:32:13 -07:00
@ctask(default=True)
def setup(ctx):
apt_get(ctx)
2014-10-10 16:56:34 -06:00
get_sbt(ctx)
2014-10-10 16:56:34 -06:00
linux_pacakges = ('zsh', 'tmux', 'emacs24-nox', 'nmap', 'scala', 'default-jdk',
'default-jre', 'python-virtualenv', 'htop', 'netcat', 'wget',
'zlib1g-dev', 'libxml2-dev', 'libxslt1-dev', 'python-dev',
'libncurses5-dev', 'xbindkeys', 'python3-dev', 'xclip',
2014-11-25 09:27:55 -07:00
'silversearcher-ag', 'npm', 'xdotool', 'gconf-editor',
2014-12-06 13:33:56 -07:00
'dropbox', 'offlineimap', 'mu4e' 'fonts-droid' 'fonts-noto',
2014-12-08 05:34:53 -07:00
'gnutls-bin', 'libgmime-2.6-', 'libxapian-dev',
2015-02-21 21:08:46 -07:00
'openssh-server', 'golang', 'gitfs',
'python-software-properties', 'software-properties-common')
repositories = ('ppa:presslabs/gitfs',)
@ctask
def apt_get(ctx):
for repository in repositories:
ctx.run('sudo add-apt-repository {0}'.format(repository))
2014-12-08 02:03:17 -07:00
ctx.run('sudo apt-get update')
install_command = 'sudo apt-get -y install'
for package in linux_pacakges:
ctx.run('{0} {1}'.format(install_command, package), pty=False)
2014-10-10 16:56:34 -06:00
@ctask
def get_sbt(ctx):
ctx.run('wget http://dl.bintray.com/sbt/debian/sbt-0.13.5.deb '
'--output-document=sbt.deb; sudo dpkg -i sbt.deb; '
'sudo apt-get update; sudo apt-get install sbt; rm sbt.deb')
2014-11-11 14:32:13 -07:00
2014-12-08 06:19:55 -07:00
@ctask
def get_hub(ctx):
ctx.run("""git clone https://github.com/github/hub.git &&
cd hub &&
./script/build &&
cp hub /usr/bin &&
sudo chown root /usr/bin/hub &&
sudo chmod 777 /usr/bin/hub""")
2014-11-11 14:32:13 -07:00
@ctask
def monaco(ctx):
ctx.run("sudo cp {0} /usr/share/fonts/fontfiles".format(
os.path.join(RESOURCES_DIRECTORY, "Monaco-Powerline.otf")
))
ctx.run("sudo fc-cache -fv")
@ctask
def emacs_bindings_in_gnome(ctx):
ctx.run("gsettings set org.gnome.desktop.interface gtk-key-theme 'Emacs'")