liminix/examples/hello-from-qemu.nix

54 lines
1.3 KiB
Nix
Raw Permalink Normal View History

2023-09-15 00:42:34 +02:00
{ config, pkgs, lib, ... } :
let
inherit (pkgs) serviceFns;
svc = config.system.service;
in rec {
imports = [
../modules/network
../modules/dnsmasq
../modules/ssh
];
2023-09-15 18:25:02 +02:00
hostname = "hello";
# configure the internal network (LAN) with an address
2023-09-15 00:42:34 +02:00
services.int = svc.network.address.build {
interface = config.hardware.networkInterfaces.lan;
family = "inet"; address ="10.3.0.1"; prefixLength = 16;
};
services.sshd = svc.ssh.build { };
users.root = {
# the password is "secret". Use mkpasswd -m sha512crypt to
# create this hashed password string
passwd = "$6$y7WZ5hM6l5nriLmo$5AJlmzQZ6WA.7uBC7S8L4o19ESR28Dg25v64/vDvvCN01Ms9QoHeGByj8lGlJ4/b.dbwR9Hq2KXurSnLigt1W1";
2023-09-15 00:42:34 +02:00
};
services.dns =
let interface = services.int;
in svc.dnsmasq.build {
inherit interface;
ranges = [
"10.3.0.10,10.3.0.240"
"::,constructor:$(output ${interface} ifname),ra-stateless"
];
domain = "example.org";
};
defaultProfile.packages = with pkgs; [
figlet
];
nixpkgs.hostPlatform = lib.mkDefault {
config = "mips-unknown-linux-musl";
gcc = {
abi = "32";
arch = "mips32"; # maybe mips_24kc-
};
};
nixpkgs.buildPlatform = lib.mkDefault "x86_64-linux";
2023-09-15 00:42:34 +02:00
}