LW
Size: a a a
b
{
url ? "https://github.com/NixOS/nixpkgs.git",
rev ? "ac05d50ffe6e11d962c979c1171a8cd43d79e574",
sha256 ? "07iyfki7qdsqa7c61lfnw0wx2pca71li9bh633v7zra84b8a0xhs",
overlays ? []
}:
let _nixpkgs = (import <nixpkgs> {});
in
(import (_nixpkgs.fetchgit { inherit url rev sha256; }) {
overlays = [
(self: super: {
postgresql = self.postgresql_12;
})
] ++ overlays ++ [
(self: super: {
postgresql = super.postgresql.overrideAttrs (super: rec {
...
});
})
];
})
v д
ля nixpkgs, а там кто-то добавил атрибут что пакет openssl устарел, и теперь никс просит меня добавить этот параметр в конфиг:xpkgs.config.permittedInsecurePackages = [Дело в том что это самостоятельная деривация и я не могу трогать configuration.nix на каждой машине где эта деривация будет деплоиться. Как из этой функции выше задать nixp
"openssl-1.0.2u"
];
kgs.config.nixpkgs.config.permittedInsecurePackages, ли
бо удалить параметр extraMeta.knownVulnerabilities из
пакета openssl? Последнее не получилось из-за ошибки рекурсии.АБ
АБ
{
url ? "https://github.com/NixOS/nixpkgs.git",
rev ? "ac05d50ffe6e11d962c979c1171a8cd43d79e574",
sha256 ? "07iyfki7qdsqa7c61lfnw0wx2pca71li9bh633v7zra84b8a0xhs",
overlays ? []
}:
let _nixpkgs = (import <nixpkgs> {});
in
(import (_nixpkgs.fetchgit { inherit url rev sha256; }) {
overlays = [
(self: super: {
postgresql = self.postgresql_12;
})
] ++ overlays ++ [
(self: super: {
postgresql = super.postgresql.overrideAttrs (super: rec {
...
});
})
];
})
v д
ля nixpkgs, а там кто-то добавил атрибут что пакет openssl устарел, и теперь никс просит меня добавить этот параметр в конфиг:xpkgs.config.permittedInsecurePackages = [Дело в том что это самостоятельная деривация и я не могу трогать configuration.nix на каждой машине где эта деривация будет деплоиться. Как из этой функции выше задать nixp
"openssl-1.0.2u"
];
kgs.config.nixpkgs.config.permittedInsecurePackages, ли
бо удалить параметр extraMeta.knownVulnerabilities из
пакета openssl? Последнее не получилось из-за ошибки рекурсии.b
args @ { repos ? [], nixpkgs_overlays ? [], verbose ? false }:
let
pkgs = (import ./lib/nixpkgs.nix { overlays = nixpkgs_overlays; });
in rec {
inherit pkgs;
SCM_PATH = ./.;
shell = (import ./shell {
inherit pkgs SCM_PATH verbose repos;
} );
}
b
АБ
АБ
args @ { repos ? [], nixpkgs_overlays ? [], verbose ? false }:
let
pkgs = (import ./lib/nixpkgs.nix { overlays = nixpkgs_overlays; });
in rec {
inherit pkgs;
SCM_PATH = ./.;
shell = (import ./shell {
inherit pkgs SCM_PATH verbose repos;
} );
}
b
nix-shell scm.nix
: {
url ? "https://github.com/NixOS/nixpkgs.git",
rev ? "ac05d50ffe6e11d962c979c1171a8cd43d79e574",
sha256 ? "07iyfki7qdsqa7c61lfnw0wx2pca71li9bh633v7zra84b8a0xhs",
overlays ? []
}:
let _nixpkgs = ( import <nixpkgs> { config.permittedInsecurePackages = [ "openssl-1.0.2u" ]; } );
in
(import (_nixpkgs.fetchgit { inherit url rev sha256; }) {
overlays = [
(self: super: {
postgresql = self.postgresql_12;
})
] ++ overlays ++ [
(self: super: {
postgresql = super.postgresql.overrideAttrs (super: rec {
# remove this patch that changes socket dir from /tmp to /run/postgresql since the latter requires root
patches = (builtins.filter (x: (builtins.baseNameOf x) != "socketdir-in-run.patch") super.patches);
# This overrides producing multiple store paths (out, lib, doc, man) instead of just one.
# Multiple store paths breaks pg_config behavior where it will output directories relative to the
# binary that was invoked (supporting relocating binaries, which we need). In particular,
# pg_config --libdir would point to the nix store path instead of our libdir, breaking support for
# installing extensions which require a mutable libdir. This also fixes pg_config --docdir,
# pg_config --htmldir, and pg_config --pkglibdir output.
outputs = [ "out" ];
configureFlags = (builtins.filter (x: x != "--libdir=$(lib)/lib") super.configureFlags) ++ [
# "--with-llvm"
"--with-python"
"--with-perl"
"--with-tcl"
"--with-segsize=16"
"--with-blocksize=8"
];
buildInputs = super.buildInputs ++ (with self; [
# clang
# llvm
perl
python
tcl
]);
});
})
];
})
АБ
АБ
{
url ? "https://github.com/NixOS/nixpkgs.git",
rev ? "ac05d50ffe6e11d962c979c1171a8cd43d79e574",
sha256 ? "07iyfki7qdsqa7c61lfnw0wx2pca71li9bh633v7zra84b8a0xhs",
overlays ? []
}:
let _nixpkgs = ( import <nixpkgs> { } );
in
(import (_nixpkgs.fetchgit { inherit url rev sha256; }) {
config.permittedInsecurePackages = [ "openssl-1.0.2u" ];
overlays = [
(self: super: {
postgresql = self.postgresql_12;
})
] ++ overlays ++ [
(self: super: {
postgresql = super.postgresql.overrideAttrs (super: rec {
# remove this patch that changes socket dir from /tmp to /run/postgresql since the latter requires root
patches = (builtins.filter (x: (builtins.baseNameOf x) != "socketdir-in-run.patch") super.patches);
# This overrides producing multiple store paths (out, lib, doc, man) instead of just one.
# Multiple store paths breaks pg_config behavior where it will output directories relative to the
# binary that was invoked (supporting relocating binaries, which we need). In particular,
# pg_config --libdir would point to the nix store path instead of our libdir, breaking support for
# installing extensions which require a mutable libdir. This also fixes pg_config --docdir,
# pg_config --htmldir, and pg_config --pkglibdir output.
outputs = [ "out" ];
configureFlags = (builtins.filter (x: x != "--libdir=$(lib)/lib") super.configureFlags) ++ [
# "--with-llvm"
"--with-python"
"--with-perl"
"--with-tcl"
"--with-segsize=16"
"--with-blocksize=8"
];
buildInputs = super.buildInputs ++ (with self; [
# clang
# llvm
perl
python
tcl
]);
});
})
];
})
b
{
url ? "https://github.com/NixOS/nixpkgs.git",
rev ? "ac05d50ffe6e11d962c979c1171a8cd43d79e574",
sha256 ? "07iyfki7qdsqa7c61lfnw0wx2pca71li9bh633v7zra84b8a0xhs",
overlays ? []
}:
let _nixpkgs = ( import <nixpkgs> { } );
in
(import (_nixpkgs.fetchgit { inherit url rev sha256; }) {
config.permittedInsecurePackages = [ "openssl-1.0.2u" ];
overlays = [
(self: super: {
postgresql = self.postgresql_12;
})
] ++ overlays ++ [
(self: super: {
postgresql = super.postgresql.overrideAttrs (super: rec {
# remove this patch that changes socket dir from /tmp to /run/postgresql since the latter requires root
patches = (builtins.filter (x: (builtins.baseNameOf x) != "socketdir-in-run.patch") super.patches);
# This overrides producing multiple store paths (out, lib, doc, man) instead of just one.
# Multiple store paths breaks pg_config behavior where it will output directories relative to the
# binary that was invoked (supporting relocating binaries, which we need). In particular,
# pg_config --libdir would point to the nix store path instead of our libdir, breaking support for
# installing extensions which require a mutable libdir. This also fixes pg_config --docdir,
# pg_config --htmldir, and pg_config --pkglibdir output.
outputs = [ "out" ];
configureFlags = (builtins.filter (x: x != "--libdir=$(lib)/lib") super.configureFlags) ++ [
# "--with-llvm"
"--with-python"
"--with-perl"
"--with-tcl"
"--with-segsize=16"
"--with-blocksize=8"
];
buildInputs = super.buildInputs ++ (with self; [
# clang
# llvm
perl
python
tcl
]);
});
})
];
})
АБ
АБ
АБ
_nixpkgs
тебе вообще не нужен, он отбрасывается после того, как скачивает твой настоящий nixpkgsАБ
builtins.fetchurl
или builtins.fetchTarball