From 9834d4f970bf49ec073db2d98723e88192e9ba17 Mon Sep 17 00:00:00 2001
From: Olaf <github@dacht.net>
Date: Thu, 8 May 2025 18:33:15 +0200
Subject: [PATCH] order in zshrc to prevent ls alias overwrite

---
 modules/shared/home-manager.nix | 87 +++++++++++++++++++--------------
 1 file changed, 50 insertions(+), 37 deletions(-)

diff --git a/modules/shared/home-manager.nix b/modules/shared/home-manager.nix
index c53cd6b..1bb3665 100644
--- a/modules/shared/home-manager.nix
+++ b/modules/shared/home-manager.nix
@@ -10,6 +10,7 @@ let
   email = "olaf@xolx.nl";
 in
 {
+
   # Shared shell configuration
   zsh = {
     enable = true;
@@ -18,55 +19,67 @@ in
     oh-my-zsh = {
       enable = true;
       plugins = [ ];
-      #      theme = "agnoster";
-      theme = "ys";
+      # theme = "fishy";
+      # theme = "ys";
+      theme = "mrtazz";
     };
-    plugins = [
+    # plugins = [    ];
 
-    ];
-    initExtraFirst = ''
-      if [[ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]]; then
-        . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
-        . /nix/var/nix/profiles/default/etc/profile.d/nix.sh
-      fi
+    initContent =
+      let
+        zshConfigEarlyInit = lib.mkOrder 500 ''
+          if [[ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]]; then
+            . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
+            . /nix/var/nix/profiles/default/etc/profile.d/nix.sh
+          fi
 
-      # Define variables for directories
-      export PATH=$HOME/.pnpm-packages/bin:$HOME/.pnpm-packages:$PATH
-      export PATH=$HOME/.npm-packages/bin:$HOME/bin:$PATH
-      export PATH=$HOME/.local/share/bin:$PATH
+          # Define variables for directories
+          export PATH=$HOME/.pnpm-packages/bin:$HOME/.pnpm-packages:$PATH
+          export PATH=$HOME/.npm-packages/bin:$HOME/bin:$PATH
+          export PATH=$HOME/.local/share/bin:$PATH
 
-      # Remove history data we don't want to see
-      export HISTIGNORE="pwd:ls:cd"
+          # Remove history data we don't want to see
+          export HISTIGNORE="pwd:ls:cd"
 
-      # Ripgrep alias
-      alias search=rg -p --glob '!node_modules/*'  $@
+          # Ripgrep alias
+          alias search=rg -p --glob '!node_modules/*'  $@
 
-      # Emacs is my editor
-      export ALTERNATE_EDITOR=""
-      export EDITOR="emacsclient -t"
-      export VISUAL="emacsclient -c -a emacs"
+          # Emacs is my editor
+          export ALTERNATE_EDITOR=""
+          export EDITOR="emacsclient -t"
+          export VISUAL="emacsclient -c -a emacs"
 
-      e() {
-          emacsclient -t "$@"
-      }
+          e() {
+              emacsclient -t "$@"
+          }
 
-      # nix shortcuts
-      shell() {
-          nix-shell '<nixpkgs>' -A "$1"
-      }
+          # nix shortcuts
+          shell() {
+              nix-shell '<nixpkgs>' -A "$1"
+          }
 
-      # pnpm is a javascript package manager
-      alias pn=pnpm
-      alias px=pnpx
+          # pnpm is a javascript package manager
+          alias pn=pnpm
+          alias px=pnpx
 
-      # Use difftastic, syntax-aware diffing
-      alias diff=difft
-
-      # Always color ls and group directories
-      alias ls='ls --color=auto'
+          # Use difftastic, syntax-aware diffing
+          alias diff=difft
 
 
-    '';
+
+
+        '';
+        zshConfigLastInit = lib.mkOrder 1500 ''
+              # Always color ls and group directories
+          alias ls='ls --color=auto'
+
+        '';
+      in
+      lib.mkMerge [
+        zshConfigEarlyInit
+        zshConfigLastInit
+      ];
+
   };
 
   git = {