{ description = "Petri's system"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-25.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ self, nixpkgs, agenix, home-manager, nixpkgs-unstable, nixos-hardware, ... }: let inherit (self) outputs; vars = { editor = "nvim"; email = "petri.hienonen@gmail.com"; location = "$HOME/.nix"; name = "Petri Hienonen"; shell = "nushell"; terminal = "ghostty"; user = "petri"; }; in { nixosConfigurations = { saarni = nixpkgs.lib.nixosSystem { specialArgs = { inherit agenix inputs outputs vars ; }; modules = [ ./hosts/saarni ./roles/shared.nix agenix.nixosModules.default home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; sharedModules = [ inputs.agenix.homeManagerModules.default ]; extraSpecialArgs = { inherit vars inputs outputs; }; users = { petri = import ./home; }; }; } { nixpkgs.hostPlatform = "x86_64-linux"; } ]; }; pihlaja = nixpkgs.lib.nixosSystem { specialArgs = { inherit agenix inputs outputs vars ; }; modules = [ ./hosts/pihlaja ./roles/shared.nix agenix.nixosModules.default home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; sharedModules = [ inputs.agenix.homeManagerModules.default ]; extraSpecialArgs = { inherit vars inputs outputs; }; users = { petri = import ./home; }; }; } { nixpkgs = { config.rocmSupport = true; hostPlatform = "x86_64-linux"; }; } ]; }; kataja = nixpkgs.lib.nixosSystem { specialArgs = { inherit agenix inputs outputs vars ; }; modules = [ ./hosts/kataja ./roles/shared.nix agenix.nixosModules.default home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; sharedModules = [ inputs.agenix.homeManagerModules.default ]; extraSpecialArgs = { inherit inputs outputs vars; }; users = { petri = import ./home; }; }; } { nixpkgs = { config.rocmSupport = true; hostPlatform = "x86_64-linux"; }; } ]; }; }; }; }