🧹 Moved almost all files to /modules. Moved some code to separate files
This commit is contained in:
11
modules/terminal/default.nix
Normal file
11
modules/terminal/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./shell.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
kitty
|
||||
];
|
||||
}
|
28
modules/terminal/shell.nix
Normal file
28
modules/terminal/shell.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
bash = {
|
||||
# Starts the OS using Bash, then starts fish if it's not running
|
||||
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
|
||||
'';
|
||||
};
|
||||
|
||||
fish = {
|
||||
enable = true;
|
||||
# Start starship when creating a new shell
|
||||
interactiveShellInit = ''
|
||||
starship init fish | source
|
||||
'';
|
||||
shellAliases = {
|
||||
# Transfer shell config to target device
|
||||
ssh = "kitty +kitten ssh";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user