Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #94891 from gvolpe/development/tools/dconf2nix
dconf2nix: init at 0.5.0
- Loading branch information
Showing
6 changed files
with
89 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
''; | ||
}; | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters