254 lines
5.2 KiB
Nix
254 lines
5.2 KiB
Nix
{ pkgs, inputs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./discord.nix
|
|
./java.nix
|
|
./fonts.nix
|
|
];
|
|
|
|
home.packages = with pkgs; [
|
|
# coding
|
|
|
|
arduino arduino-cli # arduino
|
|
android-studio jetbrains.idea-community bytecode-viewer maven gradle # java
|
|
helix
|
|
dbeaver-bin
|
|
rustc cargo rustfmt clippy rust-analyzer
|
|
geckodriver # firefox selenium
|
|
typescript nodejs terser # ts/js
|
|
hexedit
|
|
ollama
|
|
gftp # when pcmanfm die
|
|
clang-tools
|
|
multipath-tools # for pmbootstrap
|
|
nil # nix lang server
|
|
typescript-language-server
|
|
jdt-language-server
|
|
|
|
(python3.withPackages (lib: with lib; [
|
|
requests
|
|
selenium
|
|
pygame
|
|
ollama
|
|
discordpy
|
|
prettytable
|
|
colorama
|
|
pyyaml
|
|
beautifulsoup4
|
|
lxml
|
|
rich
|
|
websockets
|
|
pyside6
|
|
shiboken6
|
|
psutil
|
|
# extend this list as need
|
|
]))
|
|
|
|
|
|
|
|
# cli
|
|
|
|
killall usbutils sox jq sshpass
|
|
spoofdpi zapret
|
|
cowsay cbonsai rsclock
|
|
pfetch neofetch fastfetch # i use nixos btw!
|
|
librespeed-cli
|
|
|
|
inputs.envfetch.packages.x86_64-linux.default
|
|
|
|
(yt-dlp.overrideAttrs (oldAttrs: {
|
|
buildInputs = oldAttrs.buildInputs or [] ++ [ pkgs.makeWrapper ];
|
|
postInstall = oldAttrs.postInstall or "" + ''
|
|
wrapProgram $out/bin/yt-dlp \
|
|
--add-flags "--cookies-from-browser firefox --proxy socks5://127.0.0.1:1080" \
|
|
--set HTTP_PROXY "socks5://127.0.0.1:1080" \
|
|
--set HTTPS_PROXY "socks5://127.0.0.1:1080"
|
|
''; # makes yt-dlp using my proxy + cookies from firefox
|
|
}))
|
|
|
|
|
|
|
|
# desktop
|
|
|
|
gimp
|
|
blender
|
|
blockbench
|
|
kdePackages.kdenlive
|
|
libreoffice
|
|
davinci-resolve
|
|
prismlauncher
|
|
vitetris
|
|
tetrio-desktop
|
|
bibata-cursors
|
|
xonotic
|
|
openshot-qt
|
|
shotcut
|
|
sticky-notes
|
|
kdePackages.kate
|
|
ddnet
|
|
easyeffects
|
|
kdePackages.kdeconnect-kde
|
|
gnome-text-editor
|
|
baobab
|
|
gnome-system-monitor
|
|
vlc
|
|
xarchiver
|
|
osu-lazer-bin
|
|
eog
|
|
|
|
(pcmanfm.overrideAttrs (oldAttrs: {
|
|
buildInputs = oldAttrs.buildInputs or [] ++ [ pkgs.makeWrapper ];
|
|
postInstall = oldAttrs.postInstall or "" + ''
|
|
wrapProgram $out/bin/pcmanfm --add-flags "-n" # make pcmanfm start in new window
|
|
'';
|
|
}))
|
|
|
|
|
|
|
|
# internet
|
|
|
|
spotify
|
|
firefox
|
|
telegram-desktop
|
|
(chromium.override { enableWideVine = true; })
|
|
revolt-desktop
|
|
element-desktop
|
|
surf
|
|
mumble
|
|
electrum
|
|
tor-browser-bundle-bin
|
|
|
|
|
|
# sort later
|
|
xdo
|
|
libappindicator-gtk3
|
|
glib
|
|
alsa-utils
|
|
SDL2
|
|
sqlite
|
|
gnumake
|
|
nasm
|
|
grub2 libisoburn qemu
|
|
direnv go
|
|
wineWowPackages.stable
|
|
dconf
|
|
patchelf
|
|
numlockx
|
|
tigervnc
|
|
lxmenu-data
|
|
shared-mime-info
|
|
gparted
|
|
pavucontrol
|
|
p7zip
|
|
ffmpeg
|
|
unzip
|
|
gcc
|
|
];
|
|
|
|
programs.vscode = {
|
|
enable = true;
|
|
profiles.default.extensions = with pkgs.vscode-extensions; [
|
|
rust-lang.rust-analyzer
|
|
bbenoist.nix
|
|
arrterian.nix-env-selector
|
|
mkhl.direnv
|
|
tamasfe.even-better-toml
|
|
];
|
|
package = pkgs.vscode.fhsWithPackages (ps: with ps; [
|
|
rustup pkg-config openssl gtk4 pango libnotify
|
|
]);
|
|
};
|
|
|
|
programs.zed-editor = {
|
|
enable = true;
|
|
|
|
extensions = ["nix" "toml" "make"];
|
|
userSettings = {
|
|
assistant = {
|
|
enabled = false;
|
|
};
|
|
|
|
lsp = {
|
|
rust-analyzer = {
|
|
binary = {
|
|
path = "/run/current-system/sw/bin/rust-analyzer";
|
|
};
|
|
};
|
|
nix = {
|
|
binary = {
|
|
path_lookup = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
load_direnv = "shell_hook";
|
|
base_keymap = "VSCode";
|
|
theme = {
|
|
mode = "dark";
|
|
light = "Catppuccin Mocha";
|
|
dark = "Catppuccin Mocha";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
lfs.enable = true;
|
|
};
|
|
|
|
programs.kitty = {
|
|
enable = true;
|
|
enableGitIntegration = true;
|
|
shellIntegration.enableBashIntegration = true;
|
|
themeFile = "Hardcore";
|
|
settings = {
|
|
confirm_os_window_close = 0;
|
|
touch_scroll_multiplier = 3.0;
|
|
wheel_scroll_multiplier = 3.0;
|
|
background_opacity = 0.9;
|
|
font_size = 11.0;
|
|
};
|
|
keybindings = {
|
|
"ctrl+c" = "copy_and_clear_or_interrupt";
|
|
"ctrl+v" = "paste_from_clipboard";
|
|
"ctrl+equal" = "increase_font_size";
|
|
"ctrl+minus" = "decrease_font_size";
|
|
};
|
|
};
|
|
|
|
# # declarative firefox installation
|
|
#
|
|
# programs.firefox = {
|
|
# enable = true;
|
|
# profiles.default = {
|
|
# isDefault = true;
|
|
# name = "default";
|
|
# search.default = "ddg";
|
|
# search.privateDefault = "ddg";
|
|
# };
|
|
# };
|
|
|
|
xdg.mimeApps.defaultApplications = {
|
|
"text/html" = "firefox.desktop";
|
|
"x-scheme-handler/http" = "firefox.desktop";
|
|
"x-scheme-handler/https" = "firefox.desktop";
|
|
"x-scheme-handler/about" = "firefox.desktop";
|
|
"x-scheme-handler/unknown" = "firefox.desktop";
|
|
};
|
|
|
|
services.flatpak.packages = [
|
|
"org.gimp.GIMP"
|
|
"org.vinegarhq.Sober"
|
|
"com.usebottles.bottles"
|
|
"it.mijorus.smile"
|
|
"org.gnome.Builder"
|
|
"com.github.libresprite.LibreSprite"
|
|
"net.sapples.LiveCaptions"
|
|
"io.github.mrvladus.List"
|
|
"app.zen_browser.zen"
|
|
"io.github.Soundux"
|
|
];
|
|
|
|
}
|