diff options
| author | triethyl <triethylammonium@pm.me> | 2025-11-02 13:53:38 -0500 |
|---|---|---|
| committer | triethyl <triethylammonium@pm.me> | 2025-11-02 13:54:20 -0500 |
| commit | 520313a733cd26dbd2692c2a8372aff1e1de657e (patch) | |
| tree | a90ea9f6f2febbea36581504c637e83a3bf5a7f7 /home-manager | |
| parent | 0457d18e24454663396cf054d8a16b1da635d99b (diff) | |
features: added calendar cli app
Diffstat (limited to 'home-manager')
7 files changed, 64 insertions, 17 deletions
diff --git a/home-manager/features/cli/apps/khal.nix b/home-manager/features/cli/apps/khal.nix new file mode 100644 index 0000000..0f94499 --- /dev/null +++ b/home-manager/features/cli/apps/khal.nix @@ -0,0 +1,52 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.features.cli.apps.khal; + + mkCalendarPath = name: lib.concatStrings [ "~/Sync/.calendars/" name ]; +in { + options.features.cli.apps.khal.enable = lib.mkEnableOption "khal"; + config = lib.mkIf cfg.enable { + home.packages = [ pkgs.khal ]; + home.shellAliases = { + ka = "khal at"; + kc = "khal calendar"; + ke = "khal edit"; + ki = "khal interactive"; + kl = "khal list"; + kn = "khal new"; + kp = "khal printcalendars"; + ks = "khal search"; + }; + home.file."khal-config" = { + target = ".config/khal/config"; + text = '' + [default] + default_calendar = school + + [calendars] + [[personal]] + path = ${mkCalendarPath "personal"} + + [[school]] + path = ${mkCalendarPath "school"} + + [view] + frame = color + + [locale] + dateformat = %m/%d/%Y + datetimeformat = %m/%d/%Y %I:%M %p + firstweekday = 0 + longdateformat = %m/%d/%Y + longdatetimeformat = %m/%d/%Y %I:%M %p + timeformat = %I:%M %p + unicode_symbols = true + weeknumbers = off + ''; + }; + }; +} diff --git a/home-manager/features/gui/apps/chromium.nix b/home-manager/features/gui/apps/chromium.nix new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/home-manager/features/gui/apps/chromium.nix diff --git a/home-manager/features/gui/desktops/niri/parts/niri/keybinds.nix b/home-manager/features/gui/desktops/niri/parts/niri/keybinds.nix index 7a370f3..b5fbf86 100644 --- a/home-manager/features/gui/desktops/niri/parts/niri/keybinds.nix +++ b/home-manager/features/gui/desktops/niri/parts/niri/keybinds.nix @@ -3,7 +3,9 @@ pkgs, lib, ... -}: { +}: let + defaultTerminal = config.default-applications.terminal-emulator; +in { config = lib.mkIf config.features.gui.desktops.niri.parts.niri.enable { programs.niri.settings.binds = let left = "h"; @@ -15,7 +17,7 @@ "Mod+Q".action.spawn = ["foot"]; "Mod+W".action.spawn = ["librewolf"]; "Mod+E".action.spawn = ["neovide"]; - "Mod+Shift+E".action.spawn = ["neovide" "--" "-c" "Calendar"]; + "Mod+Shift+E".action.spawn = [ defaultTerminal.runTuiCommand "ikhal"]; "Mod+N".action.spawn = ["scrap-maker"]; # Reboot to gaming OS diff --git a/home-manager/features/gui/desktops/niri/parts/selectors.nix b/home-manager/features/gui/desktops/niri/parts/selectors.nix index dd09dde..8cfc087 100644 --- a/home-manager/features/gui/desktops/niri/parts/selectors.nix +++ b/home-manager/features/gui/desktops/niri/parts/selectors.nix @@ -6,6 +6,7 @@ }: let cfg = config.features.gui.desktops.niri.parts.selectors; aes = config.aesthetics; + defaultTerminal = config.default-applications.terminal-emulator; in { options.features.gui.desktops.niri.parts.selectors.enable = lib.mkEnableOption "selectors"; config = lib.mkIf cfg.enable { @@ -25,20 +26,20 @@ in { let tools = { "rebuild nixos": { # footclient -H sudo nixos-rebuild switch --flake ($"~/Sync/setup#(hostname)" | path expand) - foot -H os-rebuild-loop + ${defaultTerminal.runCliCommand} os-rebuild-loop } "rebuild home": { # foot -H home-manager switch --flake ($"~/Sync/setup#(whoami)@(hostname)" | path expand) - foot -H home-rebuild-loop + ${defaultTerminal.runCliCommand} home-rebuild-loop } "update flake": { - foot -H nix flake update --flake ($"~/Sync/setup/" | path expand) + ${defaultTerminal.runCliCommand} nix flake update --flake ($"~/Sync/setup/" | path expand) } "manage wifi": { - foot ${pkgs.impala}/bin/impala + ${defaultTerminal.runTuiCommand} ${pkgs.impala}/bin/impala } "manage bluetooth": { - foot ${lib.getExe pkgs.bluetui} + ${defaultTerminal.runTuiCommand} ${lib.getExe pkgs.bluetui} } "manage displays": { ${lib.getExe wdisplays} diff --git a/home-manager/features/gui/desktops/niri/parts/swayosd.nix b/home-manager/features/gui/desktops/niri/parts/swayosd.nix index 6cba218..e43b5b2 100644 --- a/home-manager/features/gui/desktops/niri/parts/swayosd.nix +++ b/home-manager/features/gui/desktops/niri/parts/swayosd.nix @@ -6,20 +6,10 @@ }: let cfg = config.features.gui.desktops.niri.parts.swayosd; aes = config.aesthetics; - - swayosd-patched = pkgs.swayosd.overrideAttrs (old: { - postInstall = '' - mkdir -p $out/share/dbus-1/services - mv $out/share/dbus-1/system-services/org.erikreider.swayosd.service \ - $out/share/dbus-1/services/org.erikreider.swayosd.service - rm -r $out/share/dbus-1/system* - ''; - }); in { options.features.gui.desktops.niri.parts.swayosd.enable = lib.mkEnableOption "swayosd"; config = lib.mkIf cfg.enable { home.packages = [ pkgs.swayosd ]; - dbus.packages = [ swayosd-patched ]; services.swayosd = { enable = true; topMargin = 0.5; diff --git a/home-manager/users/nzxt-desktop/culsans.nix b/home-manager/users/nzxt-desktop/culsans.nix index c80eb7c..9ac3cf8 100644 --- a/home-manager/users/nzxt-desktop/culsans.nix +++ b/home-manager/users/nzxt-desktop/culsans.nix @@ -47,6 +47,7 @@ helix.enable = true; zellij.enable = true; lazygit.enable = true; + khal.enable = true; }; utils = { git.enable = true; diff --git a/home-manager/users/thinkpad-laptop/lucas.nix b/home-manager/users/thinkpad-laptop/lucas.nix index 487555d..072bbc0 100644 --- a/home-manager/users/thinkpad-laptop/lucas.nix +++ b/home-manager/users/thinkpad-laptop/lucas.nix @@ -43,6 +43,7 @@ helix.enable = true; zellij.enable = true; lazygit.enable = true; + khal.enable = true; }; utils = { git.enable = true; |
