!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

313 Members
A simple, stateless NixOS deployment tool - https://github.com/zhaofengli/colmena105 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
31 Dec 2023
@hexa:lossy.networkhexanpkgs is probably the node nixpkgs?01:37:20
@hexa:lossy.networkhexa
let
  sources = import ./nix/sources.nix;

  defaultSystem = "x86_64-linux";
  defaultPkgs = sources."nixos-23.11";

  lib = import (defaultPkgs + "/lib");

  machines = {
    "archive.darmstadt.ccc.de" = {};
    "bitwarden.darmstadt.ccc.de" = {};
    "md.darmstadt.ccc.de" = {};
    "monitoring.darmstadt.ccc.de" = {};
    "mx1.darmstadt.ccc.de" = {
      system = "aarch64-linux";
    };
    "proxmox.darmstadt.ccc.de" = {};
    "sso1.darmstadt.ccc.de" = {};
    "sso2.darmstadt.ccc.de" = {};
    "todo.darmstadt.ccc.de" = {};
    "wiki.darmstadt.ccc.de" = {};
  };

  # per machine entrypoint
  mkMachine = hostName: {
    system ? defaultSystem,
    packages ? defaultPkgs,
    ...
  }: {
    imports = [
      ./common.nix
      ./machines/${hostName}
    ];

    nixpkgs = {
      inherit system;
    };
  };

in

{
  meta = {
    # https://colmena.cli.rs/unstable/tutorial/index.html#basic-configuration
    nixpkgs = import defaultPkgs {};

    # Allow overriding package set and system architecture per machine
    nodeNixpkgs = lib.mapAttrs (hostName: {
      packages ? defaultPkgs,
      system ? defaultSystem,
      ...
    }: (import packages { inherit system; }))
    machines;
  };

}
// lib.mapAttrs mkMachine machines
01:37:47
@hexa:lossy.networkhexa *
let
  sources = import ./nix/sources.nix;

  defaultSystem = "x86_64-linux";
  defaultPkgs = sources."nixos-23.11";

  lib = import (defaultPkgs + "/lib");

  machines = {
    "archive.darmstadt.ccc.de" = {};
    "bitwarden.darmstadt.ccc.de" = {};
    "md.darmstadt.ccc.de" = {};
    "monitoring.darmstadt.ccc.de" = {};
    "mx1.darmstadt.ccc.de" = {
      system = "aarch64-linux";
    };
    "proxmox.darmstadt.ccc.de" = {};
    "sso1.darmstadt.ccc.de" = {};
    "sso2.darmstadt.ccc.de" = {};
    "todo.darmstadt.ccc.de" = {};
    "wiki.darmstadt.ccc.de" = {};
  };

  # per machine entrypoint
  mkMachine = hostName: {
    system ? defaultSystem,
    packages ? defaultPkgs,
    ...
  }: {
    imports = [
      ./common.nix
      ./machines/${hostName}
    ];

    nixpkgs = {
      inherit system;
    };
  };

in

{
  meta = {
    # https://colmena.cli.rs/unstable/tutorial/index.html#basic-configuration
    nixpkgs = import defaultPkgs {};

    # Allow overriding package set and system architecture per machine
    nodeNixpkgs = lib.mapAttrs (hostName: {
      packages ? defaultPkgs,
      system ? defaultSystem,
      ...
    }: (import packages { inherit system; }))
    machines;
  };

}
// lib.mapAttrs mkMachine machines
01:37:49
@hexa:lossy.networkhexa this is the hive.nix 01:37:55
@raitobezarius:matrix.orgraitobezarius shoudln't this be localSystem ? 01:46:39
@raitobezarius:matrix.orgraitobezarius or crossSystem ? 01:46:42
@hexa:lossy.networkhexain L52?01:47:03
@raitobezarius:matrix.orgraitobezariusL3601:47:10
@raitobezarius:matrix.orgraitobezariusand L52 too01:47:14
@raitobezarius:matrix.orgraitobezariusbut I think it works01:47:17
@raitobezarius:matrix.orgraitobezariuslocalSystem works too for me01:47:26
@raitobezarius:matrix.orgraitobezarius I wonder if it could have an effect to use the system rather than localSystem 01:47:39
@raitobezarius:matrix.orgraitobezariusin the rest of the machinery01:47:43

Show newer messages


Back to Room ListRoom Version: 6