nixos-config/flake.nix
2025-09-16 12:11:06 +02:00

70 lines
1.8 KiB
Nix

{
description = "My nixos config with WM switch capacity";
inputs = {
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
home-manager-stable = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable-small";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nur.url = "github:nix-community/NUR";
};
outputs = {
nixpkgs-stable,
nixpkgs-unstable,
home-manager-stable,
home-manager,
nur,
...
} @ inputs: let
mkUnstablePkgsWithNur = { system, config ? {} }:
import nixpkgs-unstable {
inherit system;
overlays = [ nur.overlays.default ];
config = config ;
};
in
{
# --- Host NixOS (x86_64) ---
nixosConfigurations = {
pennsardin = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
pkgs = mkUnstablePkgsWithNur {
system = "x86_64-linux";
config = {
allowUnfree = true ;
allowUnsupportedSystem = true ;
};
};
modules = [
./hosts/pennsardin/configuration.nix
home-manager.nixosModules.home-manager
];
};
terre-neuvas = nixpkgs-stable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/terre-neuvas/configuration.nix
home-manager-stable.nixosModules.home-manager
];
};
};
# --- DevShell (x86_64 uniquement) ---
devShells.x86_64-linux.default = import ./devshell.nix {
pkgs = import nixpkgs-stable {system = "x86_64-linux";};
};
# --- Formatter (x86_64 uniquement) ---
formatter.x86_64-linux =
(import nixpkgs-stable {system = "x86_64-linux";}).alejandra;
};
}