diff --git a/configuration.nix b/configuration.nix index 8f13505..79fb9e2 100644 --- a/configuration.nix +++ b/configuration.nix @@ -5,9 +5,6 @@ # Enables the generation of /boot/extlinux/extlinux.conf 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 boot.kernelParams = ["cma=32M"]; boot.loader.raspberryPi = { @@ -21,9 +18,10 @@ environment.systemPackages = with pkgs; [ raspberrypi-tools - (import ./vim.nix) + (import ./modules/vim.nix) git tmux + htop ]; # File systems configuration for using the installer's partition layout @@ -53,7 +51,7 @@ users.users.coolneng = { isNormalUser = true; 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" ]; }; @@ -67,6 +65,7 @@ # Enable zfs support networking.hostId = "bb26c304"; boot.supportedFilesystems = [ "zfs" ]; + boot.zfs.extraPools = [ "vault" ]; # Scrub zpool monthly services.zfs.autoScrub = { @@ -87,16 +86,19 @@ publish = { enable = true; userServices = true; - workstation = true; }; }; + # Configure fish shell + #programs.fish.enable = true; + # Start a tmux session - #program.tmux.enable = true; + #programs.tmux.enable = true; # Import other configuration modules - #imports = [ - #./networking.nix - #]; + imports = [ + ./modules/printing.nix + ./modules/networking.nix + ]; } diff --git a/modules/networking.nix b/modules/networking.nix new file mode 100644 index 0000000..651302d --- /dev/null +++ b/modules/networking.nix @@ -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" ]; + }; +} + diff --git a/vim.nix b/modules/vim.nix similarity index 100% rename from vim.nix rename to modules/vim.nix