From d2c465625dc6336c58f012063f5cf5258faaf0d8 Mon Sep 17 00:00:00 2001 From: Nathan McCarty Date: Wed, 29 Mar 2023 21:06:19 -0400 Subject: [PATCH] Configure a lil more in darwin --- machines/extremophile/configuration.nix | 5 +++++ modules/darwin/default.nix | 13 ++++++++++-- modules/darwin/settings.nix | 28 +++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 modules/darwin/settings.nix diff --git a/machines/extremophile/configuration.nix b/machines/extremophile/configuration.nix index 4edf272..96dbde4 100644 --- a/machines/extremophile/configuration.nix +++ b/machines/extremophile/configuration.nix @@ -10,4 +10,9 @@ cores = 8; max-jobs = 2; }; + # Set the system name + networking = { + hostName = "extremophile"; + computerName = "extremophile"; + }; } diff --git a/modules/darwin/default.nix b/modules/darwin/default.nix index dccda39..5295141 100644 --- a/modules/darwin/default.nix +++ b/modules/darwin/default.nix @@ -6,8 +6,13 @@ let }) nLib; in { - imports = - [ ../options.nix ../common/programs/utils.nix ./user.nix ./fonts.nix ]; + imports = [ + ../options.nix + ../common/programs/utils.nix + ./user.nix + ./fonts.nix + ./settings.nix + ]; options = with lib; with nLib; { @@ -16,6 +21,8 @@ in { # Install fonts # On by default if the system is a desktop fonts = mkDefaultOption "fonts" config.nathan.config.isDesktop; + # Macos settings + settings = mkDefaultOption "settings" config.nathan.config.isDesktop; }; programs = { # Firefox, enabled by default on linux desktop @@ -61,6 +68,8 @@ in { programs.fish.enable = true; # Make nix managed fonts work fonts.fontDir.enable = true; + # Configure nix to be a lil smarter with the store + nix.settings.auto-optimise-store = true; # Make nix assume control of homebrew homebrew = { enable = true; diff --git a/modules/darwin/settings.nix b/modules/darwin/settings.nix new file mode 100644 index 0000000..62cb858 --- /dev/null +++ b/modules/darwin/settings.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: +let nc = config.nathan.config; +in with lib; { + # Generic desktop configuration + config = mkIf nc.settings { + system = { + defaults = { + dock = { + autohide = true; + minimize-to-application = true; + show-recents = false; + # Don't rearrange spaces based on most recent use + mru-spaces = false; + }; + finder = { + AppleShowAllExtensions = true; + ShowPathbar = true; + }; + NSGlobalDomain = { + # Enable dark mode + AppleInterfaceStyle = "Dark"; + # Disable "natural" scrolling + com.apple = { swipescrolldirection = "false"; }; + }; + }; + }; + }; +}