{ pkgs, inputs, lib, ... }: { environment.variables.FLAKE = "/Users/marshall/nix-config"; fonts.packages = with pkgs; [ font-awesome inter maple-mono nerdfonts ]; networking = { computerName = "MacBook Air"; hostName = "canis"; }; nix = { gc = { automatic = true; interval.Day = 7; }; daemonIOLowPriority = true; daemonProcessType = "Adaptive"; distributedBuilds = true; nixPath = ["nixpkgs=${inputs.nixpkgs}"]; registry = lib.mapAttrs (_: v: {flake = v;}) inputs; settings = { auto-optimise-store = true; builders-use-substitutes = true; extra-experimental-features = "nix-command flakes"; flake-registry = "/etc/nix/registry.json"; keep-derivations = true; keep-outputs = true; max-jobs = "auto"; warn-dirty = false; extra-sandbox-paths = ["/nix/var/cache/ccache"]; substituters = [ "https://cache.nixos.org" "https://nix-community.cachix.org" ]; trusted-substituters = [ "cache.nixos.org" "nix-community.cachix.org" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" ]; trusted-users = ["marshall"]; }; }; nixpkgs.config.allowUnfree = true; programs.fish.enable = true; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; security.pam.enableSudoTouchIdAuth = true; services = { nix-daemon.enable = true; skhd = { enable = true; package = pkgs.skhd; skhdConfig = '' alt - return : wezterm alt - w : open -na "Arc" cmd - space : yabai -m window --toggle float shift + cmd - q : yabai -m window --close alt - h : yabai -m window --focus west alt - j : yabai -m window --focus south alt - k : yabai -m window --focus north alt - l : yabai -m window --focus east shift + cmd - h : yabai -m window --swap west shift + cmd - j : yabai -m window --swap south shift + cmd - k : yabai -m window --swap north shift + cmd - l : yabai -m window --swap east shift + cmd - 1 : yabai -m window --space 1 shift + cmd - 2 : yabai -m window --space 2 shift + cmd - 3 : yabai -m window --space 3 shift + cmd - 4 : yabai -m window --space 4 shift + cmd - 5 : yabai -m window --space 5 shift + cmd - 6 : yabai -m window --space 6 shift + cmd - 7 : yabai -m window --space 7 shift + cmd - 8 : yabai -m window --space 8 shift + cmd - 9 : yabai -m window --space 9 ''; }; }; users.users.marshall = { name = "marshall"; home = "/Users/marshall"; }; system = { keyboard.enableKeyMapping = true; defaults = { NSGlobalDomain = { KeyRepeat = 1; NSAutomaticCapitalizationEnabled = false; NSAutomaticSpellingCorrectionEnabled = false; }; dock = { autohide = true; autohide-delay = 1000.0; expose-animation-duration = 0.0; orientation = "bottom"; showhidden = true; tilesize = 48; }; }; }; }