From 4c2b481cbbcfb28cf66acce9431fe77a0e2c2575 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 23 Jul 2017 18:46:48 +0200 Subject: [PATCH 1/3] ma zsh: enable completion for brain, add ctrl-t --- makefu/2configs/zsh-user.nix | 46 +++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/makefu/2configs/zsh-user.nix b/makefu/2configs/zsh-user.nix index 453bfbe80..7615f4c0c 100644 --- a/makefu/2configs/zsh-user.nix +++ b/makefu/2configs/zsh-user.nix @@ -8,6 +8,7 @@ in users.extraUsers.${mainUser}.shell = "/run/current-system/sw/bin/zsh"; programs.zsh= { enable = true; + enableCompletion = false ; #manually at the end interactiveShellInit = '' HISTSIZE=900001 HISTFILESIZE=$HISTSIZE @@ -29,7 +30,49 @@ in unset SSH_AGENT_PID export SSH_AUTH_SOCK="/run/user/$UID/gnupg/S.gpg-agent.ssh" - ''; + + # fzf + __fsel_fzf() { + local cmd="''${FZF_CTRL_T_COMMAND:-"command find -L . -mindepth 1 \\( -path '*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' -o -fstype 'proc' \\) -prune \ + -o -type f -print \ + -o -type d -print \ + -o -type l -print 2> /dev/null | cut -b3-"}" + setopt localoptions pipefail 2> /dev/null + eval "$cmd" | FZF_DEFAULT_OPTS="--height ''${FZF_TMUX_HEIGHT:-40%} --reverse $FZF_DEFAULT_OPTS $FZF_CTRL_T_OPTS" $(__fzfcmd) -m "$@" | while read item; do + echo -n "''${(q)item} " + done + local ret=$? + echo + return $ret + } + + __fzf_use_tmux__() { + [ -n "$TMUX_PANE" ] && [ "''${FZF_TMUX:-0}" != 0 ] && [ ''${LINES:-40} -gt 15 ] + } + + __fzfcmd() { + __fzf_use_tmux__ && + echo "fzf-tmux -d''${FZF_TMUX_HEIGHT:-40%}" || echo "fzf" + } + + fzf-file-widget() { + LBUFFER="''${LBUFFER}$(__fsel_fzf)" + local ret=$? + zle redisplay + typeset -f zle-line-init >/dev/null && zle zle-line-init + return $ret + } + zle -N fzf-file-widget + bindkey '^T' fzf-file-widget + + # Auto-Completion + for p in ''${(z)NIX_PROFILES}; do + fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions) + done + autoload -U compinit && compinit + compdef _pass brain + zstyle ':completion::complete:brain::' prefix "$HOME/brain" + ''; promptInit = '' RPROMPT="" @@ -47,5 +90,6 @@ in krebs.per-user.${mainUser}.packages = [ pkgs.nix-zsh-completions + pkgs.fzf ]; } From 200b973fa988f96c2e5d59b760f810ceed990948 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 23 Jul 2017 20:54:13 +0200 Subject: [PATCH 2/3] ma: tag managed hosts --- krebs/3modules/makefu/default.nix | 15 +++++++++++++++ makefu/2configs/git/brain-retiolum.nix | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/krebs/3modules/makefu/default.nix b/krebs/3modules/makefu/default.nix index f80c397ee..21ea7e23c 100644 --- a/krebs/3modules/makefu/default.nix +++ b/krebs/3modules/makefu/default.nix @@ -6,6 +6,7 @@ with import ; hosts = mapAttrs (_: setAttr "owner" config.krebs.users.makefu) { drop = rec { cores = 1; + managed = true; nets = { retiolum = { ip4.addr = "10.243.177.9"; @@ -28,6 +29,7 @@ with import ; }; studio = rec { cores = 4; + managed = true; ssh.privkey.path = ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIqBR5gjJkR1TEIs2yx6JRoIOA7+/LJA6kjju8yCauFa studio"; nets = { @@ -53,6 +55,7 @@ with import ; fileleech = rec { cores = 4; + managed = true; ssh.privkey.path = ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+jB5QdPsAJc90alYDhAEP3sPDJb6eIj9bebj+rTBEJ fileleech"; nets = { @@ -78,6 +81,7 @@ with import ; pnp = { cores = 1; + managed = true; nets = { retiolum = { ip4.addr = "10.243.0.210"; @@ -101,6 +105,7 @@ with import ; }; darth = { cores = 4; + managed = true; nets = { retiolum = { ip4.addr = "10.243.0.84"; @@ -171,6 +176,7 @@ with import ; }; }; tsp = { + managed = true; cores = 1; nets = { retiolum = { @@ -198,6 +204,7 @@ with import ; }; }; x = { + managed = true; cores = 4; nets = { retiolum = { @@ -243,6 +250,7 @@ with import ; vbob = { cores = 2; + managed = true; nets = { retiolum = { ip4.addr = "10.243.1.91"; @@ -305,6 +313,7 @@ with import ; }; wry = rec { cores = 1; + managed = true; extraZones = { "krebsco.de" = '' wry IN A ${nets.internet.ip4.addr} @@ -349,6 +358,7 @@ with import ; }; filepimp = rec { cores = 1; + managed = true; nets = { lan = { ip4.addr = "192.168.1.12"; @@ -378,6 +388,7 @@ with import ; omo = rec { cores = 2; + managed = true; nets = { lan = { @@ -411,6 +422,7 @@ with import ; }; wbob = rec { cores = 4; + managed = true; nets = { siem = { ip4.addr = "10.8.10.7"; @@ -452,6 +464,7 @@ with import ; gum = rec { cores = 2; + managed = true; extraZones = { "krebsco.de" = '' @@ -514,6 +527,7 @@ with import ; }; shoney = rec { cores = 1; + managed = true; nets = rec { siem = { via = internet; @@ -562,6 +576,7 @@ with import ; }; sdev = rec { cores = 1; + managed = true; ssh.privkey.path = ; ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILtm6ETzNgLcXNkrKs2VUEiGsTKBmOFpW2fazbzdUfOg sdev"; nets = { diff --git a/makefu/2configs/git/brain-retiolum.nix b/makefu/2configs/git/brain-retiolum.nix index 18275e3df..05754dc7f 100644 --- a/makefu/2configs/git/brain-retiolum.nix +++ b/makefu/2configs/git/brain-retiolum.nix @@ -8,6 +8,7 @@ let krebs-repos = mapAttrs make-krebs-repo { brain = { }; + krebs-secrets = { }; }; @@ -33,7 +34,7 @@ let set-owners repo [ config.krebs.users.makefu ] ++ set-ro-access repo krebsminister; set-ro-access = with git; repo: user: - optional repo.public { + singleton { inherit user; repo = [ repo ]; perm = fetch; From fd7d1531acd5345136dad71bdcd1050176d88cd6 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 23 Jul 2017 21:10:14 +0200 Subject: [PATCH 3/3] repo-sync: bump to 0.2.7 --- krebs/5pkgs/simple/repo-sync/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/krebs/5pkgs/simple/repo-sync/default.nix b/krebs/5pkgs/simple/repo-sync/default.nix index 7cba87b09..20326901d 100644 --- a/krebs/5pkgs/simple/repo-sync/default.nix +++ b/krebs/5pkgs/simple/repo-sync/default.nix @@ -1,17 +1,19 @@ -{ lib, pkgs, python3Packages, fetchurl, ... }: +{ lib, pkgs, python3Packages, fetchFromGitHub, ... }: with python3Packages; buildPythonPackage rec { name = "repo-sync-${version}"; - version = "0.2.6"; + version = "0.2.7"; disabled = isPy26 || isPy27; propagatedBuildInputs = [ docopt GitPython pkgs.git ]; - src = fetchurl { - url = "https://pypi.python.org/packages/source/r/repo-sync/repo-sync-${version}.tar.gz"; - sha256 = "1hqa9qw9qg7mxgniqzys9szycs05llg4yik8a9wz94a437zzarsk"; + src = fetchFromGitHub { + owner = "krebscode"; + repo = "repo-sync"; + rev = version; + sha256 = "1qjf1jmxf7xzwskybdys4vqncnwj9f3xwk1gv354zrla68s533cw"; }; meta = { homepage = http://github.com/makefu/repo-sync;