{ description = "Nix Darwin + Home Manager configuration of Abhinav Sarkar"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nix-darwin = { url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-compat = { url = "github:edolstra/flake-compat"; flake = false; }; dm-mono-font = { url = "github:googlefonts/dm-mono"; flake = false; }; monaspace-font = { url = "github:githubnext/monaspace?rev=601eb27f902432999302e0e64db2daacc954f156"; flake = false; }; fish-plugin-foreign-env = { url = "github:oh-my-fish/plugin-foreign-env"; flake = false; }; fish-plugin-fzf = { url = "github:PatrickF1/fzf.fish"; flake = false; }; }; outputs = inputs@{ self, nixpkgs, nix-darwin, home-manager, ... }: let system = "x86_64-darwin"; pkgs = import nixpkgs { inherit system; config = { allowUnfree = true; }; }; in { darwinConfigurations."Abhinavs-MacBook-Pro" = nix-darwin.lib.darwinSystem { inherit system; specialArgs = { inherit inputs; }; modules = [ ./configuration.nix ./homebrew.nix home-manager.darwinModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.abhinav = import ./home.nix; home-manager.extraSpecialArgs = { inherit inputs; }; } ]; }; devShells.${system}.default = pkgs.mkShell { buildInputs = with pkgs; [ (import home-manager { inherit pkgs; }).home-manager just ]; shellHook = '' export NIXPKGS_PATH=${pkgs.path}; ''; }; }; }