Files
nix-config/flake.nix
2024-03-21 18:06:58 -05:00

95 lines
2.8 KiB
Nix

{
description = "flake for matt-nixos";
inputs = {
# Common
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
# Desktop
nix-flatpak.url = "github:gmodena/nix-flatpak";
impermanence.url = "github:nix-community/impermanence";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.3.0";
inputs.nixpkgs.follows = "nixpkgs";
};
#nixos-apple-silicon.url = "github:tpwrules/nixos-apple-silicon";
nix-darwin.url = "github:LnL7/nix-darwin";
# Pi4
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
};
outputs = { self, nixpkgs, chaotic, lanzaboote, impermanence, nix-flatpak, home-manager
, nixos-hardware, nix-darwin }@inputs: {
nixosConfigurations = {
# Desktop
"matt-nixos" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
impermanence.nixosModules.impermanence
lanzaboote.nixosModules.lanzaboote
nix-flatpak.nixosModules.nix-flatpak
./hosts/desktop/configuration.nix
./share/impermanence
chaotic.nixosModules.default
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.matt = import ./hosts/desktop/home.nix;
}
];
};
# mac nix
"mac-nixos" = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
modules = [
./hosts/mac-nixos/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.matt = import ./hosts/mac-nixos/home.nix;
}
];
};
# Pi4
"nixos-pi4" = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
modules = [
nixos-hardware.nixosModules.raspberry-pi-4
./hosts/pi4/configuration.nix
];
};
};
darwinConfigurations = {
"MacBook-Pro" = nix-darwin.lib.darwinSystem {
system = "aarch64-darwin";
modules = [
./hosts/mac/configuration.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.mattjallen = import ./hosts/mac/home.nix;
}
];
};
};
# Expose the package set, including overlays, for convenience.
darwinPackages = self.darwinConfigurations."MacBook-Pro".pkgs;
# Set Git commit hash for darwin-version.
system.configurationRevision = self.rev or self.dirtyRev or null;
};
}