From 3a707b00d3c722944b7f3dec2afccef74ece3d66 Mon Sep 17 00:00:00 2001
From: Peder Bergebakken Sundt <pbsds@hotmail.com>
Date: Tue, 18 Mar 2025 22:18:32 +0100
Subject: [PATCH] base: source ~/.bashrc

Now by default we source .bashrc and .profile unless the user has actually read the manual.
Tested in vm
---
 base/default.nix | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/base/default.nix b/base/default.nix
index 9dfa7c5..2c7e7f7 100644
--- a/base/default.nix
+++ b/base/default.nix
@@ -50,6 +50,18 @@
     kitty.terminfo
   ];
 
+  # .bash_profile already works, but lets also use .bashrc like literally every other distro
+  # https://man.archlinux.org/man/core/bash/bash.1.en#INVOCATION
+  # home-manager usually handles this for you: https://github.com/nix-community/home-manager/blob/22a36aa709de7dd42b562a433b9cefecf104a6ee/modules/programs/bash.nix#L203-L209
+  # btw, programs.bash.shellInit just goes into environment.shellInit which in turn goes into /etc/profile, spooky shit
+  programs.bash.shellInit = ''
+   if [ -n "''${BASH_VERSION:-}" ]; then
+     if [[ ! -f ~/.bash_profile && ! -f ~/.bash_login ]]; then
+      [[ -f ~/.bashrc ]] && . ~/.bashrc
+     fi
+   fi
+  '';
+
   programs.zsh.enable = true;
 
   security.lockKernelModules = true;
-- 
2.48.1