commit 3f953a5162408f9432b3f3f51126c8ec0c45fa2b
parent b99d21c73f38025e9db9686b2cc2227f87502d01
Author: Vincent Demeester <vincent@sbr.pm>
Date: Sat, 4 Aug 2018 12:01:28 +0200
Update configuration to a working one (hokkaido first)
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Diffstat:
15 files changed, 536 insertions(+), 44 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -0,0 +1,3 @@
+*~
+result
+home.nix+
\ No newline at end of file
diff --git a/README.md b/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
diff --git a/base.nix b/base.nix
@@ -4,7 +4,6 @@ let home_directory = builtins.getEnv "HOME"; in
rec {
- imports = [ ../profiles/overlays.nix ];
programs = {
home-manager = {
enable = true;
diff --git a/config.nix b/config.nix
@@ -0,0 +1,3 @@
+{
+ allowUnfree = true;
+}+
\ No newline at end of file
diff --git a/hokkaido.nix b/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
+ ];
}
diff --git a/home.nix b/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;
- };
- };
-}
diff --git a/overlays/sbr.nix b/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
diff --git a/pkgs/ape/default.nix b/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;
+ };
+}
diff --git a/pkgs/clasp/default.nix b/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;
+ };
+}
diff --git a/pkgs/dobi/default.nix b/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;
+ };
+}
diff --git a/pkgs/dobi/deps.nix b/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";
+ };
+ }
+]
diff --git a/pkgs/envbox/default.nix b/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;
+ };
+}
diff --git a/pkgs/prm/default.nix b/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;
+ };
+}
diff --git a/pkgs/prm/deps.nix b/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";
+ };
+ }
+]
diff --git a/pkgs/tuck/default.nix b/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;
+ };
+}