-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommon.yaml
More file actions
executable file
·237 lines (217 loc) · 8.64 KB
/
Copy pathcommon.yaml
File metadata and controls
executable file
·237 lines (217 loc) · 8.64 KB
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
#!/usr/bin/env ansible-playbook
---
- name: "Install and configure common packages"
hosts: localhost
vars:
configs:
- bat
- btop
- feh
- fish
- git
- lazygit
- nvim
- starship
- tmux
- tmux-powerline
- yazi
tasks:
- name: "Disable PC speaker in console"
ansible.builtin.replace:
path: /etc/inputrc
regexp: '^#(set bell-style none)$'
replace: '\1'
become: true
- name: "Enable systemd-resolved"
ansible.builtin.systemd:
name: systemd-resolved
state: started
enabled: true
become: true
- name: "Create stub link for resolv.conf"
ansible.builtin.file:
src: "/run/systemd/resolve/resolv.conf"
dest: "/etc/resolv.conf"
state: link
become: true
- name: "Enable TimesyncD"
ansible.builtin.systemd:
name: systemd-timesyncd
state: started
enabled: true
become: true
- name: "Enable iwd"
ansible.builtin.systemd:
name: iwd
state: started
enabled: true
become: true
- name: "Upgrade all packages"
community.general.pacman:
update_cache: true
upgrade: true
become: true
register: pacman_upgrade
- name: "Show upgraded packages"
ansible.builtin.debug:
msg: "{{ pacman_upgrade.packages | sort }}"
when: pacman_upgrade.packages | default([]) | length > 0
- name: "Create symlink for configuration directories"
ansible.builtin.file:
src: "{{ playbook_dir }}/config/{{ item }}"
dest: "{{ ansible_facts['user_dir'] }}/.config/{{ item }}"
state: link
owner: "{{ ansible_facts['user_uid'] }}"
group: "{{ ansible_facts['user_gid'] }}"
loop: "{{ configs }}"
- name: "Add udev rule for Dactyl"
ansible.builtin.copy:
src: "{{ playbook_dir }}/config/udev/dactyl.rules"
dest: /etc/udev/rules.d/92-dactyl.rules
owner: root
group: root
mode: "0644"
become: true
- name: "Install common packages"
community.general.pacman:
name:
- atool # A script for managing file archives of various types
- atuin # Magical shell history
- bash-completion # Programmable completion for the bash shell
- bat # Cat clone with syntax highlighting and git integration
- bind # A complete, highly portable implementation of the DNS protocol
- btop # A monitor of system resources, bpytop ported to C++
- curl # It's fucking cURL, questions?
- difftastic # An experimental diff tool that compares files based on their syntax
- dua-cli # A tool to conveniently learn about the disk usage of directories, fast!
- dust # A more intuitive version of du in rust
- eza # ls replacement
- fd # Simple, fast and user-friendly alternative to find
- feh # Fast and light imlib2-based image viewer
- fish # Smart and user friendly shell intended mostly for interactive use
- fisher # A package manager for the fish shell
- forgejo-cli # CLI application for interacting with Forgejo
- fzf # Command-line fuzzy finder
- gdu # Fast disk usage analyzer
- git # The fast distributed version control system
- git-delta # A syntax-highlighting pager for git
- github-cli # The GitHub CLI
- go-yq # Portable command-line YAML processor
- impala # TUI for managing wifi
- iwd # Internet Wireless Daemon
- jq # Command-line JSON processor
- lazygit # Simple terminal UI for git commands
- lynx # A text browser for the World Wide Web
- mediainfo # Supplies technical and tag information about a video or audio file (CLI interface)
- navi # An interactive cheatsheet tool for the command-line
- neovim # Fork of Vim aiming to improve user experience, plugins, and GUIs
- nmap # Utility for network discovery and security auditing
- obsidian # A powerful knowledge base that works on top of a local folder of plain text Markdown files
- oha # Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animationq
- openbsd-netcat # TCP/IP swiss army knife. OpenBSD variant.
- 7zip # Command-line file archiver with high compression ratio
- parallel # A shell tool for executing jobs in parallel
- pcmanfm # Extremely fast and lightweight file manager (GTK+ 3 version)
- rebuild-detector # Detects which packages need to be rebuilt
- reflector # A Python 3 module and script to retrieve and filter the latest Pacman mirror list.
- ripgrep # A search tool that combines the usability of ag with the raw speed of grep
- rsync # A fast and versatile file copying tool for remote and local files
- smartmontools # Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives
- starship # The cross-shell prompt for astronauts
- thefuck # Magnificent app which corrects your previous console command
- typst # A markup-based typesetting system for the sciences
- tmux # A terminal multiplexer
- trash-cli # Command line trashcan (recycle bin) interface
- unarchiver # unar and lsar: Objective-C tools for uncompressing archive files
- unrar # The RAR uncompression program
- unzip # For extracting and viewing files in .zip archives
- websocat # Command-line client for web sockets, like netcat/curl/socat for ws://
- wget # Network utility to retrieve files from the Web
- which # A utility to show the full path of commands
- yazi # Blazing fast terminal file manager written in Rust, based on async I/O
- zoxide # A smarter cd command for your terminal
state: present
become: true
- name: "Create reflector timer override directory"
ansible.builtin.file:
path: /etc/systemd/system/reflector.timer.d
state: directory
owner: root
group: root
mode: "0755"
become: true
- name: "Run reflector every three days"
ansible.builtin.copy:
dest: /etc/systemd/system/reflector.timer.d/override.conf
content: |
[Timer]
OnCalendar=
OnBootSec=15min
OnUnitActiveSec=3d
owner: root
group: root
mode: "0644"
become: true
- name: "Enable reflector timer"
ansible.builtin.systemd:
name: reflector.timer
state: started
enabled: true
daemon_reload: true
become: true
- name: "Set fish as default shell for current user"
ansible.builtin.user:
name: "{{ ansible_facts['user_id'] }}"
shell: /usr/bin/fish
become: true
- name: "Install disk utilities"
community.general.pacman:
name:
- btrfs-progs # Btrfs filesystem utilities
- lvm2 # Logical Volume Manager 2 utilities
- mdadm # A tool for managing/monitoring Linux md device arrays, also known as Software RAID
- ntfs-3g # NTFS filesystem driver and utilities
- xfsprogs # XFS filesystem utilities
- udisks2 # Daemon, tools and libraries to access and manipulate disks, storage devices and technologies
- udisks2-btrfs # Daemon, tools and libraries to access and manipulate disks, storage devices and technologies - BTRFS module
- udisks2-lvm2 # Daemon, tools and libraries to access and manipulate disks, storage devices and technologies - LVM2 module
- udisks2-docs # Daemon, tools and libraries to access and manipulate disks, storage devices and technologies - documentation
state: present
become: true
- name: "Enable smartd"
ansible.builtin.systemd:
name: smartd
state: started
enabled: true
become: true
- name: "Install Tmux Plugin Manager"
ansible.builtin.git:
repo: https://github.com/tmux-plugins/tpm.git
dest: "{{ ansible_facts['user_dir'] }}/.config/tmux/plugins/tpm"
version: master
- name: "Install systemd tools"
kewlfft.aur.aur:
name:
- systemd-manager-tui # Terminal UI for managing systemd services
- sysz # fzf terminal UI for systemctl
- systemctl-tui # A fast, simple TUI for interacting with systemd services and their logs
use: "{{ aur_helper }}"
state: present
become: true
become_user: "{{ aur_builder_user }}"
- name: "Install lazyjournal"
kewlfft.aur.aur:
name:
- lazyjournal # TUI for journalctl, file system logs, as well Docker and Podman containers for quick viewing and filtering with fuzzy find and regex support
use: "{{ aur_helper }}"
state: present
become: true
become_user: "{{ aur_builder_user }}"
- name: "Install rmlint"
kewlfft.aur.aur:
name:
- rmlint-git # Tool to remove duplicates and other lint, being much faster than fdupes
use: "{{ aur_helper }}"
state: present
become: true
become_user: "{{ aur_builder_user }}"