diff --git a/README.md b/README.md index 4f15d4a..11aa83d 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ localhost ansible_connection=local 3. Run a playbook. ```bash -ansible-playbook -i inventory.ini [--ask-become] playbooks/ping.yml +ansible-playbook -i inventory.ini [--ask-become] ping.yml ``` ## Purpose diff --git a/desktop.yml b/desktop.yml new file mode 100644 index 0000000..117b9b4 --- /dev/null +++ b/desktop.yml @@ -0,0 +1,4 @@ +- name: Desktop environment + hosts: odhosts + roles: + - desktop diff --git a/playbooks/dev.yml b/dev.yml similarity index 100% rename from playbooks/dev.yml rename to dev.yml diff --git a/playbooks/multimedia.yml b/multimedia.yml similarity index 100% rename from playbooks/multimedia.yml rename to multimedia.yml diff --git a/playbooks/neovim.yml b/neovim.yml similarity index 100% rename from playbooks/neovim.yml rename to neovim.yml diff --git a/playbooks/ping.yml b/ping.yml similarity index 100% rename from playbooks/ping.yml rename to ping.yml diff --git a/playbooks/desktop.yml b/playbooks/desktop.yml deleted file mode 100644 index f81a42a..0000000 --- a/playbooks/desktop.yml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Desktop environment - hosts: odhosts - tasks: - - name: Install KDE - become: true - ansible.builtin.apt: - pkg: - - kde-plasma-desktop - - kate - - okular - - dolphin diff --git a/roles/desktop/files/waybar.css b/roles/desktop/files/waybar.css new file mode 100644 index 0000000..649c8fc --- /dev/null +++ b/roles/desktop/files/waybar.css @@ -0,0 +1,43 @@ +* { + border: none; + border-radius: 0; + font-family: JetBrains Mono; + font-size: 13px; + min-height: 0; +} + +window#waybar { + background: rgba(43, 48, 59, 0.5); + color: white; + padding: 0; +} + +tooltip { + background: rgba(43, 48, 59, 0.5); + border: 1px solid rgba(100, 114, 125, 0.5); +} + +tooltip label { + color: white; +} + +#workspaces button { + background: transparent; + color: white; +} + +#workspaces button.focused, +#mode { + background: #64727D; +} + +#workspaces button, +#mode, +#clock, +#battery, +#pulseaudio, +#network, +#backlight, +#language { + padding: 0 12px; +} diff --git a/roles/desktop/files/waybar.jsonc b/roles/desktop/files/waybar.jsonc new file mode 100644 index 0000000..e690f3f --- /dev/null +++ b/roles/desktop/files/waybar.jsonc @@ -0,0 +1,83 @@ +{ + "height": 30, // Waybar height (to be removed for auto height) + "spacing": 0, // Gaps between modules (px) + "modules-left": [ + "sway/workspaces", + "sway/mode", + "sway/scratchpad", + ], + "modules-center": [ + "sway/window" + ], + "modules-right": [ + "pulseaudio", + "network", + "backlight", + "sway/language", + "battery", + "clock", + "tray" + ], + "sway/workspaces": { + "disable-scroll": true, + "all-outputs": true, + "warp-on-scroll": false, + "format": "{name}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "tray": { + "spacing": 12 + }, + "clock": { + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "backlight": { + "format": "{percent}% {icon}", + "format-icons": ["", ""] + }, + "battery": { + "states": { + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + "format-icons": ["", "", "", "", ""] + }, + "network": { + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, +} diff --git a/roles/desktop/handlers/main.yml b/roles/desktop/handlers/main.yml new file mode 100644 index 0000000..8564e52 --- /dev/null +++ b/roles/desktop/handlers/main.yml @@ -0,0 +1,2 @@ +- name: Restart waybar + shell: "killall waybar && waybar &" diff --git a/roles/desktop/tasks/main.yml b/roles/desktop/tasks/main.yml new file mode 100644 index 0000000..f86e05c --- /dev/null +++ b/roles/desktop/tasks/main.yml @@ -0,0 +1,2 @@ +- name: Waybar + import_tasks: waybar.yml diff --git a/roles/desktop/tasks/waybar.yml b/roles/desktop/tasks/waybar.yml new file mode 100644 index 0000000..89b160f --- /dev/null +++ b/roles/desktop/tasks/waybar.yml @@ -0,0 +1,23 @@ +- name: Install waybar + become: true + ansible.builtin.apt: + pkg: + - waybar + - psmisc # killall command +- name: Create waybar config dir + ansible.builtin.file: + path: /home/lumin/.config/waybar + state: directory + mode: '1770' +- name: Copy waybar config + notify: Restart waybar + ansible.builtin.copy: + src: files/waybar.jsonc + dest: /home/lumin/.config/waybar/config.jsonc + mode: '0660' +- name: Copy waybar styles + notify: Restart waybar + ansible.builtin.copy: + src: files/waybar.css + dest: /home/lumin/.config/waybar/style.css + mode: '0660'