{ config, pkgs, ... }: { users.users.michael = { home = "/Users/michael"; shell = pkgs.zsh; }; networking = { computerName = "neptune"; hostName = "neptune"; }; environment = { shells = with pkgs; [ zsh ]; variables = { EDITOR = "micro"; VISUAL = "micro"; }; systemPackages = with pkgs; [ # Terminal git micro ]; }; programs = { zsh.enable = true; }; services = { nix-daemon.enable = true; }; homebrew = { enable = true; autoUpdate = true; # Auto update packages cleanup = "zap"; # Uninstall not listed packages and casks brews = [ ]; casks = [ ]; }; nixpkgs = { config.allowBroken = true; # Workaround for pyopenssl being marked broken }; nix = { package = pkgs.nix; gc = { automatic = true; interval.Day = 7; options = "--delete-older-than 7d"; }; extraOptions = '' auto-optimise-store = true experimental-features = nix-command flakes ''; }; system = { activationScripts.postActivation.text = ''sudo chsh -s ${pkgs.zsh}/bin/zsh''; # Since it's not possible to declare default shell, run this command after build stateVersion = 4; }; }