{ pkgs, lib, self, ... }: { # List packages installed in system profile. To search by name, run: # $ nix-env -qaP | grep wget environment.systemPackages = [ ]; nix.settings = { experimental-features = [ "nix-command" "flakes" ]; auto-optimise-store = true; }; environment.shells = with pkgs; [ bashInteractive zsh fish ]; # Auto upgrade nix package and the daemon service. services.nix-daemon.enable = true; # Enable alternative shell support in nix-darwin. # programs.fish.enable = true; services.yabai = let gap = 10; gapListParts = builtins.map (x: lib.attrsets.nameValuePair (x + "_padding") gap) [ "top" "bottom" "left" "right" ]; gapSettings = (builtins.listToAttrs gapListParts) // { window_gap = gap; }; in { enable = true; enableScriptingAddition = true; config = { layout = "bsp"; window_shadow = "float"; mouse_modifier = "fn"; mouse_action1 = "move"; mouse_action2 = "resize"; focus_follows_mouse = "autoraise"; mouse_follows_focus = "off"; window_topmost = "off"; } // gapSettings; extraConfig = '' yabai -m rule --add app="^System Settings$" manage=off yabai -m rule --add app="Python" manage=off yabai -m rule --add app="macroquad_playground" manage=off yabai -m rule --add app="^coreautha$" manage=off ''; }; home-manager.sharedModules = [ { home.file.".config/yabai/yabaiExe".source = lib.getExe pkgs.yabai; home.packages = with pkgs; [ yabai ]; } ]; security.pam.enableSudoTouchIdAuth = true; users.users.zynh = { name = "zynh"; home = "/Users/zynh"; }; home-manager = { users = { "zynh" = import ./home.nix; }; backupFileExtension = "backup"; }; fonts.packages = with pkgs; [ (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) ]; # Set Git commit hash for darwin-version. system.configurationRevision = self.rev or self.dirtyRev or null; # $ darwin-rebuild changelog system.stateVersion = 5; }