Files
dev/flake.nix

59 lines
1.8 KiB
Nix

{
description = "A very basic flake";
inputs = {
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
mysecrets = {
url = "git+file:///home/beastie/nixos/secrets";
flake = false;
};
};
outputs =
{ ... }@inputs:
let
mkSystem =
pkgs: system: hostname: username:
pkgs.lib.nixosSystem {
# inherit system;
pkgs = import pkgs {
inherit system;
config.allowUnfree = true;
};
specialArgs = {
inherit hostname username inputs;
};
modules = [
# General configuration, for all machines
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
./hosts/${hostname}
];
};
in
{
nixosConfigurations = {
#nixos-anywhere -- --flake './#generic' --generate-hardware-config nixos-generate-config ./hosts/generic/hardware-configuration.nix --target-host beastie@192.168.122.204
generic = mkSystem inputs.nixpkgs-stable "x86_64-linux" "generic" "beastie";
test-kvm = mkSystem inputs.nixpkgs-stable "x86_64-linux" "test-kvm" "beastie";
home-nix = mkSystem inputs.nixpkgs-unstable "x86_64-linux" "home-nix" "beastie";
work-nix = mkSystem inputs.nixpkgs-unstable "x86_64-linux" "work-nix" "beastie";
# live-usb = mkSystem inputs.nixpkgs "x86_64-linux" "live-usb" "beastie";
#nixos-rebuild switch --flake ./#home-nix --sudo
};
};
}