this post was submitted on 21 Feb 2024
16 points (100.0% liked)

nixos

1233 readers
1 users here now

All about NixOS - https://nixos.org/

founded 4 years ago
 

Hi, sorry if that title isn't very clear. I just started learning about nix a couple days ago; I'll explain what I mean.

I'm trying to set up a web application that I'm currently hosting with Docker containers, but do it with nix instead, like what's shown in this blog post: https://carjorvaz.com/posts/the-holy-grail-nextcloud-setup-made-easy-by-nixos/

However, I don't have NixOS on my server. I'm using Debian, with the nix package manager installed.

Is it possible to use a nix config file, like the one below, when only using the nix package manager? Currently it errors when I try to call nix-build with it, giving an error about calling a lambda function that never called self. If I remove the self argument, it complains about config, and so on.

{ self, config, lib, pkgs, ... }:

{
  services = {
    nextcloud = {
      enable = true;
      hostName = "cloud.example.com";

      package = pkgs.nextcloud27;

      # Let NixOS install and configure the database automatically.
      database.createLocally = true;

      # Let NixOS install and configure Redis caching automatically.
      configureRedis = true;

      < other settings here... >
    };
  };
}

From what I've read, the services part of that creates systemd services, which makes me think that it only works if you're on a full NixOS system and not only using the nix package manager. But it's been difficult to find a clear answer on that, probably because I'm still learning what terms to search for.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 6 months ago

Thanks, that makes sense. When I saw the error about how self and config weren't being passed in, I assumed those must be values that NixOS gives you, not the plain package manager.

I saw a blog post a while ago that said you can basically get all the benefits of NixOS just by using the package manager. Sounds like that's not so true, although the package manager is definitely very cool by itself.