mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-26 21:33:03 +03:00
dconf2nix: init at 0.5.0
This commit is contained in:
parent
04989d7f8b
commit
b987a31379
@ -10,6 +10,8 @@ self: super: {
|
|||||||
multi-ghc-travis = throw ("haskellPackages.multi-ghc-travis has been renamed"
|
multi-ghc-travis = throw ("haskellPackages.multi-ghc-travis has been renamed"
|
||||||
+ " to haskell-ci, which is now on hackage");
|
+ " to haskell-ci, which is now on hackage");
|
||||||
|
|
||||||
|
dconf2nix = self.callPackage ../tools/haskell/dconf2nix/dconf2nix.nix { };
|
||||||
|
|
||||||
# https://github.com/channable/vaultenv/issues/1
|
# https://github.com/channable/vaultenv/issues/1
|
||||||
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
||||||
|
|
||||||
|
21
pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix
Normal file
21
pkgs/development/tools/haskell/dconf2nix/dconf2nix.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{ mkDerivation, base, containers, fetchgit, optparse-applicative
|
||||||
|
, parsec, stdenv, text
|
||||||
|
}:
|
||||||
|
mkDerivation {
|
||||||
|
pname = "dconf2nix";
|
||||||
|
version = "0.0.5";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/gvolpe/dconf2nix.git";
|
||||||
|
sha256 = "0immbx4bgfq3xmbbrpw441nx0sdpm4cp64s7qbvcbvllp4gbivpg";
|
||||||
|
rev = "848ff9966db21c66e61a19c04ab6dfc9270eb78e";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
isLibrary = true;
|
||||||
|
isExecutable = true;
|
||||||
|
libraryHaskellDepends = [
|
||||||
|
base containers optparse-applicative parsec text
|
||||||
|
];
|
||||||
|
executableHaskellDepends = [ base ];
|
||||||
|
description = "Convert dconf files to Nix, as expected by Home Manager";
|
||||||
|
license = stdenv.lib.licenses.asl20;
|
||||||
|
}
|
32
pkgs/development/tools/haskell/dconf2nix/default.nix
Normal file
32
pkgs/development/tools/haskell/dconf2nix/default.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{ haskell, haskellPackages, lib, runCommand }:
|
||||||
|
|
||||||
|
let
|
||||||
|
dconf2nix =
|
||||||
|
haskell.lib.justStaticExecutables
|
||||||
|
(haskell.lib.overrideCabal haskellPackages.dconf2nix (oldAttrs: {
|
||||||
|
maintainers = (oldAttrs.maintainers or []) ++ [
|
||||||
|
lib.maintainers.gvolpe
|
||||||
|
];
|
||||||
|
}));
|
||||||
|
in
|
||||||
|
|
||||||
|
dconf2nix.overrideAttrs (oldAttrs: {
|
||||||
|
passthru = (oldAttrs.passthru or {}) // {
|
||||||
|
updateScript = ./update.sh;
|
||||||
|
|
||||||
|
# These tests can be run with the following command.
|
||||||
|
#
|
||||||
|
# $ nix-build -A dconf2nix.passthru.tests
|
||||||
|
tests =
|
||||||
|
runCommand
|
||||||
|
"dconf2nix-tests"
|
||||||
|
{
|
||||||
|
nativeBuildInputs = [
|
||||||
|
dconf2nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
''
|
||||||
|
dconf2nix > $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
})
|
26
pkgs/development/tools/haskell/dconf2nix/update.sh
Executable file
26
pkgs/development/tools/haskell/dconf2nix/update.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#!nix-shell -i bash -p cabal2nix curl jq
|
||||||
|
#
|
||||||
|
# This script will update the dconf2nix derivation to the latest version using
|
||||||
|
# cabal2nix.
|
||||||
|
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
# This is the directory of this update.sh script.
|
||||||
|
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
|
# dconf2nix derivation created with cabal2nix.
|
||||||
|
dconf2nix_derivation_file="${script_dir}/dconf2nix.nix"
|
||||||
|
|
||||||
|
# This is the current revision of dconf2nix in Nixpkgs.
|
||||||
|
old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$dconf2nix_derivation_file")"
|
||||||
|
|
||||||
|
# This is the latest release version of dconf2nix on GitHub.
|
||||||
|
new_version=$(curl --silent "https://api.github.com/repos/gvolpe/dconf2nix/releases" | jq '.[0].tag_name' --raw-output)
|
||||||
|
|
||||||
|
echo "Updating dconf2nix from old version $old_version to new version $new_version."
|
||||||
|
echo "Running cabal2nix and outputting to ${dconf2nix_derivation_file}..."
|
||||||
|
|
||||||
|
cabal2nix --revision "$new_version" "https://github.com/gvolpe/dconf2nix.git" > "$dconf2nix_derivation_file"
|
||||||
|
|
||||||
|
echo "Finished."
|
@ -2921,6 +2921,8 @@ in
|
|||||||
|
|
||||||
dclxvi = callPackage ../development/libraries/dclxvi { };
|
dclxvi = callPackage ../development/libraries/dclxvi { };
|
||||||
|
|
||||||
|
dconf2nix = callPackage ../development/tools/haskell/dconf2nix { };
|
||||||
|
|
||||||
dcraw = callPackage ../tools/graphics/dcraw { };
|
dcraw = callPackage ../tools/graphics/dcraw { };
|
||||||
|
|
||||||
dcfldd = callPackage ../tools/system/dcfldd { };
|
dcfldd = callPackage ../tools/system/dcfldd { };
|
||||||
|
Loading…
Reference in New Issue
Block a user