-
Notifications
You must be signed in to change notification settings - Fork 17
/
shell.nix
44 lines (37 loc) · 1.01 KB
/
shell.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{ pkgs ? import <nixpkgs> {} }:
let
installPnpmCommand = "curl -fsSL https://get.pnpm.io/install.sh | sh -";
in pkgs.mkShell {
name = "cuhacking-2025-dev-env";
buildInputs = [
pkgs.figlet
pkgs.jp2a
pkgs.git
pkgs.gh
pkgs.lazygit
pkgs.zellij
pkgs.eza
pkgs.yazi
pkgs.zsh
];
shellHook = ''
# Check if pnpm exists, if not, install it
if ! command -v pnpm >/dev/null 2>&1; then
echo "pnpm not found, installing..."
${installPnpmCommand}
echo "Please re-run the Nix Shell"
exit
fi
pnpm env use 22.11.0 --global
# Aliases
alias l='eza -lh --icons=auto'
alias ls='eza --icons=auto --sort=name --group-directories-first'
alias ll='eza -lha --icons=auto --sort --group-directories-first'
alias ld='eza -lhD --icons=auto'
alias lt='eza --icons=auto --tree'
alias y='yazi'
alias mkdir='mkdir -p'
# Display jp2a image
jp2a --color ./libs/shared/assets/logos/cuHacking/logo-icon-wordmark-gradient-green.png
'';
}