From d380f109832d9c64cfad96124a2e26cbfdfae517 Mon Sep 17 00:00:00 2001 From: Dmitriy Pleshevskiy Date: Tue, 21 May 2024 19:10:20 +0300 Subject: [PATCH] modules/calendar: add khal calendar to the modules --- modules/home-manager/programs/calendar.nix | 18 ++++++++++++++++++ modules/home-manager/programs/default.nix | 1 + modules/home-manager/programs/share-files.nix | 15 ++++++++++----- 3 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 modules/home-manager/programs/calendar.nix diff --git a/modules/home-manager/programs/calendar.nix b/modules/home-manager/programs/calendar.nix new file mode 100644 index 0000000..0ca6823 --- /dev/null +++ b/modules/home-manager/programs/calendar.nix @@ -0,0 +1,18 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.local.programs.calendar; + + mkCalOpts = name: { + enable = lib.mkEnableOption name; + package = lib.mkPackageOption pkgs name { }; + }; +in +{ + options.local.programs.calendar = { + khal = mkCalOpts "khal"; + }; + + config.home.packages = + lib.optional cfg.khal.enable cfg.khal.package; +} diff --git a/modules/home-manager/programs/default.nix b/modules/home-manager/programs/default.nix index 2a34216..fbc7456 100644 --- a/modules/home-manager/programs/default.nix +++ b/modules/home-manager/programs/default.nix @@ -3,6 +3,7 @@ { imports = [ ./aerc.nix + ./calendar.nix ./communication.nix ./dev-tools.nix ./flameshot.nix diff --git a/modules/home-manager/programs/share-files.nix b/modules/home-manager/programs/share-files.nix index 7244d5b..3b87500 100644 --- a/modules/home-manager/programs/share-files.nix +++ b/modules/home-manager/programs/share-files.nix @@ -2,19 +2,24 @@ let cfg = config.local.programs.share-files; + + mkShareFileOpts = name: { + enable = lib.mkEnableOption name; + package = lib.mkPackageOption pkgs name { }; + }; in { - options.local.programs.share-files = with lib; { - onionshare.enable = mkEnableOption "onionshare"; - croc.enable = mkEnableOption "croc"; + options.local.programs.share-files = { + onionshare.enable = mkShareFileOpts "onionshare-gui"; + croc.enable = mkShareFileOpts "croc"; }; config.home.packages = # OnionShare is an open-source tool that lets you securely and anonymously share files, # host websites, and chat with friends using the Tor network. - lib.optional cfg.onionshare.enable pkgs.onionshare-gui + lib.optional cfg.onionshare.enable cfg.onionshare.package # Easily and securely send things from one computer to another - ++ lib.optional cfg.croc.enable pkgs.croc; + ++ lib.optional cfg.croc.enable cfg.croc.package; }