mirror of
https://github.com/nix-community/home-manager
synced 2024-11-30 06:59:45 +01:00
parent
2678fb3441
commit
0a1ce53990
8 changed files with 123 additions and 0 deletions
|
@ -1333,6 +1333,13 @@ in
|
||||||
A new module is available: 'wayland.windowManager.sway'
|
A new module is available: 'wayland.windowManager.sway'
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
time = "2020-03-04T18:55:03+00:00";
|
||||||
|
condition = hostPlatform.isLinux;
|
||||||
|
message = ''
|
||||||
|
A new module is available: 'programs.abook'
|
||||||
|
'';
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,7 @@ let
|
||||||
(loadModule ./misc/xdg-mime-apps.nix { condition = hostPlatform.isLinux; })
|
(loadModule ./misc/xdg-mime-apps.nix { condition = hostPlatform.isLinux; })
|
||||||
(loadModule ./misc/xdg-user-dirs.nix { condition = hostPlatform.isLinux; })
|
(loadModule ./misc/xdg-user-dirs.nix { condition = hostPlatform.isLinux; })
|
||||||
(loadModule ./misc/xdg.nix { })
|
(loadModule ./misc/xdg.nix { })
|
||||||
|
(loadModule ./programs/abook.nix { condition = hostPlatform.isLinux; })
|
||||||
(loadModule ./programs/afew.nix { })
|
(loadModule ./programs/afew.nix { })
|
||||||
(loadModule ./programs/alacritty.nix { })
|
(loadModule ./programs/alacritty.nix { })
|
||||||
(loadModule ./programs/alot.nix { })
|
(loadModule ./programs/alot.nix { })
|
||||||
|
|
40
modules/programs/abook.nix
Normal file
40
modules/programs/abook.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
cfg = config.programs.abook;
|
||||||
|
|
||||||
|
in {
|
||||||
|
options.programs.abook = {
|
||||||
|
enable = mkEnableOption "Abook";
|
||||||
|
|
||||||
|
extraConfig = mkOption {
|
||||||
|
type = types.lines;
|
||||||
|
default = "";
|
||||||
|
example = ''
|
||||||
|
field pager = Pager
|
||||||
|
view CONTACT = name, email
|
||||||
|
set autosave=true
|
||||||
|
'';
|
||||||
|
description = ''
|
||||||
|
Extra lines added to <filename>$HOME/.config/abook/abookrc</filename>.
|
||||||
|
Available configuration options are described in the abook repository:
|
||||||
|
<link xlink:href="https://sourceforge.net/p/abook/git/ci/master/tree/sample.abookrc" />.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home.packages = [ pkgs.abook ];
|
||||||
|
xdg.configFile."abook/abookrc" = mkIf (cfg.extraConfig != "") {
|
||||||
|
text = ''
|
||||||
|
# Generated by Home Manager.
|
||||||
|
# See http://abook.sourceforge.net/
|
||||||
|
|
||||||
|
${cfg.extraConfig}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -43,6 +43,7 @@ import nmt {
|
||||||
./modules/programs/zsh
|
./modules/programs/zsh
|
||||||
./modules/xresources
|
./modules/xresources
|
||||||
] ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux [
|
] ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux [
|
||||||
|
./modules/programs/abook
|
||||||
./modules/misc/pam
|
./modules/misc/pam
|
||||||
./modules/misc/xdg
|
./modules/misc/xdg
|
||||||
./modules/misc/xsession
|
./modules/misc/xsession
|
||||||
|
|
4
tests/modules/programs/abook/default.nix
Normal file
4
tests/modules/programs/abook/default.nix
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
abook-no-settings = ./no-settings.nix;
|
||||||
|
abook-with-settings = ./with-settings.nix;
|
||||||
|
}
|
13
tests/modules/programs/abook/no-settings.nix
Normal file
13
tests/modules/programs/abook/no-settings.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
programs.abook.enable = true;
|
||||||
|
|
||||||
|
nmt.script = ''
|
||||||
|
assertPathNotExists home-files/.config/abook/abookrc
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
21
tests/modules/programs/abook/with-settings.cfg
Normal file
21
tests/modules/programs/abook/with-settings.cfg
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# Generated by Home Manager.
|
||||||
|
# See http://abook.sourceforge.net/
|
||||||
|
|
||||||
|
# Defining a new custom field
|
||||||
|
# -----------------------------
|
||||||
|
|
||||||
|
field pager = Pager
|
||||||
|
field address_lines = Address, list
|
||||||
|
field birthday = Birthday, date
|
||||||
|
|
||||||
|
# Defining a view/tab
|
||||||
|
# ---------------------
|
||||||
|
|
||||||
|
view CONTACT = name, email
|
||||||
|
view ADDRESS = address_lines, city, state, zip, country
|
||||||
|
view PHONE = phone, workphone, pager, mobile, fax
|
||||||
|
view OTHER = url, birthday
|
||||||
|
|
||||||
|
# Automatically save database on exit
|
||||||
|
set autosave=true
|
||||||
|
|
36
tests/modules/programs/abook/with-settings.nix
Normal file
36
tests/modules/programs/abook/with-settings.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
programs.abook = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
# Defining a new custom field
|
||||||
|
# -----------------------------
|
||||||
|
|
||||||
|
field pager = Pager
|
||||||
|
field address_lines = Address, list
|
||||||
|
field birthday = Birthday, date
|
||||||
|
|
||||||
|
# Defining a view/tab
|
||||||
|
# ---------------------
|
||||||
|
|
||||||
|
view CONTACT = name, email
|
||||||
|
view ADDRESS = address_lines, city, state, zip, country
|
||||||
|
view PHONE = phone, workphone, pager, mobile, fax
|
||||||
|
view OTHER = url, birthday
|
||||||
|
|
||||||
|
# Automatically save database on exit
|
||||||
|
set autosave=true
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
nmt.script = ''
|
||||||
|
assertFileExists home-files/.config/abook/abookrc
|
||||||
|
assertFileContent home-files/.config/abook/abookrc ${./with-settings.cfg}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue