added wireguard

This commit is contained in:
Alexander Szczepanski
2021-09-23 13:03:39 +02:00
parent cb81ba382b
commit 405c38ef26
11 changed files with 57 additions and 22 deletions

View File

@ -1 +1 @@
configs/secrets.nix:28a25a9edc1fefbbba58af63907caca202a800cd671a41f737c7984313845899 configs/secrets.nix:259586563a3c51652650618e0cc26aaee07b482ea801e2a1641d24510446bf50

View File

@ -76,6 +76,7 @@ in
wget wget
graphviz graphviz
nix-tree nix-tree
hdparm
]; ];
documentation.enable = false; documentation.enable = false;

Binary file not shown.

View File

@ -6,12 +6,22 @@ in
{ {
imports = [ <home-manager/nixos> ]; imports = [ <home-manager/nixos> ];
# systemd.user.services.barrierc = {
# Unit = {
# Description = "Barrier Server daemon";
# After = [ "graphical-session-pre.target" ];
# PartOf = [ "graphical-session.target" ];
# };
# Install.WantedBy = [ "graphical-session.target" ];
# Service.ExecStart = "${unstable.pkgs.barrier}/bin/barrierc -c ~/.barrier";
# };
home-manager.users.alex = { pkgs, ... }: { home-manager.users.alex = { pkgs, ... }: {
home = { home = {
file = { file = {
".bin/rofi-default-sink.sh" = { ".bin/rofi-default-sink.sh" = {
executable = true; executable = true;
source = ./.bin/rofi-default-sink.sh; source = ./bin/rofi-default-sink.sh;
}; };
}; };
packages = with unstable.pkgs; [ packages = with unstable.pkgs; [
@ -59,6 +69,7 @@ in
vulkan-tools vulkan-tools
wine wine
winetricks winetricks
obs-studio
]; ];
}; };
@ -218,11 +229,11 @@ in
# }; # };
# }; # };
keychain = { # keychain = {
enable = true; # enable = true;
enableXsessionIntegration = true; # enableXsessionIntegration = true;
enableZshIntegration = true; # enableZshIntegration = true;
}; # };
}; };
services = { services = {
@ -295,10 +306,6 @@ in
}; };
}; };
barrier.client = {
enable = true;
};
nextcloud-client = { nextcloud-client = {
enable = true; enable = true;
startInBackground = true; startInBackground = true;

View File

@ -33,7 +33,7 @@ in
boot.initrd.kernelModules = [ "amdgpu" ]; boot.initrd.kernelModules = [ "amdgpu" ];
boot.plymouth.enable = true; boot.plymouth.enable = true;
boot.extraModulePackages = with pkgs.linuxPackages; [ it87 ]; boot.extraModulePackages = with pkgs.linuxPackages; [ it87 ];
boot.kernelModules = [ "it87" ]; boot.kernelModules = [ "it87" "v4l2loopback" ];
networking.hostName = "desktop"; # Define your hostname. networking.hostName = "desktop"; # Define your hostname.

View File

@ -28,9 +28,7 @@
mergerfs mergerfs
samba samba
openssl openssl
hdparm
smartmontools smartmontools
docker-compose
]; ];
systemd = { systemd = {

View File

@ -15,7 +15,6 @@
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.extraModulePackages = with pkgs.linuxPackages; [ rtl88x2bu ]; boot.extraModulePackages = with pkgs.linuxPackages; [ rtl88x2bu ];
networking = { networking = {
hostName = "mini"; hostName = "mini";
useDHCP = false; useDHCP = false;
@ -26,6 +25,7 @@
}; };
networkmanager.enable = true; networkmanager.enable = true;
}; };
services.k3s.enable = true; services.k3s.enable = true;
services.k3s.role = "server"; services.k3s.role = "server";

View File

@ -157,8 +157,9 @@ in
home-manager.users.alex.services.barrier.client = { home-manager.users.alex.services.barrier.client = {
enable = true; enable = true;
enableCrypto = false;
name = "thinkpad"; name = "thinkpad";
server = "192.168.0.150:24800" server = "192.168.0.150:24800";
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@ -1,5 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let
secrets = import ./secrets.nix;
in
{ {
imports = imports =
[ # Include the results of the hardware scan. [ # Include the results of the hardware scan.
@ -18,8 +20,37 @@
# Set your time zone. # Set your time zone.
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
networking.useDHCP = false; networking = {
networking.interfaces.ens3.useDHCP = true; useDHCP = false;
interfaces.ens3.useDHCP = true;
wireguard.interfaces = {
wg0 = {
ips = [ "10.100.0.1/24" ];
listenPort = 51820;
postSetup = ''
${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o ens3 -j MASQUERADE
'';
postShutdown = ''
${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.100.0.0/24 -o ens3 -j MASQUERADE
'';
privateKey = secrets.wireguard-vps-private;
peers = [{
publicKey = secrets.wireguard-desktop-public;
presharedKey = secrets.wireguard-preshared;
allowedIPs = [ "10.100.0.2/32" ];
}];
};
nat = {
enable = true;
externalInterface = "ens3";
internalInterfaces = [ "wg0" ];
};
firewall = {
allowedTCPPorts = [ 80 443 ];
allowedUDPPorts = [ 80 443 51820 ];
};
};
# List packages installed in system profile. To search, run: # List packages installed in system profile. To search, run:
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -94,9 +125,6 @@
# Limit stack size to reduce memory usage # Limit stack size to reduce memory usage
systemd.services.fail2ban.serviceConfig.LimitSTACK = 256 * 1024; systemd.services.fail2ban.serviceConfig.LimitSTACK = 256 * 1024;
networking.firewall.allowedTCPPorts = [ 80 443 ];
networking.firewall.allowedUDPPorts = [ 80 443 ];
system.stateVersion = "21.05"; system.stateVersion = "21.05";
} }