mirror of
https://github.com/JulienMalka/snowfield.git
synced 2025-06-08 10:09:04 +02:00
Refactoring of the machines
This commit is contained in:
parent
4841bdf10f
commit
b9f3d8f46c
5 changed files with 97 additions and 11 deletions
83
machines/lambda/default.nix
Normal file
83
machines/lambda/default.nix
Normal file
|
@ -0,0 +1,83 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
|
||||
|
||||
imports = [ ../../users/status.nix ];
|
||||
# NixOS wants to enable GRUB by default
|
||||
boot.loader.grub.enable = false;
|
||||
|
||||
# if you have a Raspberry Pi 2 or 3, pick this:
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
networking.hostName = "lambda";
|
||||
# A bunch of boot parameters needed for optimal runtime on RPi 3b+
|
||||
boot.kernelParams = [ "cma=256M" ];
|
||||
boot.loader.raspberryPi.enable = true;
|
||||
boot.loader.raspberryPi.version = 3;
|
||||
boot.loader.raspberryPi.uboot.enable = true;
|
||||
boot.loader.raspberryPi.firmwareConfig = ''
|
||||
gpu_mem=256
|
||||
'';
|
||||
environment.systemPackages = with pkgs; [
|
||||
libraspberrypi
|
||||
tinystatus
|
||||
git
|
||||
];
|
||||
|
||||
# File systems configuration for using the installer's partition layout
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/NIXOS_SD";
|
||||
fsType = "ext4";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
networking.interfaces.eth0.useDHCP = false;
|
||||
networking.interfaces.eth0.ipv4.addresses = [
|
||||
{
|
||||
address = "129.199.134.202";
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
networking.defaultGateway = "129.199.134.254";
|
||||
networking.nameservers = [ "8.8.8.8" ];
|
||||
|
||||
services.timesyncd.enable = true;
|
||||
systemd.services.htpdate = {
|
||||
description = "htpdate daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
PIDFile = "/run/htpdate.pid";
|
||||
ExecStart = lib.concatStringsSep " " [
|
||||
"${pkgs.htpdate}/bin/htpdate"
|
||||
"-D -u nobody"
|
||||
"-a -s"
|
||||
"-l"
|
||||
"www.linux.org"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
documentation.nixos.enable = false;
|
||||
nix.gc.automatic = true;
|
||||
nix.gc.options = "--delete-older-than 30d";
|
||||
boot.cleanTmpDir = true;
|
||||
luj.status = {
|
||||
enable = true;
|
||||
nginx = {
|
||||
enable = true;
|
||||
subdomain = "status";
|
||||
};
|
||||
};
|
||||
# Configure basic SSH access
|
||||
services.openssh.enable = true;
|
||||
# services.openssh.permitRootLogin = "yes";
|
||||
|
||||
# Use 1GB of additional swap memory in order to not run out of memory
|
||||
# when installing lots of things while running other things at the same time.
|
||||
swapDevices = [{ device = "/swapfile"; size = 1024; }];
|
||||
|
||||
luj.hmgr.status = { };
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue