forked from dan/liminix
add turris "schnapps" tool
in its current state this is useful for turris omnia only, but will allow us to do installs and rollback to turris os if needed.
This commit is contained in:
parent
64898eada8
commit
2a93f24a58
|
@ -0,0 +1,19 @@
|
|||
{ config, pkgs, lib, ... } :
|
||||
{
|
||||
config = {
|
||||
programs.busybox = {
|
||||
options = {
|
||||
# schnapps is a shell script that needs
|
||||
# [ command
|
||||
# find -maxdepth -mindepth
|
||||
# head -c
|
||||
# echo -n
|
||||
ASH_TEST = "y";
|
||||
FEATURE_FIND_MAXDEPTH = "y";
|
||||
FEATURE_FANCY_HEAD = "y";
|
||||
FEATURE_FANCY_ECHO = "y";
|
||||
};
|
||||
};
|
||||
defaultProfile.packages = [ pkgs.schnapps ] ;
|
||||
};
|
||||
}
|
|
@ -92,6 +92,13 @@ in {
|
|||
run-liminix-vm = callPackage ./run-liminix-vm {};
|
||||
s6-init-bin = callPackage ./s6-init-bin {};
|
||||
s6-rc-database = callPackage ./s6-rc-database {};
|
||||
|
||||
# schnapps is written by Turris and provides a high-level interface
|
||||
# to btrfs snapshots. It may be useful on the Turris Omnia to
|
||||
# install Liminix while retaining the ability to rollback to the
|
||||
# vendor OS, or even to derisk Liminix updates on that device
|
||||
schnapps = callPackage ./schnapps {};
|
||||
|
||||
serviceFns = callPackage ./service-fns {};
|
||||
swconfig = callPackage ./swconfig {};
|
||||
systemconfig = callPackage ./systemconfig {};
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
stdenv
|
||||
, fetchFromGitLab
|
||||
, makeWrapper
|
||||
, btrfs-progs
|
||||
, lib
|
||||
}:
|
||||
let search_path = lib.makeBinPath [btrfs-progs];
|
||||
in stdenv.mkDerivation {
|
||||
pname = "schnapps";
|
||||
version = "2.13.0";
|
||||
|
||||
src =fetchFromGitLab {
|
||||
domain = "gitlab.nic.cz";
|
||||
owner = "turris";
|
||||
repo = "schnapps";
|
||||
rev = "53ac92c765d670be4b98dba2c948859a9ac7607f";
|
||||
hash = "sha256-yVgXK+V2wrcOPLB6X6qm3hyBcWcyzNhfJjFF7YRk5Lc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildPhase = ":";
|
||||
installPhase = ''
|
||||
install -D schnapps.sh $out/bin/schnapps
|
||||
wrapProgram $out/bin/schnapps --prefix PATH : "${search_path}"
|
||||
'';
|
||||
}
|
Loading…
Reference in New Issue