{ self, inputs, ... }: { flake.nixosModules.homebox = { config, pkgs, lib, ... }: { imports = [ inputs.disko.nixosModules.default inputs.home-manager.nixosModules.default self.nixosModules.default ]; config = { boot = { kernelPackages = pkgs.linuxKernel.packages.linux_6_18; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; binfmt.emulatedSystems = [ "aarch64-linux" ]; }; systemd.settings.Manager.DefaultLimitNOFILE = 2048; programs.zsh.enable = true; environment.shells = with pkgs; [ zsh bashInteractive ]; nixpkgs.config.allowUnfree = true; networking = { nameservers = lib.mkDefault [ "1.1.1.1" "1.0.0.1" ]; networkmanager = { enable = true; dns = "none"; }; useDHCP = false; dhcpcd.enable = false; nftables = {}; nat = { enable = true; internalInterfaces = [ "ve-.+" ]; externalInterface = "wlp7s0"; # wifi #externalInterface = "enp6s0"; # ethernet }; }; services.netbird.clients.default.environment = { NB_EXTRA_DNS_LABELS = "server"; }; fonts.packages = with pkgs; [ nerd-fonts.fira-code ]; services = { xserver = { enable = false; videoDrivers = ["nvidia"]; }; displayManager = { enable = false; defaultSession = "hyprland"; autoLogin = { enable = true; user = "nathan"; }; }; pulseaudio.enable = false; hardware.openrgb = { enable = true; motherboard = "amd"; }; }; hardware = { nvidia = { open = true; modesetting.enable = true; nvidiaPersistenced = true; }; bluetooth = { enable = true; powerOnBoot = false; }; }; sops = { age.keyFile = "/var/lib/sops/age/keys.txt"; defaultSopsFile = ./secrets.yaml; defaultSopsFormat = "yaml"; secrets = { "nathan/pass" = { neededForUsers = true; }; "remoteBuildClientKeys/laptop".sopsFile = ./../../features/secrets.yaml; "remoteBuildClientKeys/pi4".sopsFile = ./../../features/secrets.yaml; "remoteBuildClientKeys/android".sopsFile = ./../../features/secrets.yaml; }; }; nix = { settings = { trusted-users = [ "remote-builder" ]; }; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "23.05"; # Did you read the comment? }; }; }