-with import <nixpkgs> {};
+{ sources ? import ./nix/sources.nix }:
let
- nixpkgs = import <nixpkgs> {};
- 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.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 <nixpkgs/pkgs/development/perl-modules/generic> { };
- 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;
- };
- };
-
- 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;
- };
- };
-
-# https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
-# https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
+ pkgs = import sources.nixpkgs {};
+ pkgs_ = pkgs;
+ mypkgs = import ./pkgs { pkgs = pkgs_; };
in
- {
- inherit nix-prefetch-scripts;
- inherit ledger;
- inherit taskwarrior vit timewarrior;
- inherit weboob;
- inherit slrn;
- inherit sc-im;
- inherit ldapvi;
- inherit pal;
- inherit duplicity duply;
- inherit pdftk;
- inherit googler;
- inherit jrnl;
- inherit apg;
- inherit newsboat;
- inherit vcsh;
- inherit xmr-stak;
- inherit urlwatch;
- inherit pass;
- inherit ranger;
- inherit profanity;
- inherit weechat;
- inherit note terminal_velocity;
- inherit mtop;
- #inherit nixos;
- }
+{
+ lib = import ./lib { pkgs = pkgs_; };
+ modules = import ./modules;
+ overlays = import ./overlays;
+ pkgs = mypkgs;
+ environments = pkgs.callPackage ./environments {};
+} // mypkgs