A comprehensive list of installation methods can be found here https://www.wireguard.com/install/
Generate keys on each device.
umask 077
| #One workaround is to create clone environment, and then remove original one: | |
| #(remember about deactivating current environment with deactivate on Windows and source deactivate on macOS/Linux) | |
| conda create --name new_name --clone old_name --offline #use --offline flag to disable the redownload of all your packages | |
| conda remove --name old_name --all # or its alias: `conda env remove --name old_name` | |
| #There are several drawbacks of this method: | |
| # time consumed on copying environment's files, | |
| # temporary double disk usage. | 
| #!/bin/bash | |
| PeerPublicKey="<peer-public-key>" | |
| sysctl -w net.ipv4.ip_forward=1 | |
| add-apt-repository -y ppa:wireguard/wireguard | |
| apt-get update && apt-get upgrade -y | |
| apt-get install -y wireguard-dkms wireguard-tools | |
| apt-get install -y wireguard | |
| wg genkey | tee privatekey | wg pubkey > publickey | 
A comprehensive list of installation methods can be found here https://www.wireguard.com/install/
Generate keys on each device.
umask 077
| #!/bin/bash | |
| SERVER_HOST=$(ip addr | grep 'inet' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1) | |
| SERVER_PORT=51820 | |
| PRIVATE_SUBNET="10.8.0.1/24" | |
| CLIENT_SUBNET="10.8.0.2/32" | |
| echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list | |
| printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable | |
| apt -y update | |
| apt -y install wireguard | 
| sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get autoremove -y | |
| sudo apt install software-properties-common && sudo apt install linux-headers-$(uname -r) | |
| sudo add-apt-repository ppa:wireguard/wireguard | |
| sudo apt install wireguard wireguard-dkms wireguard-tools resolvconf -y | |
| wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey | |
| ifconfig | |
| sudo nano /etc/wireguard/wg0.conf | 
1 server, 2 clients
Install Wireguard on all machines.
NB;
192.168.3.XX doesn't have to be an IP you own.This is a collection of the tweaks and modification I've made to my Arch Linux installation over the months. These may be applicable to other distros, but please check first before doing anything. I also included Arch Wiki references for all the procedures I mentioned. My recommendation is not to blindly follow this gist but to always check with the Arch Linux wiki first. Things move fast and by the time you're reading this my gist may be out of date. Lastly, the golden rule: never execute a command you don't understand.
My current DE of choice is KDE's Plasma. I find it just about perfect.
There are various ways to install it on Arch. The most popular one is to install plasma and plasma-applications, but I don't like doing that because it comes with too many programs I'll never use. I, instead, install the base plasma group, remove the few extra packages that come with it, then I finish off by installing a few KDE apps that don't come with th
This guide provides instructions for an Arch Linux installation featuring full-disk encryption via LVM on LUKS and an encrypted boot partition (GRUB) for UEFI systems.
Following the main installation are further instructions to harden against Evil Maid attacks via UEFI Secure Boot custom key enrollment and self-signed kernel and bootloader.
You will find most of this information pulled from the Arch Wiki and other resources linked thereof.
Note: The system was installed on an NVMe SSD, substitute /dev/nvme0nX with /dev/sdX or your device as needed.