{ description = "Configuration of my systems"; inputs = { # Specify the source of Home Manager and Nixpkgs. nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; agenix.url = "github:ryantm/agenix"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-utils = { url = "github:numtide/flake-utils"; }; nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; yadunut.url = "git+https://git.yadunut.dev/yadunut/nix.git"; }; outputs = { nixpkgs, home-manager, agenix, nixvim, disko, flake-utils, yadunut, ... }@inputs: { homeConfigurations = { "yadunut@yadunut-mbp" = let system = "aarch64-darwin"; pkgs = nixpkgs.legacyPackages.${system}; in home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit inputs; }; modules = [ ./yadunut-mbp/home.nix ]; }; "yadunut@yadunut-mba" = let system = "aarch64-darwin"; pkgs = nixpkgs.legacyPackages.${system}; in home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit inputs; }; modules = [ ./yadunut-mba/home.nix ]; }; }; nixosConfigurations = { "penguin" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ disko.nixosModules.disko agenix.nixosModules.default ./penguin/disko-config.nix ./penguin/configuration.nix ./penguin/hardware-configuration.nix yadunut.lib.users home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.yadunut = import ./penguin/home.nix; } ]; }; "falcon-nixos" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./falcon-nixos/configuration.nix agenix.nixosModules.default { _module.args = { inherit inputs; }; } home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.yadunut = import ./falcon-nixos/home.nix; } ]; }; }; } // flake-utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; }; in { devShells.default = pkgs.mkShell { buildInputs = [ pkgs.nixd agenix.packages.${system}.default ]; }; } ); }