# NextDNS Linux Trayicon This small Python script and .desktop file add a quick toggle to the desktop environment's system tray. ## Prerequisites 1. **NextDNS CLI**: The script controls the nextdns service. If you haven't installed it yet: ```bash sh -c 'curl -sL https://nextdns.io/install | sh' ``` 1. **Python 3 & PyQt6**: The interface is built using Python 3 and the Qt6 toolkit. (This is installed by default on (K)ubuntu.) ```bash sudo apt update sudo apt install python3 python3-pyqt6 ``` 1. **Polkit Agent**: The script uses pkexec to handle start/stop commands safely. Most desktop environments (KDE, GNOME, XFCE) come with this pre-installed. ## Installation 1. **Copy the files to your home directory:** ```bash # Create directories if they don't exist mkdir -p ~/.local/bin ~/.local/share/applications ~/.local/share/icons # Copy the specific files cp home/.local/bin/nextdns-tray ~/.local/bin/ cp home/.local/share/applications/nextdns-tray.desktop ~/.local/share/applications/ cp home/.local/share/icons/nextdns.png ~/.local/share/icons/ ``` 1. **Make the script executable** ```bash chmod +x ~/.local/bin/nextdns-tray ``` 1. **(Optional) Add to Autostart**: If you want the tray to start automatically when you log in: ```bash mkdir -p ~/.config/autostart cp ~/.local/share/applications/nextdns-tray.desktop ~/.config/autostart/ ``` ### Installation (one-liner) ```bash sh -c 'curl -sL https://nextdns.io/install | sh' sudo apt update sudo apt install python3 python3-pyqt6 ``` ```bash mkdir -p ~/.local/bin ~/.local/share/applications ~/.local/share/icons cp home/.local/bin/nextdns-tray ~/.local/bin/ cp home/.local/share/applications/nextdns-tray.desktop ~/.local/share/applications/ cp home/.local/share/icons/nextdns.png ~/.local/share/icons/ chmod +x ~/.local/bin/nextdns-tray mkdir -p ~/.config/autostart cp ~/.local/share/applications/nextdns-tray.desktop ~/.config/autostart/ ```