X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=blobdiff_plain;f=default.nix;h=5d9e138620d10d44a2864688a5fc38f3c2d4f600;hp=11dcf0d05f09d079d03b642a8fbc2cd77633de7a;hb=851f25966e419564e2288c6dc675d0954da7e8cf;hpb=444be9147a496b5563d4830a5148fc5318a64738 diff --git a/default.nix b/default.nix index 11dcf0d..5d9e138 100644 --- a/default.nix +++ b/default.nix @@ -1,262 +1,70 @@ -with import {}; -let - nixpkgs = import {}; - postHook = '' - header() { - echo -ne "\033[1;36m" - echo -n "$1" - echo -e "\033[0m" - } - - echoCmd() { - printf "\033[1;34m%s:\033[0m" "$1" - shift - printf ' %q' "$@" - echo - } - ''; - - fetchedGithub = path: - let - json = lib.importJSON path; - in rec { - version = json.tag; - name = "${json.meta.name}-${version}"; - src = fetchFromGitHub json.github; - }; - - fetchedGit = path: - let - json = lib.importJSON path; - in rec { - version = json.tag; - name = "${json.meta.name}-${version}"; - src = fetchgit json.git; - }; - - ledger = (nixpkgs.ledger.override { boost = boost166; }).overrideAttrs (oldAttrs: - fetchedGithub ./fetched/ledger.json // { - postInstall = ""; - } - ); - - taskwarrior = nixpkgs.taskwarrior.overrideAttrs (oldAttrs: rec { - postInstall = ''${oldAttrs.postInstall} - mkdir -p "$out/share/vim/vimfiles/ftdetect" - mkdir -p "$out/share/vim/vimfiles/syntax" - ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/" - ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/" - ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/" - ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/" - ''; - }); - - vit = (nixpkgs.vit.override { inherit taskwarrior; }).overrideAttrs (oldAttrs: - fetchedGithub ./fetched/vit.json // { - buildInputs = oldAttrs.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth]; - } - ); - - weboob = pythonPackages.weboob.overrideAttrs (oldAttrs: rec { - postInstall = ''${oldAttrs.postInstall or ""} - mkdir -p $out/share/bash-completion/completions/ - cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob - ''; - }); - - slrn = nixpkgs.slrn.overrideAttrs (oldAttrs: rec { - version = "1.0.3a"; - name = "slrn-${version}"; - src = fetchurl { - url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2"; - sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v"; - }; - configureFlags = oldAttrs.configureFlags ++ [ "--with-slrnpull" ]; - }); - - ldapvi = nixpkgs.ldapvi.overrideAttrs (oldAttrs: fetchedGit ./fetched/ldapvi.json); - - nixos = import ./nixos_tools.nix {}; - - pass = (nixpkgs.pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (oldAttrs: - fetchedGit ./fetched/pass.json // { - patches = oldAttrs.patches ++ [ ./patches/pass-fix-pass-init.patch ]; - } - ); - - profanity = (nixpkgs.profanity.override { - notifySupport = true; - inherit libnotify gpgme gdk_pixbuf; - python = python3; - }).overrideAttrs (oldAttrs: rec { - configureFlags = oldAttrs.configureFlags ++ [ "--enable-plugins" ]; - }); - - weechat = nixpkgs.weechat.override { - configure = { availablePlugins, ... }: { - plugins = with availablePlugins; [ - (python.withPackages (ps: with ps; [websocket_client emoji])) - perl - ]; - }; - }; - - buildPerlPackage = callPackage { }; - note = buildPerlPackage rec { - name = "note-1.3.26"; - src = fetchurl { - url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz"; - sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq"; - }; - outputs = ["out" "man"]; - propragatedBuildInputs = [ perlPackages.YAML ]; - meta = with stdenv.lib; { - description = "A perl script for maintaining notes"; - homepage = http://www.daemon.de/NOTE; - license = licenses.gpl3; - maintainers = with maintainers; [ { name = "T.v.Dein"; email = "tlinden@cpan.org"; } ]; - platforms = platforms.unix; - }; - }; - - terminal_velocity = with python2Packages; buildPythonApplication rec { - pname = "terminal-velocity-git"; - version = "0.2.0"; - - patches = [ - # FIXME: update this patch when version changes - ./patches/terminal_velocity_fix_build.patch - ./patches/terminal_velocity_sort_found_notes.patch - ]; - - propagatedBuildInputs = [ chardet urwid sh pyyaml ]; - buildInputs = [ m2r restructuredtext_lint pygments ]; - - src = fetchPypi { - inherit pname version; - sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9"; - }; - }; - - mtop = buildPerlPackage rec { - name = "mtop-${version}"; - version = "0.6.6"; - src = fetchurl { - url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz"; - sha256 = "0x0x5300b1j9i0xxk8rsrki0pspyzj2vylhzv8qg3l6j26aw0zrf"; - }; - outputs = ["out"]; - buildInputs = [ perlPackages.DBI perlPackages.DBDmysql perlPackages.Curses ]; - - postInstall = '' - cd "$out" - preConfigure || true - ''; - meta = with stdenv.lib; { - description = "MySQL top (monitor and examine slow queries)"; - homepage = http://mtop.sourceforge.net/; - license = licenses.gpl3; - maintainers = with maintainers; [ { name = "Marc Prewitt"; email = "mprewitt@chelsea.net"; } ]; - platforms = platforms.unix; - }; - }; - - tiv = buildPerlPackage rec { - name = "tiv-${version}"; - version = "2015"; - src = fetchurl { - url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz"; - sha256 = "1vq073v7z7vmcd57lhs4rf4jasji69cpjgkz4dykp94a77p1qq90"; - }; - outputs = ["out"]; - buildInputs = [ perlPackages.PerlMagick ]; - perlPreHookScript = ./hooks/tiv_builder.sh; - perlPreHook = '' - source ${perlPreHookScript} - ''; - installPhase = '' - install -Dm755 tiv "$out/bin/tiv" - ''; - }; - - cnagios = stdenv.mkDerivation (fetchedGithub ./fetched/cnagios.json // rec { - configureFlags = [ - "--with-etc-dir=/etc/cnagios" - "--with-var-dir=/var/lib/naemon" - "--with-nagios-data=4" - ]; - - prePatch = '' - sed -i -e "s/-lcurses/-lncurses/" Makefile.in - ''; - installPhase = '' - install -dm755 $out/share/doc/cnagios - install -Dm644 cnagiosrc $out/share/doc/cnagios/ - install -Dm644 cnagios.help $out/share/doc/cnagios/ - install -Dm644 cnagios.pl $out/share/doc/cnagios/ - install -dm755 $out/bin - install -Dm755 cnagios $out/bin/ - ''; - propagatedBuildInputs = [ perl ncurses ]; - }); - - nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json); - - pg_activity = with python2Packages; buildPythonApplication (fetchedGithub ./fetched/pg_activity.json // rec { - propagatedBuildInputs = [ psycopg2 psutil ]; - }); - - pgloader = stdenv.mkDerivation (fetchedGithub ./fetched/pgloader.json // rec { - buildInputs = [ sbcl cacert sqlite freetds libzip curl git openssl makeWrapper ]; - LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ]; - buildPhase = '' - export PATH=$PATH:$out/bin - export HOME=$TMPDIR - make pgloader - ''; - dontStrip = true; - enableParallelBuilding = false; - installPhase = '' - install -Dm755 build/bin/pgloader "$out/bin/pgloader" - wrapProgram $out/bin/pgloader --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}" - ''; - }); - -# https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh -# https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks -in +with import { overlays = builtins.attrValues (import ./overlays); }; + # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh + # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks { - inherit nix-prefetch-scripts; - inherit nix-generate-from-cpan; - inherit ledger; - inherit taskwarrior vit timewarrior; + boinctui = callPackage ./pkgs/boinctui {}; + cnagios = callPackage ./pkgs/cnagios {}; + duply = callPackage ./pkgs/duply {}; + flrn = callPackage ./pkgs/flrn { slang = callPackage ./pkgs/slang_1 {}; }; + genius = callPackage ./pkgs/genius {}; + mtop = callPackage ./pkgs/mtop {}; + muttprint = callPackage ./pkgs/muttprint {}; + mutt-ics = callPackage ./pkgs/mutt-ics {}; + nagios-cli = callPackage ./pkgs/nagios-cli {}; + #nagnu = callPackage ./pkgs/nagnu {}; + note = callPackage ./pkgs/note {}; + notmuch-python2 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python2Packages; }; + notmuch-python3 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python3Packages; }; + notmuch-vim = callPackage ./pkgs/notmuch/notmuch-vim {}; + pg_activity = callPackage ./pkgs/pg_activity {}; + pgloader = callPackage ./pkgs/pgloader {}; + telegram-cli = callPackage ./pkgs/telegram-cli {}; + telegram-history-dump = callPackage ./pkgs/telegram-history-dump {}; + telegramircd = callPackage ./pkgs/telegramircd { telethon = callPackage ./pkgs/telethon_sync {}; }; + terminal-velocity = callPackage ./pkgs/terminal-velocity {}; + tiv = callPackage ./pkgs/tiv {}; + unicode = callPackage ./pkgs/unicode {}; + + cardano = callPackage ./pkgs/crypto/cardano {}; + iota-cli-app = callPackage ./pkgs/crypto/iota-cli-app {}; + sia = callPackage ./pkgs/crypto/sia {}; + } // { # overlays inherit weboob; + inherit taskwarrior; inherit slrn; inherit sc-im; + inherit lesspipe; + inherit neomutt; + inherit weechat; + inherit goaccess; + inherit profanity; + inherit nixops; + inherit dwm; + inherit vit; + inherit pass; + inherit elinks; + inherit pelican; inherit ldapvi; + inherit (mylibs.yarn2nixPackage) yarn2nix; + } // { + inherit nix-prefetch-scripts; + inherit nix-generate-from-cpan; + inherit timewarrior; inherit pal; - inherit duplicity duply; inherit pdftk; inherit googler; inherit jrnl; - inherit apg; + inherit apg pwgen; inherit newsboat; inherit vcsh; inherit xmr-stak; inherit urlwatch; - inherit pass; inherit ranger; - inherit profanity; - inherit weechat irssi; - inherit note terminal_velocity; - inherit mtop; - inherit tiv; - inherit cnagios nagios-cli; + inherit irssi; inherit abook khard khal; inherit graphicsmagick; inherit youtube-dl; - inherit pg_activity pgloader; - inherit ncmpc; + inherit ncmpc ncmpcpp; inherit cadaver; inherit mairix notmuch; inherit ctags; @@ -268,5 +76,37 @@ in inherit w3m lynx links; inherit gitRepo; inherit valgrind; - #inherit nixos; + inherit iotop iperf; + inherit keybase; + inherit bogofilter; + inherit mtr; + inherit urlview; + inherit rr; + inherit nix-zsh-completions; + inherit browsh; + inherit monero; + inherit nextcloud-client; + inherit feh imagemagick; + inherit lftp; + stgit = gitAndTools.stgit; + inherit bundix; + bower2nix = nodePackages.bower2nix; + inherit firefox; + inherit jq; + inherit lzo unzip bzip2 p7zip xz; + # unrar is unfree + inherit tig; + inherit emacs26-nox; + inherit highlight sourceHighlight; + pygmentize = python3Packages.pygments; + inherit iftop htop; + inherit fetchmail; + inherit bc; + inherit cpulimit; + inherit dmenu st; + inherit poppler_utils; + inherit tmux; + inherit netcat-gnu; + inherit ledger; + inherit ffmpeg libxslt; }