initial commit
Change-Id: Icdf87c6c68d88c917468ad949f90af5bcb690831
diff --git a/modules/shell.nix b/modules/shell.nix
new file mode 100644
index 0000000..6d66e7b
--- /dev/null
+++ b/modules/shell.nix
@@ -0,0 +1,96 @@
+{ pkgs, config, inputs, ... }: {
+ programs.zsh.enable = true;
+ users.users.coded.shell = pkgs.zsh;
+
+ home-manager.users.coded.programs = {
+ # ZSH
+ zsh = {
+ enable = true;
+ enableAutosuggestions = true;
+ enableCompletion = true;
+ autocd = true;
+ defaultKeymap = "emacs";
+
+ shellAliases = {
+ rebuild = "sudo nixos-rebuild switch --flake /home/coded/nixConfig/";
+ "gr!" = "git review";
+ clr = "clear";
+ pnpx = "pnpm dlx";
+ };
+
+ dirHashes = { code = "$HOME/Documents/programming"; };
+
+ history = { extended = true; };
+ historySubstringSearch.enable = true;
+
+ oh-my-zsh = {
+ enable = true;
+ plugins = [ "git" ];
+ };
+ };
+
+ # Starship
+ starship = {
+ enable = true;
+ settings = { format = "$all"; };
+ };
+
+ # Alacritty
+ alacritty = {
+ enable = true;
+ settings = {
+ window.dimensions = {
+ lines = 40;
+ columns = 150;
+ };
+ import = [
+ "${inputs.alacritty-themes}/themes/Catppuccin-Mocha.yml"
+ ];
+ };
+ };
+
+ # htop
+ # htop = {
+ # enable = true;
+ # settings = {
+ # color_scheme = 6;
+ # cpu_count_from_one = 0;
+ # delay = 15;
+ # fields = with home-manager.config.lib.htop.fields; [
+ # PID
+ # USER
+ # PERCENT_CPU
+ # PERCENT_MEM
+ # M_SIZE
+ # M_RESIDENT
+ # M_SHARE
+ # STATE
+ # TIME
+ # COMM
+ # ];
+ # } // (with home-manager.config.lib.htop; leftMeters [
+ # (bar "AllCPUs2")
+ # (bar "Memory")
+ # (bar "Swap")
+ # (text "Zram")
+ # ]) // (with home-manager.config.lib.htop; rightMeters [
+ # (text "Tasks")
+ # (text "LoadAverage")
+ # (text "Uptime")
+ # (text "Systemd")
+ # ]);
+ # };
+
+ # Nix-index
+ nix-index.enable = true;
+
+ # thefuck
+ thefuck = {
+ enable = true;
+ enableInstantMode = true;
+ };
+ };
+
+ environment.pathsToLink =
+ [ "/share/zsh" ]; # needed for completing system packages
+}