Fully reproducible localhost
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

packages.nix 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. { config, pkgs, ... }:
  2. let
  3. unstable = import <unstable> {};
  4. emacsWithImagemagick = (unstable.emacs.override {
  5. srcRepo = true;
  6. imagemagick = unstable.imagemagickBig;
  7. });
  8. nixpkgs-tars = "https://github.com/NixOS/nixpkgs/archive/";
  9. in {
  10. nixpkgs.config = {
  11. allowUnfree = true;
  12. packageOverrides = pkgs: {
  13. pr64977 = import (fetchTarball "${nixpkgs-tars}7da8de19b1f394c92f27b8d953b85cfce1770427.tar.gz") {
  14. config = config.nixpkgs.config;
  15. };
  16. };
  17. };
  18. programs.zsh.enable = true;
  19. programs.browserpass.enable = true;
  20. programs.adb.enable = true;
  21. programs.java = {
  22. enable = true;
  23. package = unstable.pkgs.jdk11;
  24. };
  25. services.ntp.enable = true;
  26. services.tlp.enable = true;
  27. services.vnstat.enable = true;
  28. virtualisation.docker.enable = true;
  29. virtualisation.libvirtd = {
  30. enable = true;
  31. qemuVerbatimConfig = ''
  32. namespaces = []
  33. user = "user"
  34. group = "users"
  35. '';
  36. };
  37. services.tor.enable = true;
  38. services.tor.client.enable = true;
  39. environment.systemPackages = with pkgs; [
  40. # nix
  41. patchelfUnstable nix-index
  42. appimage-run
  43. # utils
  44. wget tmux zsh vim htop acpi bc p7zip mpv
  45. git pass unzip zip w3m whois dnsutils feh
  46. parted iotop nmap tldr sshfs pinentry_ncurses
  47. oathToolkit neomutt pciutils easyrsa openvpn
  48. lsof tcpdump ddcutil pmount woeusb tigervnc
  49. file mkpasswd irssi heroku hdparm debootstrap
  50. proot fakeroot fakechroot lm_sensors powertop
  51. exfat traceroute graphicsmagick-imagemagick-compat
  52. pdftk vnstat dunst ghostscript graphicsmagick
  53. browsh texlive.combined.scheme-full rubber pandoc
  54. jq socat
  55. # gpg-related
  56. gnupg unstable.yubikey-manager unstable.yubikey-personalization
  57. # virtualization
  58. nixops
  59. kvm
  60. virtmanager
  61. virtviewer
  62. spice
  63. spice-gtk
  64. # temporary
  65. pr64977.telega-server
  66. ((unstable.emacsPackagesNgGen emacsWithImagemagick).emacsWithPackages(epkgs:
  67. # MELPA (Milkypostman’s Emacs Lisp Package Archive)
  68. (with epkgs.melpaPackages; [
  69. # Programming languages modes
  70. haskell-mode rust-mode scala-mode csharp-mode d-mode
  71. solidity-mode php-mode go-mode elpy
  72. # Development
  73. helm-gtags slime xcscope go-autocomplete
  74. # Configuration languages modes
  75. nix-mode markdown-mode dockerfile-mode yaml-mode ssh-config-mode
  76. toml-mode pcap-mode
  77. # Version control
  78. magit git-gutter
  79. # Generic
  80. smex w3m exec-path-from-shell org-kanban
  81. # Appearance
  82. zenburn-theme solarized-theme
  83. ])
  84. ++
  85. # GNU Elpa
  86. (with epkgs.elpaPackages; [
  87. # Programming languages modes
  88. cobol-mode
  89. ])
  90. ++
  91. # Custom packaged
  92. [
  93. ((unstable.emacsPackagesNgFor emacsWithImagemagick).melpaBuild {
  94. pname = "telega";
  95. ename = "telega";
  96. recipe = fetchurl {
  97. url = "https://raw.githubusercontent.com/melpa/melpa/master/recipes/telega";
  98. sha256 = "0n1n1fciwh7jbakdjkx36aq6k0is0c694j3n5dicwvfp7spca7p8";
  99. name = "recipe";
  100. };
  101. version = "0.4.0";
  102. src = fetchFromGitHub {
  103. owner = "zevlg";
  104. repo = "telega.el";
  105. rev = "0.4.0";
  106. sha256 = "1a5fxix2zvs461vn6zn36qgpg65bl38gfb3ivr24wmxq1avja5s1";
  107. };
  108. })
  109. ]
  110. ))
  111. # dev
  112. go gnumake gcc clang clang-analyzer global
  113. maven binutils-unwrapped openssl bison flex fop libxslt
  114. cmake manpages unstable.gradle cargo rustc guile hydra
  115. gitRepo rustfmt bazel ghc zlib gperf ccache opencv gotools
  116. # re
  117. radare2 radare2-cutter
  118. # x render
  119. vdpauinfo
  120. cm_unicode
  121. # base x
  122. rofi xlibs.xmodmap ubuntu_font_family i3lock unstable.kitty
  123. libnotify gtk_engines x2x lxappearance-gtk3
  124. pulsemixer arc-theme xorg.xhost xclip
  125. gnome3.dconf gnome3.dconf-editor gsettings-desktop-schemas gsettings-qt
  126. xorg.xcursorthemes capitaine-cursors gnome3.cheese
  127. # x apps
  128. unstable.chromium escrotum unstable.wire-desktop ssvnc tightvnc
  129. quaternion veracrypt evince krita gimp gnome3.gnome-maps
  130. android-file-transfer darktable xournal gnome3.eog audacious audacity
  131. matrique unstable.libreoffice electrum adobe-reader unstable.wireshark lmms
  132. unstable.firefox unstable.stellarium
  133. (writeShellScriptBin "torbrowser" "${unstable.tor-browser-unwrapped}/bin/firefox")
  134. ];
  135. }