surf e st já estão empacotados ( aqui e aqui ) em nixpkgs
uma das coisas que eu amo nix é a possibilidade de sobrescrever qualquer passo no processo de compilação, o que significa que você pode mudar a fonte do código (por exemplo: src
attribute).
apenas para um exemplo, digamos que você clonou o surf em /path/to/surf
. um arquivo default.nix
que substituiria src
, mas usou todos os outros passos de compilação:
{ pkgs ? import <nixpkgs> {}
}:
pkgs.surf.overrideDerivation (old: {
src = /path/to/surf;
})
acima, você criaria usando nix-build default.nix
Outra maneira que você também pode usar é usar nix-shell
. nix-shell
é uma ferramenta que o colocaria no ambiente nix, não executando as etapas nix build, mas todas as dependências (buildInputs, propagatedBuildInputs) estarão disponíveis para você. para saber mais sobre nix-shell
, leia aqui .
para usar nix-shell
que você pode fazer:
% cd /path/where/above/mentioned/default.nix/is
% nix-shell
ou você pode trabalhar no clone do nixpkgs
% cd /path/to/nixpkgs
... here edit file pkgs/applications/misc/st/default.nix
% nix-build -A st # to build st
% nix-shell -A st # to enter development environment
espero que acima ajuda.