mirror of
https://github.com/aminnairi/dotfiles.git
synced 2026-09-14 12:12:13 +02:00
433 lines
11 KiB
YAML
433 lines
11 KiB
YAML
---
|
|
- name: "Laptop installation & configuration"
|
|
hosts: all
|
|
connection: local
|
|
tasks:
|
|
- name: Install Fd (alternative to find)
|
|
become: true
|
|
pacman:
|
|
name: fd
|
|
state: present
|
|
- name: Install Python
|
|
become: true
|
|
pacman:
|
|
name: python
|
|
state: present
|
|
- name: Install Julia
|
|
become: true
|
|
pacman:
|
|
name: julia
|
|
state: present
|
|
- name: Install Ruby
|
|
become: true
|
|
pacman:
|
|
name: ruby
|
|
state: present
|
|
- name: Install Composer (PHP package manager)
|
|
become: true
|
|
pacman:
|
|
name: composer
|
|
state: present
|
|
- name: Install Luarocks (Lua package manager)
|
|
become: true
|
|
pacman:
|
|
name: luarocks
|
|
state: present
|
|
- name: Install Wget (HTTP client)
|
|
become: true
|
|
pacman:
|
|
name: wget
|
|
state: present
|
|
- name: Set the keyboard keymap
|
|
become: true
|
|
command: localectl set-keymap us
|
|
- name: Set the keyboard layout
|
|
become: true
|
|
command: localectl set-x11-keymap us pc105 euro --no-convert compose:ralt
|
|
- name: Install Pulsemixer (Pulseaudio Terminal UI)
|
|
become: true
|
|
pacman:
|
|
name: pulsemixer
|
|
state: present
|
|
- name: Install Bluez (Bluetooth management)
|
|
become: true
|
|
pacman:
|
|
name: bluez
|
|
state: present
|
|
- name: Install Bluez Utils (Bluetooth utilities)
|
|
become: true
|
|
pacman:
|
|
name: bluez-utils
|
|
state: present
|
|
- name: Install Bluetuith (Bluetooth Terminal UI)
|
|
become: true
|
|
kewlfft.aur.aur:
|
|
name: bluetuith
|
|
state: present
|
|
update_cache: yes
|
|
- name: Install i3lock-fancy (window locker)
|
|
become: true
|
|
kewlfft.aur.aur:
|
|
name: i3lock-fancy
|
|
state: present
|
|
update_cache: yes
|
|
- name: Install Playerctl (utility for controlling media playing on the device)
|
|
become: true
|
|
pacman:
|
|
name: playerctl
|
|
state: present
|
|
- name: Install Evince (PDF viewer & editor)
|
|
become: true
|
|
pacman:
|
|
name: evince
|
|
state: present
|
|
- name: Install Noto Fonts Emoji (for emojis support)
|
|
become: true
|
|
pacman:
|
|
name: noto-fonts-emoji
|
|
state: present
|
|
- name: Setup Fonts
|
|
synchronize:
|
|
src: fontconfig
|
|
dest: /$HOME/.config
|
|
- name: Install JMTPFS (for accessing MTP devices)
|
|
kewlfft.aur.aur:
|
|
name: jmtpfs
|
|
state: present
|
|
update_cache: yes
|
|
- name: Install Unzip (uncompression utility)
|
|
become: true
|
|
pacman:
|
|
name: unzip
|
|
state: present
|
|
- name: Install Zip (compression utility)
|
|
become: true
|
|
pacman:
|
|
name: zip
|
|
state: present
|
|
- name: Install Xdotool (X11 command-line utility)
|
|
become: true
|
|
pacman:
|
|
name: xdotool
|
|
state: present
|
|
- 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
|
|
- name: Install Mesa Vdpau (accelerated video decoding driver)
|
|
become: true
|
|
pacman:
|
|
name: mesa-vdpau
|
|
state: present
|
|
- name: Install rsync (file synchronizer)
|
|
become: true
|
|
pacman:
|
|
name: rsync
|
|
state: present
|
|
- name: Install Pulseaudio (sound system)
|
|
become: true
|
|
pacman:
|
|
name: pulseaudio
|
|
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: Install Rbw (Bitwarden CLI)
|
|
become: true
|
|
pacman:
|
|
name: rbw
|
|
state: present
|
|
# - name: Install Rofi Bitwarden (Bitwarden client for Rofi)
|
|
# kewlfft.aur.aur:
|
|
# name: rofi-rbw
|
|
# state: present
|
|
# update_cache: yes
|
|
- 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 (X11 server)
|
|
become: true
|
|
pacman:
|
|
name: xorg-server
|
|
state: present
|
|
- 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 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 Bluetooth service
|
|
become: true
|
|
service:
|
|
enabled: true
|
|
name: bluetooth
|
|
state: started
|
|
- 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
|
|
copy:
|
|
src: tmux/tmux.conf
|
|
dest: /$HOME/.tmux.conf
|
|
- name: Install Neovim (command-line text editor)
|
|
become: true
|
|
pacman:
|
|
name: neovim
|
|
state: present
|
|
- name: Setup NeoVim for the unprivileged user
|
|
synchronize:
|
|
src: nvim
|
|
dest: /$HOME/.config
|
|
delete: true
|
|
- name: Setup NeoVim for the administrator user
|
|
become: true
|
|
synchronize:
|
|
src: nvim
|
|
dest: /root/.config
|
|
delete: true
|
|
- name: Install Neovim package from NPM
|
|
become: true
|
|
npm:
|
|
name: neovim
|
|
global: true
|
|
state: present
|
|
- name: Install Neovim package for Python
|
|
become: true
|
|
pacman:
|
|
name: python-neovim
|
|
state: present
|
|
- 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
|