{ pkgs, inputs, ... }: { imports = [ ./hardware-configuration.nix inputs.disko.nixosModules.default (import ./disko.nix { device1 = "/dev/mmcblk0"; }) inputs.home-manager.nixosModules.default inputs.sops-nix.nixosModules.sops ]; config = { users.users.nathan.initialPassword = "7567"; sysconfig = { remoteBuildClient = true; users = { nathan = { #hashedPasswordFile = config.sops.secrets."nathan/pass".path; shell = pkgs.zsh; extraGroups = [ "wheel" "networkmanager" "gpio" "spi" "audio" "pulse" "pulse-access" ]; home-manager = { enable = true; standalone = false; extraModules = [ { homeconfig = { scripts.enable = false; minimal = true; mpd.enable = true; git.enable = true; nh.enable = true; }; } ]; }; }; }; services = { openssh.enable = true; #pipewire.enable = true; netbird.enable = true; }; }; boot = { loader = { grub.enable = false; generic-extlinux-compatible.enable = true; }; }; networking = { hostName = "pi4"; nameservers = [ "1.1.1.1" "1.0.0.1" ]; networkmanager.enable = true; }; time.timeZone = "America/Chicago"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8"; LC_MEASUREMENT = "en_US.UTF-8"; LC_MONETARY = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8"; LC_NUMERIC = "en_US.UTF-8"; LC_PAPER = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; hardware = { bluetooth.enable = true; }; programs.zsh.enable = true; environment.shells = with pkgs; [ zsh ]; users = { groups.gpio = {}; }; services = { udev.extraRules = '' ''; pulseaudio = { enable = true; extraConfig = '' ''; }; services.avahi = { enable = true; ipv4 = true; ipv6 = true; openFirewall = true; nssmdns4 = true; wideArea = true; }; }; nix = { nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; settings = { experimental-features = [ "nix-command" "flakes" ]; }; }; sops = { age.keyFile = "/home/nathan/.config/sops/age/keys.txt"; defaultSopsFile = ./secrets.yaml; defaultSopsFormat = "yaml"; }; fonts.packages = with pkgs; [ nerd-fonts.fira-code ]; sound.enable = true; security.rtkit.enable = true; system.stateVersion = "25.05"; }; }