{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; darwin.url = "github:lnl7/nix-darwin"; darwin.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs: { darwinConfigurations.TobAir = inputs.darwin.lib.darwinSystem { system = "aarch64-darwin"; pkgs = import inputs.nixpkgs { system = "aarch64-darwin"; config.allowUnfree = true; }; modules = [ ({ pkgs, ... }: { programs.zsh.enable = true; environment.shells = [ pkgs.bash pkgs.zsh pkgs.fish ]; environment.loginShell = pkgs.zsh; environment.systemPath = [ "/opt/homebrew/bin" ]; fonts.fonts = [ (pkgs.nerdfonts.override { fonts = [ "FiraCode" "Iosevka" "IosevkaTerm" "JetBrainsMono" "SourceCodePro" ]; }) ]; nix.extraOptions = '' experimental-features = nix-command flakes ''; services.nix-daemon.enable = true; services.yabai = { enable = true; config = { layout = "bsp"; window_placement = "second_child"; top_padding = 8; bottom_padding = 8; left_padding = 8; right_padding = 8; window_gap = 8; mouse_follows_focus = "on"; mouse_modifier = "alt"; mouse_action1 = "move"; mouse_action2 = "resize"; mouse_drop_action = "swap"; }; extraConfig = '' yabai -m rule --add app="^System Settings$" manage=off ''; }; services.skhd = { enable = true; skhdConfig = '' alt - right : yabai -m window --focus east alt - left : yabai -m window --focus west ''; }; system.defaults.dock.autohide = true; system.defaults.dock.mru-spaces = false; system.defaults.dock.orientation = "right"; system.defaults.NSGlobalDomain.InitialKeyRepeat = 14; system.defaults.NSGlobalDomain.KeyRepeat = 1; system.defaults.finder.AppleShowAllExtensions = true; system.defaults.finder.AppleShowAllFiles = true; users.users.tobi.home = "/Users/tobi"; homebrew = { enable = true; brews = [ "imagemagick" "trippy" ]; }; }) inputs.home-manager.darwinModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.tobi.imports = [ ({ pkgs, ... }: { home.stateVersion = "23.11"; home.packages = [ pkgs.raycast pkgs.ripgrep pkgs.fd pkgs.curl pkgs.less ]; home.sessionVariables = { PAGER = "less"; CLICOLOR = 1; EDITOR = "emacs"; NIXPKGS_ALLOW_UNFREE = 1; }; programs.bat.enable = true; programs.git.enable = true; programs.starship = { enable = true; enableZshIntegration = true; settings.gcloud.disabled = true; settings.aws.disabled = true; settings.hostname.style = "bold green"; }; programs.alacritty = { enable = true; settings.font.size = 14; settings.font.normal.family = "Iosevka Comfy"; }; programs.kitty.enable = true; }) ]; }; } ]; }; }; }