Compare commits
7 Commits
b7272fa1d2
...
e3ccb127e4
Author | SHA1 | Date | |
---|---|---|---|
|
e3ccb127e4 | ||
|
3f220fd069 | ||
|
363e1efe85 | ||
|
902a25fb0c | ||
|
4135c9a67e | ||
|
4ab8f76e9b | ||
|
8a464250e7 |
18
common.nix
18
common.nix
@ -12,11 +12,13 @@
|
||||
|
||||
nix = {
|
||||
autoOptimiseStore = true;
|
||||
|
||||
nixPath = [
|
||||
"nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
|
||||
"nixos-config=/etc/nixos/hosts/${variables.hostname}/default.nix"
|
||||
"/nix/var/nix/profiles/per-user/root/channels"
|
||||
];
|
||||
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
@ -29,4 +31,20 @@
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
file
|
||||
pciutils
|
||||
bind
|
||||
wget
|
||||
git
|
||||
curl
|
||||
htop
|
||||
glances
|
||||
tcpdump
|
||||
restic
|
||||
binutils
|
||||
neovim
|
||||
home-manager
|
||||
];
|
||||
}
|
||||
|
@ -99,11 +99,5 @@ in {
|
||||
fsType = "tmpfs";
|
||||
options = ["size=2G"];
|
||||
};
|
||||
|
||||
fileSystems."/home/giulio/Downloads" = {
|
||||
device = "tmpfs";
|
||||
fsType = "tmpfs";
|
||||
options = ["size=3G"];
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
{ config, pkgs, variables, ... }:
|
||||
|
||||
with import ./network.nix;
|
||||
let
|
||||
lan_address = "10.0.0.8";
|
||||
pubkeys = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1we38/N+t8Ah5yrLof8QUwhrob7/VXFKIddaJeOVBLuDVnW7ljiAtdtEiL69D/DV4Ohmt5wMvkAAjfuHmim6FD9A6lzPbSU4KH9W2dcckszKbbI636kuDwem/xui6BW3wJa6P+0xW5ksygEAkzcK2PXuC2b4B9uwhuUdKahiGMKDxISG/WianqAe72cGMfNkYvion3Y1VsMLUdm48d2ABnxNpr7NI9B5iJ8dziOft9gpgfz13CCQRlReo75gk/4xI+vSNrQp7eR+wzJy2/dZg/T8jtyA9Q6jVxrxBpqQ1LNXkAKaJkGo9OabF6Wgpzp+YTAurL4nwR2NaJxwFuyoKvACQy0ai4jrS3206gC6JXZv8ktZMZrwUN+jPqCwfgh5qObFkAqKCxbp52ioDek2MQLdOvzQBX//DBhGEp5rzHGLZ3vhRIiiQiaof5sF5zWiYDW5mqezSPNxJPX/BrTP/Wbs/jpwTLBh3wytiia0S1WXQmya89bqzTPFiDWvTRA62EVKB/JaQtPQQOFAxWwg799DMycPeZ81xttZOyMtI/MZSddyqx2S8fWGwvToZQvuZ38mSIpFseLM1IkgabRIrAmat5SBNGGy9Dqa0eMEa7bwIY/4CMB1y6HMTnaoMXA6cnQfHMoB/zyTZ6oTXIeqeOyiZsK+RN0Mvahj8mXi7dw== giulio@giulio-X230"];
|
||||
hostname = "giupi";
|
||||
in {
|
||||
@ -15,6 +15,7 @@ in {
|
||||
../../variables.nix
|
||||
../../common.nix
|
||||
../../users.nix
|
||||
./firewall.nix
|
||||
];
|
||||
|
||||
variables.hostname = hostname;
|
||||
@ -23,7 +24,7 @@ in {
|
||||
users.users.giulio.openssh.authorizedKeys.keys = pubkeys;
|
||||
|
||||
boot = {
|
||||
kernelParams = ["ip=${lan_address}::10.0.0.1:255.255.255.0::enp5s0:off"];
|
||||
kernelParams = ["ip=${giupi_lan_ip}::10.0.0.1:255.255.255.0::${wan_if}:off"];
|
||||
|
||||
initrd = {
|
||||
availableKernelModules = ["igc" "r8169"];
|
||||
@ -31,8 +32,8 @@ in {
|
||||
enable = true;
|
||||
ssh = {
|
||||
enable = true;
|
||||
port = 2222;
|
||||
hostKeys = [/boot/host_ecdsa_key];
|
||||
port = 22;
|
||||
hostKeys = [/boot/ssh_host_rsa_key];
|
||||
authorizedKeys = pubkeys;
|
||||
};
|
||||
|
||||
@ -58,7 +59,7 @@ in {
|
||||
useDHCP = false;
|
||||
defaultGateway = "10.0.0.1";
|
||||
interfaces = {
|
||||
enp5s0.ipv4.addresses = [{ address = lan_address; prefixLength = 24; }];
|
||||
enp5s0.ipv4.addresses = [{ address = giupi_lan_ip; prefixLength = 24; }];
|
||||
enp6s0.useDHCP = false;
|
||||
wlp4s0.useDHCP = false;
|
||||
};
|
||||
@ -66,31 +67,31 @@ in {
|
||||
# 127.0.0.1 ${hostname}.devs.giugl.io jf.giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io giupyter.giugl.io irc.giugl.io localhost
|
||||
#
|
||||
## LAN
|
||||
#${lan_address} ${hostname}.devs.giugl.io giugl.io jf.giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io todo.giugl.io giupyter.giugl.io collabora.giugl.io htjak.giugl.io irc.giugl.io
|
||||
#${giupi_lan_ip} ${hostname}.devs.giugl.io giugl.io jf.giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io todo.giugl.io giupyter.giugl.io collabora.giugl.io htjak.giugl.io irc.giugl.io
|
||||
#
|
||||
# 10.0.0.1 router.devs.giugl.io
|
||||
# 10.0.0.2 dvr.devs.giugl.io
|
||||
# 10.0.0.3 nas.devs.giugl.io
|
||||
# ${dvr_ip} dvr.devs.giugl.io
|
||||
# ${nas_ip} nas.devs.giugl.io
|
||||
#
|
||||
## Wireguard hosts
|
||||
# 10.3.0.1 ${hostname}.devs.giugl.io jf.giugl.io giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io todo.giugl.io giupyter.giugl.io collabora.giugl.io htjak.giugl.io irc.giugl.io
|
||||
# 10.3.0.2 galuminum.devs.giugl.io
|
||||
# 10.3.0.3 oneplus.devs.giugl.io
|
||||
# 10.3.0.4 ipad.devs.giugl.io
|
||||
# 10.3.0.5 manduria.devs.giugl.io
|
||||
# 10.3.0.6 antonio.devs.giugl.io
|
||||
# 10.3.0.7 gbeast.devs.giugl.io
|
||||
# 10.3.0.8 parisa-phone.devs.giugl.io
|
||||
# 10.3.0.9 parisa-pc.devs.giugl.io
|
||||
# 10.3.0.10 peppiniell.devs.giugl.io
|
||||
# 10.3.0.11 padulino.devs.giugl.io
|
||||
# 10.3.0.12 shield.devs.giugl.io
|
||||
# 10.3.0.13 angelino.devs.giugl.io
|
||||
# 10.3.0.14 peposone.devs.giugl.io
|
||||
# 10.3.0.15 pepostwo.devs.giugl.io
|
||||
# 10.3.0.100 eleonora.devs.giugl.io
|
||||
# 10.3.0.200 broccolino.devs.giugl.io
|
||||
# 10.3.0.201 hotpottino.devs.giugl.io
|
||||
# ${giupi_wg_ip} ${hostname}.devs.giugl.io jf.giugl.io giugl.io yt.giugl.io s3.giugl.io synclounge.giugl.io htson.giugl.io htrad.giugl.io htnzb.giugl.io httra.giugl.io todo.giugl.io giupyter.giugl.io collabora.giugl.io htjak.giugl.io irc.giugl.io
|
||||
# ${galuminum-wg} galuminum.devs.giugl.io
|
||||
# ${oneplus-wg} oneplus.devs.giugl.io
|
||||
# ${ipad-wg} ipad.devs.giugl.io
|
||||
# ${manduria-wg} manduria.devs.giugl.io
|
||||
# ${antonio-wg} antonio.devs.giugl.io
|
||||
# ${gbeast-wg} gbeast.devs.giugl.io
|
||||
# ${parisaphone-wg} parisa-phone.devs.giugl.io
|
||||
# ${parisapc-wg} parisa-pc.devs.giugl.io
|
||||
# ${peppiniell-wg} peppiniell.devs.giugl.io
|
||||
# ${padulino-wg} padulino.devs.giugl.io
|
||||
# ${shield-wg} shield.devs.giugl.io
|
||||
# ${angelino-wg} angelino.devs.giugl.io
|
||||
# ${pepos_one-wg} peposone.devs.giugl.io
|
||||
# ${pepos_two-wg} pepostwo.devs.giugl.io
|
||||
# ${eleonora-wg} eleonora.devs.giugl.io
|
||||
# ${broccolino-wg} broccolino.devs.giugl.io
|
||||
# ${hotpottino-wg} hotpottino.devs.giugl.io
|
||||
#
|
||||
## Blacklist
|
||||
# 0.0.0.0 metrics.plex.tv
|
||||
@ -119,16 +120,9 @@ in {
|
||||
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
neovim
|
||||
docker
|
||||
htop
|
||||
glances
|
||||
git
|
||||
home-manager
|
||||
openiscsi
|
||||
wireguard
|
||||
dnscrypt-proxy2
|
||||
restic
|
||||
];
|
||||
|
||||
hardware = {
|
||||
|
16
hosts/giupi/firewall.nix
Normal file
16
hosts/giupi/firewall.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{config, ...} :
|
||||
|
||||
{
|
||||
networking = {
|
||||
# needed to use nftables
|
||||
firewall.enable = false;
|
||||
nat.enable = false;
|
||||
|
||||
nftables = {
|
||||
enable = true;
|
||||
ruleset = ''
|
||||
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
40
hosts/giupi/network.nix
Normal file
40
hosts/giupi/network.nix
Normal file
@ -0,0 +1,40 @@
|
||||
rec {
|
||||
# interfaces
|
||||
wan_if = "enp5s0";
|
||||
wg_if = "wg0";
|
||||
|
||||
# nets
|
||||
lan_net = "10.0.0.0/24";
|
||||
wg_net = "10.3.0.0/24";
|
||||
external_lan_net = "192.168.1.0/24";
|
||||
|
||||
# ips
|
||||
giupi_lan_ip = "10.0.0.8";
|
||||
dvr_ip = "10.0.0.2";
|
||||
nas_ip = "10.0.0.3";
|
||||
|
||||
giupi_wg_ip = "10.3.0.1";
|
||||
galuminum-wg = "10.3.0.2";
|
||||
oneplus-wg = "10.3.0.3";
|
||||
ipad-wg = "10.3.0.4";
|
||||
manduria-wg = "10.3.0.5";
|
||||
antonio-wg = "10.3.0.6";
|
||||
gbeast-wg = "10.3.0.7";
|
||||
parisaphone-wg = "10.3.0.8";
|
||||
parisapc-wg = "10.3.0.9";
|
||||
peppiniell-wg = "10.3.0.10";
|
||||
padulino-wg = "10.3.0.11";
|
||||
shield-wg = "10.3.0.12";
|
||||
angelino-wg = "10.3.0.13";
|
||||
pepos_one-wg = "10.3.0.14";
|
||||
pepos_two-wg = "10.3.0.15";
|
||||
eleonora-wg = "10.3.0.100";
|
||||
broccolino-wg = "10.3.0.200";
|
||||
hotpottino-wg = "10.3.0.201";
|
||||
|
||||
# groups
|
||||
gdevices-wg = [ galuminum-wg oneplus-wg ipad-wg gbeast-wg peppiniell-wg padulino-wg angelino-wg ];
|
||||
routers-wg = [ hotpottino-wg broccolino-wg ];
|
||||
c2c-wg = [ ] ++ gdevices-wg;
|
||||
towan-wg = [ shield-wg parisaphone-wg parisapc-wg ] ++ gdevices-wg ++ routers-wg;
|
||||
}
|
Loading…
Reference in New Issue
Block a user