X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=default.nix;h=ae3b2b76bedaade975f60b7e8e961af533b3846b;hb=98de2045a749b25d031b174c940096b4f5406b9d;hp=4592eefe2bcff94d6518aa6f72075c0e3c7c8afa;hpb=3936ddc576d7e896f5894902bcb19a045709fd6f;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/default.nix b/default.nix index 4592eef..ae3b2b7 100644 --- a/default.nix +++ b/default.nix @@ -1,32 +1,10 @@ with import {}; +with import ./libs.nix { nixpkgs = import {}; }; let - nixpkgs = import {}; - 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/" @@ -36,78 +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 ]; }; }; + 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 {}; + + 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 {}; + + mypkgs.pelican = python3Packages.pelican.overrideAttrs(old: fetchedGithub ./fetched/pelican.json // rec { + propagatedBuildInputs = old.propagatedBuildInputs ++ [ python3Packages.pyyaml ]; + }); + + 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 = []; + } + ); + + mypkgs.neomutt = neomutt.overrideAttrs (old: + rec { + buildInputs = old.buildInputs ++ [ gdbm ]; + configureFlags = old.configureFlags ++ [ "--gdbm" ]; + } + ); + + mypkgs.goaccess = goaccess.overrideAttrs(old: rec { + name = "goaccess-${version}"; + version = "1.3"; + src = fetchurl { + url = "https://tar.goaccess.io/${name}.tar.gz"; + sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc"; + }; + configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ]; + buildInputs = old.buildInputs ++ [ tokyocabinet bzip2 ]; + }); + + mypkgs.yarn2nix = yarn2nixPackage.yarn2nix; + + + mypkgs.sc-im = sc-im.overrideAttrs (old: { + buildPhase = '' + cd src + sed -i Makefile -e 's@\...name.info@.local/state/$(name)info@' + cd .. + '' + old.buildPhase; + }); + + mypkgs.lesspipe = lesspipe.overrideAttrs(old: { + configureFlags = (old.configureFlags or []) ++ [ "--yes" ]; + }); + + + 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 ledger; - inherit taskwarrior vit timewarrior; - inherit weboob; - inherit slrn; - inherit sc-im; - inherit ldapvi; + 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; + 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; }