Files
dotfiles/playbook.yml
T

289 lines
7.2 KiB
YAML

---
- name: "Laptop installation & configuration"
hosts: localhost
connection: local
tasks:
- name: Install Mesa (graphics driver)
become: true
pacman:
name: mesa
state: present
- name: Install Xorg AMDGPU (AMD graphics driver for Xorg)
become: true
pacman:
name: xf86-video-amdgpu
state: present
- name: Install Vulkan Radeon (Vulkan for AMDGPU)
become: true
pacman:
name: vulkan-radeon
state: present
- name: Install Libva Mesa (accelerated video decoding driver)
become: true
pacman:
name: libva-mesa-driver
state: present
- name: Install Radeon Top (graphics monitoring)
become: true
pacman:
name: radeontop
state: present
state: present
- name: Install rsync (file synchronizer)
become: true
pacman:
name: rsync
state: present
- name: Install Pulseaudio Systray (system tray volume control)
become: true
pacman:
name: pasystray
state: present
- name: Install ACPID (Power manager)
become: true
pacman:
name: acpid
state: present
- name: Start ACPID service
become: true
service:
enabled: true
name: acpid
state: started
- name: Install Xorg Backlight (brightness manager)
become: true
pacman:
name: xorg-xbacklight
state: present
- name: Install Flameshot (screenshot utility)
become: true
pacman:
name: flameshot
state: present
- name: Install Rofi (application switcher)
become: true
pacman:
name: rofi
state: present
- name: Install Rofi Emoji (emoji selector for Rofi)
become: true
pacman:
name: rofi-emoji
state: present
- name: Setup Rofi
synchronize:
src: rofi
dest: /$HOME/.config
- name: Install Notification Daemon
become: true
pacman:
name: notification-daemon
state: present
- name: Setup Notification Daemon
become: true
synchronize:
src: notification/notification.service
dest: /usr/share/dbus-1/services/org.freedesktop.Notification.service
- name: Install Xorg Xinput (input devices manager)
become: true
pacman:
name: xorg-xinput
state: present
- name: Install Xorg Xinit (Xorg startup script)
become: true
pacman:
name: xorg-xinit
state: present
- name: Setup Xorg Xinit
synchronize:
src: xinit/xinitrc
dest: /$HOME/.xinitrc
- name: Install i3-gaps (window manager)
become: true
pacman:
name: i3-gaps
state: present
- name: Install i3 Lock (window locker)
become: true
pacman:
name: i3lock
state: present
- name: Install dmenu
become: true
pacman:
name: dmenu
state: present
- name: Install Network Manager (Wi-Fi & ethernet manager)
become: true
pacman:
name: networkmanager
state: present
- name: Start Network Manager service
become: true
service:
enabled: true
name: NetworkManager
state: started
- name: Install Network Manager Applet (Network Manager i3status icon)
become: true
pacman:
name: network-manager-applet
state: present
- name: Install Node.js
become: true
pacman:
name: nodejs
state: present
- name: Install custom i3status dependencies
npm:
path: /$HOME/.config/i3/i3status
state: present
- name: Setup i3 Window Manager
synchronize:
src: i3
dest: /$HOME/.config
- name: Install Tokei (line of code counter)
become: true
pacman:
name: tokei
state: present
- name: Install Chromium (web browser)
become: true
pacman:
name: chromium
state: present
- name: Install bottom (processes visualizer)
become: true
pacman:
name: bottom
state: present
- name: Install Zathura (command-line PDF viewer)
become: true
pacman:
name: zathura
state: present
- name: Install Feh (command-line picture viewer)
become: true
pacman:
name: feh
state: present
- name: Install background
synchronize:
src: background/background.jpg
dest: /$HOME/.local/share/backgrounds/background.jpg
- name: Install Chafa (command-line graphics)
become: true
pacman:
name: chafa
state: present
- name: Install Zoxide (smarter cd command)
become: true
pacman:
name: zoxide
state: present
- name: Felix (command-line file manager)
become: true
pacman:
name: felix-rs
state: present
- name: Felix setup
synchronize:
src: felix
dest: /$HOME/.config
- name: Dua (disk usage analyzer)
become: true
pacman:
name: dua-cli
state: present
- name: Install Xset (Xorg configuration manager)
become: true
pacman:
name: xorg-xset
state: present
- name: Install Bat (replacement for cat)
become: true
pacman:
name: bat
state: present
- name: Install Exa (replacement for ls)
become: true
pacman:
name: exa
state: present
- name: Install JetBrains Mono Nerd (IntelliJ font)
become: true
pacman:
name: ttf-jetbrains-mono-nerd
state: present
- name: Install Alacritty (terminal emulator)
become: true
pacman:
name: alacritty
state: present
- name: Setup Alacritty
synchronize:
delete: true
src: alacritty
dest: /$HOME/.config
- name: Install TMUX (terminal multiplexer)
become: true
pacman:
name: tmux
state: present
- name: Setup TMUX
synchronize:
src: tmux
dest: /$HOME/.config
- name: Install Neovim (command-line text editor)
become: true
pacman:
name: neovim
state: present
- name: Clone AstroNvim
git:
repo: https://github.com/AstroNvim/AstroNvim
dest: /$HOME/.config/nvim
depth: 1
- name: Setup AstroNvim
synchronize:
delete: true
src: nvim/lua/user
dest: /$HOME/.config/nvim/lua
- name: Install Fish (shell)
become: true
pacman:
name: fish
state: present
- name: Setup Fish
synchronize:
delete: true
src: fish
dest: /$HOME/.config
- name: Setup OMF
synchronize:
delete: true
src: omf
dest: /$HOME/.config
- name: Install UFW (firewall)
become: true
pacman:
name: ufw
state: present
- name: UFW reset all rules
become: true
ufw:
state: reset
- name: UFW deny all by default
become: true
ufw:
policy: deny
- name: UFW enable
become: true
ufw:
state: enabled
- name: UFW service startup
become: true
service:
name: ufw
state: restarted