mirror of
https://github.com/nix-community/home-manager.git
synced 2025-11-08 19:46:05 +01:00
abaddon: add module
This commit is contained in:
parent
b5698ed57d
commit
acaf3971c1
4 changed files with 100 additions and 0 deletions
54
modules/programs/abaddon.nix
Normal file
54
modules/programs/abaddon.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkPackageOption
|
||||
mkOption
|
||||
;
|
||||
|
||||
cfg = config.programs.abaddon;
|
||||
iniFormat = pkgs.formats.ini { };
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.hm.maintainers; [ aguirre-matteo ];
|
||||
options.programs.abaddon = {
|
||||
enable = mkEnableOption "abaddon";
|
||||
package = mkPackageOption pkgs "abaddon" { nullable = true; };
|
||||
settings = mkOption {
|
||||
inherit (iniFormat) type;
|
||||
default = { };
|
||||
example = {
|
||||
windows.hideconsole = true;
|
||||
notifications.enabled = false;
|
||||
discord = {
|
||||
token = "MZ1yGvKTjE0rY0cV8i47CjAa.uRHQPq.Xb1Mk2nEhe-4iUcrGOuegj57zMC";
|
||||
autoconnect = true;
|
||||
};
|
||||
|
||||
gui = {
|
||||
stock_emojis = false;
|
||||
animations = false;
|
||||
alt_menu = true;
|
||||
hide_to_tray = true;
|
||||
};
|
||||
};
|
||||
description = ''
|
||||
Configuration settings for abaddon. All the available options can be found here:
|
||||
<https://github.com/uowuo/abaddon?tab=readme-ov-file#settings>
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = mkIf (cfg.package != null) [ cfg.package ];
|
||||
xdg.configFile."abaddon/abaddon.ini" = mkIf (cfg.settings != { }) {
|
||||
source = iniFormat.generate "abaddon.ini" cfg.settings;
|
||||
};
|
||||
};
|
||||
}
|
||||
15
tests/modules/programs/abaddon/abaddon.ini
Normal file
15
tests/modules/programs/abaddon/abaddon.ini
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[discord]
|
||||
autoconnect=true
|
||||
token=MZ1yGvKTjE0rY0cV8i47CjAa.uRHQPq.Xb1Mk2nEhe-4iUcrGOuegj57zMC
|
||||
|
||||
[gui]
|
||||
alt_menu=true
|
||||
animations=false
|
||||
hide_to_tray=true
|
||||
stock_emojis=false
|
||||
|
||||
[notifications]
|
||||
enabled=false
|
||||
|
||||
[windows]
|
||||
hideconsole=true
|
||||
5
tests/modules/programs/abaddon/default.nix
Normal file
5
tests/modules/programs/abaddon/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{ lib, pkgs, ... }:
|
||||
|
||||
lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
|
||||
abaddon-example-config = ./example-config.nix;
|
||||
}
|
||||
26
tests/modules/programs/abaddon/example-config.nix
Normal file
26
tests/modules/programs/abaddon/example-config.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
programs.abaddon = {
|
||||
enable = true;
|
||||
settings = {
|
||||
windows.hideconsole = true;
|
||||
notifications.enabled = false;
|
||||
discord = {
|
||||
token = "MZ1yGvKTjE0rY0cV8i47CjAa.uRHQPq.Xb1Mk2nEhe-4iUcrGOuegj57zMC";
|
||||
autoconnect = true;
|
||||
};
|
||||
|
||||
gui = {
|
||||
stock_emojis = false;
|
||||
animations = false;
|
||||
alt_menu = true;
|
||||
hide_to_tray = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/abaddon/abaddon.ini
|
||||
assertFileContent home-files/.config/abaddon/abaddon.ini \
|
||||
${./abaddon.ini}
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue