2016-09-24 11 views
5

Pracuję pod NixOS i jak dotąd kocham to.Czy usługa może być uruchamiana w powłoce nix

Dla moich projektów kodowania, staram się osiągnąć oddzielne środowiska programistyczne. Tak na przykład dla mojego projektu/node.js Scala, napisałem default.nix dla nix-shell:

with import <nixpkgs> {}; { 
    tarifs2Env = stdenv.mkDerivation { 
     name = "webapp"; 
     buildInputs = with pkgs; [ 
      sbt 
      nodejs 
      nodePackages.gulp 
     ]; 

     shellHook = '' 
     ''; 
    }; 
} 

tak daleko tak dobry. Teraz chciałbym dodać bazę danych, na przykład posgit. Czy istnieje sposób dodania usługi do powłoki nix?

Odpowiedz

3

Myślę, że https://github.com/chrisfarms/nixos-shell powinien zrobić dokładnie to, co chcesz. Nie używałem go samodzielnie, ale jak rozumiem, działa poprzez pobranie pliku configuration.nix, który opisuje usługi, które chcesz, a następnie buduje konfigurację w efemerycznym kontenerze NixOS i przenosi cię do powłoki w kontenerze.

+0

Nie wiedziałem o tym, wygląda świetnie! Dzięki. – KaC

+0

Brak aktywności po 3 latach, ale chciałbym zaproponować, że nix-shell reprezentuje bardzo minimalną formę izolacji skupiającą się na ścieżkach systemu plików, które są zależne od systemu plików (w rzeczywistości może tego nie robić, używając chroota), podczas gdy kontener nix (lub warianty tego) zaczyna izolować zasoby systemu operacyjnego (w większości przypadków potrzebne są tylko te pierwsze, aw przypadku aplikacji - te drugie). Nix-shell powinien mieć możliwość zbudowania kontenera i wrzucenia go do tego kontenera. Jedną z możliwości jest zintegrowanie z Dockerem. – CMCDragonkai

Powiązane problemy