!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

Load older messages


SenderMessageTime
31 Jan 2024
@mariosangiorgio:matrix.org@mariosangiorgio:matrix.org

I think I found my issue. To bring home-manager in scope I had to add inputs.home-manager.nixosModules.default to my import, similar to what you did to bring in sops.

Now everything builds fine, time to actually write some home manager configuration and see if it works

22:37:30
3 Feb 2024
@networkexception:chat.upi.li@networkexception:chat.upi.li changed their profile picture.11:52:08
8 Feb 2024
@qwqawawow:matrix.org98765abc joined the room.11:29:20
@pgibson:matrix.orgpgibson joined the room.23:40:05
9 Feb 2024
@pgibson:matrix.orgpgibsonHi, I'm a Nix newb and I'm trying to deploy a server to a DigitalOcean droplet with Colmena. I've got NixOS running on the droplet via a custom image. Do I need to reference/import "virtualisation/digital-ocean-image.nix" somewhere in my flake.nix?00:31:19
@pgibson:matrix.orgpgibson Oh looks like this works imports = [ (nixpkgs + "/nixos/modules/virtualisation/digital-ocean-config.nix") ]; 01:18:39
@pgibson:matrix.orgpgibsonI spent so long trying different combinations before asking, then found the solution about 10 minutes later 🤦01:19:21
@treed:zenithia.nettreed FWIW, for something similar I have imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; 01:20:07
@treed:zenithia.nettreed where modulesPath is an input to that file along with like config lib pkgs 01:20:25
@treed:zenithia.nettreedI forget where it actually comes from, but it was the solution I found at some point01:20:39
@treed:zenithia.nettreedI guess it'd only work if you're importing the file that contains that line though?01:20:56
@pgibson:matrix.orgpgibsonWhere does modulesPath come from?01:21:09
@treed:zenithia.nettreedUnsure. It comes for free though01:21:23
@treed:zenithia.nettreedhttps://nixos.org/manual/nixos/unstable/options01:21:49
@treed:zenithia.nettreedmentioned there, only defined for nixos01:21:58
@treed:zenithia.nettreedProbably not that different from what yours does in the end though01:22:38
@pgibson:matrix.orgpgibson I get error: undefined variable 'modulesPath', but maybe I'm putting it in the wrong spot 01:23:11
@treed:zenithia.nettreed It needs to be defined as an input to the file being imported, like where the file starts with { pkgs, config, ... }: 01:23:46
@pgibson:matrix.orgpgibson
      my-host = { name, nodes, pkgs, ... }: {

        imports = [
          #(nixpkgs + "/nixos/modules/virtualisation/digital-ocean-config.nix")
          (modulesPath + "/nixos/modules/virtualisation/digital-ocean-config.nix")
        ];
01:23:56
@pgibson:matrix.orgpgibsonAhh right01:24:08
@treed:zenithia.nettreedah, put it between pkgs and ...01:24:11
@treed:zenithia.nettreedIt's one of the module arguments01:25:11
@treed:zenithia.nettreed oh, and you'd want to remove /nixos/modules. I think that's included 01:25:55
@pgibson:matrix.orgpgibsonYes that's working thanks - looks a bit cleaner01:27:09
@pgibson:matrix.orgpgibsonNext question - I have a separate flake that builds a docker image that I can run that locally with podman. How do I go about deploying that as a systemd service on my droplet? 01:45:03
@treed:zenithia.nettreedDoes the flake define a service module, or something else?01:45:24
@treed:zenithia.nettreedOh, probably not.01:45:42
@pgibson:matrix.orgpgibsonNo at the moment it just builds the image01:45:50
@treed:zenithia.nettreedAssuming that the image you want is a flake output, you'd need to add it as an input to your flake, and then you can make use of its outputs however you need, presumably by putting the image in some service config. I don't have any experience with defining podman containers declaratively, so I'm not sure what the best way to handle that part would be.01:47:00
@pgibson:matrix.orgpgibson

The docker image flake is something like:

{
  description = "Some Docker image";

  outputs = { self, nixpkgs }: {
    dockerImageFor = { name, system }:

    ...

    dockerImages = {
      site1 = self.dockerImageFor (import ./site1.nix);
      site2 = self.dockerImageFor (import ./site2.nix);
    };
  };
}
01:55:25

Show newer messages


Back to Room ListRoom Version: 6