1
Fork 0
mirror of https://github.com/thegeneralist01/config.git synced 2026-03-07 10:59:55 +01:00
config/modules/common/nushell/default.nix

61 lines
1.6 KiB
Nix

{ config, pkgs, lib, wrapper-manager, ... }: let
inherit (lib) readFile getExe mkIf optionalAttrs;
in {
# TODO: starship + change the zoxide src
# TODO: Rust tooling
home-manager.sharedModules = [
(homeArgs: {
xdg = {
enable = true;
configHome = "~/.config";
};
programs.nushell = {
enable = true;
package = pkgs.nushell;
configFile.text = readFile ./config.nu;
envFile.text = readFile ./env.nu;
environmentVariables = config.environment.variables // homeArgs.config.home.sessionVariables;
};
})
];
environment = optionalAttrs config.onLinux {
sessionVariables.SHELLS = getExe pkgs.nushell;
} // {
shells = mkIf (!config.onLinux) [ pkgs.nushell pkgs.zsh ];
systemPackages = with pkgs; [
nushell
fish
zoxide
ripgrep
jq
yq-go
eza
fzf
gh
fastfetch
];
shellAliases = {
v = "nvim .";
ff = "fastfetch --load-config examples/10.jsonc";
g = "glimpse --interactive -o both -f llm.md";
gg = "open llm.md | save -r /dev/stdout | ^xclip -sel c";
rn = "yazi";
c = "clear";
e = "exa";
el = "exa -la";
l = "ls -a";
ll = "ls -la";
cl = "c; l";
ap = "cd ~/personal";
ad = "cd ~/Downloads";
ab = "cd ~/books";
a = "cd ~";
ah = "cd ~/dotfiles/hosts/thegeneralist";
ai3 = "nvim /home/thegeneralist/dotfiles/hosts/thegeneralist/dotfiles/i3/config";
rb = "nh os switch . -v -- --show-trace --verbose";
};
};
}