zk: add module

This commit is contained in:
Silmar 2023-09-11 15:50:12 -03:00 committed by Robert Helgesson
parent 8b07ca5419
commit b550d074fb
No known key found for this signature in database
GPG key ID: 96E745BD17AA17ED
8 changed files with 113 additions and 0 deletions

View file

@ -205,6 +205,12 @@
fingerprint = "F0E0 0311 126A CD72 4392 25E6 68BF 2EAE 6D91 CAFF";
}];
};
silmarp = {
name = "Silmar Pereira da Silva Junior";
email = "silmarjr2@gmail.com";
github = "silmarp";
githubID = 67292496;
};
fendse = {
email = "46252070+Fendse@users.noreply.github.com";
github = "Fendse";

View file

@ -1422,6 +1422,13 @@ in {
A new module is available: 'wayland.windowManager.river'.
'';
}
{
time = "2024-03-08T22:20:04+00:00";
message = ''
A new module is available: 'programs.zk'
'';
}
];
};
}

View file

@ -247,6 +247,7 @@ let
./programs/z-lua.nix
./programs/zathura.nix
./programs/zellij.nix
./programs/zk.nix
./programs/zoxide.nix
./programs/zplug.nix
./programs/zsh.nix

52
modules/programs/zk.nix Normal file
View file

@ -0,0 +1,52 @@
{ config, lib, pkgs, ... }:
let
cfg = config.programs.zk;
tomlFormat = pkgs.formats.toml { };
in {
meta.maintainers = [ lib.hm.maintainers.silmarp ];
options.programs.zk = {
enable = lib.mkEnableOption "zk";
package = lib.mkPackageOption pkgs "zk" { };
settings = lib.mkOption {
type = tomlFormat.type;
default = { };
example = lib.literalExpression ''
{
note = {
language = "en";
default-title = "Untitled";
filename = "{{id}}-{{slug title}}";
extension = "md";
template = "default.md";
id-charset = "alphanum";
id-length = 4;
id-case = "lower";
};
extra = {
author = "Mickaël";
};
}
'';
description = ''
Configuration written to {file}`$XDG_CONFIG_HOME/zk/config.toml`.
See <https://github.com/mickael-menu/zk/blob/main/docs/config.md> for
available options and documentation.
'';
};
};
config = lib.mkIf cfg.enable {
home.packages = [ cfg.package ];
xdg.configFile."zk/config.toml" = lib.mkIf (cfg.settings != { }) {
source = tomlFormat.generate "config.toml" cfg.settings;
};
};
}

View file

@ -153,6 +153,7 @@ in import nmtSrc {
./modules/programs/wezterm
./modules/programs/yazi
./modules/programs/zellij
./modules/programs/zk
./modules/programs/zplug
./modules/programs/zsh
./modules/services/syncthing/common

View file

@ -0,0 +1 @@
{ zk = ./zk.nix; }

View file

@ -0,0 +1,15 @@
[extra]
author = "Mickaël"
[note]
default-title = "Untitled"
extension = "md"
filename = "{{id}}-{{slug title}}"
id-case = "lower"
id-charset = "alphanum"
id-length = 4
language = "en"
template = "default.md"
[notebook]
dir = "~/notebook"

View file

@ -0,0 +1,30 @@
{ ... }:
{
programs.zk = {
enable = true;
settings = {
extra = { author = "Mickaël"; };
note = {
default-title = "Untitled";
extension = "md";
filename = "{{id}}-{{slug title}}";
id-case = "lower";
id-charset = "alphanum";
id-length = 4;
template = "default.md";
language = "en";
};
notebook = { dir = "~/notebook"; };
};
};
test.stubs.zk = { };
nmt.script = ''
assertFileExists home-files/.config/zk/config.toml
assertFileContent home-files/.config/zk/config.toml ${./expected.toml}
'';
}