nix-managed-macbook/flake.nix
2024-07-12 07:46:14 +05:30

73 lines
2.1 KiB
Nix

{
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";
};
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz";
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, lix-module, ... }:
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
lix-module.nixosModules.default
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
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};
'';
};
};
}