diff --git a/local.yml b/local.yml index 5709d7c..79b4bfa 100644 --- a/local.yml +++ b/local.yml @@ -91,9 +91,16 @@ - alsa-utils - neofetch - ufw # Firewall - - networkmanager-dmenu state: present + - name: "KEYBINDING SCRIPT :: Opret .local/bin mappe til brugerdefinerede scripts" + become: true + become_user: "{{ username }}" + ansible.builtin.file: + path: "/home/{{ username }}/.local/bin" + state: directory + mode: '0755' + - name: "BRUGER :: Opret konfigurationsmapper" become: true become_user: "{{ username }}" @@ -122,14 +129,19 @@ - { src: 'waybar-style.css.j2', dest: 'waybar/style.css' } - { src: 'wofi-config.j2', dest: 'wofi/config' } - { src: 'wofi-style.css.j2', dest: 'wofi/style.css' } + - { src: 'templates/wofi-config-network.j2', dest: 'wofi/config-network'} - - name: "DOTFILES :: Kopier Wofi netværks-konfiguration" + - name: "SCRIPTS :: Kopier og gør brugerdefinerede scripts eksekverbare" become: true become_user: "{{ username }}" ansible.builtin.template: - src: "templates/wofi-config-network.j2" - dest: "/home/{{ username }}/.config/wofi/config-network" - mode: '0644' + src: "templates/{{ item.src }}" + dest: "/home/{{ username }}/.local/bin/{{ item.dest }}" + mode: '0755' # Bemærk: '755' gør dem eksekverbare + loop: + - { src: 'hypr-keys.sh.j2', dest: 'hypr-keys.sh' } + - { src: 'launch-wofi.sh.j2', dest: 'launch_wofi.sh' } + - { src: 'launch-wifi-menu.sh.j2', dest: 'launch-wifi-menu.sh' } - name: "TEMA :: Installer Atlantis skrifttype" ansible.builtin.copy: @@ -170,30 +182,6 @@ dest: "/home/{{ username }}/.config/hypr/hyprpaper.conf" mode: '0644' - - name: "KEYBINDING SCRIPT :: Opret .local/bin mappe til brugerdefinerede scripts" - become: true - become_user: "{{ username }}" - ansible.builtin.file: - path: "/home/{{ username }}/.local/bin" - state: directory - mode: '0755' - - - name: "KEYBINDING SCRIPT :: Opret keybinding cheat sheet script fra template" - become: true - become_user: "{{ username }}" - ansible.builtin.template: - src: "templates/hypr-keys.sh.j2" - dest: "/home/{{ username }}/.local/bin/hypr-keys.sh" - mode: '0755' - - - name: "LAUNCHER SCRIPT :: Opret wofi launcher script" - become: true - become_user: "{{ username }}" - ansible.builtin.template: - src: "templates/launch-wofi.sh.j2" - dest: "/home/{{ username }}/.local/bin/launch_wofi.sh" - mode: '0755' - - name: "FIREWALL :: Konfigurer UFW's standardpolitikker" tags: firewall block: diff --git a/templates/launch-wifi-menu.sh.j2 b/templates/launch-wifi-menu.sh.j2 new file mode 100644 index 0000000..6b9b8df --- /dev/null +++ b/templates/launch-wifi-menu.sh.j2 @@ -0,0 +1,15 @@ +#!/bin/bash + +# Dette script viser en liste af Wi-Fi netværk i en korrekt positioneret Wofi-menu +# og forsøger at forbinde til det valgte netværk. + +# 1. Viser en liste af tilgængelige Wi-Fi SSID'er med nmcli +# 2. Sender listen til wofi, som bruger vores specielle 'config-network' fil +SSID=$(nmcli -t -f SSID device wifi list --rescan yes | wofi --show dmenu --conf "$HOME/.config/wofi/config-network" -p "Vælg Wi-Fi Netværk") + +# 3. Hvis et netværk blev valgt (brugeren trykkede ikke Esc), så prøv at forbinde +if [ -n "$SSID" ]; then + # NetworkManager vil selv håndtere at spørge efter adgangskode via en grafisk prompt, + # hvis det er en ny forbindelse. + nmcli device wifi connect "$SSID" +fi diff --git a/templates/waybar-config.j2 b/templates/waybar-config.j2 index 41659d6..7f02564 100644 --- a/templates/waybar-config.j2 +++ b/templates/waybar-config.j2 @@ -63,7 +63,7 @@ "format-ethernet": "{ifname} ", "format-disconnected": "󰌙", "tooltip-format-wifi": "Signal: {signalStrength}% @ {frequency}MHz", - "on-click": "networkmanager_dmenu | wofi --show dmenu --conf /home/{{ username }}/.config/wofi/config-network" + "on-click": "/home/{{ username }}/.local/bin/launch-wifi-menu.sh" }, "battery": {