{ config, pkgs, ... }: {
  imports = [ ];

  users.users.sora = {
    home = "/Users/sora";
    shell = pkgs.zsh;
  };

  networking = {
    computerName = "asgard";
    hostName = "asgard";
  };

  fonts = {
    fontDir.enable = true;
    fonts = with pkgs; [ ibm-plex openmoji-color material-design-icons ];
  };

  environment = {
    shells = with pkgs; [ zsh ];
    variables = {
      EDITOR = "nvim";
      VISUAL = "vscodium";
    };
    systemPackages = with pkgs; [
      git
      ranger

      fd
      ripgrep
    ];
  };

  programs = { zsh.enable = true; };

  services = { nix-daemon.enable = true; };

  homebrew = {
    enable = true;
    onActivation = {
      autoUpdate = false;
      upgrade = false;
      cleanup = "zap";
    };
    brews = [ "wireguard-tools" ];
    casks = [ ];
  };

  nix = {
    package = pkgs.nix;
    extraOptions = ''
      experimental-features = nix-command flakes
      warn-dirty = false
    '';
    gc = {
      automatic = true;
      dates = "weekly";
      options = "--delete-older-than 7d";
    };
    settings = {
      auto-optimise-store = true;
      builders-use-substitutes = true;
      substituters = [ "https://cache.nixos.org" ];
      trusted-public-keys =
        [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ];
    };
  };

  system = {
    defaults = {
      NSGlobalDomain = {
        KeyRepeat = 1;
        NSAutomaticCapitalizationEnabled = false;
        NSAutomaticSpellingCorrectionEnabled = false;
      };
      dock = {
        autohide = true;
        orientation = "bottom";
        showhidden = true;
        tilesize = 40;
      };
      finder = { QuitMenuItem = false; };
      trackpad = {
        Clicking = true;
        TrackpadRightClick = true;
      };
    };
    activationScripts.postActivation.text = "sudo chsh -s ${pkgs.zsh}/bin/zsh";
    stateVersion = 4;
  };
}
