!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

Load older messages


SenderMessageTime
23 May 2023
@hedonhermdev0:matrix.orgTirth Jain joined the room.02:21:12
24 May 2023
@tim92:matrix.orgtim
In reply to @julian:nekover.se
That makes sense, thanks!
What I'm wondering now, is how to make sure my systems are up-to-date then. Some kind of automated deployment from some deployment system, which automatically updates the flake.lock?
What are you all doing?
I stole this github action from some other repo and put it into all my flake repos
04:49:15
@networkexception:chat.upi.li@networkexception:chat.upi.li joined the room.08:46:27
25 May 2023
@raitobezarius:matrix.orgraitobezarius changed their display name from raitobezarius to disko in NixOS 23.11 when.13:32:34
@raitobezarius:matrix.orgraitobezarius changed their display name from disko in NixOS 23.11 when to raitobezarius.13:37:36
26 May 2023
@pacien:pacien.net@pacien:pacien.net left the room.18:50:55
27 May 2023
@cw:kernelpanic.cafeChinchilla Optional changed their profile picture.16:31:28
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.16:40:46
28 May 2023
@yuu:matrix.orgYuu YinRedacted or Malformed Event20:34:54
30 May 2023
@the_observer:fairydust.space@the_observer:fairydust.space joined the room.17:25:38
@the_observer:fairydust.space@the_observer:fairydust.space

Hey,
how do I reference another option when using colmena? I want to set the dhparams path for the nginx service to the value of the security.dhparams.params.nginx.pathoption (which is readOnly anyways).

In nixos, that would be config.. I tried that host. and config.host. but it doesnt work like that.

17:28:33
@zhaofeng:zhaofeng.liZhaofeng LiIt definitely should work. What does your config look like?17:29:26
@the_observer:fairydust.space@the_observer:fairydust.space
In reply to @zhaofeng:zhaofeng.li
It definitely should work. What does your config look like?
Just using config. or how?
17:30:13
@zhaofeng:zhaofeng.liZhaofeng LiYes17:30:20
@the_observer:fairydust.space@the_observer:fairydust.space
{
  meta = {
    *shortened*
  };

  defaults = { pkgs, ... }: {
      *shortened*
  };

  web = {
    networking  = {
      hostName = "web";
      defaultGateway = "10.2.0.1";
      interfaces.eth0.ipv4.addresses = [ {
        address = "10.2.1.201";
        prefixLength = 16;
      } ];
    };

    deployment = {
      targetHost = "10.2.1.201";
      tags = [ "lxc" ];
    };
    boot.isContainer = true;
    systemd.suppressedSystemUnits = [
      "dev-mqueue.mount"
      "sys-kernel-debug.mount"
      "sys-fs-fuse-connections.mount"
    ];

    security = {
      dhparams = {
        enable = true;
        stateful = true;
        path = "/etc/dhparams";
        params.nginx = {
          bits = 4096;
        };
      };
    };

    services = {
      nginx = {
        enable =  true;
        sslDhparam = config.security.dhparams.params.nginx.path;
      };
    };
  };

}


This config gives error: undefined variable 'config'

17:33:36
@zhaofeng:zhaofeng.liZhaofeng Li

Do it like:

web = { pkgs, config, ... }: {
  networking = { ... };
};

or better,

web = ./web.nix; # which contains a lambda that takes { pkgs, config, ... }
17:34:50
@zhaofeng:zhaofeng.liZhaofeng LiFor each node you are passing a NixOS module17:35:21
@the_observer:fairydust.space@the_observer:fairydust.spaceThank you! :)17:38:51
@zhaofeng:zhaofeng.liZhaofeng Li

Note they are just regular NixOS modules, which means you can do

mkdir hosts
cp -r /etc/nixos ./hosts/web

And then

web = ./hosts/web/configuration.nix;
17:42:06
1 Jun 2023
@raphi:tapesoftware.netraphi changed their display name from raphi to raphi (element unread channel fix when).13:03:27
@solomon:cofree.coffee@solomon:cofree.coffee joined the room.18:38:18
2 Jun 2023
@alpha-centauri:matrix.orgAlexander joined the room.16:43:44
@alpha-centauri:matrix.orgAlexander

Hi there.
Have a question about nixpkgs per node inside a flake. I'm trying following configuration likewise in manual for a hive:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/7076110064c09f0b3942f609f2134c1358ef2e50";
  };

  outputs = { nixpkgs, ... }: {
    colmena = {
      meta = {
        nixpkgs = import nixpkgs {
          system = "x86_64-linux";
          overlays = [];
        };

        nodeNixpkgs.desktop = ./nixpkgs-23.05;
      };

      desktop = import ./desktop.nix;
    };
  };
}

But it does not work:

error: Passing a path to Nixpkgs as meta.nodeNixpkgs.pc is no longer accepted with Flakes.
       Please initialize Nixpkgs like the following:

       {
         # ...
         outputs = { nixpkgs, ... }: {
           colmena = {
             meta.nodeNixpkgs.pc = import nixpkgs {
               system = "x86_64-linux"; # Set your desired system here
               overlays = [];
             };
           };
         };
       }

Is it possible somehow to pin specific version of nixpkgs for a host in flake configuration?

16:53:06
@alpha-centauri:matrix.orgAlexander *

Hi there.
Have a question about nixpkgs per node inside a flake. I'm trying following configuration likewise in manual for a hive:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/7076110064c09f0b3942f609f2134c1358ef2e50";
  };

  outputs = { nixpkgs, ... }: {
    colmena = {
      meta = {
        nixpkgs = import nixpkgs {
          system = "x86_64-linux";
          overlays = [];
        };

        nodeNixpkgs.desktop = ./nixpkgs-23.05;
      };

      desktop = import ./desktop.nix;
    };
  };
}

But it does not work:

error: Passing a path to Nixpkgs as meta.nodeNixpkgs.pc is no longer accepted with Flakes.
       Please initialize Nixpkgs like the following:

       {
         # ...
         outputs = { nixpkgs, ... }: {
           colmena = {
             meta.nodeNixpkgs.desktop = import nixpkgs {
               system = "x86_64-linux"; # Set your desired system here
               overlays = [];
             };
           };
         };
       }

Is it possible somehow to pin specific version of nixpkgs for a host in flake configuration?

16:53:51
@zhaofeng:zhaofeng.liZhaofeng Li nodeNixpkgs.desktop has to be an initialized package set (see the error message), not a path 17:00:00
@zhaofeng:zhaofeng.liZhaofeng Li It accepts the exact type as meta.nixpkgs 17:00:18
@alpha-centauri:matrix.orgAlexander

There is only example for hive.nix:

    nodeNixpkgs = {
      node-b = ./another-nixos-checkout;
    };

I cannot find out where I should place a path to a nixpkgs when using flake

17:04:21
@zhaofeng:zhaofeng.liZhaofeng LiJust copy the nixpkgs pinning your have above17:05:27
@zhaofeng:zhaofeng.liZhaofeng LiBut there is no need to pin separately when it's the only node17:05:37
@zhaofeng:zhaofeng.liZhaofeng Li * Just copy the nixpkgs pinning you have above17:05:45

Show newer messages


Back to Room ListRoom Version: 6