X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=blobdiff_plain;f=default.nix;h=1f43cdd93883294eb3e4b67df4a1d66b7b98fd72;hp=c2fe492c626ed84e583b8e9fc1db3303b9499f87;hb=ce95026934c4ea8c647365f68eb195459fcdff08;hpb=d0f8088176b96b41bb7fe5911b9a224883b4b9f1 diff --git a/default.nix b/default.nix index c2fe492..1f43cdd 100644 --- a/default.nix +++ b/default.nix @@ -1,150 +1,11 @@ -with import {}; +{ sources ? import ./nix/sources.nix, pkgs ? import sources.nixpkgs {} }: 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; - }; - - 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 { }; - 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"; - }; - }; + mypkgs = pkgs.callPackage ./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 nixos; - } +{ + lib = pkgs.callPackage ./lib {}; + modules = import ./modules; + overlays = import ./overlays; + pkgs = mypkgs; + environments = pkgs.callPackage ./environments {}; +} // mypkgs