Skip to content

Instantly share code, notes, and snippets.

@pfaffman
Created December 7, 2019 03:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pfaffman/068916c868c9d8387decf21738e16920 to your computer and use it in GitHub Desktop.
Save pfaffman/068916c868c9d8387decf21738e16920 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ansible-playbook
---
- hosts: localhost
vars:
packages:
- exfat-fuse
- exfat-utils
- xfsprogs
- xfsdump
- hfsprogs
- gparted
- emacs
- vim
- openssh-server
- ssh-import-id
- whois
- macchanger
- gimp
- shotwell
- ubuntu-restricted-extras
- audacity
- hplip-gui
- git
- git-cola
- git-core
- mysql-client
- mysql-workbench
- curl
- tmux
- s3cmd
- keepassxc
- aptitude
- gnome-tweak-tool
- docker.io
laptop_packages:
- hibernate
missing_packages:
- skype
remove_packages:
- thunderbird
text_packages:
- texlive-latex-base
- texlive-latex-extra
- texlive-fonts-recommended
- texlive-bibtex-extra
- biber
- pandoc
- texlive-xetex
- pandoc
- haskell-platform
- markdown
- fonts-linuxlibertine ghc6 ghc6-prof ghc6-doc
- texify
- unrtf
- texlive-base
- texlive-latex-base
- texlive-latex-recommended
- texlive-fonts-extra
- texlive-fonts-recommended
- texlive-latex-extra
- texlive-publishers
- ttf-mscorefonts-installer
- msttcorefonts/accepted-mscorefonts-eula
file_systems:
- exfat-fuse
- exfat-utils
- xfsprogs
- xfsdump
- hfsprogs
- gparted
other_stuff:
- keybase # installed below
extra_packages:
- google-chrome-stable
tasks:
- name: install the packages
apt:
name: "{{ packages }}"
become: yes
- name: sudoers
lineinfile:
path: /etc/sudoers.d/{{item}}
line: "{{item}} ALL = NOPASSWD: ALL"
state: present
create: yes
become: yes
loop:
- pfaffman
- ubuntu
- lc
- jay
- name: no darn caps
shell: "{{item}}"
loop:
- gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"
- gsettings set org.gnome.desktop.wm.keybindings maximize-vertically "['<Super>Up']"
- gsettings set org.gnome.desktop.wm.keybindings maximize-horizontally "['<Super>Right']"
- gsettings set org.gnome.desktop.wm.keybindings activate-window-menu "['<Super>space']"
- gsettings set org.gnome.desktop.wm.keybindings begin-resize "['<Super>r']"
- gsettings set org.gnome.desktop.wm.keybindings begin-move "['<Super>m']"
- gsettings set org.gnome.desktop.wm.keybindings move-to-center "['<Super>c']"
- gsettings set org.gnome.desktop.wm.keybindings raise "['<Super>u']"
- gsettings set org.gnome.desktop.wm.keybindings lower "['<Super>l']"
- gsettings set org.gnome.desktop.wm.keybindings minimize "['<Super>z']"
- gsettings set org.gnome.desktop.wm.keybindings activate-window-menu \[\'disabled\'\]
- gsettings set org.gnome.Evince.Default continuous false
#- gconftool --type int -s /apps/gnome-power-manager/backlight/idle_dim_time 30
#- gconftool --type int -s /apps/gnome-power-manager/timeout/sleep_display_battery 300
#- gconftool --type int -s /apps/gnome-power-manager/timeout/sleep_computer_battery 300
# fix focus follows mouse and such
- gsettings set org.gnome.desktop.wm.preferences focus-mode 'sloppy'
- gsettings set org.gnome.desktop.wm.preferences auto-raise false
- gsettings set org.gnome.desktop.screensaver lock-enabled false
- name: get keybase deb
get_url:
url: https://prerelease.keybase.io/keybase_amd64.deb
dest: /tmp/keybase_amd64.deb
mode: '0440'
- name: install keybase
shell: "dpkg -i /tmp/keybase_amd64.deb ; apt install -f -y ; run_keybase"
become: yes
args:
creates: /usr/bin/keybase
- name: get dbeaver deb
get_url:
url: https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb
dest: /tmp/dbeaver.deb
mode: '0440'
- name: install dbeaver
shell: "dpkg -i /tmp/dbeaver.deb ; apt install -f -y"
become: yes
args:
creates: /usr/bin/dbeaver
- name: mkdir ~/src/
file:
path: /home/pfaffman/src
state: directory
mode: '0755'
- name: get do-dyndns
git:
repo: https://github.com/pfaffman/do-dyndns.git
dest: /home/pfaffman/src/do-dyndns
- name: install do-dyndns
shell: "/bin/bash /home/pfaffman/src/do-dyndns/do-dyndns --install"
become: yes
args:
creates: /etc/network/if-up.d/do-dyndns
- name: install docker
shell: "curl -fsSL https://get.docker.com -o get-docker.sh ; sh get-docker.sh"
become: yes
args:
creates: /usr/bin/docker
when: no
# Install stuff with snap
- name: Install snap stuff
snap:
name:
- doctl
- vscode
classic: yes
become: yes
# install keys
- name: install keys
shell: ssh-import-id-gh pfaffman
# stuff for laptop
- name: stuff for laptop
block:
- name: install the packages
apt:
name: "{{ laptop_packages }}"
- name: set swap file permission
file:
path: /extraswap
owner: root
group: root
mode: '0600'
state: touch
- name: Create swap space
command: fallocate -l 16G /extraswap
when: ansible_swaptotal_mb < ansible_memtotal_mb
- name: Make swap
command: mkswap /extraswap
when: ansible_swaptotal_mb < ansible_memtotal_mb
- name: Add to fstab
action: lineinfile dest=/etc/fstab regexp="extraswap" line="/extraswap none swap sw 0 0" state=present
- name: Turn swap on
command: swapon -a
- name: Set swapiness
shell: echo 10 | sudo tee /proc/sys/vm/swappiness
become: yes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment