mirror of
https://github.com/Andrey0189/nixos-config-reborn.git
synced 2025-09-15 10:06:00 +03:00
60 lines
1.3 KiB
Nix
60 lines
1.3 KiB
Nix
{
|
|
description = "My system configuration";
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-24.11";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
stylix.url = "github:danth/stylix";
|
|
|
|
#nixvim = {
|
|
# url = "github:nix-community/nixvim";
|
|
# inputs.nixpkgs.follows = "nixpkgs";
|
|
#};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, home-manager, ... }@inputs: let
|
|
system = "x86_64-linux";
|
|
homeStateVersion = "24.11";
|
|
user = "amper";
|
|
hosts = [
|
|
{ hostname = "slim3"; stateVersion = "24.05"; }
|
|
];
|
|
|
|
makeSystem = { hostname, stateVersion }: nixpkgs.lib.nixosSystem {
|
|
system = system;
|
|
specialArgs = {
|
|
inherit inputs stateVersion hostname user;
|
|
};
|
|
|
|
modules = [
|
|
./hosts/${hostname}/configuration.nix
|
|
];
|
|
};
|
|
|
|
in {
|
|
nixosConfigurations = nixpkgs.lib.foldl' (configs: host:
|
|
configs // {
|
|
"${host.hostname}" = makeSystem {
|
|
inherit (host) hostname stateVersion;
|
|
};
|
|
}) {} hosts;
|
|
|
|
homeConfigurations.${user} = home-manager.lib.homeManagerConfiguration {
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
extraSpecialArgs = {
|
|
inherit inputs homeStateVersion user;
|
|
};
|
|
|
|
modules = [
|
|
./home-manager/home.nix
|
|
];
|
|
};
|
|
};
|
|
}
|