xin/hosts/pwntie/default.nix
Aaron Bieber 68b68e8fd4
modules/rtlamr2mqtt: init
- run on pwntie
- remove unused stuff from box
-
2023-08-17 15:43:16 -06:00

125 lines
2.9 KiB
Nix

{
pkgs,
config,
...
}: let
#myEmacs = pkgs.callPackage ../../configs/emacs.nix { };
pubKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7v+/xS8832iMqJHCWsxUZ8zYoMWoZhjj++e26g1fLT europa"
];
in {
_module.args.isUnstable = false;
imports = [
./hardware-configuration.nix
../../modules/rtlamr2mqtt.nix
];
hardware.rtl-sdr.enable = true;
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.binfmt.emulatedSystems = ["aarch64-linux" "riscv64-linux"];
nixpkgs.config.allowUnsupportedSystem = true;
networking = {
hostName = "pwntie";
networkmanager.enable = true;
firewall = {
enable = true;
allowedTCPPorts = [22];
checkReversePath = "loose";
};
};
virtualisation.libvirtd.enable = true;
environment.sessionVariables = {
XDG_BIN_HOME = "\${HOME}/.local/bin";
XDG_CACHE_HOME = "\${HOME}/.cache";
XDG_CONFIG_HOME = "\${HOME}/.config";
XDG_DATA_HOME = "\${HOME}/.local/share";
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d";
PATH = ["\${XDG_BIN_HOME}"];
};
users.users.qbit.extraGroups = ["dialout" "libvirtd" "docker" "plugdev"];
#nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
rtl-sdr
direwolf
(callPackage ../../pkgs/rtlamr.nix {})
];
#programs = {
# steam.enable = true;
# _1password.enable = true;
# _1password-gui = {
# enable = true;
# polkitPolicyOwners = [ "qbit" ];
# };
# dconf.enable = true;
#};
xinCI = {
user = "qbit";
enable = true;
};
services = {
rtlamr2mqtt = {
enable = true;
configuration = {
general = {
device_ids_path = "${config.services.rtlamr2mqtt.package}/sdl_ids.txt";
sleep_for = 0;
verbosity = "debug";
tickle_rtl_tcp = false;
device_id = "0bda:2838";
};
mqtt = {
host = "10.6.0.15";
port = 1883;
tls_enabled = false;
ha_autodiscovery = true;
base_topec = "rtlamr";
};
custom_parameters = {
rtltcp = "-s 2048000";
rtlamr = "-unique=true -symbollength=32";
};
meters = [
{
id = 48582066;
protocol = "scm";
name = "gas_meter";
unit_of_measurement = "ft³";
icon = "mdi:gas-burner";
device_class = "gas";
state_class = "total_increasing";
}
];
};
};
#emacs = {
# enable = true;
# package = myEmacs;
# install = true;
#};
fwupd = {
enable = true;
enableTestRemote = true;
};
};
users.users.root = {openssh.authorizedKeys.keys = pubKeys;};
users.users.qbit = {openssh.authorizedKeys.keys = pubKeys;};
system.stateVersion = "22.11";
}