{ description = "dnsc-server NixOS flake"; inputs = { agenix.url = "github:ryantm/agenix"; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11"; 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"; zellij-switch.url = "github:mostafaqanbaryan/zellij-switch"; zen-browser.url = "github:0xc000022070/zen-browser-flake"; firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; }; outputs = { self, nixpkgs, home-manager, nix-darwin, nix-homebrew, agenix, zellij-switch, ... }@inputs: let inherit (self) outputs; in { # Custom nixosModules nixosModules.base = import ./modules/base; nixosModules.macos = import ./modules/macos; nixosModules.homebrew = import ./modules/homebrew; nixosModules.aerospace = import ./modules/aerospace; nixosModules.keyd = import ./modules/keyd; nixosModules.ly = import ./modules/wm/ly; nixosModules.unix = import ./modules/unix; nixosModules.nvidia = import ./modules/unix/nvidia.nix; nixosModules.bluetooth = import ./modules/unix/bluetooth.nix; nixosModules.audio = import ./modules/unix/audio.nix; nixosModules.printing = import ./modules/unix/printing.nix; nixosModules.tablet = import ./modules/unix/tablet.nix; nixosModules.steam = import ./modules/steam; nixosModules.niriSystem = import ./modules/wm/niri-system; 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 = [ nix-homebrew.darwinModules.nix-homebrew ./hosts/dnsc-work ]; }; homeConfigurations."dnsc-deck" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; modules = [ ./home/deck.nix ]; }; }; }