dotfiles/common/pkgs.nix

264 lines
6.2 KiB
Nix
Raw Normal View History

2024-11-17 21:20:03 -05:00
{
pkgs,
config,
inputs,
cpkg,
}:
let
pinned = import ./pinned.nix { inherit pkgs config; };
in
{
2024-11-17 21:20:03 -05:00
dev = with pkgs; [
2024-11-26 19:16:17 -05:00
bear
2024-11-26 02:23:31 -05:00
llvmPackages_19.clang-tools
2024-10-28 19:57:27 -04:00
meson
2024-11-17 21:20:17 -05:00
nixfmt-rfc-style
nil
2024-10-28 19:57:27 -04:00
deno
rustup
android-studio-tools
vscode-langservers-extracted
cmake
nodePackages_latest.typescript-language-server
lua
go
eslint_d
typescript
php
clang
gnumake
gradle
lazygit
linuxHeaders
2024-09-02 16:01:02 -04:00
eslint
nodePackages.nodemon
nodePackages.ts-node
nodePackages.pnpm
corepack_22
2024-09-02 16:01:02 -04:00
prisma
prisma-engines
nodePackages.live-server
gh
glib
glibc
2024-11-17 21:20:17 -05:00
(python312.withPackages (
ps: with ps; [
pytesseract
pillow
pyzbar
pygobject3
nanoid
loguru
evdev
setuptools
xlib
]
))
2024-05-27 14:09:56 -04:00
nodejs_22
];
2024-11-17 21:20:03 -05:00
gui = with pkgs; [
2024-11-22 00:08:00 -05:00
screenkey
pinned.vscode
# (
# (pinned.vscode.override {
# isInsiders = true;
# }).overrideAttrs
# (
# _: old:
# let
# sourceExecutableName = "code-insiders";
# executableName = "code-insiders";
# in
# {
# installPhase = ''
# runHook preInstall
# mkdir -p "$out/lib/vscode" "$out/bin"
# cp -r ./* "$out/lib/vscode"
#
# mv "$out/lib/vscode/bin/code" "$out/lib/vscode/bin/${sourceExecutableName}" # ME
#
# ln -s "$out/lib/vscode/bin/${sourceExecutableName}" "$out/bin/${executableName}"
#
# mkdir -p "$out/share/applications"
# ln -s "$desktopItem/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
# ln -s "$urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop"
#
# # These are named vscode.png, vscode-insiders.png, etc to match the name in upstream *.deb packages.
# mkdir -p "$out/share/pixmaps"
# cp "$out/lib/vscode/resources/app/resources/linux/code.png" "$out/share/pixmaps/vs${executableName}.png"
#
# # Override the previously determined VSCODE_PATH with the one we know to be correct
# sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}"
# grep -q "VSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}" # check if sed succeeded
#
# # Remove native encryption code, as it derives the key from the executable path which does not work for us.
# # The credentials should be stored in a secure keychain already, so the benefit of this is questionable
# # in the first place.
# rm -rf $out/lib/vscode/resources/app/node_modules/vscode-encrypt
# # HOOK
# runHook postInstall
# '';
#
# postFixup = ''
# patchelf \
# --add-needed ${pkgs.libglvnd}/lib/libGLESv2.so.2 \
# --add-needed ${pkgs.libglvnd}/lib/libGL.so.1 \
# --add-needed ${pkgs.libglvnd}/lib/libEGL.so.1 \
# $out/lib/vscode/code
# '';
# }
# )
# )
2024-10-28 19:57:27 -04:00
cpkg.frog
legcord
obsidian
bottles
parsec-bin
jadx
android-studio
wireshark
2024-11-22 00:08:00 -05:00
# pinned.vscode
2024-10-28 19:57:27 -04:00
pinned.etcher
insomnia
teamviewer
davinci-resolve
warp-terminal
2024-11-26 19:59:44 -05:00
gnome-calculator
libsForQt5.kcolorchooser
python312Packages.openai-whisper
firefox-devedition
element-desktop
protonvpn-gui
xclicker
polychromatic
jellyfin-media-player
arrpc
filezilla
virt-manager
qemu_full
shotcut
pinta
gimp
inkscape
#OCR ENGINE
tesseract4
2024-08-14 18:12:06 -04:00
(pkgs.discord.override {
withVencord = true;
})
vesktop
xsel
spotify
pulseaudioFull
pavucontrol
2024-06-20 20:03:04 -04:00
# jetbrains.pycharm-community
2024-10-28 19:57:27 -04:00
jbeap.idea-ultimate
google-chrome
bitwarden
nerdfonts
2024-09-17 21:24:54 -04:00
# vscodium
kitty
rofi
thunderbird
vlc
jellyfin-web
obs-studio
ksshaskpass
libsForQt5.kinit
];
general = with pkgs; [
imagemagick
2024-10-28 19:57:27 -04:00
onefetch
p7zip
dig
bat
2024-07-05 11:14:34 -04:00
usbutils
tree
ffmpeg
yt-dlp
neofetch
sops
hyfetch
fzf
zsh-powerlevel10k
zsh-syntax-highlighting
jq
unzip
btop
];
gaming = with pkgs; [
(prismlauncher.override {
jdks = [
jdk8
jdk17
2024-11-22 00:08:00 -05:00
jdk23
];
})
protontricks
lutris
];
scripts = [
2024-11-17 21:20:03 -05:00
(pkgs.writeShellScriptBin "hashi18n" ''
xsel -ob | node ${cpkg.scripts}/hash.js | tr -d '\n' | xsel -ib
'')
(pkgs.writeShellScriptBin "paste" ''
command -v xsel > /dev/null
if [[ $? -eq 0 ]]; then
xsel -ob && exit 0
fi
command -v wslclip > /dev/null
if [[ $? -eq 0 ]]; then
wslclip -g && exit 0
fi
'')
2024-06-19 02:37:19 -04:00
(pkgs.writeShellScriptBin "http2ssh" ''
set -eo pipefail
2024-06-19 02:37:19 -04:00
if [[ -z $1 ]]; then
echo "You need to provide a remote name";
echo "Avilable remotes";
git remote -v;
exit 1;
fi
URL=''$(git remote get-url $1);
URL=''${URL/https:\/\//git@};
URL=''${URL/\//:};
git remote set-url $1 $URL;
2024-11-17 21:20:03 -05:00
'')
(pkgs.writeShellScriptBin "copy" ''
command -v xsel > /dev/null
if [[ $? -eq 0 ]]; then
xsel -ib $@ && exit 0
fi
command -v wslclip > /dev/null
if [[ $? -eq 0 ]]; then
wslclip $@ && exit 0
fi
'')
(pkgs.writeShellScriptBin "git_fetchAll" ''
git branch -r | grep -v '\->' | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | while read remote; do git branch --track "''${remote#origin/}" "$remote"; done
git fetch --all
git pull --all
'')
(pkgs.writeShellScriptBin "install_eslint" ''
set -x
cp /home/${config.home.username}/.config/.eslintrc.json .
pkgs=("@stylistic/eslint-plugin" "@typescript-eslint/eslint-plugin")
if [[ -z $1 ]]; then
echo please specify npm, pnpm, or yarn
exit 1
fi
for i in "''${pkgs[@]}"; do
`$1 i -D $i`
done
'')
(pkgs.writeShellScriptBin "math" ''
set -e
python3 -c "print($*)"
'')
];
2024-11-17 21:20:03 -05:00
wsl = with pkgs; [
wslu
];
}