56 lines
1.5 KiB
Nix
56 lines
1.5 KiB
Nix
|
{ config, pkgs, lib, ... } :
|
||
|
let
|
||
|
inherit (pkgs.liminix.services) bundle oneshot longrun;
|
||
|
inherit (pkgs) serviceFns;
|
||
|
# EDIT: you can pick your preferred RFC1918 address space
|
||
|
# for NATted connections, if you don't like this one.
|
||
|
ipv4LocalNet = "10.8.0";
|
||
|
svc = config.system.service;
|
||
|
|
||
|
in rec {
|
||
|
imports = [
|
||
|
../../modules/bridge
|
||
|
../../modules/dhcp6c
|
||
|
../../modules/dnsmasq
|
||
|
../../modules/firewall
|
||
|
../../modules/hostapd
|
||
|
../../modules/network
|
||
|
../../modules/ssh
|
||
|
../../modules/vlan
|
||
|
../../modules/wlan.nix
|
||
|
];
|
||
|
rootfsType = "jffs2";
|
||
|
hostname = "updown";
|
||
|
|
||
|
services.int = svc.network.address.build {
|
||
|
interface = svc.bridge.primary.build { ifname = "int"; };
|
||
|
family = "inet"; address = "${ipv4LocalNet}.1"; prefixLength = 16;
|
||
|
};
|
||
|
|
||
|
services.bridge = svc.bridge.members.build {
|
||
|
primary = services.int;
|
||
|
members = with config.hardware.networkInterfaces;
|
||
|
[ lan ];
|
||
|
};
|
||
|
|
||
|
services.sshd = svc.ssh.build { };
|
||
|
|
||
|
# users.root = {
|
||
|
# # EDIT: choose a root password and then use
|
||
|
# # "mkpasswd -m sha512crypt" to determine the hash.
|
||
|
# # It should start wirh $6$.
|
||
|
# passwd = "$6$6HG7WALLQQY1LQDE$428cnouMJ7wVmyK9.dF1uWs7t0z9ztgp3MHvN5bbeo0M4Kqg/u2ThjoSHIjCEJQlnVpDOaEKcOjXAlIClHWN21";
|
||
|
# openssh.authorizedKeys.keys = [
|
||
|
# # EDIT: you can add your ssh pubkey here
|
||
|
# # "ssh-rsa AAAAB3NzaC1....H6hKd user@example.com";
|
||
|
# ];
|
||
|
# };
|
||
|
|
||
|
defaultProfile.packages = with pkgs; [
|
||
|
min-collect-garbage
|
||
|
# strace
|
||
|
# ethtool
|
||
|
tcpdump
|
||
|
];
|
||
|
}
|