feat(starship): add startship to home config

This commit is contained in:
Mohammad Rafiq 2025-03-04 15:40:29 +08:00
parent a0159c20c0
commit c7f9376d72
3 changed files with 55 additions and 42 deletions

View file

@ -1,18 +1,58 @@
{
programs.bash = {
enable = true;
shellAliases = {
rebuild = "sudo nixos-rebuild switch --flake";
gs = "git status";
ai = "aichat -r %shell% -e";
{pkgs, ...}: {
programs = {
bash = {
enable = true;
shellAliases = {
rebuild = "sudo nixos-rebuild switch --flake";
gs = "git status";
ai = "aichat -r %shell% -e";
};
};
# direnv lets us declare a .envrc in each project directory
# and updates the shell with the packages specified.
direnv = {
enable = true;
enableBashIntegration = true;
nix-direnv.enable = true;
};
# starship is a customisable prompt for any shell
starship = {
enable = true;
enableBashIntegration = true;
};
# Terminal Multiplexing
tmux = {
enable = true;
plugins = with pkgs.tmuxPlugins; [
catppuccin
# Keybind Hints
tmux-which-key
# Status Line Decoration
tmux-powerline
# Session Management between Reboots
{
plugin = resurrect;
extraConfig = ''
set -g @resurrect-strategy-nvim 'session'
'';
}
{
plugin = continuum;
extraConfig = ''
set -g @continuum-restore 'on'
'';
}
];
extraConfig = ''
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
'';
};
};
# direnv lets us declare a .envrc in each project directory
# and updates the shell with the packages specified.
programs.direnv = {
enable = true;
enableBashIntegration = true;
nix-direnv.enable = true;
};
}

View file

@ -1,26 +0,0 @@
{pkgs, ...}: {
programs.tmux = {
enable = true;
plugins = with pkgs.tmuxPlugins; [
catppuccin
tmux-which-key
tmux-powerline
{
plugin = resurrect;
extraConfig = ''
set -g @resurrect-strategy-nvim 'session'
'';
}
{
plugin = continuum;
extraConfig = ''
set -g @continuum-restore 'on'
'';
}
];
extraConfig = ''
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
'';
};
}

View file

@ -1,7 +1,6 @@
_: {
imports = [
./modules/git.nix # git specific configs
./modules/tmux.nix # tmux specific configs (might move this)
./modules/sh.nix # bash and other shell specific configs
./modules/wm.nix # window manager configs
./modules/editor.nix # editor specific configs