creating trisquel playbook
This commit is contained in:
7
playbooks/trisquel.yml
Executable file
7
playbooks/trisquel.yml
Executable file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
- name: trisquel setup
|
||||
hosts: workstation
|
||||
roles:
|
||||
- role: trisquel_setup
|
||||
tags: trisquel_setup
|
||||
|
||||
@@ -14,13 +14,3 @@
|
||||
repo: "{{ etbook_repo }}"
|
||||
dest: "{{ etbook_dest }}"
|
||||
update: no
|
||||
|
||||
- name: Move ET-Book directory to fonts directory
|
||||
copy:
|
||||
src: "{{ etbook_dir }}"
|
||||
dest: "{{ fonts_dir }}"
|
||||
|
||||
- name: Move ET-Book Ligatures directory to fonts directory
|
||||
copy:
|
||||
src: "{{ etbook_lig_dir }}"
|
||||
dest: "{{ fonts_dir }}"
|
||||
|
||||
@@ -3,10 +3,4 @@ doom_emacs_repo: https://github.com/doomemacs/doomemacs
|
||||
doom_emacs_dest: ~/.config/emacs
|
||||
|
||||
etbook_repo: https://github.com/edwardtufte/et-book
|
||||
etbook_dest: ~/src/et-book
|
||||
etbook_dir: ~/src/et-book/et-book
|
||||
etbook_lig_dir: ~/src/et-book/et-book-ligatures-enabled
|
||||
fonts_dir: ~/.local/share/fonts
|
||||
|
||||
|
||||
|
||||
etbook_dest: ~/.local/share/fonts
|
||||
|
||||
5
roles/trisquel_setup/handlers/main.yml
Executable file
5
roles/trisquel_setup/handlers/main.yml
Executable file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
- name: Restart NetworkManager
|
||||
service:
|
||||
name: NetworkManager
|
||||
state: restarted
|
||||
86
roles/trisquel_setup/tasks/main.yml
Executable file
86
roles/trisquel_setup/tasks/main.yml
Executable file
@@ -0,0 +1,86 @@
|
||||
---
|
||||
- name: Ensure Users are Configured Correctly
|
||||
user:
|
||||
name: "{{ item.value.name }}"
|
||||
group: "{{ item.value.group }}"
|
||||
groups: "{{ item.value.groups }}"
|
||||
state: "{{ item.value.state }}"
|
||||
create_home: "{{ item.value.create_home }}"
|
||||
shell: "{{ item.value.shell }}"
|
||||
loop: "{{ init_users | dict2items }}"
|
||||
|
||||
- name: Create or ensure presence of custom home directories
|
||||
file:
|
||||
path: /home/opal/{{ item }}
|
||||
state: directory
|
||||
mode: '0755'
|
||||
owner: opal
|
||||
group: opal
|
||||
loop: "{{ create_directories }}"
|
||||
|
||||
- name: Remove default home directories if present
|
||||
file:
|
||||
path: /home/opal/{{ item }}
|
||||
state: absent
|
||||
loop: "{{ remove_directories }}"
|
||||
|
||||
# SSH Initial Setup
|
||||
- name: Create/Ensure ~/.ssh directories
|
||||
file:
|
||||
path: "/home/{{ item.value.name }}/.ssh"
|
||||
state: directory
|
||||
mode: 0700
|
||||
owner: "{{ item.value.name }}"
|
||||
group: "{{ item.value.group }}"
|
||||
loop: "{{ init_users | dict2items }}"
|
||||
|
||||
- name: Upgrade all packages
|
||||
package:
|
||||
name: "*"
|
||||
state: latest
|
||||
|
||||
- name: Install window manager packages
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop: "{{ wm_packages }}"
|
||||
|
||||
- name: Install UI/Font packages
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop: "{{ ui_packages }}"
|
||||
|
||||
- name: Install general packages
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop: "{{ general_packages }}"
|
||||
|
||||
- name: Install Doom Emacs dependency packages
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop: "{{ doom_dep_packages }}"
|
||||
|
||||
- name: Add Flathub repository
|
||||
flatpak_remote:
|
||||
name: flathub
|
||||
state: present
|
||||
flatpakrepo_url: "https://flathub.org/repo/flathub.flatpakrepo"
|
||||
|
||||
- name: doom emacs repo
|
||||
become: yes
|
||||
become_user: opal
|
||||
git:
|
||||
repo: "{{ doom_emacs_repo }}"
|
||||
dest: "{{ doom_emacs_dest }}"
|
||||
update: no
|
||||
|
||||
- name: et-book font repo
|
||||
become: yes
|
||||
become_user: opal
|
||||
git:
|
||||
repo: "{{ etbook_repo }}"
|
||||
dest: "{{ etbook_dest }}"
|
||||
update: no
|
||||
6
roles/trisquel_setup/templates/NetworkManager.conf.j2
Executable file
6
roles/trisquel_setup/templates/NetworkManager.conf.j2
Executable file
@@ -0,0 +1,6 @@
|
||||
# MANAGED BY ANSIBLE #
|
||||
[main]
|
||||
plugins=ifupdown,keyfile
|
||||
|
||||
[ifupdown]
|
||||
managed=true
|
||||
4
roles/trisquel_setup/templates/resolv.conf.j2
Executable file
4
roles/trisquel_setup/templates/resolv.conf.j2
Executable file
@@ -0,0 +1,4 @@
|
||||
# This file is managed by Ansible #
|
||||
nameserver 1.1.1.2
|
||||
nameserver 1.0.0.2
|
||||
nameserver 2606:4700:4700:0:0:0:0:1112
|
||||
93
roles/trisquel_setup/vars/main.yml
Executable file
93
roles/trisquel_setup/vars/main.yml
Executable file
@@ -0,0 +1,93 @@
|
||||
---
|
||||
remove_directories:
|
||||
- Templates
|
||||
- Videos
|
||||
- Documents
|
||||
- Music
|
||||
- Downloads
|
||||
- Pictures
|
||||
- Public
|
||||
- Desktop
|
||||
|
||||
create_directories:
|
||||
- documents
|
||||
- music
|
||||
- downloads
|
||||
- pictures
|
||||
- scripts
|
||||
- projects
|
||||
- src
|
||||
- .config
|
||||
- .local/share
|
||||
- .local/share/fonts
|
||||
|
||||
init_users:
|
||||
opal:
|
||||
name: opal
|
||||
group: opal
|
||||
groups:
|
||||
- sudo
|
||||
state: present
|
||||
shell: /bin/bash
|
||||
create_home: true
|
||||
|
||||
wm_packages:
|
||||
- sway
|
||||
- swayidle
|
||||
- swaylock
|
||||
- foot
|
||||
- waybar
|
||||
- dunst
|
||||
- pipewire
|
||||
- grim
|
||||
- grimshot
|
||||
- brightnessctl
|
||||
- wlogout
|
||||
- xwayland
|
||||
- wdisplays
|
||||
- wtype
|
||||
|
||||
ui_packages:
|
||||
- papirus-icon-theme
|
||||
- arc-theme
|
||||
- breeze-cursor-theme
|
||||
- qt5ct
|
||||
- fonts-font-awesome
|
||||
- fonts-noto-color-emoji
|
||||
- fonts-noto-cjk
|
||||
- fonts-recommended
|
||||
- xfonts-terminus
|
||||
|
||||
general_packages:
|
||||
- syncthing
|
||||
- keychain
|
||||
- gnupg2
|
||||
- tldr
|
||||
- trash-cli
|
||||
- htop
|
||||
- udiskie
|
||||
- pavucontrol
|
||||
- flatpak
|
||||
- blueman
|
||||
- playerctl # for waybar music notification
|
||||
- simple-scan
|
||||
- wireguard
|
||||
|
||||
flatpak_packages:
|
||||
- org.torproject.torbrowser-launcher
|
||||
|
||||
doom_dep_packages:
|
||||
- fd-find
|
||||
- ripgrep
|
||||
- libtool # Needed to compile vterm in Doom Emacs
|
||||
- libtool-bin
|
||||
- cmake # Needed to compile vterm in Doom Emacs
|
||||
- discount # Markdown Compiler
|
||||
- shellcheck # Shell linter for Doom Emacs
|
||||
|
||||
|
||||
doom_emacs_repo: https://github.com/doomemacs/doomemacs
|
||||
doom_emacs_dest: ~/.config/emacs
|
||||
|
||||
etbook_repo: https://github.com/edwardtufte/et-book
|
||||
etbook_dest: ~/.local/share/fonts
|
||||
Reference in New Issue
Block a user