Files
bankrupt/home-manager/modules/packages.nix
T
2025-11-16 23:47:03 +08:00

209 lines
3.4 KiB
Nix

# Modern CLI tools and utilities
{
inputs,
lib,
config,
pkgs,
...
}:
with pkgs; let
wrapBin = p: a: b:
pkgs.writeShellScriptBin b ''
#!/usr/bin/env bash
exec ${p}/bin/${a} $@
'';
pythonPackages = pkgs.python311.withPackages (p:
with p; [
python-lsp-server
pyls-flake8
pyls-isort
pyls-spyder
# pylsp-mypy
pylsqpack
black
pipenv
# nosetests
pytest
yt-dlp
opencv4
west
pyelftools
]);
in {
imports = [
./modules/yabai/yabai.nix
./modules/skhd/skhd.nix
];
nixpkgs.overlays = [
(final: prev: {
maven363 = prev.maven.overrideAttrs (old: rec {
pname = "apache-maven";
version = "3.6.3";
src = prev.pkgs.fetchurl {
url = "mirror://apache/maven/maven-3/${version}/binaries/${pname}-${version}-bin.tar.gz";
sha256 = "sha256-Jq2R11GzqaUwh676dD9OFqF3QdORWyGc90ESv4ekOMU=";
};
});
})
];
nixpkgs.config.permittedInsecurePackages = [
"hadoop-3.3.1"
"libressl-3.4.3"
];
nix = {
configureBuildUsers = true;
settings = {
substituters = [
"https://cache.nixos.org/"
"https://cache.iog.io"
"https://haskell-language-server.cachix.org"
"https://nix-community.cachix.org"
];
trusted-users = ["@admin"];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
"haskell-language-server.cachix.org-1:juFfHrwkOxqIOZShtC4YC1uT1bBcq2RSvC7OMKx0Nz8="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
experimental-features = ["ca-derivations" "nix-command" "flakes"];
keep-outputs = true;
keep-derivations = true;
auto-optimise-store = true;
max-jobs = 32;
cores = 0;
http-connections = 64;
};
package = nixUnstable;
};
nix.extraOptions =
""
+ lib.optionalString (pkgs.system == "aarch64-darwin") ''
extra-platforms = x86_64-darwin aarch64-darwin
'';
environment.systemPackages = with pkgs; [
gitAndTools.gitFull
neovim
vim
ripgrep
openvpn
aria2
ranger
ncdu
ffmpeg
cachix
# hyper-haskell
cabal-install
ghc
#(haskell-language-server.override {supportedGhcVersions = ["943"];})
(aspellWithDicts (ds: with ds; [en en-computers en-science]))
rdesktop
entr
fd
fzf
texlive.combined.scheme-full
imagemagick
alejandra
(wrapBin alejandra "alejandra --quiet" "nixfmt")
# nixfmt
# nixpkgs-fmt
pythonPackages
# commandNotFound
shellcheck
shfmt
graphviz
htop
exa
openconnect
yq
bat
delta
gnutar
netcat-gnu
jetbrains.idea-community
pywal
kcat
leetcode-cli
nodejs
redis
# hadoop
direnv
nix-direnv
pgformatter
pgcli
sbt
scala_2_12
scalafix
scalafmt
coursier
metals
protobuf
mycli
# apktool no darwin
docker
lima
llvmPackages_14.clangUseLLVM
headscale
kitty
alacritty
# add packages
w3m
emacs
parinfer-rust
sshuttle
maven363
openssh
(wrapBin openssh "ssh" "fuckyou")
gnupg
gzip
esptool
cmake
wget
patchelf
ninja
wireguard-tools
wireguard-go
dfu-programmer
dua
# progs
];
}