{ description = "nixconfig"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nur.url = "github:nix-community/NUR"; omnisearch = { url = "git+https://git.bwaaa.monster/omnisearch"; inputs.nixpkgs.follows = "nixpkgs"; }; arkenfox = { url = "github:dwarfmaster/arkenfox-nixos"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko/latest"; inputs.nixpkgs.follows = "nixpkgs"; }; niri = { url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; waybar = { url = "github:Alexays/Waybar"; inputs.nixpkgs.follows = "nixpkgs"; }; yazi = { url = "github:sxyazi/yazi"; inputs.nixpkgs.follows = "nixpkgs"; }; satty = { url = "github:gabm/Satty"; inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; nvf = { url = "github:NotAShelf/nvf"; inputs.nixpkgs.follows = "nixpkgs"; }; neovim-nightly-overlay = { url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; nixcord = { url = "github:KaylorBen/nixcord"; inputs.nixpkgs.follows = "nixpkgs"; }; spicetify-nix = { url = "github:Gerg-L/spicetify-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; otter-launcher = { url = "github:kuokuo123/otter-launcher"; inputs.nixpkgs.follows = "nixpkgs"; }; fsel = { url = "github:Mjoyufull/fsel"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, ... }@inputs: let mkHost = { hostname, user ? "adam", path ? ./hosts/${hostname}/configuration.nix, }: nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; username = user; }; modules = [ path inputs.nur.modules.nixos.default { networking.hostName = hostname; } ]; }; in { nixosConfigurations = { szpont = mkHost { hostname = "szpont"; path = ./hosts/desktop/configuration.nix; }; laptop = mkHost { hostname = "laptop"; }; thinkpad = mkHost { hostname = "thinkpad"; }; pendrive = mkHost { hostname = "pendrive"; user = "user"; }; }; }; }