Split CLI and GUI setup
This commit is contained in:
parent
294e3ef23d
commit
973643cfbc
26 changed files with 208 additions and 91 deletions
13
gui.yml
Executable file
13
gui.yml
Executable file
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env ansible-playbook
|
||||
---
|
||||
- name: Setup GUI
|
||||
hosts: localhost
|
||||
tasks:
|
||||
- include_role:
|
||||
name: distro
|
||||
- include_role:
|
||||
name: distro-gui
|
||||
- include_role:
|
||||
name: home
|
||||
- include_role:
|
||||
name: home-gui
|
2
main.yml
2
main.yml
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env ansible-playbook
|
||||
---
|
||||
- name: Setup
|
||||
- name: Setup CLI
|
||||
hosts: localhost
|
||||
tasks:
|
||||
- include_role:
|
||||
|
|
27
roles/distro-gui/tasks/debian.yml
Normal file
27
roles/distro-gui/tasks/debian.yml
Normal file
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
- name: Install Debian GUI packages
|
||||
become: true
|
||||
apt:
|
||||
name: '{{ packages }}'
|
||||
state: present
|
||||
force_apt_get: yes
|
||||
vars:
|
||||
packages:
|
||||
- caja-open-terminal
|
||||
- dconf-cli
|
||||
- desktop-base
|
||||
- emacs
|
||||
- evolution
|
||||
- galculator
|
||||
- git-gui
|
||||
- mpv
|
||||
- nextcloud-desktop
|
||||
- redshift-gtk
|
||||
- remmina
|
||||
- rxvt-unicode
|
||||
- seahorse
|
||||
- task-british-desktop
|
||||
- task-mate-desktop
|
||||
- vim-gtk
|
||||
- xinput
|
||||
- xterm
|
46
roles/distro-gui/tasks/freebsd.yml
Normal file
46
roles/distro-gui/tasks/freebsd.yml
Normal file
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
- name: Install FreeBSD core GUI packages
|
||||
become: true
|
||||
pkgng:
|
||||
name: drm-kmod mate xdm xorg xterm
|
||||
state: present
|
||||
- name: Install FreeBSD additional GUI packages
|
||||
become: true
|
||||
pkgng:
|
||||
name: '{{ packages }}'
|
||||
state: present
|
||||
vars:
|
||||
packages:
|
||||
- dbus
|
||||
- emacs
|
||||
- en_GB-libreoffice
|
||||
- firefox-esr
|
||||
- galculator
|
||||
- git-gui
|
||||
- iosevka
|
||||
- libreoffice
|
||||
- mpv
|
||||
- nextcloudclient
|
||||
- redshift
|
||||
- remmina
|
||||
- remmina-plugin-rdp
|
||||
- rxvt-unicode
|
||||
- seahorse
|
||||
- xinput
|
||||
- name: Start DBUS service
|
||||
become: true
|
||||
service:
|
||||
name: dbus
|
||||
state: started
|
||||
enabled: yes
|
||||
- name: Enable XDM
|
||||
become: true
|
||||
lineinfile:
|
||||
path: /etc/ttys
|
||||
regexp: '^ttyv8\s.*'
|
||||
line: 'ttyv8 "/usr/local/bin/xdm -nodaemon" xterm on secure'
|
||||
- name: Set xorg keyboard layout
|
||||
become: true
|
||||
copy:
|
||||
src: keyboard-gb.conf
|
||||
dest: /usr/local/etc/X11/xorg.conf.d/keyboard-gb.conf
|
5
roles/distro-gui/tasks/main.yml
Normal file
5
roles/distro-gui/tasks/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- include: debian.yml
|
||||
when: ansible_distribution == 'Debian'
|
||||
- include: freebsd.yml
|
||||
when: ansible_distribution == 'FreeBSD'
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
- name: Install Debian packages
|
||||
- name: Install Debian CLI packages
|
||||
become: true
|
||||
apt:
|
||||
name: '{{ packages }}'
|
||||
|
@ -11,39 +11,22 @@
|
|||
- ansible
|
||||
- asciidoctor
|
||||
- build-essential
|
||||
- caja-open-terminal
|
||||
- dc
|
||||
- dconf-cli
|
||||
- desktop-base
|
||||
- devscripts
|
||||
- dnsutils
|
||||
- emacs
|
||||
- evolution
|
||||
- galculator
|
||||
- git
|
||||
- git-gui
|
||||
- gnupg
|
||||
- mc
|
||||
- mpv
|
||||
- nextcloud-desktop
|
||||
- nmap
|
||||
- openssh-server
|
||||
- packagekit
|
||||
- python3
|
||||
- python3-psutil
|
||||
- realmd
|
||||
- redshift-gtk
|
||||
- remmina
|
||||
- rxvt-unicode
|
||||
- seahorse
|
||||
- sqlite3
|
||||
- sssd
|
||||
- sudo
|
||||
- task-british-desktop
|
||||
- task-mate-desktop
|
||||
- tlp
|
||||
- tmux
|
||||
- vim-gtk
|
||||
- xinput
|
||||
- xterm
|
||||
- vim
|
||||
- zsh
|
||||
|
|
|
@ -1,61 +1,28 @@
|
|||
---
|
||||
- name: Install FreeBSD core packages
|
||||
- name: Install FreeBSD core CLI packages
|
||||
become: true
|
||||
pkgng:
|
||||
name: drm-kmod en-freebsd-doc git mate pkg py36-ansible sudo xdm xorg xterm
|
||||
name: en-freebsd-doc git pkg py36-ansible sudo
|
||||
state: present
|
||||
- name: Install FreeBSD additional packages
|
||||
- name: Install FreeBSD additional CLI packages
|
||||
become: true
|
||||
pkgng:
|
||||
name: '{{ packages }}'
|
||||
state: present
|
||||
vars:
|
||||
packages:
|
||||
- dbus
|
||||
- emacs
|
||||
- en_GB-libreoffice
|
||||
- firefox-esr
|
||||
- fusefs-ntfs
|
||||
- galculator
|
||||
- git-gui
|
||||
- gnu-watch
|
||||
- gnupg
|
||||
- iosevka
|
||||
- libreoffice
|
||||
- mc
|
||||
- mpv
|
||||
- nextcloudclient
|
||||
- nmap
|
||||
- openvpn
|
||||
- py36-psutil
|
||||
- redshift
|
||||
- remmina
|
||||
- remmina-plugin-rdp
|
||||
- rubygem-asciidoctor
|
||||
- rxvt-unicode
|
||||
- seahorse
|
||||
- sqlite3
|
||||
- tmux
|
||||
- vim
|
||||
- xinput
|
||||
- zsh
|
||||
- name: Start DBUS service
|
||||
become: true
|
||||
service:
|
||||
name: dbus
|
||||
state: started
|
||||
enabled: yes
|
||||
- name: Enable XDM
|
||||
become: true
|
||||
lineinfile:
|
||||
path: /etc/ttys
|
||||
regexp: '^ttyv8\s.*'
|
||||
line: 'ttyv8 "/usr/local/bin/xdm -nodaemon" xterm on secure'
|
||||
- name: Set xorg keyboard layout
|
||||
become: true
|
||||
copy:
|
||||
src: keyboard-gb.conf
|
||||
dest: /usr/local/etc/X11/xorg.conf.d/keyboard-gb.conf
|
||||
- name: Disable core dumps
|
||||
become: true
|
||||
sysctl:
|
||||
|
|
67
roles/home-gui/files/Xresources
Normal file
67
roles/home-gui/files/Xresources
Normal file
|
@ -0,0 +1,67 @@
|
|||
*color: true
|
||||
URxvt*background: #111111
|
||||
URxvt*color0: #1e1e1e
|
||||
URxvt*color1: #cc0000
|
||||
URxvt*color2: #4e9a06
|
||||
URxvt*color3: #c4a000
|
||||
URxvt*color4: #3465a4
|
||||
URxvt*color5: #75507b
|
||||
URxvt*color6: #0b939b
|
||||
URxvt*color7: #d3d7cf
|
||||
URxvt*color8: #555753
|
||||
URxvt*color9: #ef2929
|
||||
URxvt*color10: #8ae234
|
||||
URxvt*color11: #fce94f
|
||||
URxvt*color12: #729fcf
|
||||
URxvt*color13: #ad7fa8
|
||||
URxvt*color14: #00f5e9
|
||||
URxvt*color15: #eeeeec
|
||||
URxvt*font: xft:Monospace:Regular:size=10
|
||||
URxvt*foreground: #c0c0c0
|
||||
URxvt*letterSpace: -1
|
||||
URxvt*locale: true
|
||||
URxvt*metaSendsEscape: true
|
||||
URxvt*perl-ext: -searchable-scrollback
|
||||
URxvt*scrollBar_right: true
|
||||
URxvt*termName: rxvt-unicode
|
||||
XClock*hourColor: black
|
||||
XClock*majorColor: red
|
||||
XClock*minorColor: black
|
||||
XClock*minuteColor: black
|
||||
XClock*render: true
|
||||
XClock*secondColor: red
|
||||
XClock*update: 1
|
||||
Xft.hintstyle: hintfull
|
||||
Xft.rgba: none
|
||||
xterm*background: #111111
|
||||
xterm*color0: #1e1e1e
|
||||
xterm*color1: #cc0000
|
||||
xterm*color2: #4e9a06
|
||||
xterm*color3: #c4a000
|
||||
xterm*color4: #3465a4
|
||||
xterm*color5: #75507b
|
||||
xterm*color6: #0b939b
|
||||
xterm*color7: #d3d7cf
|
||||
xterm*color8: #555753
|
||||
xterm*color9: #ef2929
|
||||
xterm*color10: #8ae234
|
||||
xterm*color11: #fce94f
|
||||
xterm*color12: #729fcf
|
||||
xterm*color13: #ad7fa8
|
||||
xterm*color14: #00f5e9
|
||||
xterm*color15: #eeeeec
|
||||
xterm*faceName: xft:Monospace:Regular:size=10
|
||||
xterm*faceSize1: 4
|
||||
xterm*faceSize2: 6
|
||||
xterm*faceSize3: 8
|
||||
xterm*faceSize4: 12
|
||||
xterm*faceSize5: 14
|
||||
xterm*faceSize6: 16
|
||||
xterm*faceSize: 9
|
||||
xterm*foreground: #c0c0c0
|
||||
xterm*locale: true
|
||||
xterm*metaSendsEscape: true
|
||||
xterm*scrollBar: true
|
||||
xterm*utf8: always
|
||||
xterm*utf8Fonts: always
|
||||
xterm*utf8Title: true
|
3
roles/home-gui/files/zshrc
Normal file
3
roles/home-gui/files/zshrc
Normal file
|
@ -0,0 +1,3 @@
|
|||
if [ -r $HOME/.shrc ]; then
|
||||
. $HOME/.shrc
|
||||
fi
|
9
roles/home-gui/tasks/dirs.yml
Normal file
9
roles/home-gui/tasks/dirs.yml
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
- name: Create user applications directory
|
||||
file:
|
||||
path: "{{ ansible_env.HOME }}/.local/share/applications"
|
||||
state: directory
|
||||
- name: Create user autostart directory
|
||||
file:
|
||||
path: "{{ ansible_env.HOME }}/.config/autostart"
|
||||
state: directory
|
25
roles/home-gui/tasks/dotfiles.yml
Normal file
25
roles/home-gui/tasks/dotfiles.yml
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
- name: Copy .Xresources
|
||||
copy:
|
||||
src: Xresources
|
||||
dest: "{{ ansible_env.HOME }}/.Xresources"
|
||||
- name: Copy .fonts.conf
|
||||
copy:
|
||||
src: fonts.conf
|
||||
dest: "{{ ansible_env.HOME }}/.fonts.conf"
|
||||
- name: Copy redshift.conf
|
||||
copy:
|
||||
src: redshift.conf
|
||||
dest: "{{ ansible_env.HOME }}/.config/redshift.conf"
|
||||
- name: Auto start nextcloud
|
||||
copy:
|
||||
src: nextcloud.desktop
|
||||
dest: "{{ ansible_env.HOME }}/.config/autostart/nextcloud.desktop"
|
||||
- name: Auto start redshift-gtk
|
||||
copy:
|
||||
src: redshift-gtk.desktop
|
||||
dest: "{{ ansible_env.HOME }}/.config/autostart/redshift-gtk.desktop"
|
||||
- name: Auto start remmina-applet
|
||||
copy:
|
||||
src: remmina-applet.desktop
|
||||
dest: "{{ ansible_env.HOME }}/.config/autostart/remmina-applet.desktop"
|
7
roles/home-gui/tasks/main.yml
Normal file
7
roles/home-gui/tasks/main.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
- include: dirs.yml
|
||||
|
||||
- include: dotfiles.yml
|
||||
- include: emacs.yml
|
||||
- include: firefox.yml
|
||||
- include: mate.yml
|
|
@ -11,14 +11,6 @@
|
|||
file:
|
||||
path: "{{ ansible_env.HOME }}/.config/systemd/user"
|
||||
state: directory
|
||||
- name: Create user applications directory
|
||||
file:
|
||||
path: "{{ ansible_env.HOME }}/.local/share/applications"
|
||||
state: directory
|
||||
- name: Create user autostart directory
|
||||
file:
|
||||
path: "{{ ansible_env.HOME }}/.config/autostart"
|
||||
state: directory
|
||||
- name: Create ~/.ssh directory
|
||||
file:
|
||||
path: "{{ ansible_env.HOME }}/.ssh"
|
||||
|
|
|
@ -1,12 +1,4 @@
|
|||
---
|
||||
- name: Copy .Xresources
|
||||
copy:
|
||||
src: Xresources
|
||||
dest: "{{ ansible_env.HOME }}/.Xresources"
|
||||
- name: Copy .fonts.conf
|
||||
copy:
|
||||
src: fonts.conf
|
||||
dest: "{{ ansible_env.HOME }}/.fonts.conf"
|
||||
- name: Copy .gitconfig
|
||||
copy:
|
||||
src: gitconfig
|
||||
|
@ -27,19 +19,3 @@
|
|||
copy:
|
||||
src: openpgp.asc
|
||||
dest: "{{ ansible_env.HOME }}/.config/openpgp.asc"
|
||||
- name: Copy redshift.conf
|
||||
copy:
|
||||
src: redshift.conf
|
||||
dest: "{{ ansible_env.HOME }}/.config/redshift.conf"
|
||||
- name: Auto start nextcloud
|
||||
copy:
|
||||
src: nextcloud.desktop
|
||||
dest: "{{ ansible_env.HOME }}/.config/autostart/nextcloud.desktop"
|
||||
- name: Auto start redshift-gtk
|
||||
copy:
|
||||
src: redshift-gtk.desktop
|
||||
dest: "{{ ansible_env.HOME }}/.config/autostart/redshift-gtk.desktop"
|
||||
- name: Auto start remmina-applet
|
||||
copy:
|
||||
src: remmina-applet.desktop
|
||||
dest: "{{ ansible_env.HOME }}/.config/autostart/remmina-applet.desktop"
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
- include: dirs.yml
|
||||
|
||||
- include: dotfiles.yml
|
||||
- include: emacs.yml
|
||||
- include: firefox.yml
|
||||
- include: mate.yml
|
||||
- include: shell.yml
|
||||
- include: vim.yml
|
||||
- include: ssh-authorized-keys.yml
|
||||
|
|
Loading…
Reference in a new issue