From cb376aa64b043d4462d117b80020803352b8d647 Mon Sep 17 00:00:00 2001 From: Artur Manuel Date: Sun, 20 Apr 2025 11:25:47 +0100 Subject: [PATCH] zsh: init zsh module --- hosts/cityseventeen/apps.nix | 15 +++++++-------- hosts/shared/zsh.nix | 31 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 hosts/shared/zsh.nix diff --git a/hosts/cityseventeen/apps.nix b/hosts/cityseventeen/apps.nix index 743169e..4a854e9 100644 --- a/hosts/cityseventeen/apps.nix +++ b/hosts/cityseventeen/apps.nix @@ -28,18 +28,17 @@ in direnv.enable = true; openssh.enable = true; }; + shells.zsh = { + enable = true; + package = pkgs.amadaluzian-zsh; + }; system.pipewire.enable = true; wms.niri.enable = true; }; - programs = { - git = { - enable = true; - package = pkgs.gitFull; - }; - zsh = { - enable = true; - }; + programs.git = { + enable = true; + package = pkgs.gitFull; }; services = { diff --git a/hosts/shared/zsh.nix b/hosts/shared/zsh.nix new file mode 100644 index 0000000..9e693b6 --- /dev/null +++ b/hosts/shared/zsh.nix @@ -0,0 +1,31 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.alqueva.shells.zsh; + + inherit (lib.modules) mkIf; + inherit (lib.options) mkEnableOption mkPackageOption; +in +{ + options.alqueva.shells.zsh = { + enable = mkEnableOption "zsh"; + package = mkPackageOption pkgs "zsh" { }; + }; + config = mkIf cfg.enable { + environment = { + systemPackages = [ cfg.package ]; + shells = [ cfg.package ]; + }; + + programs.zsh = { + enable = true; + enableCompletion = true; + syntaxHighlighting.enable = true; + autosuggestions.enable = true; + }; + }; +}