hyrule use bashistrans.nix

This commit is contained in:
Emile Clark-Boman 2026-01-31 08:37:39 +10:00
parent 6b6ce26c66
commit 83e9a001db
2 changed files with 20 additions and 41 deletions

View file

@ -1,8 +1,6 @@
{ {
pkgs, pkgs,
pkgs-unstable, pkgs-unstable,
inputs,
lib,
... ...
}: let }: let
home-manager = builtins.fetchTarball { home-manager = builtins.fetchTarball {
@ -20,6 +18,7 @@ in {
#../modules/server/nginx.nix #../modules/server/nginx.nix
#../modules/server/ssh.nix #../modules/server/ssh.nix
#../modules/server/fail2ban.nix #../modules/server/fail2ban.nix
../modules/bashistrans.nix
]; ];
nix.settings = { nix.settings = {
@ -33,15 +32,6 @@ in {
]; ];
}; };
# nixpkgs.config.allowUnfreePredicate = let
# whitelist = map lib.getName [
# "minecraft-server"
# pkgs.minecraft-server
# pkgs-unstable.minecraft-server
# ];
# in
# pkg: builtins.elem (lib.getName pkg) whitelist;
time.timeZone = "Australia/Brisbane"; time.timeZone = "Australia/Brisbane";
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
@ -480,6 +470,7 @@ in {
}; };
}; };
}; };
security = { security = {
# accept Lets Encrypt's security policy (for nginx) # accept Lets Encrypt's security policy (for nginx)
acme = { acme = {
@ -507,21 +498,5 @@ in {
helix helix
]; ];
programs = {
fish.enable = true;
bash = {
completion.enable = true;
interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
'';
};
};
system.stateVersion = "24.11"; # DO NOT MODIFY system.stateVersion = "24.11"; # DO NOT MODIFY
} }

View file

@ -2,22 +2,26 @@
# I want to use fish as my login shell but it always goes terrible # I want to use fish as my login shell but it always goes terrible
# cause it isn't POSIX compliant, so instead Bash is my login and # cause it isn't POSIX compliant, so instead Bash is my login and
# will just exec fish (^-^) # will just exec fish (^-^)
programs.bash = { programs = {
blesh.enable = false; # ble.sh replacement for GNU readline fish.enable = true;
completion.enable = true;
interactiveShellInit = '' bash = {
# help bash transition into a beautiful fish! blesh.enable = false; # ble.sh replacement for GNU readline
if [[ -z $CRY_BASH_IS_TRANS ]] completion.enable = true;
then
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] interactiveShellInit = ''
# help bash transition into a beautiful fish!
if [[ -z $CRY_BASH_IS_TRANS ]]
then then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
fi fi
fi # bash is trans now! (no more transitioning required)
# bash is trans now! (no more transitioning required) export CRY_BASH_IS_TRANS=true
export CRY_BASH_IS_TRANS=true '';
''; };
}; };
} }