nix-config/flake.nix

79 lines
2.1 KiB
Nix

{
description = "dnsc-server NixOS flake";
inputs = {
agenix.url = "github:ryantm/agenix";
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-darwin.url = "github:LnL7/nix-darwin/master";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
ip-whitelist.url = "github:Oak-Digital/nixos-ip-whitelist-firewall";
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
inputs.wezterm.url = "github:wezterm/wezterm?dir=nix";
};
outputs =
{
self,
nixpkgs,
home-manager,
nix-darwin,
nix-homebrew,
agenix,
wezterm,
...
}@inputs:
let
inherit (self) outputs;
in
{
nixosConfigurations.dnsc-machine = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs outputs; };
modules = [
./hosts/dnsc-machine
];
};
nixosConfigurations.dnsc-server = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs outputs; };
modules = [
./hosts/dnsc-server
agenix.nixosModules.default
];
};
nixosConfigurations.dnsc-vps-sm = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs outputs; };
modules = [
./hosts/dnsc-vps-sm
agenix.nixosModules.default
];
};
darwinConfigurations.dnsc-air = nix-darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs = { inherit inputs outputs; };
modules = [
nix-homebrew.darwinModules.nix-homebrew
./hosts/dnsc-air
];
};
darwinConfigurations.dnsc-work = nix-darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs = { inherit inputs outputs; };
modules = [ ./hosts/dnsc-work ];
};
homeConfigurations."dnsc-deck" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [ ./home/deck.nix ];
};
};
}