nixos/flake.nix
2024-05-08 11:03:22 +02:00

90 lines
2.8 KiB
Nix

{
description = "Master flake for all my setups";
inputs = {
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
darwin.url = "github:lnl7/nix-darwin/master";
darwin.inputs.nixpkgs.follows = "unstable";
nix-homebrew.url = "github:zhaofengli-wip/nix-homebrew";
homebrew-core.url = "github:homebrew/homebrew-core";
homebrew-core.flake = false;
homebrew-cask.url = "github:homebrew/homebrew-cask";
homebrew-cask.flake = false;
cask-fonts.url = "github:homebrew/homebrew-cask-fonts";
cask-fonts.flake = false;
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "unstable";
hyprland-contrib.url = "github:hyprwm/contrib";
hyprland-contrib.inputs.nixpkgs.follows = "unstable";
# fix for app links on macos
mac-app-util.url = "github:hraban/mac-app-util";
};
outputs = { unstable, home-manager, darwin, hyprland-contrib, nix-homebrew, homebrew-core, homebrew-cask, cask-fonts, ...}@inputs: {
nixosConfigurations = {
gunther = unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./gunther/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.leonv = import ./gunther/leonv.nix;
home-manager.extraSpecialArgs = { inherit inputs; };
}
];
};
iso = unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
"${unstable}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
./iso/configuration.nix
];
};
willem = unstable.lib.nixosSystem {
system = "aarch64-linux";
specialArgs = { inherit inputs; };
modules = [ ./willem/configuration.nix ];
};
dafoe = unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [ ./dafoe/configuration.nix ];
};
};
darwinConfigurations = {
shinx = darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs = { inherit inputs; };
modules = [
./shinx/default.nix
home-manager.darwinModules.home-manager
nix-homebrew.darwinModules.nix-homebrew
{
nix-homebrew = {
enable = true;
enableRosetta = true;
user = "leonvatthauer";
taps = {
"homebrew/homebrew-core" = homebrew-core;
"homebrew/homebrew-cask" = homebrew-cask;
"homebrew/homebrew-cask-fonts" = cask-fonts;
};
};
}
];
};
};
};
}