pi/server more observable

This commit is contained in:
Polen 2025-06-14 08:53:35 -04:00
parent 79b6257577
commit c8305dd3d8
4 changed files with 77 additions and 33 deletions

View file

@ -1,12 +1,16 @@
{ inputs, config, pkgs, lib, ... }:
let
{
inputs,
config,
pkgs,
lib,
...
}: let
user = "polen";
hostname = "pi";
in {
boot = {
kernelPackages = pkgs.linuxKernel.packages.linux_rpi3;
initrd.availableKernelModules = [ "xhci_pci" "usbhid" "usb_storage" ];
initrd.availableKernelModules = ["xhci_pci" "usbhid" "usb_storage"];
loader = {
grub.enable = false;
generic-extlinux-compatible.enable = true;
@ -17,51 +21,63 @@ in {
"/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
options = [ "noatime" ];
options = ["noatime"];
};
};
#sops.defaultSopsFile = ../../secrets/secrets.yaml;
#sops.defaultSopsFormat = "yaml";
#sops.age.keyFile = "/home/polen/.config/sops/age/keys.txt";
#sops.secrets.pi_user_pass.neededForUsers = true;
swapDevices = [
{
device = "/var/lib/swapfile";
size = 10 * 1024;
}
];
#sops.defaultSopsFile = ../../secrets/secrets.yaml;
#sops.defaultSopsFormat = "yaml";
#sops.age.keyFile = "/home/polen/.config/sops/age/keys.txt";
#sops.secrets.pi_user_pass.neededForUsers = true;
networking = {
networkmanager.enable = true;
wireless.enable = false;
networkmanager.enable = true;
wireless.enable = false;
hostName = hostname;
firewall.allowedTCPPorts = [ 80 443 ];
firewall.allowedTCPPorts = [80 443];
};
services.caddy = {
enable = true;
virtualHosts."mealie.polensky.me".extraConfig = ''
reverse_proxy http://localhost:9925
'';
};
services.caddy = {
enable = true;
virtualHosts."mealie.polensky.me".extraConfig = ''
reverse_proxy http://localhost:9925
'';
};
nix.settings.trusted-users = [ user ];
services.prometheus.exporters = {
node.enable = true;
node.openFirewall = true;
};
environment.systemPackages = with pkgs; [
htop-vim
neovim
tmux
curl
wget
git
ranger
];
nix.settings.trusted-users = [user];
environment.systemPackages = with pkgs; [
htop-vim
neovim
tmux
curl
wget
git
ranger
];
services.openssh.enable = true;
virtualisation.docker.enable = true;
virtualisation.docker.enable = true;
users = {
mutableUsers = false;
users."${user}" = {
isNormalUser = true;
#hashedPasswordFile = config.sops.secrets.pi_user_pass.path;
extraGroups = [ "wheel" "docker" ];
extraGroups = ["wheel" "docker"];
};
};