Commit 3f953a516240

Vincent Demeester <vincent@sbr.pm>
2018-08-04 12:01:28
Update configuration to a working one (hokkaido first)
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent b99d21c
overlays/sbr.nix
@@ -0,0 +1,6 @@
+self: super:
+{
+	prm = import ../pkgs/prm {
+	    inherit (super) stdenv lib buildGoPackage fetchgit;
+	};
+}
\ No newline at end of file
pkgs/ape/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "ape-${version}";
+  version = "0.1.1";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/vdemeester/ape";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "vdemeester";
+    repo = "ape";
+    sha256 = "0gz329a9ym4yyh9m7c563axaa833gdhh8xfr8a521djzh5snynsq";
+  };
+
+  meta = {
+    description = "a git mirror *upstream* updater ";
+    homepage = "https://github.com/vdemeester/ape";
+    licence = lib.licenses.asl20;
+  };
+}
pkgs/clasp/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "clasp-${version}";
+  version = "0.0.1";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/vdemeester/clasp";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "vdemeester";
+    repo = "clasp";
+    sha256 = "0vvb3ay635svp710z8kn499426ajf5x83i4fih6zwp32fnmwvfwn";
+  };
+
+  meta = {
+    description = "mini hook / rebuild configuration binary written in Go";
+    homepage = "https://github.com/vdemeester/clasp";
+    licence = lib.licenses.asl20;
+  };
+}
pkgs/dobi/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "dobi-${version}";
+  version = "v0.9";
+  rev = "0cb9d4c4290d8c044b34f1fb5c662ac4116c2f25";
+
+  buildFlagsArray = let t = "${goPackagePath}/cmd"; in ''
+    -ldflags=
+       -X ${t}.gitsha=${rev}
+       -X ${t}.buildDate=unknown
+  '';
+  goPackagePath = "github.com/dnephin/dobi";
+  excludedPackages = "docs";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "dnephin";
+    repo = "dobi";
+    sha256 = "11a3nhhxcixz3sb92vr57gj5dpg4h47xy2v0wczxzcn1fhf2s06n";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = {
+    description = "A build automation tool for Docker applications";
+    homepage = https://dnephin.github.io/dobi/;
+    license = lib.licenses.asl20;
+  };
+}
pkgs/dobi/deps.nix
@@ -0,0 +1,220 @@
+[
+  {
+    goPackagePath = "github.com/Azure/go-ansiterm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-ansiterm";
+      rev = "fa152c58bc15761d0200cb75fe958b89a9d4888e";
+      sha256 = "09qlywlnp8gwjn4n5ri376bnvmkid823la8xsp0v0si8a98z8bv4";
+    };
+  }
+  {
+    goPackagePath = "github.com/dnephin/configtf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dnephin/configtf";
+      rev = "6b0d1fdf5e68504061777fe78693fba1b40aef85";
+      sha256 = "0qbcpq2vqm8wws3ixb25z9dz5v4n62w8m10vhy68vvblsp46x2jp";
+    };
+  }
+  {
+    goPackagePath = "github.com/dnephin/go-os-user";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dnephin/go-os-user";
+      rev = "44e2994deb1ed3c8bf21e28cbd5d2e3107b35e0b";
+      sha256 = "0dk122hicmqvkdl7lm099mwsbhb0zrndafm7r9qxvlbffigipx1f";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/docker";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/docker";
+      rev = "515e5dade7a006dbd2c42880f1af695da22ece60";
+      sha256 = "1m4cll2v0j0l00mp117x7gbs5r5shxgf7ydbp21pgjxb9v8f969y";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/go-connections";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/go-connections";
+      rev = "1494b6df4050e60923d68cd8cc6a19e7af9f1c01";
+      sha256 = "1r1r2a3giir1ixdqwqvg82mjvnah19xjry2i1nv30ri3xfxcz33n";
+    };
+  }
+  {
+    goPackagePath = "github.com/docker/go-units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/docker/go-units";
+      rev = "8a7beacffa3009a9ac66bad506b18ffdd110cf97";
+      sha256 = "0cljjl9j2bi10fy16y7icb3iz95x1zhjfswhc2yj0w2l8wvgzfjp";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsouza/go-dockerclient";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsouza/go-dockerclient";
+      rev = "348eb84e7de87ad89fd9a2656f56081b2a4d837b";
+      sha256 = "0gm4cn2wcbnwb4zc5qwj4nry4hg9k922kk6b23zvhl63hy35mizv";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogits/git-module";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogits/git-module";
+      rev = "b3009dc4f5842cf9e2e80fef1e125e79c38e4949";
+      sha256 = "1f5mms15hknnj17nvb5dwwk8fcm8a9msy9qdjvkplihxgaqm0amz";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-cleanhttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-cleanhttp";
+      rev = "ad28ea4487f05916463e2423a55166280e8254b5";
+      sha256 = "0xw0qas3ixg8p2xh09hhc81km0mfn9lbnfgrdb309hzcwhmiyqjm";
+    };
+  }
+  /*
+  {
+    goPackagePath = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75";
+      sha256 = "1j51aaskfqc953p5s9naqimr04hzfijm4yczdsiway1xnnvvpfr1";
+    };
+  }
+  */
+  {
+    goPackagePath = "github.com/kballard/go-shellquote";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kballard/go-shellquote";
+      rev = "d8ec1a69a250a17bb0e419c386eac1f3711dc142";
+      sha256 = "1a57hm0zwyi70am670s0pkglnkk1ilddnmfxz1ba7innpkf5z6s7";
+    };
+  }
+  {
+    goPackagePath = "github.com/mcuadros/go-version";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mcuadros/go-version";
+      rev = "d52711f8d6bea8dc01efafdb68ad95a4e2606630";
+      sha256 = "08ps27vvn77jhrnks8p8mx5cwgb1ikhaddcnrpgpz7aq905a5kzn";
+    };
+  }
+  {
+    goPackagePath = "github.com/metakeule/fmtdate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/metakeule/fmtdate";
+      rev = "427373e7d2f8fcaa70a83e289c15fb3618a945bc";
+      sha256 = "1xfcg8vd1z12kvp03arp5rbvrf5717blwippia9c1yxn050a4qwy";
+    };
+  }
+  {
+    goPackagePath = "github.com/Microsoft/go-winio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Microsoft/go-winio";
+      rev = "ce2922f643c8fd76b46cadc7f404a06282678b34";
+      sha256 = "162533q8jhbpl48hcpxyzbldrkmm9v803s8r6ssds5xbqx7gv2s1";
+    };
+  }
+  {
+    goPackagePath = "github.com/opencontainers/runc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opencontainers/runc";
+      rev = "4c8007f34a0077a1040923ee4c7cec64b6e070d4";
+      sha256 = "0dlrlflam74035gz6c351ay32yb7vysv5wf0a971hy01lvm68d7c";
+    };
+  }
+  {
+    goPackagePath = "github.com/renstorm/dedent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/renstrom/dedent";
+      rev = "020d11c3b9c0c7a3c2efcc8e5cf5b9ef7bcea21f";
+      sha256 = "0awsnc3hf4n46p388zg0cijh2sk813cyqpqk6f95kbzx9h9gv7lk";
+    };
+  }
+  {
+    goPackagePath = "github.com/Sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Sirupsen/logrus";
+      rev = "26709e2714106fb8ad40b773b711ebce25b78914";
+      sha256 = "11sd2dc5w3ny84zk1pcvvirkmq84ac0bnf1vq4p9j5qj05zjz3rb";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dnephin/cobra";
+      rev = "8e4c18bd418c1b9060ddf7760316aa7c2a468127";
+      sha256 = "0an8mv9xn3zlzvy0whq8k9wi9jwqk2mwb2rv7fks6yknyfpvdh98";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "5ccb023bc27df288a957c5e994cd44fd19619465";
+      sha256 = "1r65j8sw15pz0iacwnf303p6s51vkv0k6qc5cyb2kybfraqd7f7z";
+    };
+  }
+  {
+    goPackagePath = "github.com/Unknwon/com";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Unknwon/com";
+      rev = "28b053d5a2923b87ce8c5a08f3af779894a72758";
+      sha256 = "09i9slj4zbsqmwkkx9bqi7cgpv6hqby6r98l6qx1wag89qijybz2";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/fasttemplate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/fasttemplate";
+      rev = "3b874956e03f1636d171bda64b130f9135f42cff";
+      sha256 = "0h17a316a148g3diylpasa9hwx0rp8l619kqdz6spmf9l5iml4hh";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "3fe3024eef808ba2798cc1855690f49e2b860573";
+      sha256 = "0r6i9b3r33lzpcww0sijzw16dw4klz97m4dynja1ids7g6yddq4a";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "c200b10b5d5e122be351b67af224adc6128af5bf";
+      sha256 = "1f764m3q05q2dq1pdms07jcixw4xakqw46w1djrmbhjmd9q8b0av";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "a5b47d31c556af34a302ce5d659e6fea44d90de0";
+      sha256 = "0v6l48fshdjrqzyq1kwn22gy7vy434xdr1i0lm3prsf6jbln9fam";
+    };
+  }
+]
pkgs/envbox/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "envbox-${version}";
+  version = "0.0.3";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/justone/envbox";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "justone";
+    repo = "envbox";
+    sha256 = "0ihwdhq05s0116ngcnh3vsxhm5k3lnidyaky2qv6dbw1hnq2pv1y";
+  };
+
+  meta = {
+    description = "Secure environment variables via secretbox";
+    homepage = "https://github.com/justone/envbox";
+    licence = lib.licenses.mit;
+  };
+}
pkgs/prm/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, buildGoPackage, fetchgit }:
+
+buildGoPackage rec {
+  name = "prm-unstable-${version}";
+  version = "2.1.1";
+  rev = "83ff93d6d9d043d8c3dde54d47e8a82524bb8cf3"; # v2.1.1
+
+  goPackagePath = "github.com/ldez/prm";
+
+  buildFlagsArray = let t = "${goPackagePath}/meta"; in ''
+    -ldflags=
+       -X ${t}.Version=${version}
+       -X ${t}.BuildDate=unknown
+  '';
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/ldez/prm";
+    sha256 = "0adz9vli1x5f5v2vyfag7m2a9llj7bxih5g3ccjpiz22xk26rc6l";
+  };
+
+  goDeps = ./deps.nix;
+
+  # TODO: add metadata https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes
+  meta = {
+    description = "Pull Request Manager for Maintainers";
+    homepage = "https://github.com/ldez/prm";
+    licence = lib.licences.asl20;
+  };
+}
pkgs/prm/deps.nix
@@ -0,0 +1,111 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/containous/flaeg";
+    fetch = {
+      type = "git";
+      url = "https://github.com/containous/flaeg";
+      rev = "23af69148a91eb9fd61bd84baa2b011a03a445bd";
+      sha256 = "01bwl8yb5bsn14vlp92xbw5hfn8lsis745rgzbya6l3ca8sbv8nl";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-github";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-github";
+      rev = "2ae5df7848328c214a48cec94c7d410cf8526527";
+      sha256 = "115pynpgxbg3khpg8n9zwwlb0krr7ac56r1if9hp5kqnci3r5w6g";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev = "53e6ce116135b80d037921a7fdd5138cf32d7a8a";
+      sha256 = "0lkbm067nhmxk66pyjx59d77dbjjzwyi43gdvzyx2f8m1942rq7f";
+    };
+  }
+  {
+    goPackagePath = "github.com/ldez/go-git-cmd-wrapper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ldez/go-git-cmd-wrapper";
+      rev = "e27263e23bd292ec54bd9519f0e727395a949a91";
+      sha256 = "01gz12360yfp6wylsjw522svj2vdh567yrdy3xghgh6hp20bxvb9";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "efa589957cd060542a26d2dd7832fd6a6c6c3ade";
+      sha256 = "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+  {
+    goPackagePath = "github.com/mgutz/ansi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mgutz/ansi";
+      rev = "9520e82c474b0a04dd04f8a40959027271bab992";
+      sha256 = "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j";
+    };
+  }
+  {
+    goPackagePath = "github.com/ogier/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ogier/pflag";
+      rev = "45c278ab3607870051a2ea9040bb85fcb8557481";
+      sha256 = "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "816c9085562cd7ee03e7f8188a1cfd942858cded";
+      sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "1e491301e022f8f977054da4c2d852decd59571f";
+      sha256 = "1wc18flnz99bip2j1gpnvr3qdp1y7wgyvawlvvc8rmd6ggf5f2yq";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev = "ec22f46f877b4505e0117eeaab541714644fdd28";
+      sha256 = "130mzy6mn1kik21zswv2kddfc0n53p4xvb2f64v7diykdkmb7gs5";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/AlecAivazis/survey.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/AlecAivazis/survey.v1";
+      rev = "e752db451e07e09c7d7dc8cada807a44bdb0fd47";
+      sha256 = "00fhmsaymrf86pg246cqxvfrivgfkyg3i0aixsp3sn15hg3i0vlq";
+    };
+  }
+]
pkgs/tuck/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "tuck-${version}";
+  version = "0.1.1";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/vdemeester/tuck";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "vdemeester";
+    repo = "tuck";
+    sha256 = "1wwwh6wq5z0xdix2pdxh6i72f5w8qyc8rsc29b50vl00z869igv8";
+  };
+
+  meta = {
+    description = "symlink farm manager à-la-stow";
+    homepage = "https://github.com/vdemeester/tuck";
+    licence = lib.licenses.asl20;
+  };
+}
.gitignore
@@ -0,0 +1,3 @@
+*~
+result
+home.nix
\ No newline at end of file
base.nix
@@ -4,7 +4,6 @@ let home_directory = builtins.getEnv "HOME"; in
 
 rec {
 
-  imports = [ ../profiles/overlays.nix ];
   programs = {
     home-manager = {
       enable = true;
config.nix
@@ -0,0 +1,3 @@
+{
+	allowUnfree = true;
+}
\ No newline at end of file
hokkaido.nix
@@ -1,7 +1,34 @@
-{ pkgs, prefix, ... }:
-
-{
-  programs.bash = {
+{ pkgs, ... }:
+with pkgs; {
+  imports = [
+    ./base.nix
+    ./devops.nix
+    ./dev.go.nix
+    ./dev.rust.nix
+    ./dev.python.nix
+    ./dev.js.nix
+    ./dev.java.nix
+    ./dev.haskell.nix
+  ];
+  services.redshift = {
     enable = true;
+    brightness = { day = "1"; night = "0.9"; };
+    latitude = "48.3";
+    longitude = "7.5";
+    tray = true;
   };
+  services.random-background = {
+    enable = true;
+    imageDirectory = "/home/vincent/desktop/pictures/wallpapers/Unsplashed";
+  };
+  xdg.configFile."fish/conf.d/docker.fish".text = ''
+    set -gx TESTKIT_AWS_KEYNAME "vdemeester-wakasu"
+    set -gx DOCKER_BUILDKIT 1
+  '';
+  home.packages = with pkgs; [
+    vscode
+    zoom-us
+    debootstrap
+    weechat weechat-xmpp
+  ];
 }
home.nix
@@ -1,39 +0,0 @@
-{ pkgs, ... }:
-with pkgs; {
-  imports = [
-    ./devops.nix
-    ./dev.go.nix
-    ./dev.rust.nix
-    ./dev.python.nix
-    ./dev.js.nix
-    ./dev.java.nix
-    ./dev.haskell.nix
-  ];
-  services.redshift = {
-    enable = true;
-    brightness = { day = "1"; night = "0.9"; };
-    latitude = "48.3";
-    longitude = "7.5";
-    tray = true;
-  };
-  services.random-background = {
-    enable = true;
-    imageDirectory = "/home/vincent/desktop/pictures/wallpapers/Unsplashed";
-  };
-  xdg.configFile."fish/conf.d/docker.fish".text = ''
-    set -gx TESTKIT_AWS_KEYNAME "vdemeester-wakasu"
-    set -gx DOCKER_BUILDKIT 1
-  '';
-  home.packages = with pkgs; [
-    vscode
-    zoom-us
-    debootstrap
-    weechat weechat-xmpp
-  ];
-	programs = {
-		home-manager = {
-			enable = true;
-			path = https://github.com/vdemeester/home-manager/archive/fish-module.tar.gz;
-		};
-	};
-}
README.md
@@ -3,5 +3,16 @@
 This repository is using `home-manager` and `nix`.
 
 - clone this repository in `$HOME/.config/nixpkgs`
+- create a `home.nix` file with the content you want.
+  Some machines files already exists that you can use :
+  ```
+  { pkgs, ... }:
+
+  {
+	imports = [
+	    ./hokkaido.nix
+  	];
+  }
+  ```
 - run `nix-shell https://github.com/rycee/home-manager/archive/master.tar.gz -A install` (maybe twice :D)
 - run `echo -n "Passphrase: "; read -i PASSPHRASE; env PASSPHRASE=$PASSPHRASE home-manager switch;`
\ No newline at end of file