{ inputs, outputs, lib, pkgs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; nixpkgs = { overlays = builtins.attrValues outputs.overlays; config = { allowUnfree = true; }; }; nix = let flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; in { settings = { experimental-features = ["nix-command" "flakes"]; }; channel.enable = false; registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs; nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs; }; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; services.pcscd.enable = true; programs.gnupg.agent = { enable = true; pinentryPackage = pkgs.pinentry-curses; enableSSHSupport = true; }; networking.hostName = "kaylee"; services.dnsmasq.enable = true; services.xserver.xkb.layout = "us"; users.users.tyler = { isNormalUser = true; extraGroups = ["wheel"]; # Enable ‘sudo’ for the user. shell = pkgs.fish; }; environment.systemPackages = with pkgs; [ helix # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. wget yadm restic git chezmoi ]; programs.fish.enable = true; # Enable the OpenSSH daemon. services.openssh.enable = true; system.stateVersion = "24.05"; # Did you read the comment? }