nixos/modules/home-manager/shell-aliases.nix

65 lines
1.5 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
aliases = [
{
name = "nixrebt";
cmd = "sudo nixos-rebuild switch --flake /home/jack/nixos/#t480";
desc = "Rebuild NixOS config for t480";
}
{
name = "nixrebd";
cmd = "sudo nixos-rebuild switch --flake /home/jack/nixos/#desktop";
desc = "Rebuild NixOS config for desktop";
}
{
name = "nixrebs";
cmd = "sudo nixos-rebuild switch --flake /home/jack/nixos/#dellserv";
desc = "Rebuild NixOS config for dellserv";
}
{
name = "nd";
cmd = "nix develop -c zsh";
desc = "Enter nix dev shell with zsh";
}
{
name = "v";
cmd = "nvim";
desc = "Neovim";
}
{
name = "c";
cmd = "clear";
desc = "Clear terminal";
}
{
name = "cl";
cmd = "clear && ls";
desc = "Clear and list files";
}
{
name = "nixconf";
cmd = "nvim ~/nixos/";
desc = "Open nixos config in nvim";
}
];
helpText = lib.concatMapStringsSep "\\n" (a: " ${a.name} -> ${a.desc}") aliases;
aliasAttrs = lib.listToAttrs (
map (a: {
name = a.name;
value = a.cmd;
}) aliases
);
in
{
home.shellAliases = aliasAttrs // {
a = ''echo -e "${helpText}\n a -> List aliases"'';
};
}