X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=default.nix;h=ae3b2b76bedaade975f60b7e8e961af533b3846b;hb=98de2045a749b25d031b174c940096b4f5406b9d;hp=a914f744df03d03f10c0e3b41ac59386633e0cce;hpb=a54bdff3efa229a7f4d6355c69bac9bc326bc97a;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/default.nix b/default.nix index a914f74..ae3b2b7 100644 --- a/default.nix +++ b/default.nix @@ -1,47 +1,10 @@ with import {}; +with import ./libs.nix { nixpkgs = 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; - }; + mypkgs = {}; - ledger = (nixpkgs.ledger.override { boost = boost166; }).overrideAttrs (oldAttrs: - fetchedGithub ./fetched/ledger.json // { - postInstall = ""; - } - ); - - taskwarrior = nixpkgs.taskwarrior.overrideAttrs (oldAttrs: rec { - postInstall = ''${oldAttrs.postInstall} + mypkgs.taskwarrior = taskwarrior.overrideAttrs (old: rec { + postInstall = ''${old.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/" @@ -51,186 +14,226 @@ let ''; }); - vit = (nixpkgs.vit.override { inherit taskwarrior; }).overrideAttrs (oldAttrs: + mypkgs.vit = (vit.override { taskwarrior = mypkgs.taskwarrior; }).overrideAttrs (old: fetchedGithub ./fetched/vit.json // { - buildInputs = oldAttrs.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth]; + buildInputs = old.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 - ''; + mypkgs.weboob = (pythonPackages.weboob.overridePythonAttrs { + setupPyBuildFlags = [ "--no-qt" "--xdg" ]; + }).overrideAttrs (old: rec { + version = "1.5"; + src = fetchurl { + url = "https://git.weboob.org/weboob/weboob/-/archive/${version}/${old.pname}-${version}.tar.gz"; + sha256 = "0l6q5nm5g0zn6gmf809059kddrbds27wgygxsfkqja9blks5vq7z"; + }; + postInstall = ''${old.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 { + mypkgs.slrn = slrn.overrideAttrs (old: 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" ]; + configureFlags = old.configureFlags ++ [ "--with-slrnpull" ]; }); - ldapvi = nixpkgs.ldapvi.overrideAttrs (oldAttrs: fetchedGit ./fetched/ldapvi.json); + mypkgs.ldapvi = ldapvi.overrideAttrs (old: fetchedGit ./fetched/ldapvi.json); nixos = import ./nixos_tools.nix {}; - pass = nixpkgs.pass.overrideAttrs (oldAttrs: + mypkgs.pass = (pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old: fetchedGit ./fetched/pass.json // { - patches = oldAttrs.patches ++ [ ./patches/pass-fix-pass-init.patch ]; + patches = old.patches ++ [ ./patches/pass-fix-pass-init.patch ]; } ); - profanity = (nixpkgs.profanity.override { + mypkgs.profanity = (profanity.override { notifySupport = true; inherit libnotify gpgme gdk_pixbuf; python = python3; - }).overrideAttrs (oldAttrs: rec { - configureFlags = oldAttrs.configureFlags ++ [ "--enable-plugins" ]; + }).overrideAttrs (old: rec { + configureFlags = old.configureFlags ++ [ "--enable-plugins" ]; }); - weechat = nixpkgs.weechat.override { + mypkgs.weechat = weechat.override { configure = { availablePlugins, ... }: { plugins = with availablePlugins; [ + # Make sure websocket_client is not 0.55.0, it provokes + # regular crashes (python.withPackages (ps: with ps; [websocket_client emoji])) perl + ruby ]; }; }; - 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"]; - buildInputs = [ 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; - }; + mypkgs.boinctui = callPackage ./pkgs/boinctui {}; + mypkgs.cnagios = callPackage ./pkgs/cnagios { inherit fetchedGithub; }; + mypkgs.duply = callPackage ./pkgs/duply {}; + mypkgs.flrn = callPackage ./pkgs/flrn { + slang = callPackage ./pkgs/slang_1 {}; + inherit fetchedGithub; }; + mypkgs.genius = callPackage ./pkgs/genius {}; + mypkgs.mtop = callPackage ./pkgs/mtop {}; + mypkgs.muttprint = callPackage ./pkgs/muttprint {}; + mypkgs.mutt-ics = callPackage ./pkgs/mutt-ics { inherit fetchedGithub; }; + mypkgs.nagios-cli = callPackage ./pkgs/nagios-cli { inherit fetchedGithub; }; + #mypkgs.nagnu = callPackage ./pkgs/nagnu { inherit fetchedGithub; }; + mypkgs.note = callPackage ./pkgs/note {}; + mypkgs.notmuch-python2 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python2Packages; }; + mypkgs.notmuch-python3 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python3Packages; }; + mypkgs.notmuch-vim = callPackage ./pkgs/notmuch/notmuch-vim {}; + mypkgs.pg_activity = callPackage ./pkgs/pg_activity { inherit fetchedGithub; }; + mypkgs.pgloader = callPackage ./pkgs/pgloader { inherit fetchedGithub; }; + mypkgs.telegram-cli = callPackage ./pkgs/telegram-cli { inherit fetchedGithub; }; + mypkgs.telegram-history-dump = callPackage ./pkgs/telegram-history-dump { inherit fetchedGithub; }; + mypkgs.telegramircd = callPackage ./pkgs/telegramircd { + telethon = callPackage ./pkgs/telethon_sync {}; + inherit fetchedGithub; + }; + mypkgs.terminal-velocity = callPackage ./pkgs/terminal-velocity {}; + mypkgs.tiv = callPackage ./pkgs/tiv {}; + mypkgs.unicode = callPackage ./pkgs/unicode {}; - terminal_velocity = with python2Packages; buildPythonApplication rec { - pname = "terminal-velocity-git"; - version = "0.2.0"; + mypkgs.cardano = callPackage ./pkgs/crypto/cardano { inherit fetchedGithub; }; + mypkgs.iota-cli-app = callPackage ./pkgs/crypto/iota-cli-app { inherit fetchedGithub; }; + mypkgs.sia = callPackage ./pkgs/crypto/sia {}; - patches = [ - # FIXME: update this patch when version changes - ./patches/terminal_velocity_fix_build.patch - ./patches/terminal_velocity_sort_found_notes.patch - ]; + mypkgs.pelican = python3Packages.pelican.overrideAttrs(old: fetchedGithub ./fetched/pelican.json // rec { + propagatedBuildInputs = old.propagatedBuildInputs ++ [ python3Packages.pyyaml ]; + }); - propagatedBuildInputs = [ chardet urwid sh pyyaml ]; - buildInputs = [ m2r restructuredtext_lint pygments ]; + mypkgs.elinks = elinks.overrideAttrs (old: + fetchedGithub ./fetched/elinks.json // rec { + preConfigure = ''sh autogen.sh''; + buildInputs = old.buildInputs ++ [ gettext automake autoconf ]; + configureFlags = [ + "--disable-smb" "--without-x" "--enable-cgi" + "--enable-leds" "--enable-256-colors" + "--enable-html-highlight" "--with-zlib" + ]; + patches = []; + } + ); - src = fetchPypi { - inherit pname version; - sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9"; - }; - }; + mypkgs.neomutt = neomutt.overrideAttrs (old: + rec { + buildInputs = old.buildInputs ++ [ gdbm ]; + configureFlags = old.configureFlags ++ [ "--gdbm" ]; + } + ); - mtop = buildPerlPackage rec { - name = "mtop-${version}"; - version = "0.6.6"; + mypkgs.goaccess = goaccess.overrideAttrs(old: rec { + name = "goaccess-${version}"; + version = "1.3"; src = fetchurl { - url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz"; - sha256 = "0x0x5300b1j9i0xxk8rsrki0pspyzj2vylhzv8qg3l6j26aw0zrf"; + url = "https://tar.goaccess.io/${name}.tar.gz"; + sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc"; }; - outputs = ["out"]; - buildInputs = [ perlPackages.DBI perlPackages.DBDmysql perlPackages.Curses ]; + configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ]; + buildInputs = old.buildInputs ++ [ tokyocabinet bzip2 ]; + }); - 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; - }; - }; + mypkgs.yarn2nix = yarn2nixPackage.yarn2nix; - 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" - ]; + mypkgs.sc-im = sc-im.overrideAttrs (old: { + buildPhase = '' + cd src + sed -i Makefile -e 's@\...name.info@.local/state/$(name)info@' + cd .. + '' + old.buildPhase; + }); - 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 ]; + mypkgs.lesspipe = lesspipe.overrideAttrs(old: { + configureFlags = (old.configureFlags or []) ++ [ "--yes" ]; }); - nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json); + mypkgs.dwm = dwm.overrideAttrs(old: rec { + postPatch = '' + cp ${./patches/dwm_config.h} ./config.h + ''; + }); + + mypkgs.nixops = nixops.overrideAttrs (old: { + preConfigure = (old.preConfigure or "") + '' + sed -i -e "/'keyFile'/s/'path'/'string'/" nixops/backends/__init__.py + ''; + }); # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks in - { + mypkgs // { inherit nix-prefetch-scripts; inherit nix-generate-from-cpan; - inherit ledger; - inherit taskwarrior vit timewarrior; - inherit weboob; - inherit slrn; - inherit sc-im; - inherit ldapvi; + 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; - inherit note terminal_velocity; - inherit mtop; - inherit tiv; - inherit cnagios nagios-cli; + inherit irssi; + inherit abook khard khal; + inherit graphicsmagick; + inherit youtube-dl; + inherit ncmpc ncmpcpp; + inherit cadaver; + inherit mairix notmuch; + inherit ctags; + inherit s3cmd; + inherit solc; # solidity + inherit rtorrent; + inherit strace; + inherit vdirsyncer; + inherit w3m lynx links; + inherit gitRepo; + inherit valgrind; + 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 nixos; + 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; }