#+title: System Core This file imports various system configuration components in addition to enabling flakes and defining the system version. #+begin_src nix { config, pkgs, ... }: let inherit (pkgs) aspellWithDicts; myaspell = aspellWithDicts (d: [d.en d.en-computers d.en-science]); in { imports = [ ./aerospace.nix ./homebrew.nix ]; # Unfortunately, I sometimes need unfree packages nixpkgs.config.allowUnfree = true; # Install a small number of packages for root environment.systemPackages = with pkgs; [ gnupg myaspell neovim ]; # Use TouchID for sudo security.pam.enableSudoTouchIdAuth = true; # Open text files in neovim by default environment.variables.EDITOR = "nvim"; # Enable nix services.nix-daemon.enable = true; nix.package = pkgs.nix; programs.gnupg.agent.enable = false; # Use flakes nix.settings.experimental-features = "nix-command flakes"; # Use zsh as my shell programs.zsh.enable = true; system.stateVersion = 5; # Use ARM64 packages nixpkgs.hostPlatform = "aarch64-darwin"; # Define my user users.users.jjanzen = { name = "jjanzen"; home = "/Users/jjanzen"; }; } #+end_src