nixos-systems/nixos-anywhere/flake.nix

55 lines
1.3 KiB
Nix
Raw Normal View History

{
inputs = {
disko = {
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/disko";
};
home-manager = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-facter-modules.url = "github:numtide/nixos-facter-modules";
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
2025-07-11 21:08:25 +00:00
outputs =
{
disko,
home-manager,
nixpkgs,
2025-07-11 21:08:25 +00:00
nixos-facter-modules,
...
}:
let
configFiles = pkgs.stdenv.mkDerivation {
installPhase = ''
mkdir -p $out
cp -r * $out/
'';
name = "config-files";
src = ./configs;
};
pkgs = nixpkgs.legacyPackages.${system};
system = "x86_64-linux";
in {
2025-07-11 21:08:25 +00:00
# tested with 2GB/2CPU droplet, 1GB droplets do not have enough RAM for kexec
nixosConfigurations.digitalocean = nixpkgs.lib.nixosSystem {
system = "${system}";
2025-07-11 21:08:25 +00:00
modules = [
./configuration.nix
2025-07-11 21:08:25 +00:00
./digitalocean.nix
disko.nixosModules.disko
{ disko.devices.disk.disk1.device = "/dev/vda"; }
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [];
home-manager.extraSpecialArgs = { inherit configFiles; };
}
./modules
./users
2025-07-11 21:08:25 +00:00
];
};
};
}