mirror of
https://github.com/nix-community/home-manager
synced 2024-11-23 11:39:46 +01:00
* Revert "i3status-rust: satisfy new 0.31 TOML output requirements (#3938)"
This reverts commit 0e4c33d760
.
* i3status-rust: assertion for unsupported versions
This commit is contained in:
parent
990b82ecd3
commit
6fc82e5697
8 changed files with 32 additions and 23 deletions
|
@ -6,18 +6,7 @@ let
|
||||||
|
|
||||||
cfg = config.programs.i3status-rust;
|
cfg = config.programs.i3status-rust;
|
||||||
|
|
||||||
settingsFormat = pkgs.formats.toml { } // {
|
settingsFormat = pkgs.formats.toml { };
|
||||||
# Since 0.31, the "block" key has to be first in the TOML output.
|
|
||||||
generate = name: value:
|
|
||||||
pkgs.runCommand name {
|
|
||||||
nativeBuildInputs = [ pkgs.jq pkgs.remarshal ];
|
|
||||||
value = builtins.toJSON value;
|
|
||||||
passAsFile = [ "value" ];
|
|
||||||
} ''
|
|
||||||
jq '.block |= map({block: .block} + del(.block))' "$valuePath" \
|
|
||||||
| json2toml --preserve-key-order > "$out"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
meta.maintainers = with lib.maintainers; [ farlion thiagokokada ];
|
meta.maintainers = with lib.maintainers; [ farlion thiagokokada ];
|
||||||
|
@ -248,6 +237,12 @@ in {
|
||||||
assertions = [
|
assertions = [
|
||||||
(hm.assertions.assertPlatform "programs.i3status-rust" pkgs
|
(hm.assertions.assertPlatform "programs.i3status-rust" pkgs
|
||||||
platforms.linux)
|
platforms.linux)
|
||||||
|
{
|
||||||
|
assertion = lib.versionOlder cfg.package.version "0.31.0"
|
||||||
|
|| lib.versionAtLeast cfg.package.version "0.31.2";
|
||||||
|
message =
|
||||||
|
"Only i3status-rust <0.31.0 or ≥0.31.2 is supported due to a config format incompatibility.";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = [ cfg.package ];
|
home.packages = [ cfg.package ];
|
||||||
|
|
|
@ -4,4 +4,5 @@
|
||||||
i3status-rust-with-extra-settings = ./with-extra-settings.nix;
|
i3status-rust-with-extra-settings = ./with-extra-settings.nix;
|
||||||
i3status-rust-with-multiple-bars = ./with-multiple-bars.nix;
|
i3status-rust-with-multiple-bars = ./with-multiple-bars.nix;
|
||||||
i3status-rust-with-version-02xx = ./with-version-02xx.nix;
|
i3status-rust-with-version-02xx = ./with-version-02xx.nix;
|
||||||
|
i3status-rust-with-version-0311 = ./with-version-0311.nix;
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,12 +105,12 @@
|
||||||
${
|
${
|
||||||
pkgs.writeText "i3status-rust-expected-config" ''
|
pkgs.writeText "i3status-rust-expected-config" ''
|
||||||
[[block]]
|
[[block]]
|
||||||
|
alert = 10.0
|
||||||
block = "disk_space"
|
block = "disk_space"
|
||||||
alert = 10
|
|
||||||
info_type = "available"
|
info_type = "available"
|
||||||
interval = 60
|
interval = 60
|
||||||
path = "/"
|
path = "/"
|
||||||
warning = 20
|
warning = 20.0
|
||||||
|
|
||||||
[[block]]
|
[[block]]
|
||||||
block = "memory"
|
block = "memory"
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
config = {
|
config = {
|
||||||
programs.i3status-rust = { enable = true; };
|
programs.i3status-rust = { enable = true; };
|
||||||
|
|
||||||
test.stubs.i3status-rust = { version = "0.30.0"; };
|
test.stubs.i3status-rust = { version = "0.31.2"; };
|
||||||
|
|
||||||
nmt.script = ''
|
nmt.script = ''
|
||||||
assertFileExists home-files/.config/i3status-rust/config-default.toml
|
assertFileExists home-files/.config/i3status-rust/config-default.toml
|
||||||
|
@ -12,12 +12,12 @@
|
||||||
${
|
${
|
||||||
pkgs.writeText "i3status-rust-expected-config" ''
|
pkgs.writeText "i3status-rust-expected-config" ''
|
||||||
[[block]]
|
[[block]]
|
||||||
|
alert = 10.0
|
||||||
block = "disk_space"
|
block = "disk_space"
|
||||||
alert = 10
|
|
||||||
info_type = "available"
|
info_type = "available"
|
||||||
interval = 60
|
interval = 60
|
||||||
path = "/"
|
path = "/"
|
||||||
warning = 20
|
warning = 20.0
|
||||||
|
|
||||||
[[block]]
|
[[block]]
|
||||||
block = "memory"
|
block = "memory"
|
||||||
|
|
|
@ -115,12 +115,12 @@
|
||||||
${
|
${
|
||||||
pkgs.writeText "i3status-rust-expected-config" ''
|
pkgs.writeText "i3status-rust-expected-config" ''
|
||||||
[[block]]
|
[[block]]
|
||||||
|
alert = 10.0
|
||||||
block = "disk_space"
|
block = "disk_space"
|
||||||
alert = 10
|
|
||||||
info_type = "available"
|
info_type = "available"
|
||||||
interval = 60
|
interval = 60
|
||||||
path = "/"
|
path = "/"
|
||||||
warning = 20
|
warning = 20.0
|
||||||
|
|
||||||
[[block]]
|
[[block]]
|
||||||
block = "memory"
|
block = "memory"
|
||||||
|
|
|
@ -54,11 +54,11 @@
|
||||||
${
|
${
|
||||||
pkgs.writeText "i3status-rust-expected-config" ''
|
pkgs.writeText "i3status-rust-expected-config" ''
|
||||||
[[block]]
|
[[block]]
|
||||||
|
alert = 10.0
|
||||||
block = "disk_space"
|
block = "disk_space"
|
||||||
alert = 10
|
|
||||||
info_type = "available"
|
info_type = "available"
|
||||||
interval = 60
|
interval = 60
|
||||||
warning = 20
|
warning = 20.0
|
||||||
|
|
||||||
[[block]]
|
[[block]]
|
||||||
block = "memory"
|
block = "memory"
|
||||||
|
|
|
@ -14,12 +14,12 @@
|
||||||
icons = "none"
|
icons = "none"
|
||||||
theme = "plain"
|
theme = "plain"
|
||||||
[[block]]
|
[[block]]
|
||||||
|
alert = 10.0
|
||||||
block = "disk_space"
|
block = "disk_space"
|
||||||
alert = 10
|
|
||||||
info_type = "available"
|
info_type = "available"
|
||||||
interval = 60
|
interval = 60
|
||||||
path = "/"
|
path = "/"
|
||||||
warning = 20
|
warning = 20.0
|
||||||
|
|
||||||
[[block]]
|
[[block]]
|
||||||
block = "memory"
|
block = "memory"
|
||||||
|
|
13
tests/modules/programs/i3status-rust/with-version-0311.nix
Normal file
13
tests/modules/programs/i3status-rust/with-version-0311.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
programs.i3status-rust = { enable = true; };
|
||||||
|
|
||||||
|
test.stubs.i3status-rust = { version = "0.31.1"; };
|
||||||
|
|
||||||
|
test.asserts.assertions.expected = [
|
||||||
|
"Only i3status-rust <0.31.0 or ≥0.31.2 is supported due to a config format incompatibility."
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue