This commit is contained in:
Peritia 2025-09-10 12:17:16 +02:00
parent fc0abdd4bb
commit aca73cdd0f
73 changed files with 3873 additions and 381 deletions

View file

@ -1,3 +1,13 @@
# Obsidian (note-taking / PKM app)
#
# Provides:
# - Obsidian package via home.packages
#
# Notes:
# - Consider adding theming support later
# (e.g., https://github.com/jackiejude/obsidian-temple-os)
#
{ config, lib, pkgs, ... }:
let
@ -5,16 +15,10 @@ let
in
{
options.nyx-module.home.obsidian = {
enable = lib.mkEnableOption "Enable obsidian (home) module";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.obsidian;
description = "Package to install for obsidian.";
};
enable = lib.mkEnableOption "Enable Obsidian (home module)";
};
config = lib.mkIf cfg.enable {
home.packages = [ cfg.package ];
home.packages = [ pkgs.obsidian ];
};
}

View file

@ -2,7 +2,9 @@
{
imports = [
./office-apps.nix
./libreoffice.nix
./pdf-reader.nix
./printer-scan.nix
./thunderbird.nix
];
}

View file

@ -0,0 +1,23 @@
# LibreOffice (office suite)
#
# Provides:
# - LibreOffice package via home.packages
#
# Notes:
# - Simple module, just adds LibreOffice to the user environment
#
{ config, lib, pkgs, ... }:
let
cfg = config.nyx-module.home.libreoffice;
in
{
options.nyx-module.home.libreoffice = {
enable = lib.mkEnableOption "Enable LibreOffice (home module)";
};
config = lib.mkIf cfg.enable {
home.packages = [ pkgs.libreoffice ];
};
}

View file

@ -1,20 +0,0 @@
{ config, lib, pkgs, ... }:
let
cfg = config.nyx-module.home.office-apps;
in
{
options.nyx-module.home.office-apps = {
enable = lib.mkEnableOption "Enable office-apps (home) module";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.office-apps;
description = "Package to install for office-apps.";
};
};
config = lib.mkIf cfg.enable {
home.packages = [ cfg.package ];
};
}

View file

@ -0,0 +1,30 @@
# PDF Viewer / Scanner
#
# Provides:
# - Install a chosen PDF or scanning GUI application
#
# Notes:
# - Defaults to Okular
#
{ config, lib, pkgs, ... }:
let
cfg = config.nyx-module.home.pdf-viewer;
in
{
options.nyx-module.home.pdf-viewer = {
enable = lib.mkEnableOption "Enable PDF (home module)";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.kdeApplications.okular;
example = pkgs.evince;
description = "PDF or scanning GUI package to install (e.g. Okular, Evince, Xournal++).";
};
};
config = lib.mkIf cfg.enable {
home.packages = [ cfg.package ];
};
}

View file

@ -1,16 +1,27 @@
# Printer GUI (scanning/printing tools)
#
# Provides:
# - Configurable GUI package for printing/scanning via home.packages
#
# Notes:
# - Default is `simple-scan` (GNOME Document Scanner)
# - Can be overridden with another package such as `system-config-printer`
#
{ config, lib, pkgs, ... }:
let
cfg = config.nyx-module.home.printer-scan;
cfg = config.nyx-module.home.printer;
in
{
options.nyx-module.home.printer-scan = {
enable = lib.mkEnableOption "Enable printer-scan (home) module";
options.nyx-module.home.printer = {
enable = lib.mkEnableOption "Enable printer GUI (home module)";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.printer-scan;
description = "Package to install for printer-scan.";
default = pkgs.simple-scan;
example = pkgs.system-config-printer;
description = "Printer/scanner GUI package to install.";
};
};

View file

@ -0,0 +1,23 @@
# Thunderbird (email client)
#
# Provides:
# - Thunderbird package via home.packages
#
# Notes:
# - Simple module, just adds Thunderbird to the user environment
#
{ config, lib, pkgs, ... }:
let
cfg = config.nyx-module.home.thunderbird;
in
{
options.nyx-module.home.thunderbird = {
enable = lib.mkEnableOption "Enable Thunderbird (home module)";
};
config = lib.mkIf cfg.enable {
home.packages = [ pkgs.thunderbird ];
};
}