{ 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 = { user = "petri"; name = "Petri Hienonen"; email = "petri.hienonen@gmail.com"; location = "$HOME/.nix"; terminal = "ghostty"; editor = "nvim"; shell = "fish"; }; pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; }; in { nixosConfigurations = { saarni = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit agenix inputs outputs vars pkgs-unstable ; }; 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 pkgs-unstable ; }; users = { petri = import ./home; }; }; } ]; }; pihlaja = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit agenix inputs outputs vars pkgs-unstable ; }; 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 pkgs-unstable ; }; users = { petri = import ./home; }; }; } #{ #nixpkgs = { # config.cudaSupport = true; #hostPlatform = { # aesSupport = true; # avx2Support = true; # # useLLVM = true; # gcc = { # arch = "x86-64-v3"; # }; # system = "x86_64-linux"; # linker = "mold"; # libc = "glibc"; #}; #}; #} ]; }; kataja = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit agenix inputs outputs vars pkgs-unstable ; }; 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 pkgs-unstable ; }; users = { petri = import ./home; }; }; } { nixpkgs = { config.rocmSupport = true; #hostPlatform = { # aesSupport = true; # avx2Support = true; # # useLLVM = true; # gcc = { # arch = "x86-64-v3"; # }; # system = "x86_64-linux"; # linker = "mold"; # libc = "glibc"; #}; }; } ]; }; }; }; }