mirror of
https://github.com/fscotto/infra.git
synced 2026-05-30 15:39:58 +00:00
Migrate nymph desktop to SwayFX and Noctalia
This commit is contained in:
@@ -13,15 +13,11 @@ desktop_ollama_enabled: false
|
||||
desktop_common_packages:
|
||||
- brightnessctl
|
||||
- dex
|
||||
- dunst
|
||||
- emptty
|
||||
- network-manager-applet
|
||||
- pinentry-emacs
|
||||
- pinentry-gtk
|
||||
- rofi
|
||||
- turnstile
|
||||
- udiskie
|
||||
- xfce-polkit
|
||||
- xdg-desktop-portal
|
||||
- xdg-desktop-portal-gtk
|
||||
- xdg-user-dirs
|
||||
@@ -35,10 +31,15 @@ desktop_i3_packages:
|
||||
- i3blocks-blocklets
|
||||
- i3lock-color
|
||||
- i3status
|
||||
- dunst
|
||||
- network-manager-applet
|
||||
- rofi
|
||||
- scrot
|
||||
- setxkbmap
|
||||
- blueman
|
||||
- volumeicon
|
||||
- xclip
|
||||
- xfce-polkit
|
||||
- xfce4-clipman-plugin
|
||||
- xfce4-screenshooter
|
||||
- xkbutils
|
||||
@@ -50,20 +51,13 @@ desktop_sway_packages:
|
||||
- grim
|
||||
- kanshi
|
||||
- slurp
|
||||
- SwayOSD
|
||||
- sway
|
||||
- swayidle
|
||||
- swaylock
|
||||
- Waybar
|
||||
- swayfx
|
||||
- wl-clipboard
|
||||
- xfce4-clipman-plugin
|
||||
- xfce4-screenshooter
|
||||
- xdg-desktop-portal-wlr
|
||||
|
||||
profile_packages:
|
||||
- alacritty
|
||||
- bluez
|
||||
- blueman
|
||||
- bridge-utils
|
||||
- celluloid
|
||||
- ctags
|
||||
@@ -168,10 +162,6 @@ desktop_common_dotfiles:
|
||||
src: .config/autostart/
|
||||
dest: .config/autostart/
|
||||
mode: preserve
|
||||
- name: dunst config
|
||||
src: .config/dunst/
|
||||
dest: .config/dunst/
|
||||
mode: preserve
|
||||
- name: alacritty config
|
||||
src: .config/alacritty/
|
||||
dest: .config/alacritty/
|
||||
@@ -180,10 +170,6 @@ desktop_common_dotfiles:
|
||||
src: .config/Thunar/
|
||||
dest: .config/Thunar/
|
||||
mode: preserve
|
||||
- name: rofi config
|
||||
src: .config/rofi/
|
||||
dest: .config/rofi/
|
||||
mode: preserve
|
||||
- name: MIME application defaults
|
||||
src: .config/mimeapps.list
|
||||
dest: .config/mimeapps.list
|
||||
@@ -248,14 +234,6 @@ desktop_common_dotfiles:
|
||||
src: .local/bin/setup-gtk-theme
|
||||
dest: .local/bin/setup-gtk-theme
|
||||
mode: "0755"
|
||||
- name: Lock session script
|
||||
src: .local/bin/lock-session
|
||||
dest: .local/bin/lock-session
|
||||
mode: "0755"
|
||||
- name: Powermenu script
|
||||
src: .local/bin/powermenu
|
||||
dest: .local/bin/powermenu
|
||||
mode: "0755"
|
||||
- name: Turnstile environment update script
|
||||
src: .local/bin/update-turnstile-env
|
||||
dest: .local/bin/update-turnstile-env
|
||||
@@ -280,10 +258,18 @@ desktop_i3_dotfiles:
|
||||
src: .config/i3/
|
||||
dest: .config/i3/
|
||||
mode: preserve
|
||||
- name: dunst config
|
||||
src: .config/dunst/
|
||||
dest: .config/dunst/
|
||||
mode: preserve
|
||||
- name: i3blocks config
|
||||
src: .config/i3blocks/
|
||||
dest: .config/i3blocks/
|
||||
mode: preserve
|
||||
- name: rofi config
|
||||
src: .config/rofi/
|
||||
dest: .config/rofi/
|
||||
mode: preserve
|
||||
- name: .xinitrc
|
||||
src: .xinitrc
|
||||
dest: .xinitrc
|
||||
@@ -294,10 +280,6 @@ desktop_sway_dotfiles:
|
||||
src: .config/sway/
|
||||
dest: .config/sway/
|
||||
mode: preserve
|
||||
- name: Waybar config
|
||||
src: .config/waybar/
|
||||
dest: .config/waybar/
|
||||
mode: preserve
|
||||
- name: Sway wallpaper assets
|
||||
src: .config/i3/wallpapers/
|
||||
dest: .config/sway/wallpapers/
|
||||
@@ -306,10 +288,6 @@ desktop_sway_dotfiles:
|
||||
src: .local/bin/start-sway-session
|
||||
dest: .local/bin/start-sway-session
|
||||
mode: "0755"
|
||||
- name: Wayland screenshot script
|
||||
src: .local/bin/screenshot-wayland
|
||||
dest: .local/bin/screenshot-wayland
|
||||
mode: "0755"
|
||||
|
||||
desktop_flatpak_packages:
|
||||
- be.alexandervanhee.gradia
|
||||
|
||||
@@ -2,29 +2,58 @@
|
||||
hostname: nymph
|
||||
|
||||
desktop_sessions_enabled:
|
||||
- i3
|
||||
- sway
|
||||
|
||||
desktop_prompt_for_session: true
|
||||
desktop_default_session: sway
|
||||
desktop_default_session_env: wayland
|
||||
desktop_emptty_session_error_logging: rotate
|
||||
|
||||
host_xbps_repositories:
|
||||
- name: noctalia
|
||||
url: https://universalrepo.r1xelelo.workers.dev/void
|
||||
|
||||
host_packages:
|
||||
- cliphist
|
||||
- grimshot
|
||||
- nvidia
|
||||
- noctalia-shell
|
||||
- power-profiles-daemon
|
||||
- mesa-dri
|
||||
- vulkan-loader
|
||||
- mesa-vulkan-intel
|
||||
- intel-video-accel
|
||||
- tlp
|
||||
- tlp-rdw
|
||||
- upower
|
||||
|
||||
host_remove_packages:
|
||||
- arandr
|
||||
- autorandr
|
||||
- feh
|
||||
- i3
|
||||
- i3blocks
|
||||
- i3blocks-blocklets
|
||||
- i3lock-color
|
||||
- i3status
|
||||
- dunst
|
||||
- network-manager-applet
|
||||
- rofi
|
||||
- scrot
|
||||
- setxkbmap
|
||||
- blueman
|
||||
- volumeicon
|
||||
- xclip
|
||||
- xfce-polkit
|
||||
- xfce4-clipman-plugin
|
||||
- xfce4-screenshooter
|
||||
- xkbutils
|
||||
- xorg-fonts
|
||||
- xorg-minimal
|
||||
- xss-lock
|
||||
|
||||
host_enabled_services:
|
||||
- tlp
|
||||
|
||||
host_i3_dotfiles:
|
||||
- src: .config/autorandr/
|
||||
dest: .config/autorandr/
|
||||
mode: preserve
|
||||
|
||||
host_sway_dotfiles:
|
||||
- src: .config/sway/host.conf
|
||||
dest: .config/sway/host.conf
|
||||
|
||||
@@ -67,7 +67,16 @@
|
||||
else []
|
||||
)
|
||||
+ (host_packages | default([]))
|
||||
) | unique
|
||||
)
|
||||
| unique
|
||||
}}
|
||||
state: present
|
||||
update_cache: false
|
||||
|
||||
- name: Remove host-specific packages on Void Linux
|
||||
tags: [packages]
|
||||
community.general.xbps:
|
||||
name: "{{ (host_remove_packages | default([])) | unique }}"
|
||||
state: absent
|
||||
update_cache: false
|
||||
when: (host_remove_packages | default([])) | length > 0
|
||||
|
||||
@@ -9,10 +9,23 @@
|
||||
mode: "0755"
|
||||
loop:
|
||||
- "{{ user_home }}/.config/sway"
|
||||
- "{{ user_home }}/.config/waybar"
|
||||
- "{{ user_home }}/.config/kanshi"
|
||||
when: "'sway' in (desktop_sessions_enabled | default([]))"
|
||||
|
||||
- name: Ensure Noctalia config directories exist
|
||||
tags: [dotfiles, dotfiles:desktop, sway, noctalia]
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ username }}"
|
||||
group: "{{ user_group }}"
|
||||
mode: "0755"
|
||||
loop:
|
||||
- "{{ user_home }}/.config/noctalia"
|
||||
- "{{ user_home }}/.config/noctalia/plugins"
|
||||
- "{{ user_home }}/.local/share/noctalia-plugins"
|
||||
when: "'sway' in (desktop_sessions_enabled | default([]))"
|
||||
|
||||
- name: Install Sway emptty session entry
|
||||
tags: [packages, services, emptty, sway]
|
||||
ansible.builtin.template:
|
||||
@@ -35,3 +48,18 @@
|
||||
loop_control:
|
||||
label: "{{ item.dest }}"
|
||||
when: "'sway' in (desktop_sessions_enabled | default([]))"
|
||||
|
||||
- name: Render Sway shell config
|
||||
tags: [dotfiles, dotfiles:desktop, sway]
|
||||
ansible.builtin.template:
|
||||
src: shell.conf.j2
|
||||
dest: "{{ user_home }}/.config/sway/shell.conf"
|
||||
owner: "{{ username }}"
|
||||
group: "{{ user_group }}"
|
||||
mode: "0644"
|
||||
when: "'sway' in (desktop_sessions_enabled | default([]))"
|
||||
|
||||
- name: Manage Noctalia shell plugins
|
||||
tags: [dotfiles, dotfiles:desktop, sway, noctalia]
|
||||
ansible.builtin.include_tasks: noctalia.yml
|
||||
when: "'sway' in (desktop_sessions_enabled | default([]))"
|
||||
|
||||
32
ansible/roles/profile_desktop_sway/tasks/noctalia.yml
Normal file
32
ansible/roles/profile_desktop_sway/tasks/noctalia.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
- name: Bootstrap official Noctalia plugins checkout
|
||||
ansible.builtin.git:
|
||||
repo: https://github.com/noctalia-dev/noctalia-plugins.git
|
||||
dest: "{{ user_home }}/.local/share/noctalia-plugins/official"
|
||||
version: main
|
||||
update: true
|
||||
become_user: "{{ username }}"
|
||||
environment:
|
||||
HOME: "{{ user_home }}"
|
||||
|
||||
- name: Bootstrap Clipper plugin checkout
|
||||
ansible.builtin.git:
|
||||
repo: https://github.com/blackbartblues/noctalia-clipper.git
|
||||
dest: "{{ user_home }}/.config/noctalia/plugins/clipper"
|
||||
version: master
|
||||
update: true
|
||||
become_user: "{{ username }}"
|
||||
environment:
|
||||
HOME: "{{ user_home }}"
|
||||
|
||||
- name: Link official Noctalia plugins
|
||||
ansible.builtin.file:
|
||||
src: "{{ user_home }}/.local/share/noctalia-plugins/official/{{ item }}"
|
||||
dest: "{{ user_home }}/.config/noctalia/plugins/{{ item }}"
|
||||
state: link
|
||||
force: true
|
||||
owner: "{{ username }}"
|
||||
group: "{{ user_group }}"
|
||||
loop:
|
||||
- polkit-agent
|
||||
- screenshot
|
||||
29
ansible/roles/profile_desktop_sway/templates/shell.conf.j2
Normal file
29
ansible/roles/profile_desktop_sway/templates/shell.conf.j2
Normal file
@@ -0,0 +1,29 @@
|
||||
set $menu qs -c noctalia-shell ipc call launcher toggle
|
||||
set $audio_panel qs -c noctalia-shell ipc call volume openPanel
|
||||
set $locker qs -c noctalia-shell ipc call lockScreen lock
|
||||
set $powermenu qs -c noctalia-shell ipc call sessionMenu toggle
|
||||
set $screenshot_full qs -c noctalia-shell ipc call plugin:screenshot takeScreenshot output
|
||||
set $screenshot_region qs -c noctalia-shell ipc call plugin:screenshot takeScreenshot region
|
||||
set $screenshot_window qs -c noctalia-shell ipc call plugin:screenshot takeScreenshot window
|
||||
set $audio_raise qs -c noctalia-shell ipc call volume increase
|
||||
set $audio_lower qs -c noctalia-shell ipc call volume decrease
|
||||
set $audio_mute qs -c noctalia-shell ipc call volume muteOutput
|
||||
set $audio_mic_mute qs -c noctalia-shell ipc call volume muteInput
|
||||
set $brightness_up qs -c noctalia-shell ipc call brightness increase
|
||||
set $brightness_down qs -c noctalia-shell ipc call brightness decrease
|
||||
|
||||
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XCURSOR_THEME XCURSOR_SIZE
|
||||
exec systemctl --user import-environment WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XCURSOR_THEME XCURSOR_SIZE
|
||||
exec ~/.local/bin/update-turnstile-env
|
||||
exec dex --autostart --environment sway
|
||||
exec gnome-keyring-daemon --start --components=secrets
|
||||
exec ~/.local/bin/setup-gtk-theme
|
||||
exec pipewire
|
||||
exec pipewire-pulse
|
||||
exec wireplumber
|
||||
exec kanshi
|
||||
exec udiskie
|
||||
exec wl-paste --watch cliphist store
|
||||
exec qs -c noctalia-shell
|
||||
|
||||
bindsym $mod+c exec qs -c noctalia-shell ipc call launcher clipboard
|
||||
Reference in New Issue
Block a user