Last active
May 3, 2017 13:03
-
-
Save offlinehacker/ef35777d25b696321c8117436b838bd5 to your computer and use it in GitHub Desktop.
.nixpkgs/config.nix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is mostly a work in progress and might not work with what is in | |
# nixpkgs trunk. If you have questions, feel free to contact me: | |
# Jaka Hudoklin <jakahudoklin@gmail.com> | |
{ | |
allowUnfree = true; # for flash and such | |
#allowBroken = true; # for testing | |
chromium.enableGoogleTalkPlugin = true; | |
chromium.enablePepperFlash = true; | |
chromium.enableWideVine = true; | |
firefox.icedtea = true; | |
st.conf = builtins.readFile ./.st.conf; | |
#ffmpeg.x11grab = true; | |
packageOverrides = pkgs: let | |
params = import ./params.nix; | |
ifX = (param: if params.enableX then param else null); | |
in with pkgs.lib; rec { | |
bluez = pkgs.bluez5; | |
pelican = pkgs.pythonPackages.pelican.override { | |
doCheck = false; | |
}; | |
st_patched = overrideDerivation pkgs.st (p: { | |
patches = [ | |
(pkgs.fetchpatch { | |
url = "http://st.suckless.org/patches/st-0.6-copyurl.diff"; | |
sha256 = "13c8hir6k8k8xiffjh90kw7qbyq3g1dnw583mwk9rx12rn1cpl9r"; | |
}) | |
]; | |
}); | |
# Basic X dependencies | |
pkgsX = pkgs.buildEnv { | |
name = "pkgs-X"; | |
paths = with pkgs; [ | |
# dependecies | |
xorg.xkbcomp | |
xorg.xorgserver | |
xorg.xf86videodummy | |
xorg.xf86inputvoid | |
xorg.xrdb | |
xfontsel | |
fontconfig | |
freetype | |
xclip | |
xsel | |
# basic fonts | |
xorg.fontbhttf | |
xorg.fontbhlucidatypewriter100dpi | |
xorg.fontbhlucidatypewriter75dpi | |
xorg.fontbh100dpi | |
xorg.fontmiscmisc | |
xorg.fontcursormisc | |
ttf_bitstream_vera | |
freefont_ttf | |
liberation_ttf | |
inconsolata | |
]; | |
ignoreCollisions = true; | |
}; | |
# Standard development environment | |
pkgsStdenv = pkgs.buildEnv { | |
name = "pkgs-stdenv"; | |
paths = with pkgs; [ | |
coreutils | |
utillinux | |
inetutils | |
stdenv | |
strace | |
#git | |
gnugrep | |
gnused | |
file | |
tree | |
autojump | |
direnv | |
unrar | |
curl | |
wget | |
cacert | |
zip | |
unzip | |
htop | |
psmisc | |
p7zip | |
beep | |
which | |
readline | |
# shell | |
zsh | |
tmux | |
pythonPackages.powerline | |
# best editor ever | |
vim_configurable | |
vimPlugins.YouCompleteMe | |
# For remote X | |
(ifX xlibs.xauth) | |
]; | |
ignoreCollisions = true; | |
}; | |
pkgsDesktop = pkgs.buildEnv { | |
name = "pkgs-desktop"; | |
paths = with pkgs; [ | |
xlibs.xbacklight | |
i3lock | |
i3status | |
libnotify | |
scrot | |
alsaUtils | |
dunst | |
dmenu | |
networkmanagerapplet | |
gnome3.gnome_keyring | |
xfce.tumbler | |
pavucontrol | |
numix-gtk-theme | |
numix-icon-theme | |
]; | |
}; | |
pkgsStandard = pkgs.buildEnv { | |
name = "pkgs-standard"; | |
paths = with pkgs; [ | |
# terminal | |
(ifX st_patched) | |
# misc | |
cdrkit | |
(ifX redshift) | |
(ifX unetbootin) | |
#(ifX winusb) | |
(ifX xlibs.xev) | |
# sync | |
dropbox | |
dropbox-cli | |
# chat | |
weechat | |
bitlbee | |
# windows emulation | |
wine | |
winetricks | |
dosbox | |
# www | |
(ifX firefoxWrapper) | |
(ifX chromium) | |
(ifX torbrowser) | |
(ifX vidalia) | |
elinks | |
# p2p stuff | |
(ifX transmission_gtk) | |
# telephony | |
(ifX skype) | |
# docs/images | |
(ifX mupdf) | |
(ifX libreoffice) | |
(ifX feh) | |
(ifX (xsane.override { gimpSupport = true; })) | |
imagemagick | |
# audio/video | |
(ifX vlc) | |
(ifX audacity) | |
(ifX xvidcap) | |
ffmpeg | |
nodePackages.peerflix | |
youtube-dl | |
perlPackages.ImageExifTool # Image metadata | |
# pass/cert managment | |
pass | |
gnupg | |
pinentry | |
# games | |
(ifX steam) | |
(ifX teeworlds) | |
]; | |
ignoreCollisions = true; | |
}; | |
pkgsGraphics = pkgs.buildEnv { | |
name = "pkgs-graphics"; | |
paths = with pkgs; [ | |
(ifX gimp) # for image editing | |
(ifX blender) # for modelling and animations | |
(ifX openscad) # programative 3d models | |
(ifX meshlab) # for 3d meshes | |
(ifX freecad) # cad, but free | |
(ifX inkscape) # vector graphic tool | |
(ifX kde4.kdenlive) # video editing tool | |
(ifX dia) # diagraming tool | |
#(ifX yed) # better diagraming tool | |
(ifX picard) # Music id3 analyzer | |
(ifX tuxguitar) # For my guitar tunes | |
]; | |
}; | |
pkgsAdmin = pkgs.buildEnv { | |
name = "pkgs-admin"; | |
paths = with pkgs; [ | |
# misc | |
mkpasswd | |
pwgen | |
gzrt | |
fakeroot | |
fakechroot | |
apacheHttpd | |
cpufrequtils | |
hexedit | |
pv | |
sysdig # System call analyzer | |
# disk | |
hdparm | |
encfs | |
cifs_utils | |
iotop | |
lsof | |
inotifyTools | |
ntfs3g | |
parted | |
sshfsFuse | |
unionfs-fuse | |
extundelete | |
(ifX baobab) | |
nfs-utils | |
smartmontools # for smartctl | |
btrfsProgs # btrfs utils | |
s3fs | |
# crypto | |
openssl | |
cryptsetup | |
truecrypt | |
easyrsa | |
ykpers # yubikey preferences | |
(ifX xca) # Cert managment | |
# networking | |
(ifX wireshark) | |
(ifX filezilla) | |
tcpdump | |
iptables | |
nmap | |
openvpn | |
wakelan | |
bridge_utils | |
bind | |
jnettop | |
ncftp | |
curl_unix_socket | |
ethtool | |
socat | |
#bmon | |
tcptrack | |
arp-scan | |
stunnel | |
# nix | |
nixopsUnstable | |
# For network boot | |
dhcp | |
unfs3 | |
# Virtualization | |
#(ifX virtmanager) | |
#(ifX virtviewer) | |
docker | |
kubernetes | |
# remote desktop | |
(ifX rdesktop) | |
(ifX gtkvnc) | |
(ifX x11vnc) | |
xdummy | |
# devices | |
pciutils | |
usbutils | |
]; | |
ignoreCollisions = true; | |
}; | |
pkgsHacking = pkgs.buildEnv { | |
name = "pkgs-hacking"; | |
paths = with pkgs; [ | |
# sniffing | |
aircrackng | |
ettercap | |
cutter | |
#john | |
logkeys | |
libnfc | |
mfcuk | |
mfoc | |
#masscan | |
msf | |
]; | |
ignoreCollisions = true; | |
}; | |
pkgsDev = pkgs.buildEnv { | |
name = "pkgs-dev"; | |
paths = with pkgs; [ | |
# utils | |
ctags | |
pkgconfig | |
automake | |
cmake | |
rlwrap | |
cabextract | |
casperjs | |
jq | |
#(ifX node_webkit) | |
gist | |
# documentation/text | |
pelican | |
pythonPackages.sphinx | |
haskellPackages.pandoc | |
# ploting | |
gnuplot | |
graphviz | |
# nix | |
nixUnstable | |
nix-repl | |
#nodePackages.npm2nix | |
#nodePackages.bower2nix | |
#rubyLibs.nix | |
dpkg | |
nix-prefetch-scripts | |
nox | |
bundix | |
# version control | |
gitAndTools.gitFull | |
gitAndTools.gitflow | |
gitAndTools.hub | |
#nodePackages.gh | |
mercurial | |
subversionClient | |
# needed for vim's syntastic | |
phantomjs | |
pythonPackages.flake8 | |
pythonPackages.docutils | |
htmlTidy | |
csslint | |
nodePackages.jshint | |
nodePackages."js-yaml" | |
golint | |
# needed for youcompleteme | |
gocode | |
gotags | |
# compilers and interpreters | |
python27Full | |
python27Packages.ipython | |
python27Packages.bpython | |
ruby | |
mono | |
jdk | |
nodejs | |
go | |
php | |
erlang | |
# mathematics | |
python27Packages.numpy | |
python27Packages.matplotlib | |
python27Packages.scipy | |
octave | |
# package managment and build tools | |
bundler | |
nodePackages."grunt-cli" | |
nodePackages.bower | |
maven | |
leiningen | |
ant | |
scons | |
#scaffolding | |
python27Packages.mrbob | |
#nodePackages.yo | |
# virtualenv | |
pythonPackages.virtualenv | |
# databases | |
sqlite | |
mongodb | |
mysql55 | |
postgresql | |
redis | |
etcdctl | |
(ifX dfeet) | |
# debugging | |
ddd | |
ltrace # lib tracer, like strace | |
#kcachegrind | |
# common used development libraries | |
pcre | |
zlib | |
pkgconfig | |
#openssl | |
#curlcares | |
nasm | |
sqlite | |
db4 | |
cyrus_sasl | |
libxml2 | |
libxslt | |
libevent | |
pycrypto | |
#gifsicle | |
optipng | |
compass | |
graphicsmagick | |
# android | |
androidenv.androidsdk_4_3 | |
apktool | |
# networking | |
ngrok | |
# deployment | |
ec2_api_tools | |
packer | |
vagrant | |
pythonPackages.docker_compose | |
ansible | |
awscli | |
heroku | |
# virtualization | |
qemu | |
lxc | |
]; | |
ignoreCollisions = true; | |
}; | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment