Set up DynDNS

This commit is contained in:
coolneng 2019-11-06 23:04:16 +01:00
parent 72d77e44f5
commit 140676179e
3 changed files with 52 additions and 10 deletions

View File

@ -5,9 +5,6 @@
# Enables the generation of /boot/extlinux/extlinux.conf # Enables the generation of /boot/extlinux/extlinux.conf
boot.loader.generic-extlinux-compatible.enable = true; boot.loader.generic-extlinux-compatible.enable = true;
# !!! Otherwise (even if you have a Raspberry Pi 2 or 3), pick this:
boot.kernelPackages = pkgs.linuxPackages_latest;
# A bunch of boot parameters needed for optimal runtime on RPi 3B # A bunch of boot parameters needed for optimal runtime on RPi 3B
boot.kernelParams = ["cma=32M"]; boot.kernelParams = ["cma=32M"];
boot.loader.raspberryPi = { boot.loader.raspberryPi = {
@ -21,9 +18,10 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
raspberrypi-tools raspberrypi-tools
(import ./vim.nix) (import ./modules/vim.nix)
git git
tmux tmux
htop
]; ];
# File systems configuration for using the installer's partition layout # File systems configuration for using the installer's partition layout
@ -53,7 +51,7 @@
users.users.coolneng = { users.users.coolneng = {
isNormalUser = true; isNormalUser = true;
home = "/home/coolneng"; home = "/home/coolneng";
extraGroups = [ "wheel" ]; extraGroups = [ "wheel" "lp" "scanner" ];
openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDG7JtfAqcbZV28wkNTfSWSqTOo5buH+dyT0w6SlTqq+KFh5DxREB0yGuM1UfjLpyLQ0XI7UbhCwNG28Li4yv/hwPGq63TF1kl+w4sjQKFn4bOUv1NvsfSN3oTamjfYoVsrapCiXqOvZkzEKMF47MSwOfPkqZ6ihU5V3INA0IZbl1Ri+r9MsIzvY76ZHBiF6rVqQJjdXVDbcLMViOrM56FpyK+ICo+uTkErsEbYFwevVTv9memOh778RRPesBobpZjggWOI4HXXxqk35myInYjHve9K4ox6YZMjwnwnEftONr2HyoBBcBNT+wWd1jtYxCoCWQ3vVkn4LGBDOQ3+HKb4rT3JxI66VfFyQWGJPdgJL5/ZNRlBqA7CpAtE7JaR6l7d3mCCoGW2B0atWiEXecwb8dz4CzzYm1r9Wz27L74OtPzUqcV7mQjCVDcnRsY/MtfhzyWzhB3tujVqnRtF3VrFSrm0YXS1ZWG4dltX1cfgud8s8XwwBKcFw5NdCrVxq3nRMNlGcSqbXC+RnrkK/i6ciAriZdXgFrmnBl+6qEmqIO15u2IPvDhnQs18DzRkHnPQegphhHhHix5aaqNbLfSRZNCTQaqE774X+0kuU/RWylI4muIyf4k9x+et4txeU2OC6l0W0LMpbsELzXIRr/ZBFrGHbE7/KLi8HNiAJ0KmAQ== coolneng@monolith" ]; openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDG7JtfAqcbZV28wkNTfSWSqTOo5buH+dyT0w6SlTqq+KFh5DxREB0yGuM1UfjLpyLQ0XI7UbhCwNG28Li4yv/hwPGq63TF1kl+w4sjQKFn4bOUv1NvsfSN3oTamjfYoVsrapCiXqOvZkzEKMF47MSwOfPkqZ6ihU5V3INA0IZbl1Ri+r9MsIzvY76ZHBiF6rVqQJjdXVDbcLMViOrM56FpyK+ICo+uTkErsEbYFwevVTv9memOh778RRPesBobpZjggWOI4HXXxqk35myInYjHve9K4ox6YZMjwnwnEftONr2HyoBBcBNT+wWd1jtYxCoCWQ3vVkn4LGBDOQ3+HKb4rT3JxI66VfFyQWGJPdgJL5/ZNRlBqA7CpAtE7JaR6l7d3mCCoGW2B0atWiEXecwb8dz4CzzYm1r9Wz27L74OtPzUqcV7mQjCVDcnRsY/MtfhzyWzhB3tujVqnRtF3VrFSrm0YXS1ZWG4dltX1cfgud8s8XwwBKcFw5NdCrVxq3nRMNlGcSqbXC+RnrkK/i6ciAriZdXgFrmnBl+6qEmqIO15u2IPvDhnQs18DzRkHnPQegphhHhHix5aaqNbLfSRZNCTQaqE774X+0kuU/RWylI4muIyf4k9x+et4txeU2OC6l0W0LMpbsELzXIRr/ZBFrGHbE7/KLi8HNiAJ0KmAQ== coolneng@monolith" ];
}; };
@ -67,6 +65,7 @@
# Enable zfs support # Enable zfs support
networking.hostId = "bb26c304"; networking.hostId = "bb26c304";
boot.supportedFilesystems = [ "zfs" ]; boot.supportedFilesystems = [ "zfs" ];
boot.zfs.extraPools = [ "vault" ];
# Scrub zpool monthly # Scrub zpool monthly
services.zfs.autoScrub = { services.zfs.autoScrub = {
@ -87,16 +86,19 @@
publish = { publish = {
enable = true; enable = true;
userServices = true; userServices = true;
workstation = true;
}; };
}; };
# Configure fish shell
#programs.fish.enable = true;
# Start a tmux session # Start a tmux session
#program.tmux.enable = true; #programs.tmux.enable = true;
# Import other configuration modules # Import other configuration modules
#imports = [ imports = [
#./networking.nix ./modules/printing.nix
#]; ./modules/networking.nix
];
} }

40
modules/networking.nix Normal file
View File

@ -0,0 +1,40 @@
{ config, pkgs, lib, ... }:
{
environment.systemPackages = with pkgs; [
ddclient
];
# Dynamic DNS configuration
services.ddclient = {
enable = true;
quiet = true;
use = "cmd, cmd='/run/current-system/sw/bin/curl https://checkipv4.dedyn.io/'";
server = "update.dedyn.io";
extraConfig = "
login=coolneng.dedyn.io\n
password='5320e326cf0564e10703e16ef38644da161f195a'\n
coolneng.dedyn.io\n
\n
login=rehiwi.dedyn.io\n
password='b05f777b8ca7193f5054a308c3cf396e73c2fb69'\n
rehiwi.dedyn.io\n
\n
login=nujabes.dedyn.io\n
password='IVstfQqFT8mDT9-CXsVS-nbv36rY'\n
nujabes.dedyn.io\n
\n
login=methyl.dedyn.io\n
password='vQ0S5dSWCwsO4LUSlVWqkZ2LDYD8'\n
methyl.dedyn.io\n
";
};
# Firewall configuration
networking.firewall = {
allowedTCPPorts = [ 631 6566 ];
autoLoadConntrackHelpers = true;
connectionTrackingModules = [ "sane" ];
};
}