Initial commit
This commit is contained in:
47
pinned/default.nix
Normal file
47
pinned/default.nix
Normal file
@@ -0,0 +1,47 @@
|
||||
{ lib, pkgs, ... }:
|
||||
with builtins;
|
||||
rec {
|
||||
|
||||
vpsadminos_spec = builtins.fromJSON (builtins.readFile ./pinned/vpsadminos.json);
|
||||
vpsadminosGit = trace vpsadminos_spec pkgs.fetchgit {
|
||||
inherit (vpsadminos_spec) url rev sha256;
|
||||
leaveDotGit = true;
|
||||
};
|
||||
# if you need to build directly from git for testing
|
||||
# - uses filterSource to get rid of .git and a custom filter to exclude possible disk images
|
||||
/*
|
||||
vpsadminosGit = builtins.filterSource (p: t:
|
||||
lib.cleanSourceFilter p t
|
||||
&& (!lib.hasSuffix "img" (baseNameOf p))
|
||||
&& (baseNameOf p != "local.nix")
|
||||
) ../../git/vpsadminos;
|
||||
*/
|
||||
|
||||
nixpkgsVpsFree_spec = builtins.fromJSON (builtins.readFile ./pinned/nixpkgs-vpsfreecz.json);
|
||||
|
||||
nixpkgsVpsFreeGit = pkgs.fetchgit {
|
||||
inherit (nixpkgsVpsFree_spec) url rev sha256;
|
||||
leaveDotGit = true;
|
||||
};
|
||||
|
||||
nixpkgsVpsFree = import nixpkgsVpsFreeGit {};
|
||||
|
||||
vpsadminos = {modules ? []}:
|
||||
let
|
||||
# this is fed into scopedImport so vpsadminos sees correct <nixpkgs> everywhere
|
||||
overrides = {
|
||||
__nixPath = [ { prefix = "nixpkgs"; path = nixpkgsVpsFree.path; } ] ++ builtins.nixPath;
|
||||
import = fn: scopedImport overrides fn;
|
||||
scopedImport = attrs: fn: scopedImport (overrides // attrs) fn;
|
||||
builtins = builtins // overrides;
|
||||
};
|
||||
in
|
||||
builtins.scopedImport overrides (vpsadminosGit + "/os/") {
|
||||
nixpkgs = nixpkgsVpsFree.path;
|
||||
system = "x86_64-linux";
|
||||
extraModules = modules;
|
||||
vpsadmin = vpsadminGit;
|
||||
};
|
||||
|
||||
vpsadminosBuild = {modules ? []}: (vpsadminos { inherit modules; }).config.system.build;
|
||||
}
|
||||
7
pinned/nixpkgs-vpsfreecz.json
Normal file
7
pinned/nixpkgs-vpsfreecz.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/vpsfreecz/nixpkgs",
|
||||
"rev": "f33f79e01a14b9698637ce26c72ff92a6a2057ba",
|
||||
"date": "2018-07-14T19:32:30+02:00",
|
||||
"sha256": "0yv3zl6dmw8frgdblscyckxqxfgh44n0s5j9f3h7hbm704yn0g76",
|
||||
"fetchSubmodules": true
|
||||
}
|
||||
2
pinned/pin_nixpkgs_vpsfree
Executable file
2
pinned/pin_nixpkgs_vpsfree
Executable file
@@ -0,0 +1,2 @@
|
||||
nix-prefetch-git --leave-dotGit https://github.com/vpsfreecz/nixpkgs $1 > nixpkgs-vpsfreecz.json
|
||||
cat nixpkgs-vpsfreecz.json
|
||||
2
pinned/pin_vpsadminos
Executable file
2
pinned/pin_vpsadminos
Executable file
@@ -0,0 +1,2 @@
|
||||
nix-prefetch-git --leave-dotGit https://github.com/vpsfreecz/vpsadminos $1 > vpsadminos.json
|
||||
cat vpsadminos.json
|
||||
7
pinned/vpsadminos.json
Normal file
7
pinned/vpsadminos.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"url": "https://github.com/vpsfreecz/vpsadminos",
|
||||
"rev": "5de1aee04cb5a88887a4e6db582ef9cd6f3542aa",
|
||||
"date": "2018-08-02T02:36:34+02:00",
|
||||
"sha256": "0mbc4c5958ny9l8wfk2nv5jai0a3dxd37nnfkrhjj0i1hlgljg47",
|
||||
"fetchSubmodules": true
|
||||
}
|
||||
Reference in New Issue
Block a user