forked from DGNum/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
3 changed files with 53 additions and 0 deletions
19
modules/schnapps/default.nix
Normal file
19
modules/schnapps/default.nix
Normal file
|
@ -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 {};
|
run-liminix-vm = callPackage ./run-liminix-vm {};
|
||||||
s6-init-bin = callPackage ./s6-init-bin {};
|
s6-init-bin = callPackage ./s6-init-bin {};
|
||||||
s6-rc-database = callPackage ./s6-rc-database {};
|
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 {};
|
serviceFns = callPackage ./service-fns {};
|
||||||
swconfig = callPackage ./swconfig {};
|
swconfig = callPackage ./swconfig {};
|
||||||
systemconfig = callPackage ./systemconfig {};
|
systemconfig = callPackage ./systemconfig {};
|
||||||
|
|
27
pkgs/schnapps/default.nix
Normal file
27
pkgs/schnapps/default.nix
Normal file
|
@ -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 a new issue