1
0
Fork 0

Add gopass

This commit is contained in:
J. Elfring 2025-02-23 19:29:55 +01:00
parent 712c4bb9ee
commit 8a45ddb6ec
3 changed files with 264 additions and 261 deletions

View file

@ -16,6 +16,7 @@
with_items: with_items:
- fortune-mod - fortune-mod
- git - git
- gopass
- make - make
- openssh - openssh
- pass - pass

View file

@ -1,285 +1,285 @@
- name: "Configuration for all workstations" - name: "Configuration for all workstations"
hosts: localhost hosts: localhost
connection: local connection: local
tasks: tasks:
- name: "Update pacman cache"
community.general.pacman:
update_cache: True
- name: "Update pacman cache" - name: "Install workstation packages"
community.general.pacman: ansible.builtin.package:
update_cache: True name: "{{ item }}"
state: present
update_cache: False
with_items:
- acpi
- bash
- bash-completion
- binutils
- blueman
- bluez-utils
- brightnessctl
- coreutils
- cryptsetup
- curl
- device-mapper
- dialog
- diffutils
- dos2unix
- dosfstools
- e2fsprogs
- file
- filesystem
- findutils
- firefox
- firefox-i18n-de
- gnu-netcat
- grep
- gzip
- imagemagick
- inetutils
- less
- licenses
- lightdm
- lightdm-gtk-greeter
- lightdm-gtk-greeter-settings
- linux
- linux-headers
- lm_sensors
- lshw
- lvm2
- man-db
- man-pages
- mc
- mplayer
- nano
- network-manager-applet
- networkmanager
- nmap
- nmon
- pcmanfm-gtk3
- perl
- perl-date-manip
- powerline-fonts
- qrencode
- screenfetch
- sed
- strace
- texinfo
- texlive-bibtexextra
- texlive-core
- texlive-fontsextra
- texlive-formatsextra
- texlive-games
- texlive-humanities
- texlive-latexextra
- texlive-music
- texlive-pictures
- texlive-pstricks
- texlive-publishers
- texlive-science
- tree
- ttf-3270-nerd
- ttf-cousine-nerd
- ttf-envycoder-nerd
- ttf-font-awesome
- ttf-hack-nerd
- ttf-inconsolata-nerd
- unzip
- usbutils
- w3m
- wget
- wpa_supplicant
- xdot
- zathura
- zathura-pdf-mupdf
- name: "Install workstation packages" - name: "Install X packages"
ansible.builtin.package: ansible.builtin.package:
name: '{{ item }}' name: "{{ item }}"
state: present state: present
update_cache: False update_cache: False
with_items: with_items:
- acpi - alacritty
- bash - arandr
- bash-completion - autorandr
- binutils - clipmenu
- blueman - dmenu
- bluez-utils - dunst
- brightnessctl - feh
- coreutils - i3-wm
- cryptsetup - i3lock
- curl - i3status-rust
- device-mapper - rofi
- dialog - scrot
- diffutils - xautolock
- dos2unix - xclip
- dosfstools - xdot
- e2fsprogs - xf86-input-libinput
- file - xorg-apps
- filesystem - xorg-xclipboard
- findutils - xorg-server
- firefox
- firefox-i18n-de
- gnu-netcat
- grep
- gzip
- imagemagick
- inetutils
- less
- licenses
- lightdm
- lightdm-gtk-greeter
- lightdm-gtk-greeter-settings
- linux
- linux-headers
- lm_sensors
- lshw
- lvm2
- man-db
- man-pages
- mc
- mplayer
- nano
- network-manager-applet
- networkmanager
- nmap
- nmon
- pcmanfm-gtk3
- perl
- perl-date-manip
- powerline-fonts
- qrencode
- screenfetch
- sed
- strace
- texinfo
- texlive-bibtexextra
- texlive-core
- texlive-fontsextra
- texlive-formatsextra
- texlive-games
- texlive-humanities
- texlive-latexextra
- texlive-music
- texlive-pictures
- texlive-pstricks
- texlive-publishers
- texlive-science
- tree
- ttf-3270-nerd
- ttf-cousine-nerd
- ttf-envycoder-nerd
- ttf-font-awesome
- ttf-hack-nerd
- ttf-inconsolata-nerd
- unzip
- usbutils
- w3m
- wget
- wpa_supplicant
- xdot
- zathura
- zathura-pdf-mupdf
- name: "Install X packages" - name: "Install hypr packages"
ansible.builtin.package: ansible.builtin.package:
name: '{{ item }}' name: "{{ item }}"
state: present state: present
update_cache: False update_cache: False
with_items: with_items:
- alacritty - hyprland
- arandr - hyprlock
- autorandr - hypridle
- clipmenu - hyprpicker
- dmenu - hyprpaper
- dunst - cliphist
- feh - wofi
- i3-wm - waybar
- i3lock - wtype
- i3status-rust - kitty
- rofi - qt6-wayland
- scrot - xdg-desktop-portal-hyprland
- xautolock
- xclip
- xdot
- xf86-input-libinput
- xorg-apps
- xorg-xclipboard
- xorg-server
- name: "Install hypr packages" - name: "Remove unwanted packages"
ansible.builtin.package: ansible.builtin.package:
name: '{{ item }}' name: "{{ item }}"
state: present state: absent
update_cache: False update_cache: False
with_items: force: True
- hyprland with_items:
- hyprlock - jack2
- hypridle - xf86-input-synaptics
- hyprpicker
- hyprpaper
- cliphist
- wofi
- waybar
- kitty
- qt6-wayland
- xdg-desktop-portal-hyprland
- name: "Remove unwanted packages" - name: "Install Audio System"
ansible.builtin.package: ansible.builtin.package:
name: '{{ item }}' name: "{{ item }}"
state: absent state: present
update_cache: False update_cache: False
force: True with_items:
with_items: - alsa-utils
- jack2 - libpulse
- xf86-input-synaptics - pipewire
- pipewire-audio
- pipewire-alsa
- pipewire-jack
- pipewire-pulse
- qpwgraph
- pavucontrol # Replace with pwvucontrol
- wireplumber
- name: "Install Audio System" - name: "Systemd: Disable reboot on ctrl+alt+del"
ansible.builtin.package: ansible.builtin.systemd:
name: '{{ item }}' name: ctrl-alt-del.target
state: present masked: yes
update_cache: False
with_items:
- alsa-utils
- libpulse
- pipewire
- pipewire-audio
- pipewire-alsa
- pipewire-jack
- pipewire-pulse
- qpwgraph
- pavucontrol # Replace with pwvucontrol
- wireplumber
- name: "Systemd: Disable reboot on ctrl+alt+del" - name: "Systemd: logind.conf"
ansible.builtin.systemd: ansible.builtin.copy:
name: ctrl-alt-del.target dest: /etc/systemd/logind.conf
masked: yes src: ./lib/etc/systemd/logind.conf
owner: root
group: root
mode: 0644
- name: "Systemd: logind.conf" - name: "Lightdm: greeter config"
ansible.builtin.copy: ansible.builtin.copy:
dest: /etc/systemd/logind.conf dest: /etc/lightdm/lightdm-gtk-greeter.conf
src: ./lib/etc/systemd/logind.conf src: ./lib/etc/lightdm/lightdm-gtk-greeter.conf
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
- name: "Lightdm: greeter config" - name: "Lightdm: config"
ansible.builtin.copy: ansible.builtin.copy:
dest: /etc/lightdm/lightdm-gtk-greeter.conf dest: /etc/lightdm/lightdm.conf
src: ./lib/etc/lightdm/lightdm-gtk-greeter.conf src: ./lib/etc/lightdm/lightdm.conf
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
- name: "Lightdm: config" - name: "Pam: Login"
ansible.builtin.copy: ansible.builtin.copy:
dest: /etc/lightdm/lightdm.conf dest: /etc/pam.d/login
src: ./lib/etc/lightdm/lightdm.conf src: ./lib/etc/pam.d/login
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
- name: "Pam: Login" - name: "Pam: Passwd"
ansible.builtin.copy: ansible.builtin.copy:
dest: /etc/pam.d/login dest: /etc/pam.d/passwd
src: ./lib/etc/pam.d/login src: ./lib/etc/pam.d/passwd
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
- name: "Pam: Passwd" - name: "Service: No netctl"
ansible.builtin.copy: ansible.builtin.service:
dest: /etc/pam.d/passwd name: netctl.service
src: ./lib/etc/pam.d/passwd state: stopped
owner: root enabled: no
group: root
mode: 0644
- name: "Service: No netctl" - name: "Service: NetworkManager"
ansible.builtin.service: ansible.builtin.service:
name: netctl.service name: NetworkManager.service
state: stopped state: started
enabled: no enabled: yes
- name: "Service: NetworkManager" - name: "Service: lightdm"
ansible.builtin.service: ansible.builtin.service:
name: NetworkManager.service name: lightdm.service
state: started state: started
enabled: yes enabled: yes
- name: "Service: lightdm" ## X11
ansible.builtin.service: - name: "X11: Keyboard"
name: lightdm.service when: "'gpd' not in ansible_hostname"
state: started ansible.builtin.copy:
enabled: yes dest: /etc/X11/xorg.conf.d/00-keyboard.conf
src: ./lib/etc/X11/xorg.conf.d/00-keyboard.conf
owner: root
group: root
mode: 0644
## X11 - name: "X11: Touchpad"
- name: "X11: Keyboard" when: "'gpd' not in ansible_hostname"
when: "'gpd' not in ansible_hostname" ansible.builtin.copy:
ansible.builtin.copy: dest: /etc/X11/xorg.conf.d/50-touchpad.conf
dest: /etc/X11/xorg.conf.d/00-keyboard.conf src: ./lib/etc/X11/xorg.conf.d/50-touchpad.conf
src: ./lib/etc/X11/xorg.conf.d/00-keyboard.conf owner: root
owner: root group: root
group: root mode: 0644
mode: 0644
- name: "X11: Touchpad" ## Notbook Specials
when: "'gpd' not in ansible_hostname" - name: "Install Notebook packages"
ansible.builtin.copy: when: ansible_facts['form_factor'] == "Notebook"
dest: /etc/X11/xorg.conf.d/50-touchpad.conf ansible.builtin.package:
src: ./lib/etc/X11/xorg.conf.d/50-touchpad.conf name: "{{ item }}"
owner: root state: present
group: root update_cache: True
mode: 0644 with_items:
- tlp
## Notbook Specials - name: "TLP: config"
- name: "Install Notebook packages" when: ansible_facts['form_factor'] == "Notebook"
when: ansible_facts['form_factor'] == "Notebook" ansible.builtin.copy:
ansible.builtin.package: dest: /etc/default/tlp
name: '{{ item }}' src: ./lib/etc/default/tlp
state: present owner: root
update_cache: True group: root
with_items: mode: 0644
- tlp
- name: "TLP: config" - name: "TLP: Service"
when: ansible_facts['form_factor'] == "Notebook" when: ansible_facts['form_factor'] == "Notebook"
ansible.builtin.copy: ansible.builtin.service:
dest: /etc/default/tlp name: tlp
src: ./lib/etc/default/tlp state: started
owner: root enabled: yes
group: root
mode: 0644
- name: "TLP: Service" - name: "Set Xbacklight permissions by udev"
when: ansible_facts['form_factor'] == "Notebook" ansible.builtin.copy:
ansible.builtin.service: dest: /etc/udev/rules.d/90-backlight.rules
name: tlp owner: root
state: started group: root
enabled: yes mode: 0644
content: |
- name: "Set Xbacklight permissions by udev" SUBSYSTEM=="backlight", ACTION=="add", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
ansible.builtin.copy:
dest: /etc/udev/rules.d/90-backlight.rules
owner: root
group: root
mode: 0644
content: |
SUBSYSTEM=="backlight", ACTION=="add", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"

View file

@ -14,6 +14,8 @@
- insync - insync
- c-lolcat - c-lolcat
- plus42 - plus42
- tessen
- pass-tessen
- name: Install AUR packages for hyrland - name: Install AUR packages for hyrland
become: yes become: yes