/
bootstrap.yml
116 lines (106 loc) · 3.09 KB
/
bootstrap.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
---
- name: bootstrap arch host
hosts: all
connection: local
user: root
gather_facts: false
tasks:
- name: sudo
community.general.pacman:
name: sudo
state: installed
- name: 'ensure user exists: {{ user }}'
user:
name: '{{ user }}'
state: present
groups: 'audio,video,games,rfkill,uucp,wheel,sys,lp'
append: true
- name: allow wheel users to sudo without pass
lineinfile:
dest: /etc/sudoers
line: '%wheel ALL=(ALL) NOPASSWD: ALL'
regexp: '^%wheel'
validate: 'visudo -cf %s'
# NB: These scripts fails the first 2/3 times
- script: scripts/localectl.sh
register: localectl_result
changed_when: "localectl_result.rc != 0"
ignore_errors: true
- script: scripts/timedatectl.sh
register: timedatectl_result
changed_when: "timedatectl_result.rc != 0"
ignore_errors: true
- name: install AMD display drivers and choice dependencies
community.general.pacman:
# NB: may want mesa-git
name:
- mesa
- mesa-libgl
- wayland
- lib32-vulkan-radeon
- vulkan-radeon
#- amdvlk
#- lib32-amdvlk
state: installed
when: display_driver == "amd"
- name: install core packages
community.general.pacman:
name:
- git
- openssh
- chromium
- dhcpd
- alacritty
- wl-clipboard
- lsb-release
state: installed
- name: install fonts
community.general.pacman:
name:
- ttf-dejavu
- ttf-ubuntu-font-family # browser
- ttf-liberation # steam
- ttf-inconsolata-nerd # terminal
state: installed
# TODO: aur install paru-bin as first install?
# TODO: install rustup from pacman and rustup install stable
- name: install window manager
community.general.pacman:
name:
- hyprland # wayland compositor (deps below picked for this)
- dunst # lightweight, customizable notification daemon
- greetd # login manager configured with autologin
- pipewire
- polkit-kde-agent # pulls in qt5..
- qt6-wayland # qt support
- xdg-desktop-portal-hyprland
- grim # Grab images from a Wayland compositor
- slurp # Select a region in a Wayland compositor
- hyprpaper # Wayland wallpaper utility with IPC controls
- wofi # wayland lancher
- wireplumber
- gammastep # redshift replacement
- waybar
- xdg-user-dirs # run xdg-user-dirs-update if insufficient
when: display_driver == "amd"
# AUR DEPS FOR HYPRLAND
#- name: install aur extras
# aur:
# name:
# - wleave-git # wlogout fork
# - mpvpaper # video wallpaper for wlroots
# - webcord-bin # discord
# - google-chrome
# # theming
# - catppuccin-gtk-theme-mocha
# - catppuccin-cursors-mocha
# - swaylock-effects
# - nwg-look
# when: display_driver == "amd"
- name: clone provision repo
# TODO: needs a chown {{ user }}:{{ user }} -R /home/{{ user }}/provision
git:
repo: https://github.com/clux/provision
dest: /home/{{ user }}/provision
update: true # noqa: latest
become: true