Represent remote machines as flake.
parent
ce190bb139
commit
9c083e3a41
|
@ -10,13 +10,11 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, bootstrap, ... }:
|
outputs = { nixpkgs, home-manager, bootstrap, ... }:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Used with `nixos-rebuild --flake .#<hostname>`
|
|
||||||
# nixosConfigurations."<hostname>".config.system.build.toplevel must be a derivation
|
|
||||||
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
# Modules can be attribute sets or a function that returns an attribute set.
|
# Modules can be attribute sets or a function that returns an attribute set.
|
||||||
|
|
|
@ -15,8 +15,7 @@
|
||||||
];
|
];
|
||||||
system.stateVersion = "23.11";
|
system.stateVersion = "23.11";
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
packages.${system}.default = (pkgs.nixos module).digitalOceanImage;
|
packages.${system}.default = (pkgs.nixos module).digitalOceanImage;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701802827,
|
"lastModified": 1701952659,
|
||||||
"narHash": "sha256-wTn0lpV75Uv6tU6haEypNsmnJJPb0hpaMIy/4uf5AiQ=",
|
"narHash": "sha256-TJv2srXt6fYPUjxgLAL0cy4nuf1OZD4KuA1TrCiQqg0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a804fc878d7ba1558b960b4c64b0903da426ac41",
|
"rev": "b4372c4924d9182034066c823df76d6eaf1f4ec4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -16,9 +16,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"phobos": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1,
|
||||||
|
"narHash": "sha256-D7vDC0Qph0MikxxgIlCNduD1o7QfQQO5SRtGLAVwywg=",
|
||||||
|
"path": "./phobos",
|
||||||
|
"type": "path"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"path": "./phobos",
|
||||||
|
"type": "path"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs",
|
||||||
|
"phobos": "phobos"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,11 +2,14 @@
|
||||||
description = "Configuration of all remote NixOS machines.";
|
description = "Configuration of all remote NixOS machines.";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
|
phobos = {
|
||||||
|
url = "path:./phobos";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, ... }:
|
outputs = { nixpkgs, phobos, ... }: {
|
||||||
{
|
|
||||||
colmena = {
|
colmena = {
|
||||||
meta = {
|
meta = {
|
||||||
nixpkgs = import nixpkgs {
|
nixpkgs = import nixpkgs {
|
||||||
|
@ -15,7 +18,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# Remote machines
|
# Remote machines
|
||||||
phobos = (import ./phobos.nix);
|
phobos = phobos.nixosModules.default;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ modulesPath, lib, ... }:
|
|
||||||
{
|
|
||||||
imports = lib.optional (builtins.pathExists ./do-userdata.nix) ./do-userdata.nix ++ [
|
|
||||||
(modulesPath + "/virtualisation/digital-ocean-config.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
deployment.targetHost = "146.190.127.180";
|
|
||||||
|
|
||||||
networking.hostName = "phobos";
|
|
||||||
|
|
||||||
system.stateVersion = "23.11";
|
|
||||||
}
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701615100,
|
||||||
|
"narHash": "sha256-7VI84NGBvlCTduw2aHLVB62NvCiZUlALLqBe5v684Aw=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e9f06adb793d1cca5384907b3b8a4071d5d7cb19",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-23.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
description = "Phobos machine";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { nixpkgs, ... }: {
|
||||||
|
nixosModules.default = { modulesPath, lib, ... }: {
|
||||||
|
imports = lib.optional (builtins.pathExists ./do-userdata.nix) ./do-userdata.nix ++ [
|
||||||
|
(modulesPath + "/virtualisation/digital-ocean-config.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
deployment.targetHost = "146.190.127.180";
|
||||||
|
|
||||||
|
networking.hostName = "phobos";
|
||||||
|
|
||||||
|
system.stateVersion = "23.11";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue