diff options
| -rw-r--r-- | krebs/5pkgs/simple/dic/default.nix | 6 | ||||
| -rw-r--r-- | krebs/5pkgs/simple/fzfmenu/default.nix | 130 | ||||
| -rw-r--r-- | krebs/5pkgs/simple/red.nix | 23 | ||||
| m--------- | submodules/krops | 0 | ||||
| -rw-r--r-- | tv/1systems/alnus/config.nix | 10 | ||||
| -rw-r--r-- | tv/1systems/mu/config.nix | 12 | 
6 files changed, 122 insertions, 59 deletions
| diff --git a/krebs/5pkgs/simple/dic/default.nix b/krebs/5pkgs/simple/dic/default.nix index 6533a1b9b..a74899630 100644 --- a/krebs/5pkgs/simple/dic/default.nix +++ b/krebs/5pkgs/simple/dic/default.nix @@ -4,9 +4,9 @@ stdenv.mkDerivation {    name = "dic";    src = fetchgit { -    url = http://cgit.ni.krebsco.de/dic; -    rev = "refs/tags/v1.1.0"; -    sha256 = "1xzn20b9kfz96nvjli8grpi11v80jbl0dmifksmirwcj5v81ndav"; +    url = https://cgit.ni.krebsco.de/dic; +    rev = "refs/tags/v1.1.1"; +    sha256 = "1gbj967a5hj53fdkkxijqgwnl9hb8kskz0cmpjq7v65ffz3v6vag";    };    phases = [ diff --git a/krebs/5pkgs/simple/fzfmenu/default.nix b/krebs/5pkgs/simple/fzfmenu/default.nix index 64e95d233..537b90f42 100644 --- a/krebs/5pkgs/simple/fzfmenu/default.nix +++ b/krebs/5pkgs/simple/fzfmenu/default.nix @@ -1,55 +1,97 @@ -{ pkgs, ... }: +with import <stockholm/lib>; +{ pkgs, ... }@args: + +let +  # config cannot be declared in the input attribute set because that would +  # cause callPackage to inject the wrong config.  Instead, get it from ... +  # via args. +  config = args.config or {}; + +  cfg = eval.config; + +  eval = evalModules { +    modules = singleton { +      _file = toString ./profile.nix; +      imports = singleton config; +      options = { +        appName = mkOption { +          default = "fzfmenu"; +          type = types.label; +        }; +        defaultPrompt = mkOption { +          default = ">"; +          type = types.str; +        }; +        printQuery = mkOption { +          default = true; +          type = types.bool; +        }; +        reverse = mkOption { +          default = true; +          type = types.bool; +        }; +        windowTitle = mkOption { +          default = "fzfmenu"; +          type = types.str; +        }; +      }; +    }; +  }; +in  pkgs.writeDashBin "fzfmenu" ''    set -efu -  PROMPT=">" -  for i in "$@" -  do -  case $i in + +  # Spawn terminal if called without one, like e.g. from a window manager. +  if [ -z ''${TERM+x} ]; then +    exec 3<&0 +    exec 4>&1 +    export FZFMENU_INPUT_FD=3 +    export FZFMENU_OUTPUT_FD=4 +    exec ${pkgs.rxvt_unicode}/bin/urxvt \ +        -name ${cfg.appName} \ +        -title ${shell.escape cfg.windowTitle} \ +        -e "$0" "$@" +  else +    exec 0<&''${FZFMENU_INPUT_FD-0} +    exec 1>&''${FZFMENU_OUTPUT_FD-1} +  fi + +  PROMPT=${shell.escape cfg.defaultPrompt} +  for i in "$@"; do +    case $i in        -p) -      PROMPT="$2" -      shift -      shift -      break -      ;; +        PROMPT=$2 +        shift 2 +        break +        ;;        -l) -      # no reason to filter number of lines -      LINES="$2" -      shift -      shift -      break -      ;; +        # no reason to filter number of lines +        LINES=$2 +        shift 2 +        break +        ;;        -i) -      # we do this anyway -      shift -      break -      ;; +        # we do this anyway +        shift +        break +        ;;        *) -      echo "Unknown option $1" >&2 -      shift -      ;; -  esac +        echo "Unknown option $1" >&2 +        shift +        ;; +    esac    done -  INPUT=$(${pkgs.coreutils}/bin/cat) -  OUTPUT="$(${pkgs.coreutils}/bin/mktemp)" -  if [ -z ''${TERM+x} ]; then #check if we can print fzf in the shell -    ${pkgs.rxvt_unicode}/bin/urxvt \ -      -name fzfmenu -title fzfmenu \ -      -e ${pkgs.dash}/bin/dash -c \ -        "echo \"$INPUT\" | ${pkgs.fzf}/bin/fzf \ -          --history=/dev/null \ -          --print-query \ -          --prompt=\"$PROMPT\" \ -          --reverse \ -          > \"$OUTPUT\"" 2>/dev/null -  else -    echo "$INPUT" | ${pkgs.fzf}/bin/fzf \ + +  if test -n "''${FZFMENU_FZF_DEFAULT_OPTS-}"; then +    FZF_DEFAULT_OPTS=''${FZFMENU_FZF_DEFAULT_OPTS-} +    export FZF_DEFAULT_OPTS +  fi + +  ${pkgs.fzf}/bin/fzf \        --history=/dev/null \ -      --print-query \        --prompt="$PROMPT" \ -      --reverse \ -      > "$OUTPUT" -  fi -  ${pkgs.coreutils}/bin/tail -1 "$OUTPUT" -  ${pkgs.coreutils}/bin/rm "$OUTPUT" +      ${optionalString cfg.reverse "--reverse"} \ +      ${optionalString cfg.printQuery "--print-query"} \ +  ${optionalString cfg.printQuery "| ${pkgs.coreutils}/bin/tail -1"}  '' diff --git a/krebs/5pkgs/simple/red.nix b/krebs/5pkgs/simple/red.nix new file mode 100644 index 000000000..51f02aa5c --- /dev/null +++ b/krebs/5pkgs/simple/red.nix @@ -0,0 +1,23 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { +  pname = "red"; +  version = "g${lib.substring 0 7 src.rev}"; + +  src = fetchFromGitHub { +    owner = "antonmedv"; +    repo = "red"; +    rev = "0bfb499760f391d09c6addec2527b0f77eaacdd6"; +    sha256 = "0i8f8ih3z97zzbkjkwy4y8z75izm1fscq0rr1g77q7z3kz1lrgrx"; +  }; + +  modSha256 = "0640x6p5hi7yp001cw13z5a17bi9vgd3gij5fxa1y06d3848cv7l"; + +  meta = { +    description = "Terminal log analysis tools"; +    homepage = https://github.com/analysis/red; +    license = lib.licenses.mit; +    maintainers = [ lib.maintainers.tv ]; +    platforms = lib.platforms.linux; +  }; +} diff --git a/submodules/krops b/submodules/krops -Subproject 55aa2c77ce8183f3d2b24f54efa33ab6a42e1e0 +Subproject 3e731035ed44659624e6d00bbb35570f2b8811f diff --git a/tv/1systems/alnus/config.nix b/tv/1systems/alnus/config.nix index 21583f741..66bd52ab2 100644 --- a/tv/1systems/alnus/config.nix +++ b/tv/1systems/alnus/config.nix @@ -12,7 +12,7 @@ with import <stockholm/lib>;      initrd = {        availableKernelModules = [ "ahci" ];        luks.cryptoModules = [ "aes" "sha512" "xts" ]; -      luks.devices.luksroot.devices = "/dev/sda2"; +      luks.devices.luksroot.device = "/dev/sda2";      };    }; @@ -71,10 +71,10 @@ with import <stockholm/lib>;      };      desktopManager.xfce.enable = true; -    displayManager.auto = { -      enable = true; -      user = "dv"; -    }; + +    displayManager.lightdm.autoLogin.enable = true; +    displayManager.lightdm.autoLogin.user = "dv"; +    displayManager.lightdm.enable = true;    };    users.users.dv = { diff --git a/tv/1systems/mu/config.nix b/tv/1systems/mu/config.nix index 145c73c06..b6a25a2b8 100644 --- a/tv/1systems/mu/config.nix +++ b/tv/1systems/mu/config.nix @@ -108,13 +108,11 @@ with import <stockholm/lib>;      twoFingerScroll = true;    }; -  services.xserver.desktopManager.plasma5 = { -    enable = true; -  }; -  services.xserver.displayManager.auto = { -    enable = true; -    user = "vv"; -  }; +  services.xserver.desktopManager.plasma5.enable = true; + +  services.xserver.displayManager.lightdm.autoLogin.enable = true; +  services.xserver.displayManager.lightdm.autoLogin.user = "vv"; +  services.xserver.displayManager.lightdm.enable = true;    users.users.vv = {      inherit (config.krebs.users.vv) home uid; | 
