39 lines
844 B
Nix
39 lines
844 B
Nix
# This module provides all the shell options
|
|
{ inputs, lib, ... }:
|
|
{
|
|
flake.modules.homeManager.shell-tools = { config, pkgs, ... }: {
|
|
options.shell.program = lib.mkOption {
|
|
type = lib.types.enum [ "bash" "zsh" ];
|
|
default = "zsh";
|
|
description = "Which interactive shell configuration to enable.";
|
|
};
|
|
|
|
imports = with inputs.self.modules.homeManager; [
|
|
bash
|
|
# zsh
|
|
|
|
# Tools
|
|
eza
|
|
files
|
|
];
|
|
|
|
config = {
|
|
programs.bash.enable = lib.mkForce (config.shell.program == "bash");
|
|
programs.zsh.enable = lib.mkForce (config.shell.program == "zsh");
|
|
home.shell.enableShellIntegration = true;
|
|
|
|
home.packages = with pkgs; [
|
|
wget
|
|
curl
|
|
cacert
|
|
busybox
|
|
gnugrep
|
|
dig
|
|
btop
|
|
uv
|
|
xclip
|
|
];
|
|
};
|
|
};
|
|
}
|