2024-11-24 09:10:44 +00:00
|
|
|
{ config, lib, pkgs, forEachUser, ... }:
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
imports = [
|
|
|
|
|
../configuration.nix
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
myModules.fonts.enable = true;
|
|
|
|
|
myModules.base.enable = true;
|
|
|
|
|
myModules.desktop.enable = true;
|
2025-01-17 08:21:53 +00:00
|
|
|
myModules.xmonad.enable = true;
|
|
|
|
|
|
2025-01-29 00:51:36 -07:00
|
|
|
networking.enableIPv6 = true;
|
|
|
|
|
|
|
|
|
|
boot.kernel.sysctl = {
|
|
|
|
|
# For all interfaces (e.g. if you want to accept RA on all):
|
|
|
|
|
"net.ipv6.conf.all.accept_ra" = lib.mkForce "1";
|
|
|
|
|
"net.ipv6.conf.all.accept_ra_rt_info_max_plen" = lib.mkForce "64";
|
|
|
|
|
"net.ipv6.conf.default.accept_ra" = lib.mkForce "1";
|
|
|
|
|
"net.ipv6.conf.default.accept_ra_rt_info_max_plen" = lib.mkForce "64";
|
|
|
|
|
"net.ipv6.conf.wlo1.accept_ra" = lib.mkForce "1";
|
|
|
|
|
"net.ipv6.conf.wlo1.accept_ra_rt_info_max_plen" = lib.mkForce "64";
|
|
|
|
|
|
|
|
|
|
# Ensure forwarding is off on all interfaces unless needed
|
|
|
|
|
"net.ipv6.conf.all.forwarding" = lib.mkForce "0";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
systemd.services.otbr-agent = {
|
|
|
|
|
wants = [ "network-online.target" ];
|
|
|
|
|
after = [ "network-online.target" ];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
services.openthread-border-router = {
|
|
|
|
|
enable = true;
|
|
|
|
|
backboneInterface = "wpan0";
|
|
|
|
|
logLevel = "debug";
|
|
|
|
|
radio = {
|
|
|
|
|
device = "/dev/serial/by-id/usb-Nabu_Casa_Home_Assistant_Connect_ZBT-1_0cd053abfa38ef119c66e1d154516304-if00-port0";
|
|
|
|
|
baudRate = 460800;
|
|
|
|
|
flowControl = true;
|
|
|
|
|
};
|
|
|
|
|
web = {
|
|
|
|
|
listenPort = 8087;
|
|
|
|
|
};
|
|
|
|
|
rest = {
|
|
|
|
|
listenPort = 8089;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2025-01-17 01:20:56 -07:00
|
|
|
services.matter-server = {
|
|
|
|
|
enable = true;
|
2025-01-29 00:51:36 -07:00
|
|
|
logLevel = "debug";
|
|
|
|
|
extraArgs = ["--bluetooth-adapter=0"];
|
2025-01-17 01:20:56 -07:00
|
|
|
};
|
2025-01-17 08:21:53 +00:00
|
|
|
|
2024-11-24 14:14:18 -07:00
|
|
|
services.home-assistant = {
|
|
|
|
|
enable = true;
|
2025-01-17 01:59:55 -07:00
|
|
|
extraComponents = [
|
2025-01-19 17:35:50 +00:00
|
|
|
"anthropic"
|
|
|
|
|
"cast"
|
|
|
|
|
"dlna_dmr"
|
2025-01-17 01:59:55 -07:00
|
|
|
"esphome"
|
2025-01-19 17:35:50 +00:00
|
|
|
"google_assistant"
|
|
|
|
|
"homeassistant_hardware"
|
|
|
|
|
"homeassistant_sky_connect"
|
2025-01-29 00:51:36 -07:00
|
|
|
"homekit_controller"
|
|
|
|
|
"ibeacon"
|
2025-01-19 17:35:50 +00:00
|
|
|
"isal"
|
|
|
|
|
"kef"
|
2025-01-29 00:51:36 -07:00
|
|
|
"kegtron"
|
2025-01-19 17:35:50 +00:00
|
|
|
"matter"
|
2025-01-17 01:59:55 -07:00
|
|
|
"met"
|
2025-01-19 17:35:50 +00:00
|
|
|
"opensky"
|
|
|
|
|
"otbr"
|
2025-01-17 01:59:55 -07:00
|
|
|
"radio_browser"
|
2025-01-19 17:35:50 +00:00
|
|
|
"roomba"
|
|
|
|
|
"samsungtv"
|
|
|
|
|
"thread"
|
|
|
|
|
"webostv"
|
|
|
|
|
"yale"
|
|
|
|
|
];
|
|
|
|
|
extraPackages = python3Packages: with python3Packages; [
|
|
|
|
|
numpy
|
|
|
|
|
python-matter-server
|
|
|
|
|
universal-silabs-flasher
|
2025-01-17 01:59:55 -07:00
|
|
|
];
|
2024-11-24 14:14:18 -07:00
|
|
|
config = {
|
2025-01-19 17:35:50 +00:00
|
|
|
default_config = {};
|
2024-11-24 14:14:18 -07:00
|
|
|
};
|
|
|
|
|
};
|
2024-11-24 14:02:35 -07:00
|
|
|
|
2025-01-17 08:21:53 +00:00
|
|
|
boot.loader.systemd-boot.configurationLimit = 3;
|
|
|
|
|
|
2025-01-29 00:51:36 -07:00
|
|
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
|
|
2024-11-24 09:10:44 +00:00
|
|
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
|
|
|
|
boot.initrd.kernelModules = [ ];
|
|
|
|
|
boot.kernelModules = [ "kvm-intel" ];
|
|
|
|
|
boot.extraModulePackages = [ ];
|
|
|
|
|
boot.loader.systemd-boot.enable = true;
|
|
|
|
|
|
2024-12-17 00:16:29 -07:00
|
|
|
# Add Intel Wi-Fi firmware
|
2024-12-17 00:20:13 -07:00
|
|
|
hardware.enableRedistributableFirmware = true;
|
2024-12-17 00:16:29 -07:00
|
|
|
hardware.enableAllFirmware = true;
|
|
|
|
|
|
2024-11-24 09:10:44 +00:00
|
|
|
fileSystems."/" =
|
|
|
|
|
{ device = "/dev/disk/by-uuid/453d28a1-26f2-4b25-ac72-c6d301fd0bb8";
|
|
|
|
|
fsType = "ext4";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
fileSystems."/boot" =
|
|
|
|
|
{ device = "/dev/disk/by-uuid/184E-E5E8";
|
|
|
|
|
fsType = "vfat";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
swapDevices = [ ];
|
|
|
|
|
|
|
|
|
|
networking.hostName = "justin-bieber-creek";
|
|
|
|
|
|
2025-01-29 00:51:36 -07:00
|
|
|
networking.useDHCP = false;
|
2024-11-24 09:10:44 +00:00
|
|
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
|
|
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
|
|
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
|
|
|
|
|
|
|
|
system.stateVersion = "23.05";
|
|
|
|
|
|
|
|
|
|
home-manager.users = forEachUser {
|
|
|
|
|
home.stateVersion = "23.05";
|
|
|
|
|
};
|
2024-11-24 14:02:35 -07:00
|
|
|
}
|