nixos-flake/flake.nix

53 lines
1.7 KiB
Nix

{
inputs = {
#nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
stable.url = "github:NixOS/nixpkgs/nixos-24.05";
unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, stable, unstable, home-manager, ... }@attrs: {
nixosConfigurations = let
mkNixosConfig = hostName:
nixpkgs.lib.nixosSystem rec {
pkgs = let
nixpkgsConfig = {
inherit system;
config.allowUnfree = true;
};
in import nixpkgs (nixpkgsConfig // {
overlays = [
(new: prev: {
unstable = import unstable nixpkgsConfig;
stable = import stable nixpkgsConfig;
})
];
});
system = "x86_64-linux";
modules = [
./configuration.nix
# This fixes nixpkgs (for e.g. "nix shell") to match the system nixpkgs
({ config, pkgs, options, ... }: {
nix.registry.nixpkgs.flake = nixpkgs;
networking.hostName = hostName; # Define your hostname.
})
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jaina = import ./home-manager/home.nix;
home-manager.backupFileExtension = "hmbackup";
}
];
};
in {
harrowhark = mkNixosConfig "harrowhark";
murray = mkNixosConfig "murray";
};
};
}