Merge pull request #94891 from gvolpe/development/tools/dconf2nix
dconf2nix: init at 0.5.0
This commit is contained in:
commit
1ae9ecf3b4
6 changed files with 89 additions and 0 deletions
|
@ -3230,6 +3230,12 @@
|
|||
githubId = 6768842;
|
||||
name = "Joris Guyonvarch";
|
||||
};
|
||||
gvolpe = {
|
||||
email = "volpegabriel@gmail.com";
|
||||
github = "gvolpe";
|
||||
githubId = 443978;
|
||||
name = "Gabriel Volpe";
|
||||
};
|
||||
hakuch = {
|
||||
email = "hakuch@gmail.com";
|
||||
github = "hakuch";
|
||||
|
|
|
@ -10,6 +10,8 @@ self: super: {
|
|||
multi-ghc-travis = throw ("haskellPackages.multi-ghc-travis has been renamed"
|
||||
+ " to haskell-ci, which is now on hackage");
|
||||
|
||||
dconf2nix = self.callPackage ../tools/haskell/dconf2nix/dconf2nix.nix { };
|
||||
|
||||
# https://github.com/channable/vaultenv/issues/1
|
||||
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."
|
|
@ -2931,6 +2931,8 @@ in
|
|||
|
||||
dclxvi = callPackage ../development/libraries/dclxvi { };
|
||||
|
||||
dconf2nix = callPackage ../development/tools/haskell/dconf2nix { };
|
||||
|
||||
dcraw = callPackage ../tools/graphics/dcraw { };
|
||||
|
||||
dcfldd = callPackage ../tools/system/dcfldd { };
|
||||
|
|
Loading…
Reference in a new issue