-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplaybook.yml
159 lines (144 loc) · 3.74 KB
/
playbook.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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
---
- hosts: localhost
name: Setup Arch
become: false
tasks:
- name: Set a fact with the user name.
set_fact:
login_user: wint3rmute
- name: Install packages
become: true
community.general.pacman:
name:
- alsa-utils # provides alsamixer
- arandr
- audacity
- base-devel
- bat
- bind # provides dig
- btop
- duf
- entr
- eza
- fakeroot
- fd
- feh
- ffmpegthumbnailer
- file-roller # archive viewer
- firefox
- fish # for fish completions inside nushell
- flameshot
- fzf
- gedit
- git
- gnu-netcat
- graphviz
- helix
- jq
- less
- lolcat
- lxappearance
- mediainfo
- mosh
- mpv
- neofetch
- neovim
- npm # Required for pyright LSP
- pavucontrol
- poetry
- redshift
- ripgrep
- rofi
- rustup
- sd
- sl
- sox
- starship
- thefuck
- thunar
- tldr
- transmission-cli
- ttf-fira-code
- ttf-firacode-nerd
- tumbler
- vlc
- wezterm
- wget
- xclip
- xorg-xinit # provides startx
- xorg-xkill
- zathura
- zathura-pdf-mupdf
- zellij
- zola
- zoxide
- zsh
state: present
- name: Setup rust toolchain
ansible.builtin.shell: rustup install stable
- name: Symlink vim to nvim
become: true
ansible.builtin.file:
src: /usr/bin/nvim
dest: /usr/bin/vim
owner: root
group: root
state: link
# This simplifies theme management, as I keep both
# configuration and themes in the same repository
- name: Symlink ~/.themes to ~/.config
become: false
ansible.builtin.file:
src: ~/.config
dest: ~/.themes
owner: "{{ login_user }}"
group: "{{ login_user }}"
state: link
- name: Set login shell of user {{ login_user }} to `zsh` with `usermod`
ansible.builtin.command: usermod --shell /usr/bin/zsh {{ login_user }}
become: true
changed_when: false
- name: Download Antigen
ansible.builtin.get_url:
url: https://git.io/antigen
dest: ~/.config/antigen.zsh
- name: Setup .zshrc
ansible.builtin.copy:
src: .zshrc
dest: ~/.zshrc
- name: Create the ~/code directory
become: false
ansible.builtin.file:
path: ~/code
state: directory
- name: Clone Paru
become: false
ansible.builtin.git:
repo: https://aur.archlinux.org/paru-git.git
dest: ~/code/paru
version: master
force: true
notify: Build Paru
- name: Flush handlers
meta: flush_handlers
- name: Ensure leftwm is installed
become: false
ansible.builtin.command: paru -S leftwm --noconfirm --needed
changed_when: false
- name: Run leftwm check
become: false
ansible.builtin.command: leftwm check
changed_when: false
- name: Ensure dragon-drop is installed
become: false
ansible.builtin.command: paru -S dragon-drop --noconfirm --needed
changed_when: false
- name: Enable autoSetupRemote in git
ansible.builtin.command: git config --global push.autoSetupRemote true
changed_when: false
handlers:
- name: Build Paru
become: false
ansible.builtin.command:
chdir: ~/code/paru/
cmd: makepkg -sri