committed by
Austin Horstman
parent
ae6f976083
commit
7566825d46
@@ -0,0 +1,9 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
time = "2026-06-13T11:54:31+00:00";
|
||||
condition = config.programs.swayimg.enable;
|
||||
message = ''
|
||||
`programs.swayimg.settings` has been replaced with
|
||||
`programs.swayimg.initLua` because upstream moved to a lua config.
|
||||
'';
|
||||
}
|
||||
@@ -4,39 +4,45 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.programs.swayimg;
|
||||
iniFormat = pkgs.formats.ini { };
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [ dod-101 ];
|
||||
|
||||
imports = [
|
||||
(lib.mkRemovedOptionModule [
|
||||
"programs"
|
||||
"swayimg"
|
||||
"settings"
|
||||
] "Upstream moved to a lua config. This option has been replaced by programs.swayimg.initLua.")
|
||||
];
|
||||
|
||||
options.programs.swayimg = {
|
||||
enable = lib.mkEnableOption "swayimg";
|
||||
|
||||
package = lib.mkPackageOption pkgs "swayimg" { };
|
||||
|
||||
settings = lib.mkOption {
|
||||
inherit (iniFormat) type;
|
||||
default = { };
|
||||
initLua = lib.mkOption {
|
||||
type = with lib.types; nullOr (either path lines);
|
||||
default = null;
|
||||
description = ''
|
||||
Configuration written to
|
||||
{file}`$XDG_CONFIG_HOME/swayimg/config`. See <https://github.com/artemsen/swayimg/blob/master/extra/swayimgrc> for a list of available options.
|
||||
{file}`$XDG_CONFIG_HOME/swayimg/init.lua`.
|
||||
|
||||
See <https://github.com/artemsen/swayimg/blob/master/CONFIG.md>
|
||||
for documentation.
|
||||
'';
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
viewer = {
|
||||
window = "#10000010";
|
||||
scale = "fill";
|
||||
};
|
||||
"info.viewer" = {
|
||||
top_left = "+name,+format";
|
||||
};
|
||||
"keys.viewer" = {
|
||||
"Shift+r" = "rand_file";
|
||||
};
|
||||
}
|
||||
swayimg.text.set_size(32)
|
||||
swayimg.text.set_foreground(0xffff0000)
|
||||
|
||||
swayimg.viewer.set_default_scale("fill")
|
||||
|
||||
swayimg.gallery.on_key("Delete", function()
|
||||
local image = swayimg.gallery.get_image()
|
||||
os.remove(image.path)
|
||||
end)
|
||||
'';
|
||||
};
|
||||
};
|
||||
@@ -48,8 +54,8 @@ in
|
||||
|
||||
home.packages = [ cfg.package ];
|
||||
|
||||
xdg.configFile."swayimg/config" = lib.mkIf (cfg.settings != { }) {
|
||||
source = iniFormat.generate "config" cfg.settings;
|
||||
xdg.configFile."swayimg/init.lua" = lib.mkIf (cfg.initLua != null) {
|
||||
text = if builtins.isPath cfg.initLua then builtins.readFile cfg.initLua else cfg.initLua;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{ lib, pkgs, ... }:
|
||||
lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
|
||||
swayimg-empty-settings = ./empty-settings.nix;
|
||||
swayimg-example-settings = ./example-settings.nix;
|
||||
swayimg-empty-initLua = ./empty-initLua.nix;
|
||||
swayimg-example-initLua = ./example-initLua.nix;
|
||||
swayimg-path-initLua = ./path-initLua.nix;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
{ config, ... }:
|
||||
|
||||
{
|
||||
|
||||
programs.swayimg = {
|
||||
enable = true;
|
||||
package = config.lib.test.mkStubPackage { };
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertPathNotExists home-files/.config/swayimg
|
||||
'';
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
programs.swayimg.enable = true;
|
||||
|
||||
nmt.script = ''
|
||||
assertPathNotExists home-files/.config/swayimg
|
||||
'';
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
swayimg.text.set_size(32)
|
||||
swayimg.text.set_foreground(0xffff0000)
|
||||
|
||||
swayimg.viewer.set_default_scale("fill")
|
||||
|
||||
swayimg.gallery.on_key("Delete", function()
|
||||
local image = swayimg.gallery.get_image()
|
||||
os.remove(image.path)
|
||||
end)
|
||||
@@ -0,0 +1,26 @@
|
||||
{ config, ... }:
|
||||
|
||||
{
|
||||
programs.swayimg = {
|
||||
enable = true;
|
||||
package = config.lib.test.mkStubPackage { };
|
||||
|
||||
initLua = ''
|
||||
swayimg.text.set_size(32)
|
||||
swayimg.text.set_foreground(0xffff0000)
|
||||
|
||||
swayimg.viewer.set_default_scale("fill")
|
||||
|
||||
swayimg.gallery.on_key("Delete", function()
|
||||
local image = swayimg.gallery.get_image()
|
||||
os.remove(image.path)
|
||||
end)
|
||||
'';
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileContent \
|
||||
home-files/.config/swayimg/init.lua \
|
||||
${./example-initLua-expected.lua}
|
||||
'';
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
[info.viewer]
|
||||
top_left=+name,+format
|
||||
|
||||
[keys.viewer]
|
||||
Shift+r=rand_file
|
||||
|
||||
[viewer]
|
||||
scale=fill
|
||||
window=#10000010
|
||||
@@ -1,27 +0,0 @@
|
||||
{ config, ... }:
|
||||
|
||||
{
|
||||
programs.swayimg = {
|
||||
enable = true;
|
||||
package = config.lib.test.mkStubPackage { };
|
||||
|
||||
settings = {
|
||||
viewer = {
|
||||
window = "#10000010";
|
||||
scale = "fill";
|
||||
};
|
||||
"info.viewer" = {
|
||||
top_left = "+name,+format";
|
||||
};
|
||||
"keys.viewer" = {
|
||||
"Shift+r" = "rand_file";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileContent \
|
||||
home-files/.config/swayimg/config \
|
||||
${./example-settings-expected.ini}
|
||||
'';
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{ config, ... }:
|
||||
|
||||
{
|
||||
|
||||
programs.swayimg = {
|
||||
enable = true;
|
||||
package = config.lib.test.mkStubPackage { };
|
||||
|
||||
initLua = ./example-initLua-expected.lua;
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileContent \
|
||||
home-files/.config/swayimg/init.lua \
|
||||
${./example-initLua-expected.lua}
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user