aboutsummaryrefslogtreecommitdiff
path: root/macos.local/flake/system/core.nix.org
diff options
context:
space:
mode:
Diffstat (limited to 'macos.local/flake/system/core.nix.org')
-rw-r--r--macos.local/flake/system/core.nix.org61
1 files changed, 61 insertions, 0 deletions
diff --git a/macos.local/flake/system/core.nix.org b/macos.local/flake/system/core.nix.org
new file mode 100644
index 0000000..18ca960
--- /dev/null
+++ b/macos.local/flake/system/core.nix.org
@@ -0,0 +1,61 @@
+#+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.services.sudo_local.touchIdAuth = true;
+
+ # Open text files in neovim by default
+ environment.variables.EDITOR = "nvim";
+
+ # Enable nix packages
+ 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;
+
+ # Enable documentation and make
+ documentation = {
+ enable = true;
+ info.enable = true;
+ man.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