webring/flake.nix

76 lines
1.7 KiB
Nix

{
description = "Epesooj webring and machine.";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
nil = {
url = "github:oxalica/nil";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs@{ flake-parts, nil, ... }:
flake-parts.lib.mkFlake { inherit inputs; } ({ config, getSystem, ... }: {
systems = [ "x86_64-linux" ];
imports = [
./host_config
];
flake =
let
codeServerModules = [
config.flake.nixosModules.code-server
{
networking.hostName = "epesooj-code-0001";
}
];
in
{
nixosConfigurations = {
code = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = codeServerModules;
};
};
colmena = {
meta.nixpkgs = import inputs.nixpkgs {
system = "x86_64-linux";
};
code = {
deployment = {
targetHost = "epesooj-code-0001"; # Requires an SSH config with information for this host.
};
imports = codeServerModules;
};
};
};
perSystem = { system, pkgs, ... }: {
devShells = {
default = pkgs.mkShell {
packages = with pkgs; [
just
deno
colmena
# Both of these used with VSCode.
nixpkgs-fmt
nil.packages.${system}.default
];
};
};
};
});
}