diff --git a/AGENTS.md b/AGENTS.md index f70d793..f3cb80d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -52,23 +52,22 @@ Ansible-driven personal infrastructure repo for Void desktops, Linux workstation - Use `no_log: true` for secret-bearing task inputs or outputs. ## Desktop Notes -- `profile_desktop_common` owns the shared desktop bootstrap; `profile_desktop_i3` (X11), `profile_desktop_sway` (Wayland/SwayFX), and `profile_desktop_hyprland` (Wayland) install their respective sessions in parallel and are wired into the `void` play in `ansible/site.yml`. `desktop_sessions_enabled` and `desktop_default_session` in host vars decide which sessions are exposed in `emptty` and which is preselected. +- `profile_desktop_common` owns the shared desktop bootstrap; `profile_desktop_sway` (Wayland/SwayFX) and `profile_desktop_hyprland` (Wayland) install their respective sessions in parallel and are wired into the `void` play in `ansible/site.yml`. `desktop_sessions_enabled` and `desktop_default_session` in host vars decide which sessions are exposed in `emptty` and which is preselected. - `.emacs.d` is deployed by a dedicated `profile_desktop_common` task tagged `emacs`. - NTFS filesystem support is provided by `ntfs-3g` in `ansible/inventory/group_vars/void.yml`. - Void user services are managed by `turnstile` and live under `dotfiles/desktop/.config/service/`. - `ssh-agent` keeps the stable socket `~/.local/state/ssh-agent/socket`. - Critical session entrypoints: - - `dotfiles/desktop/.xinitrc` (i3 / X11) - `dotfiles/desktop/.config/sway/config` plus `host.conf` and `session-env` deployed via `host_sway_dotfiles` (sway / Wayland) - `dotfiles/desktop/.config/hypr/hyprland.conf` plus `host.conf` and `session-env` deployed via `host_hyprland_dotfiles` (Hyprland / Wayland) - Do not auto-restart `emptty` during playbook runs on active Void desktop hosts; restart it manually from another TTY/SSH session if needed. -- `nymph` is a Void laptop with NVIDIA Optimus, running sway (Wayland) and Hyprland (Wayland); host-specific tasks in `profile_desktop_host/tasks/nymph.yml` handle GRUB NVIDIA cmdline params, `prime-run` wrapper, and the WirePlumber camera priority config. Multi-monitor on X11 is driven by `autorandr`; on sway it is driven by `kanshi` (config deployed via `host_sway_dotfiles`), and on Hyprland by host-specific Hyprland monitor/workspace rules. +- `nymph` is a Void laptop with NVIDIA Optimus, running sway (Wayland) and Hyprland (Wayland); host-specific tasks in `profile_desktop_host/tasks/nymph.yml` handle GRUB NVIDIA cmdline params, `prime-run` wrapper, and the WirePlumber camera priority config. Multi-monitor on sway is driven by `kanshi` (config deployed via `host_sway_dotfiles`), and on Hyprland by host-specific Hyprland monitor/workspace rules. ## Void Package And Dotfile Bucket Rules The four Void desktop package lists in `ansible/inventory/group_vars/void.yml` are kept disjoint by role: - `void_packages_base` — system runtime only (init/services, kernel, audio core, networking, filesystem, firewall, hardware daemons, runit logging). - `desktop_common_packages` — WM-agnostic GUI infra (GTK theme, polkit, keyring, NM-applet, blueman, audio GUI, file manager backend + GVFS, portal, flatpak, printing/scanning). -- `desktop_i3_packages` / `desktop_sway_packages` / `desktop_hyprland_packages` — binaries specific to each session. Cross-WM packages used by both (`dunst`, `rofi`, `alacritty`) are intentionally duplicated in the two lists. +- `desktop_sway_packages` / `desktop_hyprland_packages` — binaries specific to each session. Cross-WM packages used by both (`dunst`, `rofi`, `alacritty`) are intentionally duplicated in the two lists. `profile_packages` in the same file is cross-distro and is overridden by `group_vars/server.yml` and the workstation group vars; do not move desktop-specific Void entries through it. The dotfile vars follow the same split: `desktop_common_dotfiles` (in `group_vars/desktop.yml`) carries WM-agnostic GUI config and user scripts (Thunar, mimeapps, GTK theme setup, Udiskie, fontconfig, WirePlumber, mpv, …); `desktop_void_dotfiles` (in `group_vars/void.yml`) is reserved for files that need Void runtime (turnstile services, bash runit/dbus/ssh-agent fragments, `update-turnstile-env`). diff --git a/CLAUDE.md b/CLAUDE.md index a6d1a2d..1bea238 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -55,7 +55,7 @@ Dotfiles under `dotfiles/` mirror the same layer split: `common/`, `desktop/`, ` - `void_packages_base` — system runtime (init, kernel, audio core, networking, firewall, hw daemons) - `desktop_common_packages` — WM-agnostic GUI infra (GTK theme, polkit, keyring, portals, flatpak, printing) -- `desktop_i3_packages` / `desktop_sway_packages` — session-specific binaries; cross-WM packages used by both (`dunst`, `rofi`, `alacritty`) are intentionally duplicated +- `desktop_sway_packages` / `desktop_hyprland_packages` — session-specific binaries; cross-WM packages used by both (`dunst`, `rofi`, `alacritty`) are intentionally duplicated - `profile_packages` — cross-distro; do not move desktop-only Void entries into it Dotfile var split follows the same logic: `desktop_common_dotfiles` (WM-agnostic), `desktop_void_dotfiles` (Void runtime — turnstile services, bash fragments). diff --git a/README.md b/README.md index 5c87e6e..e268af0 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ Lo stato attuale del profilo desktop include, tra le altre cose: - pacchetti Void Linux e servizi runit; le liste pacchetti Void desktop sono separate per criterio: - `void_packages_base` per il runtime sistema (init, kernel, audio core, networking, firewall, hw daemons) - `desktop_common_packages` per l'infrastruttura GUI WM-agnostic (tema, polkit, keyring, NM-applet, blueman, audio GUI, file manager backend, portal, flatpak, printing/scanning) - - `desktop_i3_packages`, `desktop_sway_packages` e `desktop_hyprland_packages` per i binari specifici di ciascuna sessione + - `desktop_sway_packages` e `desktop_hyprland_packages` per i binari specifici di ciascuna sessione - `turnstile` per i servizi utente, inclusi `emacs` e `ssh-agent` - `ssh-agent` con socket stabile condiviso tra shell, SSH ed Emacs in `~/.local/state/ssh-agent/socket` - `.emacs.d` distribuito da un task dedicato Ansible con tag `emacs` @@ -98,7 +98,7 @@ Lo stato attuale del profilo desktop include, tra le altre cose: - Flatpak con remoto Flathub - GNOME Keyring e bootstrap della posta via script dedicato - `udiskie` come backend per automount/LUKS -- `autorandr` per profili monitor X11 host-specifici (`nymph` ha profili `dual` e `solo`); sotto sway il multi-monitor è gestito da `kanshi` (config host-specifica in `host_sway_dotfiles` su `nymph`); sotto Hyprland gli override monitor vivono in `host_hyprland_dotfiles` +- multi-monitor: sotto sway è gestito da `kanshi` (config host-specifica in `host_sway_dotfiles` su `nymph`); sotto Hyprland gli override monitor vivono in `host_hyprland_dotfiles` - override NVIDIA Optimus su `nymph`: parametri kernel GRUB iniettati in modo idempotente in `GRUB_CMDLINE_LINUX`, wrapper `prime-run` e config WirePlumber per priorità telecamera --- @@ -247,7 +247,6 @@ I principali ruoli attualmente presenti sono: | services_runit | gestione servizi runit | | services_systemd | gestione servizi systemd | | profile_desktop_common | bootstrap desktop Void condiviso | -| profile_desktop_i3 | sessione desktop i3 (X11) | | profile_desktop_sway | sessione desktop sway / SwayFX (Wayland) | | profile_desktop_hyprland | sessione desktop Hyprland (Wayland) | | profile_desktop_host | override desktop specifici per host | @@ -266,7 +265,7 @@ Il playbook `ansible/site.yml` e attualmente composto da sei blocchi: ```text all -> dotfiles_common -void -> packages_void + services_runit + profile_desktop_common + profile_desktop_i3 + profile_desktop_sway + profile_desktop_hyprland + profile_desktop_host +void -> packages_void + services_runit + profile_desktop_common + profile_desktop_sway + profile_desktop_hyprland + profile_desktop_host workstation_dev_fedora -> packages_fedora + services_systemd + profile_workstation_dev_common workstation_host_linux -> profile_workstation_gnome workstation_dev_wsl -> packages_ubuntu + services_systemd + profile_workstation_dev_common + profile_workstation_dev_wsl @@ -349,7 +348,7 @@ ansible-playbook ansible/site.yml Allo stato attuale questo comando: - distribuisce i dotfiles comuni a tutti gli host -- per gli host Void applica bootstrap desktop condiviso, sessione i3 e override specifici per host +- per gli host Void applica bootstrap desktop condiviso, sessioni sway/Hyprland e override specifici per host - per `workstation_dev_fedora` applica pacchetti Fedora, servizi systemd e profilo dev comune - per `workstation_host_linux` applica il layer host Linux GNOME - per `workstation_dev_wsl` applica pacchetti Ubuntu, servizi systemd, profilo dev comune e tweak WSL dedicati @@ -409,7 +408,6 @@ Allo stato attuale `ansible/site.yml` espone questi tag: | `dotfiles:workstation` | dotfiles dedicati alle workstation | workstation Linux, WSL | | `emptty` | gestione display manager `emptty` | desktop Void | | `gnome` | configurazione host GNOME | workstation host Linux, parte desktop | -| `i3` | sessione/configurazione i3 (X11) | desktop Void | | `sway` | sessione/configurazione sway / SwayFX (Wayland) | desktop Void | | `hyprland` | sessione/configurazione Hyprland (Wayland) | desktop Void | | `npm` | installazione pacchetti npm globali | desktop Void, workstation Linux, WSL | @@ -422,7 +420,7 @@ Allo stato attuale `ansible/site.yml` espone questi tag: Esempi pratici: ```bash -ansible-playbook ansible/site.yml --limit nymph --tags dotfiles:desktop,i3 --check --diff +ansible-playbook ansible/site.yml --limit nymph --tags dotfiles:desktop,sway --check --diff ansible-playbook ansible/site.yml --limit ikaros --tags sway,portal --check --diff ansible-playbook ansible/site.yml --limit ikaros --tags hyprland,portal --check --diff ansible-playbook ansible/site.yml --limit deadalus-fedora --tags packages,vscode --check --diff diff --git a/ansible/inventory/group_vars/desktop.yml b/ansible/inventory/group_vars/desktop.yml index b57a524..6d554aa 100644 --- a/ansible/inventory/group_vars/desktop.yml +++ b/ansible/inventory/group_vars/desktop.yml @@ -140,44 +140,6 @@ desktop_emacs_dotfiles: dest: .emacs.d/ mode: preserve -desktop_i3_dotfiles: - - name: i3 config - 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: picom config - src: .config/picom/picom.conf - dest: .config/picom/picom.conf - mode: "0644" - - name: polybar config - src: .config/polybar/config.ini - dest: .config/polybar/config.ini - mode: "0644" - - name: polybar launcher - src: .config/polybar/launch.sh - dest: .config/polybar/launch.sh - mode: "0755" - - name: alacritty config - src: .config/alacritty/ - dest: .config/alacritty/ - mode: preserve - - name: .xinitrc - src: .xinitrc - dest: .xinitrc - mode: "0644" - desktop_sway_dotfiles: - name: alacritty config src: .config/alacritty/ diff --git a/ansible/inventory/group_vars/void.yml b/ansible/inventory/group_vars/void.yml index 04029c0..5c5ac82 100644 --- a/ansible/inventory/group_vars/void.yml +++ b/ansible/inventory/group_vars/void.yml @@ -3,13 +3,6 @@ void_xbps_repositories: - name: hyprland-void url: https://raw.githubusercontent.com/sofijacom/hyprland-void/repository-x86_64-glibc -desktop_void_source_tools: - - name: st - repo: https://codeberg.org/fscotto/st - build_cmd: make - binary_name: st - install_name: st - void_packages_base: - 7zip - NetworkManager @@ -133,31 +126,6 @@ desktop_common_packages: - xdg-user-dirs - xfce-polkit -desktop_i3_packages: - - arandr - - autorandr - - feh - - i3 - - i3blocks - - i3blocks-blocklets - - i3lock-color - - i3status - - dunst - - picom - - polybar - - rofi - - scrot - - setxkbmap - - volumeicon - - xclip - - xfce4-clipman-plugin - - xfce4-screenshooter - - xkbutils - - xorg-fonts - - xorg-minimal - - xss-lock - - xdotool - desktop_sway_packages: - cliphist - dunst diff --git a/ansible/inventory/host_vars/ikaros.yml b/ansible/inventory/host_vars/ikaros.yml index 81e113f..dfb2bb3 100644 --- a/ansible/inventory/host_vars/ikaros.yml +++ b/ansible/inventory/host_vars/ikaros.yml @@ -33,10 +33,5 @@ host_sshd_allow_users: host_authorized_ssh_keys: "{{ vault_ikaros_authorized_ssh_keys | default([]) }}" -host_i3_dotfiles: - - src: .config/autorandr/ - dest: .config/autorandr/ - mode: preserve - host_enabled_services: - sshd diff --git a/ansible/inventory/host_vars/nymph.yml b/ansible/inventory/host_vars/nymph.yml index 2a9d60e..40a4cc7 100644 --- a/ansible/inventory/host_vars/nymph.yml +++ b/ansible/inventory/host_vars/nymph.yml @@ -24,14 +24,6 @@ host_packages: host_enabled_services: - tlp -host_i3_dotfiles: - - src: .config/autorandr/ - dest: .config/autorandr/ - mode: preserve - - src: .config/wireplumber/wireplumber.conf.d/60-camera-priority.conf - dest: .config/wireplumber/wireplumber.conf.d/60-camera-priority.conf - mode: "0644" - host_sway_dotfiles: - src: .config/sway/host.conf dest: .config/sway/host.conf diff --git a/ansible/roles/packages_ubuntu/tasks/main.yml b/ansible/roles/packages_ubuntu/tasks/main.yml index c55f584..e1f7d96 100644 --- a/ansible/roles/packages_ubuntu/tasks/main.yml +++ b/ansible/roles/packages_ubuntu/tasks/main.yml @@ -115,11 +115,6 @@ else [] ) + (desktop_common_packages | default([])) - + ( - (desktop_i3_packages | default([])) - if 'i3' in (desktop_sessions_enabled | default([])) - else [] - ) + (host_packages | default([])) ) | difference( diff --git a/ansible/roles/packages_void/tasks/main.yml b/ansible/roles/packages_void/tasks/main.yml index 1caa5c7..39d7fb4 100644 --- a/ansible/roles/packages_void/tasks/main.yml +++ b/ansible/roles/packages_void/tasks/main.yml @@ -56,11 +56,6 @@ + (void_packages_base | default([])) + (profile_packages | default([])) + (desktop_common_packages | default([])) - + ( - (desktop_i3_packages | default([])) - if 'i3' in (desktop_sessions_enabled | default([])) - else [] - ) + ( (desktop_sway_packages | default([])) if 'sway' in (desktop_sessions_enabled | default([])) @@ -83,4 +78,4 @@ community.general.xbps: name: "{{ host_packages_absent | default([]) }}" state: absent - when: (host_packages_absent | default([])) | length > 0 \ No newline at end of file + when: (host_packages_absent | default([])) | length > 0 diff --git a/ansible/roles/profile_desktop_host/tasks/main.yml b/ansible/roles/profile_desktop_host/tasks/main.yml index 65ca82e..05a866a 100644 --- a/ansible/roles/profile_desktop_host/tasks/main.yml +++ b/ansible/roles/profile_desktop_host/tasks/main.yml @@ -4,21 +4,6 @@ ansible.builtin.include_tasks: nymph.yml when: hostname == 'nymph' -- name: Copy host-specific i3 dotfiles - tags: [dotfiles, dotfiles:desktop, dotfiles:host, i3] - ansible.builtin.copy: - src: "{{ playbook_dir }}/../dotfiles/{{ hostname }}/{{ item.src }}" - dest: "{{ user_home }}/{{ item.dest }}" - owner: "{{ username }}" - group: "{{ user_group }}" - mode: "{{ item.mode }}" - loop: "{{ host_i3_dotfiles | default([]) }}" - loop_control: - label: "{{ item.dest }}" - when: - - "'i3' in (desktop_sessions_enabled | default([]))" - - (host_i3_dotfiles | default([])) | length > 0 - - name: Copy host-specific sway dotfiles tags: [dotfiles, dotfiles:desktop, dotfiles:host, sway] ansible.builtin.copy: diff --git a/ansible/roles/profile_desktop_host/tasks/nymph.yml b/ansible/roles/profile_desktop_host/tasks/nymph.yml index 5433af5..205a395 100644 --- a/ansible/roles/profile_desktop_host/tasks/nymph.yml +++ b/ansible/roles/profile_desktop_host/tasks/nymph.yml @@ -53,11 +53,3 @@ group: "{{ user_group }}" mode: "0755" force: false - -- name: Wrap alacritty with prime-run for NVIDIA PRIME offload - tags: [nvidia, dotfiles, dotfiles:desktop, dotfiles:host] - ansible.builtin.lineinfile: - path: "{{ user_home }}/.config/i3/config" - regexp: '^bindsym \$mod\+Return exec --no-startup-id /usr/bin/alacritty' - line: 'bindsym $mod+Return exec --no-startup-id ~/.local/bin/prime-run /usr/bin/alacritty' - when: "'i3' in (desktop_sessions_enabled | default([]))" diff --git a/ansible/roles/profile_desktop_i3/files/i3.desktop b/ansible/roles/profile_desktop_i3/files/i3.desktop deleted file mode 100644 index 345b18f..0000000 --- a/ansible/roles/profile_desktop_i3/files/i3.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Name=i3 -Comment=improved dynamic tiling window manager -Exec=i3 -TryExec=i3 -Type=Application -DesktopNames=i3 -Keywords=tiling;wm;windowmanager;window;manager; diff --git a/ansible/roles/profile_desktop_i3/tasks/main.yml b/ansible/roles/profile_desktop_i3/tasks/main.yml deleted file mode 100644 index 68ec2b5..0000000 --- a/ansible/roles/profile_desktop_i3/tasks/main.yml +++ /dev/null @@ -1,41 +0,0 @@ ---- -- name: Ensure i3 config directories exist - tags: [dotfiles, dotfiles:desktop, i3] - ansible.builtin.file: - path: "{{ item }}" - state: directory - owner: "{{ username }}" - group: "{{ user_group }}" - mode: "0755" - loop: - - "{{ user_home }}/.config/alacritty" - - "{{ user_home }}/.config/dunst" - - "{{ user_home }}/.config/i3" - - "{{ user_home }}/.config/i3blocks" - - "{{ user_home }}/.config/picom" - - "{{ user_home }}/.config/polybar" - - "{{ user_home }}/.config/rofi" - when: "'i3' in (desktop_sessions_enabled | default([]))" - -- name: Install allowed emptty X11 sessions - tags: [packages, services, emptty, i3] - ansible.builtin.copy: - src: i3.desktop - dest: /etc/emptty/xsessions/i3.desktop - owner: root - group: root - mode: "0644" - when: "'i3' in (desktop_sessions_enabled | default([]))" - -- name: Copy i3 desktop dotfiles - tags: [dotfiles, dotfiles:desktop, i3] - ansible.builtin.copy: - src: "{{ playbook_dir }}/../dotfiles/desktop/{{ item.src }}" - dest: "{{ user_home }}/{{ item.dest }}" - owner: "{{ username }}" - group: "{{ user_group }}" - mode: "{{ item.mode }}" - loop: "{{ desktop_i3_dotfiles | default([]) }}" - loop_control: - label: "{{ item.dest }}" - when: "'i3' in (desktop_sessions_enabled | default([]))" diff --git a/ansible/site.yml b/ansible/site.yml index bc27c85..a9e89f9 100644 --- a/ansible/site.yml +++ b/ansible/site.yml @@ -24,7 +24,6 @@ - packages_void - services_runit - profile_desktop_common - - profile_desktop_i3 - profile_desktop_sway - profile_desktop_hyprland - profile_desktop_host diff --git a/dotfiles/common/.config/ai/knowledge/desktop.md b/dotfiles/common/.config/ai/knowledge/desktop.md index 1e7d683..30a70a8 100644 --- a/dotfiles/common/.config/ai/knowledge/desktop.md +++ b/dotfiles/common/.config/ai/knowledge/desktop.md @@ -1,4 +1,4 @@ # Desktop -- i3 primary -- XFCE components selectively +- Wayland only: sway (SwayFX) and Hyprland +- Hyprland is the default session diff --git a/dotfiles/desktop/.config/i3/config b/dotfiles/desktop/.config/i3/config deleted file mode 100644 index 9adff02..0000000 --- a/dotfiles/desktop/.config/i3/config +++ /dev/null @@ -1,249 +0,0 @@ -# i3 config for nymph - -set $mod Mod4 -set $refresh_i3status killall -SIGUSR1 i3status - -font pango:LiterationMono Nerd Font 10 - -# Start XDG autostart entries (.desktop), useful on Void for pipewire/wireplumber/etc. -exec --no-startup-id dex --autostart --environment i3 -exec --no-startup-id gnome-keyring-daemon --start --components=secrets -exec_always --no-startup-id setxkbmap -layout us -variant intl -exec_always --no-startup-id feh --bg-center ~/.config/i3/wallpapers/wallpaper-161664.jpg -exec_always --no-startup-id ~/.config/i3/scripts/setup-gtk-theme.sh -exec --no-startup-id /usr/libexec/xdg-desktop-portal - -# Audio -exec --no-startup-id pipewire -exec --no-startup-id pipewire-pulse -exec --no-startup-id wireplumber - -# Compositor -exec_always --no-startup-id picom -b - -# Status bar -exec_always --no-startup-id ~/.config/polybar/launch.sh - -# Monitor configuration -exec --no-startup-id autorandr --persistent --change - -# Tray services -exec --no-startup-id dunst -exec --no-startup-id /usr/libexec/xfce-polkit -exec --no-startup-id nm-applet -exec --no-startup-id blueman-applet -exec --no-startup-id udiskie -exec --no-startup-id volumeicon -exec --no-startup-id xfce4-clipman - -# Lock screen on suspend (handled by elogind) -exec --no-startup-id xss-lock -- ~/.config/i3/scripts/lockscreen - -# General behavior -focus_follows_mouse no -mouse_warping none -floating_modifier $mod -tiling_drag modifier titlebar - -# Borders -default_border pixel 2 -default_floating_border pixel 2 -new_window pixel 2 -new_float pixel 2 -hide_edge_borders none - -# Gaps (i3 >= 4.22) -gaps inner 10 -gaps outer 4 -smart_gaps on -smart_borders on - -# vim-like directions -set $left h -set $down j -set $up k -set $right l - -# Terminal -bindsym $mod+Return exec --no-startup-id /usr/bin/alacritty - -# Emergency terminal fallback -bindsym $mod+Shift+Return exec --no-startup-id st - -# Emacs client -bindsym $mod+Shift+e exec --no-startup-id emacsclient -c -n - -# Launcher -#bindsym $mod+d exec --no-startup-id "rofi -modi drun,run -show drun" -bindsym $mod+d exec --no-startup-id "rofi -show drun -theme ~/.config/rofi/config.rasi" - -# Audio panel control -bindsym $mod+Shift+v exec --no-startup-id pavucontrol - -# File manager -bindsym $mod+Shift+f exec thunar - -# Manual lock screen -bindsym $mod+Shift+x exec ~/.config/i3/scripts/lockscreen - -# Kill focused window -bindsym $mod+Shift+q kill - -# Screenshot -bindsym Print exec xfce4-screenshooter -bindsym Shift+Print exec xfce4-screenshooter -r -bindsym Alt+Print exec xfce4-screenshooter -w - -# Focus -bindsym $mod+$left focus left -bindsym $mod+$down focus down -bindsym $mod+$up focus up -bindsym $mod+$right focus right - -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# Move windows -bindsym $mod+Shift+$left move left -bindsym $mod+Shift+$down move down -bindsym $mod+Shift+$up move up -bindsym $mod+Shift+$right move right - -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# Split -bindsym $mod+b split h -bindsym $mod+v split v - -# Layouts -bindsym $mod+f fullscreen toggle -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# Floating / focus mode -bindsym $mod+Shift+space floating toggle -bindsym $mod+space focus mode_toggle -bindsym $mod+a focus parent - -# Scratchpad -bindsym $mod+Shift+minus move scratchpad -bindsym $mod+minus scratchpad show - -# Volume (PipeWire / PulseAudio compatibility) -bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status -bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status -bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status -bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle - -# Brightness -bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +10% && pkill -RTMIN+5 i3blocks -bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 10%- && pkill -RTMIN+5 i3blocks - -# Media keys -bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause -bindsym XF86AudioNext exec --no-startup-id playerctl next -bindsym XF86AudioPrev exec --no-startup-id playerctl previous - -# Workspaces -set $ws1 "1" -set $ws2 "2" -set $ws3 "3" -set $ws4 "4" -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8" -set $ws9 "9" -set $ws10 "10" - -workspace $ws1 output primary -workspace $ws2 output primary -workspace $ws3 output primary -workspace $ws4 output primary -workspace $ws5 output primary -workspace $ws6 output primary -workspace $ws7 output primary -workspace $ws8 output primary -workspace $ws9 output primary -workspace $ws10 output primary - -bindsym $mod+1 workspace number $ws1 -bindsym $mod+2 workspace number $ws2 -bindsym $mod+3 workspace number $ws3 -bindsym $mod+4 workspace number $ws4 -bindsym $mod+5 workspace number $ws5 -bindsym $mod+6 workspace number $ws6 -bindsym $mod+7 workspace number $ws7 -bindsym $mod+8 workspace number $ws8 -bindsym $mod+9 workspace number $ws9 -bindsym $mod+0 workspace number $ws10 -bindsym $mod+comma workspace prev -bindsym $mod+period workspace next - -bindsym $mod+Shift+1 move container to workspace number $ws1 -bindsym $mod+Shift+2 move container to workspace number $ws2 -bindsym $mod+Shift+3 move container to workspace number $ws3 -bindsym $mod+Shift+4 move container to workspace number $ws4 -bindsym $mod+Shift+5 move container to workspace number $ws5 -bindsym $mod+Shift+6 move container to workspace number $ws6 -bindsym $mod+Shift+7 move container to workspace number $ws7 -bindsym $mod+Shift+8 move container to workspace number $ws8 -bindsym $mod+Shift+9 move container to workspace number $ws9 -bindsym $mod+Shift+0 move container to workspace number $ws10 - -# Reload / restart / exit -bindsym $mod+Shift+c reload -bindsym $mod+Shift+r restart -bindsym $mod+Shift+BackSpace exec --no-startup-id i3-msg exit -bindsym $mod+Shift+Escape exec --no-startup-id ~/.config/i3/scripts/powermenu.sh - -# Resize mode -mode "resize" { - bindsym $left resize shrink width 10 px or 10 ppt - bindsym $down resize grow height 10 px or 10 ppt - bindsym $up resize shrink height 10 px or 10 ppt - bindsym $right resize grow width 10 px or 10 ppt - - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" -} - -bindsym $mod+r mode "resize" - -# i3bar + i3status (disabilitato: ora gestito da polybar) -# bar { -# status_command i3blocks -# position bottom -# tray_output primary -# font pango:Liberation Mono 10 -# -# colors { -# background #1f1f28 -# statusline #d0d0d0 -# separator #3a3a46 -# -# focused_workspace #4a90d9 #4a90d9 #ffffff -# active_workspace #3a3a46 #2b2b36 #d0d0d0 -# inactive_workspace #1f1f28 #1f1f28 #9a9a9a -# urgent_workspace #c7162b #c7162b #ffffff -# } -# } - -client.focused #4a90d9 #4a90d9 #ffffff #4a90d9 #4a90d9 -client.focused_inactive #3a3a46 #2b2b36 #eeeeee #3a3a46 #3a3a46 -client.unfocused #2b2b36 #1f1f28 #bcbcbc #2b2b36 #2b2b36 -client.urgent #c7162b #c7162b #ffffff #c7162b #c7162b -client.placeholder #1f1f28 #1f1f28 #bcbcbc #1f1f28 #1f1f28 -client.background #1f1f28 diff --git a/dotfiles/desktop/.config/i3/scripts/i3status-wrapper.sh b/dotfiles/desktop/.config/i3/scripts/i3status-wrapper.sh deleted file mode 100755 index 35542b0..0000000 --- a/dotfiles/desktop/.config/i3/scripts/i3status-wrapper.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env bash - -battery_json() { - local total_now=0 - local total_full=0 - local overall_status="" - local now full status bat capacity icon color - - shopt -s nullglob - - for bat in /sys/class/power_supply/BAT*; do - [[ -d "$bat" ]] || continue - - if [[ -r "$bat/energy_now" && -r "$bat/energy_full" ]]; then - now=$(<"$bat/energy_now") - full=$(<"$bat/energy_full") - elif [[ -r "$bat/charge_now" && -r "$bat/charge_full" ]]; then - now=$(<"$bat/charge_now") - full=$(<"$bat/charge_full") - else - continue - fi - - status=$(<"$bat/status") - - (( total_now += now )) - (( total_full += full )) - - case "$status" in - Charging) - overall_status="Charging" - ;; - Discharging) - [[ "$overall_status" != "Charging" ]] && overall_status="Discharging" - ;; - Full) - [[ -z "$overall_status" ]] && overall_status="Full" - ;; - *) - [[ -z "$overall_status" ]] && overall_status="$status" - ;; - esac - done - - (( total_full > 0 )) || return 1 - - capacity=$(( 100 * total_now / total_full )) - - case "$overall_status" in - Charging) icon="⚡" ;; - Discharging) icon="🔋" ;; - Full) icon="✔" ;; - *) icon="?" ;; - esac - - if (( capacity <= 15 )); then - color="#ff5555" - elif (( capacity <= 30 )); then - color="#f1fa8c" - else - color="#ffffff" - fi - - printf '{"full_text":"%s %s%%","name":"battery","color":"%s"}' \ - "$icon" "$capacity" "$color" -} - -i3status | while IFS= read -r line; do - case "$line" in - '{"version":'* | '[') - printf '%s\n' "$line" - ;; - ,*) - batt="$(battery_json)" - if [[ -n "$batt" ]]; then - line="${line#,}" - printf ',[%s,%s\n' "$batt" "${line#\[}" - else - printf '%s\n' "$line" - fi - ;; - \[*) - batt="$(battery_json)" - if [[ -n "$batt" ]]; then - printf '[%s,%s\n' "$batt" "${line#\[}" - else - printf '%s\n' "$line" - fi - ;; - *) - printf '%s\n' "$line" - ;; - esac -done diff --git a/dotfiles/desktop/.config/i3/scripts/lockscreen b/dotfiles/desktop/.config/i3/scripts/lockscreen deleted file mode 100755 index d1869b2..0000000 --- a/dotfiles/desktop/.config/i3/scripts/lockscreen +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -wallpaper="$HOME/.config/i3/wallpapers/maxresdefault.jpg" -cached="$HOME/.cache/i3lock/wallpaper.png" -dims_cache="$HOME/.cache/i3lock/dims.txt" -dims=$(xdotool getdisplaygeometry | tr ' ' 'x') - -if [ ! -f "$cached" ] || \ - [ "$(stat -c %Y "$wallpaper")" -gt "$(stat -c %Y "$cached")" ] || \ - [ "$dims" != "$(cat "$dims_cache" 2>/dev/null)" ]; then - mkdir -p "$HOME/.cache/i3lock" - convert "$wallpaper" -resize "$dims^" -extent "$dims" PNG:- > "$cached" - echo -n "$dims" > "$dims_cache" -fi - -i3lock \ ---image "$cached" \ ---clock \ ---indicator \ ---radius 100 \ ---ring-width 8 \ ---color=000000ff \ ---ring-color=2f4058ff \ ---inside-color=1f1f28ff \ ---line-color=00000000 \ ---separator-color=3a3a46ff \ ---keyhl-color=6daeeaff \ ---bshl-color=c7162bff \ ---ringver-color=4a90d9ff \ ---insidever-color=1f1f28ff \ ---ringwrong-color=c7162bff \ ---insidewrong-color=1f1f28ff \ ---time-color=d0d0d0ff \ ---date-color=9a9a9aff \ ---layout-color=d0d0d0ff \ ---verif-color=d0d0d0ff \ ---wrong-color=d0d0d0ff diff --git a/dotfiles/desktop/.config/i3/scripts/powermenu.sh b/dotfiles/desktop/.config/i3/scripts/powermenu.sh deleted file mode 100755 index 1c45f9c..0000000 --- a/dotfiles/desktop/.config/i3/scripts/powermenu.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -choice="$(printf "⏻ Shutdown\n Reboot\n Logout\n Lock\n⏾ Suspend" \ -| rofi -dmenu \ --i \ --p "Power" \ --theme ~/.config/rofi/config.rasi \ --theme-str 'window { width: 20%; location: center; anchor: center; } listview { columns: 1; spacing: 6px; }')" - -[ -z "$choice" ] && exit 0 - -case "$choice" in - *Lock) - ~/.config/i3/scripts/lockscreen - ;; - *Logout) - i3-msg exit - ;; - *Suspend) - ~/.config/i3/scripts/lockscreen - loginctl suspend - ;; - *Reboot) - loginctl reboot - ;; - *Shutdown) - loginctl poweroff - ;; -esac diff --git a/dotfiles/desktop/.config/i3/scripts/setup-gtk-theme.sh b/dotfiles/desktop/.config/i3/scripts/setup-gtk-theme.sh deleted file mode 100755 index 21116f7..0000000 --- a/dotfiles/desktop/.config/i3/scripts/setup-gtk-theme.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -THEME="Yaru-blue-dark" -ICONS="Yaru-blue-dark" -CURSOR="Yaru" - -FONT_UI="Liberation Sans 10" - -mkdir -p "$HOME/.config/gtk-3.0" -mkdir -p "$HOME/.config/gtk-4.0" - -cat > "$HOME/.gtkrc-2.0" < "$HOME/.config/gtk-3.0/settings.ini" < "$HOME/.config/gtk-4.0/settings.ini" </dev/null 2>&1; then - gsettings set org.gnome.desktop.interface gtk-theme "$THEME" >/dev/null 2>&1 || true - gsettings set org.gnome.desktop.interface icon-theme "$ICONS" >/dev/null 2>&1 || true - gsettings set org.gnome.desktop.interface cursor-theme "$CURSOR" >/dev/null 2>&1 || true - gsettings set org.gnome.desktop.interface color-scheme prefer-dark >/dev/null 2>&1 || true -fi diff --git a/dotfiles/desktop/.config/i3/wallpapers/785318-darth-vader.jpg b/dotfiles/desktop/.config/i3/wallpapers/785318-darth-vader.jpg deleted file mode 100755 index fb066d4..0000000 Binary files a/dotfiles/desktop/.config/i3/wallpapers/785318-darth-vader.jpg and /dev/null differ diff --git a/dotfiles/desktop/.config/i3/wallpapers/dont_like_wallpapers.jpg b/dotfiles/desktop/.config/i3/wallpapers/dont_like_wallpapers.jpg deleted file mode 100755 index 04ca01a..0000000 Binary files a/dotfiles/desktop/.config/i3/wallpapers/dont_like_wallpapers.jpg and /dev/null differ diff --git a/dotfiles/desktop/.config/i3/wallpapers/gargantua.png b/dotfiles/desktop/.config/i3/wallpapers/gargantua.png deleted file mode 100755 index 0d4e11e..0000000 Binary files a/dotfiles/desktop/.config/i3/wallpapers/gargantua.png and /dev/null differ diff --git a/dotfiles/desktop/.config/i3/wallpapers/gargantua2.png b/dotfiles/desktop/.config/i3/wallpapers/gargantua2.png deleted file mode 100644 index 96b6cd8..0000000 Binary files a/dotfiles/desktop/.config/i3/wallpapers/gargantua2.png and /dev/null differ diff --git a/dotfiles/desktop/.config/i3/wallpapers/maxresdefault.jpg b/dotfiles/desktop/.config/i3/wallpapers/maxresdefault.jpg deleted file mode 100755 index b0da946..0000000 Binary files a/dotfiles/desktop/.config/i3/wallpapers/maxresdefault.jpg and /dev/null differ diff --git a/dotfiles/desktop/.config/i3/wallpapers/void-minimalist.png b/dotfiles/desktop/.config/i3/wallpapers/void-minimalist.png deleted file mode 100644 index 323f15d..0000000 Binary files a/dotfiles/desktop/.config/i3/wallpapers/void-minimalist.png and /dev/null differ diff --git a/dotfiles/desktop/.config/i3/wallpapers/void-minimalist2.png b/dotfiles/desktop/.config/i3/wallpapers/void-minimalist2.png deleted file mode 100644 index 606ef96..0000000 Binary files a/dotfiles/desktop/.config/i3/wallpapers/void-minimalist2.png and /dev/null differ diff --git a/dotfiles/desktop/.config/i3/wallpapers/wallpaper-161664.jpg b/dotfiles/desktop/.config/i3/wallpapers/wallpaper-161664.jpg deleted file mode 100755 index 3296e5b..0000000 Binary files a/dotfiles/desktop/.config/i3/wallpapers/wallpaper-161664.jpg and /dev/null differ diff --git a/dotfiles/desktop/.config/i3blocks/config b/dotfiles/desktop/.config/i3blocks/config deleted file mode 100644 index c315494..0000000 --- a/dotfiles/desktop/.config/i3blocks/config +++ /dev/null @@ -1,31 +0,0 @@ -separator=true -separator_block_width=15 - -[memory] -command=~/.config/i3blocks/scripts/memory -interval=10 -color=#d0d0d0 - -[temperature] -command=~/.config/i3blocks/scripts/temperature -interval=10 - -[backlight] -command=~/.config/i3blocks/scripts/backlight -interval=once -signal=5 -color=#7dcfff - -[essid] -command=~/.config/i3blocks/scripts/wifi -interval=10 -color=#4a90d9 - -[battery] -command=~/.config/i3blocks/scripts/battery -interval=30 - -[time] -command=date '+%Y-%m-%d %H:%M' -interval=60 -color=#d0d0d0 diff --git a/dotfiles/desktop/.config/i3blocks/scripts/backlight b/dotfiles/desktop/.config/i3blocks/scripts/backlight deleted file mode 100755 index 559d3b0..0000000 --- a/dotfiles/desktop/.config/i3blocks/scripts/backlight +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -cur="$(brightnessctl g 2>/dev/null)" -max="$(brightnessctl m 2>/dev/null)" - -[ -n "$cur" ] || exit 0 -[ -n "$max" ] || exit 0 -[ "$max" -gt 0 ] || exit 0 - -pct=$((100 * cur / max)) - -echo "BL ${pct}%" -echo "BL ${pct}%" -echo "#6daeea" \ No newline at end of file diff --git a/dotfiles/desktop/.config/i3blocks/scripts/battery b/dotfiles/desktop/.config/i3blocks/scripts/battery deleted file mode 100755 index 0eeb0cb..0000000 --- a/dotfiles/desktop/.config/i3blocks/scripts/battery +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh - -total_now=0 -total_full=0 -status="" - -for bat in /sys/class/power_supply/BAT*; do - [ -d "$bat" ] || continue - - if [ -r "$bat/energy_now" ] && [ -r "$bat/energy_full" ]; then - now=$(cat "$bat/energy_now") - full=$(cat "$bat/energy_full") - elif [ -r "$bat/charge_now" ] && [ -r "$bat/charge_full" ]; then - now=$(cat "$bat/charge_now") - full=$(cat "$bat/charge_full") - else - continue - fi - - st=$(cat "$bat/status" 2>/dev/null) - - total_now=$((total_now + now)) - total_full=$((total_full + full)) - - case "$st" in - Charging) status="⚡" ;; - Discharging) [ -z "$status" ] && status="🔋" ;; - Full) [ -z "$status" ] && status="✔" ;; - esac -done - -[ "$total_full" -gt 0 ] || exit 0 - -pct=$((100 * total_now / total_full)) -[ -n "$status" ] || status="BAT" - -text="$status $pct%" - -if [ "$pct" -le 15 ]; then - color="#ff5555" -elif [ "$pct" -le 30 ]; then - color="#f1fa8c" -else - color="#9ece6a" -fi - -printf '%s\n%s\n%s\n' "$text" "$text" "$color" diff --git a/dotfiles/desktop/.config/i3blocks/scripts/keyindicator b/dotfiles/desktop/.config/i3blocks/scripts/keyindicator deleted file mode 100755 index 6aa0bac..0000000 --- a/dotfiles/desktop/.config/i3blocks/scripts/keyindicator +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -state="$(xset q 2>/dev/null)" - -caps="$(printf '%s\n' "$state" | grep 'Caps Lock:' | awk '{print $4}')" -num="$(printf '%s\n' "$state" | grep 'Num Lock:' | awk '{print $8}')" - -out="" - -[ "$caps" = "on" ] && out="${out} CAPS" -[ "$num" = "on" ] && out="${out} NUM" - -[ -n "$out" ] || exit 0 - -echo "$out" -echo "$out" -echo "#9a9a9a" \ No newline at end of file diff --git a/dotfiles/desktop/.config/i3blocks/scripts/memory b/dotfiles/desktop/.config/i3blocks/scripts/memory deleted file mode 100755 index 8c30cb5..0000000 --- a/dotfiles/desktop/.config/i3blocks/scripts/memory +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -mem=$(free | awk '/^Mem:/ {print $3/$2 * 100.0}') -mem=${mem%.*} - -if [ "$mem" -ge 90 ]; then - color="#c7162b" -elif [ "$mem" -ge 70 ]; then - color="#e95420" -else - color="#d0d0d0" -fi - -used=$(free -h | awk '/^Mem:/ {print $3}') -total=$(free -h | awk '/^Mem:/ {print $2}') - -echo "RAM $used/$total" -echo "RAM $used/$total" -echo "$color" diff --git a/dotfiles/desktop/.config/i3blocks/scripts/temperature b/dotfiles/desktop/.config/i3blocks/scripts/temperature deleted file mode 100755 index 3008f0c..0000000 --- a/dotfiles/desktop/.config/i3blocks/scripts/temperature +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -t=$(cat /sys/class/thermal/thermal_zone0/temp 2>/dev/null) -[ -n "$t" ] || exit 0 - -temp=$((t / 1000)) - -if [ "$temp" -ge 85 ]; then - color="#c7162b" -elif [ "$temp" -ge 70 ]; then - color="#e95420" -else - color="#d0d0d0" -fi - -echo "CPU ${temp}°C" -echo "CPU ${temp}°C" -echo "$color" diff --git a/dotfiles/desktop/.config/i3blocks/scripts/volume b/dotfiles/desktop/.config/i3blocks/scripts/volume deleted file mode 100755 index 4c6a58b..0000000 --- a/dotfiles/desktop/.config/i3blocks/scripts/volume +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -mute=$(pactl get-sink-mute @DEFAULT_SINK@ 2>/dev/null | awk '{print $2}') -vol=$(pactl get-sink-volume @DEFAULT_SINK@ 2>/dev/null | awk '/Volume:/ {print $5; exit}') - -[ -n "$vol" ] || exit 0 - -if [ "$mute" = "yes" ]; then - text="VOL mute" - color="#7aa2f7" -else - text="VOL $vol" - color="#c0caf5" -fi - -printf '%s\n%s\n%s\n' "$text" "$text" "$color" diff --git a/dotfiles/desktop/.config/i3blocks/scripts/wifi b/dotfiles/desktop/.config/i3blocks/scripts/wifi deleted file mode 100755 index d1cc4c1..0000000 --- a/dotfiles/desktop/.config/i3blocks/scripts/wifi +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -ssid=$(nmcli -t -f active,ssid dev wifi | awk -F: '$1=="yes"{print $2}') - -[ -n "$ssid" ] || exit 0 - -echo "WIFI $ssid" -echo "WIFI $ssid" -echo "#4a90d9" diff --git a/dotfiles/desktop/.config/picom/picom.conf b/dotfiles/desktop/.config/picom/picom.conf deleted file mode 100644 index 24251da..0000000 --- a/dotfiles/desktop/.config/picom/picom.conf +++ /dev/null @@ -1,57 +0,0 @@ -backend = "glx"; -vsync = true; -use-damage = true; -detect-rounded-corners = true; -detect-client-opacity = true; -detect-transient = true; - -corner-radius = 10; -rounded-corners-exclude = [ - "window_type = 'dock'", - "window_type = 'desktop'", - "class_g = 'i3-frame'" -]; - -shadow = true; -shadow-radius = 18; -shadow-opacity = 0.55; -shadow-offset-x = -10; -shadow-offset-y = -10; -shadow-exclude = [ - "name = 'Notification'", - "class_g = 'Conky'", - "class_g ?= 'Notify-osd'", - "class_g = 'Cairo-clock'", - "_GTK_FRAME_EXTENTS@:c", - "window_type = 'dock'", - "window_type = 'desktop'" -]; - -fading = true; -fade-in-step = 0.05; -fade-out-step = 0.05; -fade-delta = 6; - -blur-method = "dual_kawase"; -blur-strength = 5; -blur-background = true; -blur-background-frame = true; -blur-background-fixed = false; -blur-background-exclude = [ - "window_type = 'dock'", - "window_type = 'desktop'", - "class_g = 'i3-frame'", - "class_g = 'Dunst'", - "_GTK_FRAME_EXTENTS@:c" -]; - -opacity-rule = []; - -wintypes: -{ - tooltip = { fade = true; shadow = true; opacity = 0.95; focus = true; }; - dock = { shadow = false; }; - dnd = { shadow = false; }; - popup_menu = { opacity = 0.95; }; - dropdown_menu = { opacity = 0.95; }; -}; diff --git a/dotfiles/desktop/.config/polybar/config.ini b/dotfiles/desktop/.config/polybar/config.ini deleted file mode 100644 index ae07f95..0000000 --- a/dotfiles/desktop/.config/polybar/config.ini +++ /dev/null @@ -1,208 +0,0 @@ -[colors] -background = #1f1f28 -background-alt = #2b2b36 -foreground = #d0d0d0 -foreground-alt = #9a9a9a -primary = #4a90d9 -secondary = #7dcfff -warm = #e0af68 -success = #9ec07c -info = #bb9af7 -alert = #c7162b -disabled = #3a3a46 - -[bar/main] -monitor = ${env:MONITOR:} -bottom = false -width = 100% -height = 24pt -radius = 0 -background = ${colors.background} -foreground = ${colors.foreground} -line-size = 2pt -border-size = 0 -padding-left = 1 -padding-right = 1 -module-margin = 1 - -font-0 = LiterationMono Nerd Font:size=10;2 -font-1 = Symbols Nerd Font Mono:size=12;2 - -modules-left = i3 -modules-center = date -modules-right = cpu memory disk temperature backlight wifi battery - -tray-position = right -tray-padding = 2 - -cursor-click = pointer - -wm-restack = i3 -override-redirect = false - -[module/i3] -type = internal/i3 -pin-workspaces = false -show-urgent = true -strip-wsnumbers = true -enable-scroll = false -index-sort = true - -ws-icon-0 = 1;I -ws-icon-1 = 2;II -ws-icon-2 = 3;III -ws-icon-3 = 4;IV -ws-icon-4 = 5;V -ws-icon-5 = 6;VI -ws-icon-6 = 7;VII -ws-icon-7 = 8;VIII -ws-icon-8 = 9;IX -ws-icon-9 = 10;X -ws-icon-default = - -label-focused = %icon% -label-focused-foreground = #ffffff -label-focused-background = ${colors.primary} -label-focused-padding = 1 - -label-unfocused = %icon% -label-unfocused-foreground = ${colors.foreground-alt} -label-unfocused-padding = 1 - -label-visible = %icon% -label-visible-foreground = ${colors.foreground} -label-visible-background = ${colors.background-alt} -label-visible-padding = 1 - -label-urgent = %icon% -label-urgent-foreground = #ffffff -label-urgent-background = ${colors.alert} -label-urgent-padding = 1 - -[module/date] -type = internal/date -interval = 60 -date = %Y-%m-%d -time = %H:%M -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -label = %date% %time% -label-foreground = ${colors.foreground} - -[module/memory] -type = internal/memory -interval = 10 -format =