{ description = "My system flake"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nix-flatpak.url = "github:gmodena/nix-flatpak"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; plasma-manager = { url = "github:nix-community/plasma-manager"; inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; }; }; agenix = { url = "github:ryantm/agenix"; inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; darwin.follows = ""; }; }; }; outputs = inputs@{ self, nixpkgs, ... }: let hosts = { "wenar-nix" = "x86_64-linux"; "lenar" = "x86_64-linux"; }; in { # Please replace my-nixos with your hostname nixosConfigurations = nixpkgs.lib.genAttrs (builtins.attrNames hosts) ( host: let arch = hosts.${host}; in nixpkgs.lib.nixosSystem { system = arch; modules = [ (import ./overlays) ./nixosModules ./hosts/${host} ./hosts/base ]; specialArgs = { inherit inputs; }; } ); packages.x86_64-linux = let pkgs = import nixpkgs { system = "x86_64-linux"; allowUnfree = true; }; in { uv-bin = pkgs.callPackage ./packages/uv { }; }; formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; hydraJobs = { inherit (self) packages; }; }; }