nix-config/flake.nix

97 lines
2.8 KiB
Nix

{
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
nixpkgs-stable.url = "nixpkgs/nixos-23.05";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
impermanence.url = "github:nix-community/impermanence";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
};
outputs =
{ self
, nixpkgs
, nixpkgs-stable
, nixos-hardware
, home-manager
, impermanence
, ...
}@inputs:
let
inherit (self) outputs;
in
rec {
overlays = import ./overlays { inherit inputs; };
nixosConfigurations = {
trantor = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
# unstablePkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
stablePkgs = nixpkgs-stable.legacyPackages."x86_64-linux";
impermanence = impermanence;
};
modules = [
./nixos/hosts/trantor
./nixos/modules/common.nix
./nixos/modules/desktop.nix
home-manager.nixosModules.home-manager
impermanence.nixosModules.impermanence
];
};
capibara = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
stablePkgs = nixpkgs-stable.legacyPackages."x86_64-linux";
impermanence = impermanence;
};
modules = [
./nixos/hosts/capibara
./nixos/modules/common.nix
./nixos/modules/desktop.nix
nixos-hardware.nixosModules.lenovo-thinkpad-x230
home-manager.nixosModules.home-manager
impermanence.nixosModules.impermanence
];
};
};
homeConfigurations = {
"rilla@capibara" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs outputs; };
modules = [
./home/hosts/capibara.nix
./home/modules/common
./home/modules/desktop-river
./home/modules/theming
];
};
"rilla@trantor" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs outputs; };
modules = [
./home/hosts/trantor.nix
./home/modules/common
./home/modules/desktop-river
./home/modules/theming/trantor.nix
];
};
"rilla@echidna" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs outputs; };
modules = [ ./home/hosts/echidna.nix ];
};
};
};
}