From db66adcc8cd6fefe7c80c124e5b5f30df05fe52a Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Sun, 18 May 2025 17:36:14 +0800 Subject: [PATCH] feat(zsh): add zsh as default user shell --- homes/x86_64-linux/rafiq/default.nix | 2 ++ homes/x86_64-linux/rafiq/programs/zsh.nix | 14 ++++++++++++++ modules/nixos/cli/default.nix | 14 ++++++++++++++ modules/nixos/system/users.nix | 1 + 4 files changed, 31 insertions(+) create mode 100644 homes/x86_64-linux/rafiq/programs/zsh.nix create mode 100644 modules/nixos/cli/default.nix diff --git a/homes/x86_64-linux/rafiq/default.nix b/homes/x86_64-linux/rafiq/default.nix index 1f38f57..4da0ccd 100644 --- a/homes/x86_64-linux/rafiq/default.nix +++ b/homes/x86_64-linux/rafiq/default.nix @@ -4,6 +4,7 @@ imports = [ ./programs/git.nix ./programs/hyprland.nix + ./programs/zsh.nix ]; home.stateVersion = "24.11"; @@ -27,6 +28,7 @@ git commit -a '') ]; + home.sessionVariables = { EDITOR = "nvim"; }; diff --git a/homes/x86_64-linux/rafiq/programs/zsh.nix b/homes/x86_64-linux/rafiq/programs/zsh.nix new file mode 100644 index 0000000..e61cfb4 --- /dev/null +++ b/homes/x86_64-linux/rafiq/programs/zsh.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: +{ + programs.zsh = { + enable = true; + enableCompletions = true; + autosuggestion = true; + enableVteIntegration = true; + syntaxHighlighting.enable = true; + history.share = true; + history.size = 10000; + history.ignoreDups = true; + history.ignoreSpace = true; + }; +} diff --git a/modules/nixos/cli/default.nix b/modules/nixos/cli/default.nix new file mode 100644 index 0000000..5839572 --- /dev/null +++ b/modules/nixos/cli/default.nix @@ -0,0 +1,14 @@ +{config, lib,...}: +{ +imports = []; + +options.cli = {}; + +config = lib.mkMerge [ +{ + programs.zsh.enable = true; + users.defaultUserShell = pkgs.zsh; + environment.pathsToLink = [ "/share/zsh" ]; # enables completion +} +]; +} diff --git a/modules/nixos/system/users.nix b/modules/nixos/system/users.nix index f96df61..de2acf2 100644 --- a/modules/nixos/system/users.nix +++ b/modules/nixos/system/users.nix @@ -2,6 +2,7 @@ { config = lib.mkMerge [ { + users.defaultUserShell = pkgs.zsh; users.users."${config.system.mainUser}" = { isNormalUser = true; initialPassword = "1";