209 lines
3.4 KiB
Nix
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
|
|
];
|
|
}
|