nixos-config/home/modules/shell.nix

98 lines
2.6 KiB
Nix
Raw Normal View History

{
config,
pkgs,
2024-10-17 17:41:03 +02:00
lib,
inputs,
...
}: {
programs = {
2024-10-17 17:41:03 +02:00
zsh = {
2024-10-19 14:15:19 +02:00
enable =
if (config.os == "linux")
then true
else false;
2024-10-17 17:41:03 +02:00
oh-my-zsh = {
enable = true;
plugins = ["git"];
theme = "lambda";
};
initExtraFirst =
if !(config.os == "linux")
2024-11-10 19:25:04 +01:00
then "export PATH=$PATH:~/.cargo/bin/\n${pkgs.pfetch-rs}/bin/pfetch"
else "${pkgs.pfetch-rs}/bin/pfetch\n";
2024-10-17 17:41:03 +02:00
plugins = [
{
name = "zsh-autocomplete";
src = pkgs.fetchFromGitHub {
owner = "marlonrichert";
repo = "zsh-autocomplete";
rev = "23.07.13";
sha256 = "sha256-/6V6IHwB5p0GT1u5SAiUa20LjFDSrMo731jFBq/bnpw=";
};
}
];
};
atuin = {
enable = true;
2024-06-03 17:55:51 +02:00
enableNushellIntegration = true;
2024-11-22 17:37:00 +01:00
settings = {
style = "compact";
inline_height = 10;
};
};
eza.enable = true;
nushell = {
enable = true;
shellAliases = {
ls = "eza -l --icons --tree --level 2 --header --git --group-directories-first";
# reload = "clear; source $nu.config-path";
};
extraConfig = "maxfetch";
configFile = {
2024-04-12 12:50:19 +02:00
text = builtins.readFile ../config-files/config.nu;
};
};
carapace.enable = true;
carapace.enableNushellIntegration = true;
starship = let
flavour = "mocha";
in {
enable = true;
enableNushellIntegration = true;
enableBashIntegration = true;
enableZshIntegration = true;
settings =
{
# Other config here
character = {
success_symbol = "[λ::](bold green)";
error_symbol = "[λ::](bold red)";
};
username = {
style_user = "bold pink";
format = "[$user]($style)";
show_always = true;
disabled = false;
};
hostname = {
ssh_only = false;
format = "[ 🏳 ](bold pink)[$hostname](bold flamingo)";
disabled = false;
};
right_format = "$all";
format = ''
$username$hostname in $directory
$character'';
palette = "catppuccin_${flavour}";
}
// builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "starship";
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
}
+ /palettes/${flavour}.toml));
};
};
}