192 lines
4.9 KiB
YAML
192 lines
4.9 KiB
YAML
#⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⡠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
#⠀⣀⣠⡤⣀⣀⡀⠀⠀⠀⠑⡀⠈⠂⡠⣠⠊⠀⢀⠜⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀
|
|
#⠈⢿⣭⡍⠩⠉⠄⢛⡲⠤⣀⠸⣄⣿⣿⣿⣷⣴⣡⠤⣒⠩⠝⢩⡙⠫⠝⠛⣶
|
|
#⠀⠀⠉⢖⠒⠒⠒⠀⠐⠚⠷⣺⣇⠀⠀⠀⠋⣿⠿⣗⣀⡉⠉⠩⣭⣤⣽⠿⠋⠀
|
|
#⠀⠀⠀⠈⠓⠠⠤⠬⠷⠖⢋⡽⣿⣷⢄⣸⣼⣿⣍⠓⠥⢍⣶⣤⡍⠔⠂⠀⠀⠀
|
|
#⠀⠀⠀⠀⠀⠀⠀⠀⠀⡴⢩⣾⣿⣛⢟⠿⢿⣷⡌⠱⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
#⠀⠀⠀⠀⠀⠀⠀⠂⠉⠰⡟⣯⣍⠙⠛⠛⢛⣿⣗⡄⠈⠀⠃⠀⠀⠀⠀⠀⠀⠀⠀
|
|
#⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⠁⣯⣙⠛⠿⠟⢻⣿⠛⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
#⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⠘⢿⡻⠿⠾⣻⠏⠀⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
#⠀⠀⠀⠀⠀⠀⠀⠀⠀⠜⠀⠀⠀⠉⠙⠋⠁⠀⠀⠘⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
|
|
|
# This file should be distributed elsewhere.
|
|
# Once you're in your arch system (with networking!), `wget` this file and run
|
|
# ansible-galaxy collection install community.general
|
|
# ansible-galaxy collection install kewlfft.aur
|
|
# ansible-playbook -K play.yml
|
|
|
|
- name: Install My System (holy shit!)
|
|
hosts: localhost
|
|
|
|
tasks:
|
|
- name: Gather the package facts
|
|
ansible.builtin.package_facts:
|
|
manager: auto
|
|
|
|
- name: Create user group
|
|
ansible.builtin.group:
|
|
name: sophie
|
|
state: present
|
|
become: yes
|
|
|
|
- name: Create user
|
|
ansible.builtin.user:
|
|
name: sophie
|
|
create_home: yes
|
|
groups: sophie
|
|
append: yes
|
|
state: present
|
|
become: yes
|
|
|
|
- name: Install sudo
|
|
community.general.pacman:
|
|
name:
|
|
- sudo
|
|
state: present
|
|
become: yes
|
|
|
|
- name: Give user sophie max sudoers
|
|
community.general.sudoers:
|
|
name: main-user
|
|
state: present
|
|
user: sophie
|
|
runas: ALL
|
|
commands: ALL
|
|
become: yes
|
|
|
|
- name: Install yay prerequisites
|
|
community.general.pacman:
|
|
name:
|
|
- make
|
|
- gcc
|
|
- fakeroot
|
|
state: present
|
|
become: yes
|
|
|
|
- name: Install yay using makepkg if it isn't installed already
|
|
kewlfft.aur.aur:
|
|
name: yay
|
|
use: makepkg
|
|
state: present
|
|
become: yes
|
|
become_user: sophie
|
|
|
|
- name: Install stow
|
|
community.general.pacman:
|
|
name:
|
|
- stow
|
|
state: present
|
|
become: yes
|
|
|
|
- name: Clone my dotfiles
|
|
ansible.builtin.git:
|
|
repo: 'https://git.sad.ovh/sophie/dots.git'
|
|
dest: /home/sophie/.shell
|
|
become: yes
|
|
become_user: sophie
|
|
|
|
- name: Upgrade the system using yay
|
|
kewlfft.aur.aur:
|
|
upgrade: yes
|
|
use: yay
|
|
become: yes
|
|
become_user: sophie
|
|
- name: Run stow
|
|
ansible.builtin.shell: "stow . --target=/home/sophie/ --verbose=2"
|
|
args:
|
|
chdir: /home/sophie/.shell/src
|
|
register: result
|
|
changed_when: 'result.stderr is search("LINK: ")'
|
|
become: yes
|
|
become_user: sophie
|
|
- name: Install everything
|
|
kewlfft.aur.aur:
|
|
use: yay
|
|
name: "{{ item }}"
|
|
state: present
|
|
extra_args: "--needed"
|
|
loop:
|
|
- sdbus-cpp
|
|
- python-gpgme
|
|
- pkgconfig
|
|
- patch
|
|
- flex
|
|
- bison
|
|
- which
|
|
- pipewire
|
|
- wireplumber
|
|
- pipewire-pulse
|
|
- pipewire-alsa
|
|
- pipewire-jack
|
|
- qpwgraph
|
|
- hyprland
|
|
- xdg-desktop-portal-hyprland-git
|
|
- polkit-kde-agent
|
|
- aylurs-gtk-shell
|
|
- foot
|
|
- nushell
|
|
- wl-clipboard
|
|
- slurp
|
|
- grim
|
|
- rofi-lbonn-wayland-git
|
|
- swww
|
|
- thunar
|
|
- gvfs
|
|
- gvfs-smb
|
|
- spotify
|
|
- spicetify-cli
|
|
- ttf-jetbrains-mono-nerd
|
|
- vencord-desktop-git
|
|
- vivaldi
|
|
- wps-office
|
|
- ttf-wps-fonts
|
|
- visual-studio-code-bin
|
|
- pipes.sh
|
|
- fastfetch
|
|
- network-manager-applet
|
|
- lemurs
|
|
- syncthing
|
|
become: yes
|
|
become_user: sophie
|
|
|
|
- name: Create .bash_profile
|
|
ansible.builtin.file:
|
|
path: /home/sophie/.bash_profile
|
|
state: touch
|
|
modification_time: preserve
|
|
access_time: preserve
|
|
become: yes
|
|
become_user: sophie
|
|
|
|
- name: Enable lemurs
|
|
ansible.builtin.systemd:
|
|
name: lemurs
|
|
enabled: true
|
|
become: yes
|
|
|
|
- name: Create lemurs wayland dir
|
|
ansible.builtin.file:
|
|
path: /etc/lemurs/wayland/
|
|
state: directory
|
|
become: yes
|
|
|
|
- name: Create auto hyprland login
|
|
ansible.builtin.file:
|
|
path: /etc/lemurs/wayland/hyprland
|
|
state: touch
|
|
modification_time: preserve
|
|
access_time: preserve
|
|
mode: a+x
|
|
become: yes
|
|
|
|
- name: Write auto-hyprland login
|
|
ansible.builtin.blockinfile:
|
|
path: /etc/lemurs/wayland/hyprland
|
|
block: |
|
|
#! /bin/sh
|
|
exec Hyprland
|
|
become: yes
|
|
- name: Set GTK interface theme
|
|
ansible.builtin.shell: "gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Latte-Standard-Pink-Light'"
|
|
become: yes
|
|
become_user: sophie |