added wireguard
This commit is contained in:
@ -1 +1 @@
|
|||||||
configs/secrets.nix:28a25a9edc1fefbbba58af63907caca202a800cd671a41f737c7984313845899
|
configs/secrets.nix:259586563a3c51652650618e0cc26aaee07b482ea801e2a1641d24510446bf50
|
||||||
|
@ -76,6 +76,7 @@ in
|
|||||||
wget
|
wget
|
||||||
graphviz
|
graphviz
|
||||||
nix-tree
|
nix-tree
|
||||||
|
hdparm
|
||||||
];
|
];
|
||||||
|
|
||||||
documentation.enable = false;
|
documentation.enable = false;
|
||||||
|
Binary file not shown.
@ -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;
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -28,9 +28,7 @@
|
|||||||
mergerfs
|
mergerfs
|
||||||
samba
|
samba
|
||||||
openssl
|
openssl
|
||||||
hdparm
|
|
||||||
smartmontools
|
smartmontools
|
||||||
docker-compose
|
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd = {
|
systemd = {
|
||||||
|
@ -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";
|
||||||
|
|
||||||
|
@ -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; [
|
||||||
|
@ -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";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user