home

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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:
A.gitignore | 4++++
MREADME.md | 11+++++++++++
Mbase.nix | 1-
Aconfig.nix | 4++++
Mhokkaido.nix | 35+++++++++++++++++++++++++++++++----
Dhome.nix | 39---------------------------------------
Aoverlays/sbr.nix | 7+++++++
Apkgs/ape/default.nix | 22++++++++++++++++++++++
Apkgs/clasp/default.nix | 22++++++++++++++++++++++
Apkgs/dobi/default.nix | 30++++++++++++++++++++++++++++++
Apkgs/dobi/deps.nix | 220+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkgs/envbox/default.nix | 22++++++++++++++++++++++
Apkgs/prm/default.nix | 30++++++++++++++++++++++++++++++
Apkgs/prm/deps.nix | 111+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkgs/tuck/default.nix | 22++++++++++++++++++++++
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; + }; +}