diff options
Diffstat (limited to 'tv')
| -rw-r--r-- | tv/1systems/xu/config.nix | 4 | ||||
| -rw-r--r-- | tv/2configs/backup.nix | 2 | ||||
| -rw-r--r-- | tv/2configs/default.nix | 1 | ||||
| -rw-r--r-- | tv/2configs/xserver/default.nix | 27 | ||||
| -rw-r--r-- | tv/3modules/charybdis/default.nix | 2 | ||||
| -rw-r--r-- | tv/5pkgs/compat/18.03/pass-otp/default.nix | 30 | ||||
| -rw-r--r-- | tv/5pkgs/compat/18.03/pass/default.nix | 121 | ||||
| -rw-r--r-- | tv/5pkgs/compat/18.03/pass/no-darwin-getopt.patch | 9 | ||||
| -rw-r--r-- | tv/5pkgs/compat/18.03/pass/rofi-pass.nix | 57 | ||||
| -rw-r--r-- | tv/5pkgs/compat/18.03/pass/set-correct-program-name-for-sleep.patch | 69 | ||||
| -rw-r--r-- | tv/5pkgs/compat/default.nix | 1 | ||||
| -rw-r--r-- | tv/5pkgs/default.nix | 12 | ||||
| -rw-r--r-- | tv/5pkgs/simple/utsushi.nix | 1 | 
13 files changed, 318 insertions, 18 deletions
diff --git a/tv/1systems/xu/config.nix b/tv/1systems/xu/config.nix index 14926fe..5421cab 100644 --- a/tv/1systems/xu/config.nix +++ b/tv/1systems/xu/config.nix @@ -18,6 +18,7 @@ with import <stockholm/lib>;      <stockholm/tv/2configs/retiolum.nix>      <stockholm/tv/2configs/binary-cache>      <stockholm/tv/2configs/br.nix> +    <stockholm/tv/2configs/xp-332.nix>      <stockholm/tv/2configs/xserver>      {        environment.systemPackages = with pkgs; [ @@ -40,7 +41,6 @@ with import <stockholm/lib>;          mkpasswd          netcat          netcup -        nix-repl          nmap          p7zip          pass @@ -147,8 +147,6 @@ with import <stockholm/lib>;      gptfdisk    ]; -  services.printing.enable = true; -    #services.bitlbee.enable = true;    #services.tor.client.enable = true;    #services.tor.enable = true; diff --git a/tv/2configs/backup.nix b/tv/2configs/backup.nix index 14d3815..f8de72d 100644 --- a/tv/2configs/backup.nix +++ b/tv/2configs/backup.nix @@ -26,7 +26,7 @@ with import <stockholm/lib>;        method = "pull";        src = { host = config.krebs.hosts.querel; path = "/home"; };        dst = { host = config.krebs.hosts.nomic; path = "/fs/ponyhof/bku/querel-home"; }; -      startAt = "00:00"; +      startAt = "22:00";      };      wu-home-xu = {        method = "push"; diff --git a/tv/2configs/default.nix b/tv/2configs/default.nix index 2ccab3d..d9ddc90 100644 --- a/tv/2configs/default.nix +++ b/tv/2configs/default.nix @@ -143,6 +143,7 @@ with import <stockholm/lib>;        environment.systemPackages = [          pkgs.get          pkgs.git +        pkgs.git-crypt          pkgs.git-preview          pkgs.hashPassword          pkgs.htop diff --git a/tv/2configs/xserver/default.nix b/tv/2configs/xserver/default.nix index e33b431..dbfa804 100644 --- a/tv/2configs/xserver/default.nix +++ b/tv/2configs/xserver/default.nix @@ -41,6 +41,9 @@ in {      # refs <nixpkgs/nixos/modules/services/x11/desktop-managers>      desktopManager.session = mkForce []; +    displayManager.lightdm.enable = mkForce false; +    displayManager.job.execCmd = mkForce "derp"; +      enable = true;      display = mkForce 11;      tty = mkForce 11; @@ -55,7 +58,7 @@ in {    systemd.services.display-manager.enable = false;    systemd.services.xmonad = { -    wantedBy = [ "multi-user.target" ]; +    wantedBy = [ "graphical.target" ];      requires = [ "xserver.service" ];      environment = {        DISPLAY = ":${toString config.services.xserver.display}"; @@ -101,21 +104,20 @@ in {    systemd.services.xserver = {      after = [ -      "systemd-udev-settle.service" -      "local-fs.target"        "acpid.service" +      "local-fs.target" +      "systemd-udev-settle.service" +    ]; +    wants = [ +      "systemd-udev-settle.service"      ]; -    reloadIfChanged = true; +    restartIfChanged = false;      environment = { -      XKB_BINDIR = "${pkgs.xorg.xkbcomp}/bin"; # Needed for the Xkb extension. -      XORG_DRI_DRIVER_PATH = "/run/opengl-driver/lib/dri"; # !!! Depends on the driver selected at runtime. -      LD_LIBRARY_PATH = concatStringsSep ":" ( -        [ "${pkgs.xorg.libX11}/lib" "${pkgs.xorg.libXext}/lib" ] +      LD_LIBRARY_PATH = concatStringsSep ":" ([ "/run/opengl-driver/lib" ]          ++ concatLists (catAttrs "libPath" config.services.xserver.drivers));      };      serviceConfig = {        SyslogIdentifier = "xserver"; -      ExecReload = "${pkgs.coreutils}/bin/echo NOP";        ExecStart = toString [          "${pkgs.xorg.xorgserver}/bin/X"          ":${toString config.services.xserver.display}" @@ -123,17 +125,16 @@ in {          "-config ${import ./xserver.conf.nix args}"          "-logfile /dev/null -logverbose 0 -verbose 3"          "-nolisten tcp" -        "-xkbdir ${pkgs.xkeyboard_config}/etc/X11/xkb" +        "-xkbdir ${config.services.xserver.xkbDir}"        ];      };    };    systemd.services.urxvtd = { -    wantedBy = [ "multi-user.target" ]; -    reloadIfChanged = true; +    wantedBy = [ "graphical.target" ]; +    restartIfChanged = false;      serviceConfig = {        SyslogIdentifier = "urxvtd"; -      ExecReload = "${pkgs.coreutils}/bin/echo NOP";        ExecStart = "${pkgs.rxvt_unicode}/bin/urxvtd";        Restart = "always";        RestartSec = "2s"; diff --git a/tv/3modules/charybdis/default.nix b/tv/3modules/charybdis/default.nix index e252f2e..62a7037 100644 --- a/tv/3modules/charybdis/default.nix +++ b/tv/3modules/charybdis/default.nix @@ -64,7 +64,7 @@ in {          ExecStartPre =            "${pkgs.coreutils}/bin/ln -s /etc/charybdis-ircd.motd /tmp/ircd.motd";          ExecStart = toString [ -          "${pkgs.charybdis}/bin/charybdis-ircd" +          "${pkgs.charybdis}/bin/charybdis"              "-configfile ${import ./config.nix args}"              "-foreground"              "-logfile /dev/stderr" diff --git a/tv/5pkgs/compat/18.03/pass-otp/default.nix b/tv/5pkgs/compat/18.03/pass-otp/default.nix new file mode 100644 index 0000000..3341118 --- /dev/null +++ b/tv/5pkgs/compat/18.03/pass-otp/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, oathToolkit }: +stdenv.mkDerivation rec { +  name = "pass-otp-${version}"; +  version = "1.1.0"; + +  src = fetchFromGitHub { +    owner = "tadfisher"; +    repo = "pass-otp"; +    rev = "v${version}"; +    sha256 = "1cgj4zc8fq88n3h6c0vkv9i5al785mdprpgpbv5m22dz9p1wqvbb"; +  }; + +  buildInputs = [ oathToolkit ]; + +  patchPhase = '' +    sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash +  ''; + +  installPhase = '' +    make PREFIX=$out install +  ''; + +  meta = with stdenv.lib; { +    description = "A pass extension for managing one-time-password (OTP) tokens"; +    homepage = https://github.com/tadfisher/pass-otp; +    license = licenses.gpl3; +    maintainers = with maintainers; [ jwiegley tadfisher ]; +    platforms = platforms.unix; +  }; +} diff --git a/tv/5pkgs/compat/18.03/pass/default.nix b/tv/5pkgs/compat/18.03/pass/default.nix new file mode 100644 index 0000000..c2fe0e1 --- /dev/null +++ b/tv/5pkgs/compat/18.03/pass/default.nix @@ -0,0 +1,121 @@ +{ stdenv, lib, fetchurl, fetchFromGitHub +, coreutils, gnused, getopt, git, tree, gnupg, which, procps, qrencode +, makeWrapper + +, pass-otp + +, xclip ? null, xdotool ? null, dmenu ? null +, x11Support ? !stdenv.isDarwin +, tombPluginSupport ? false, tomb +}: + +with lib; + +assert x11Support -> xclip != null +                  && xdotool != null +                  && dmenu != null; + +let +  plugins = map (p: (fetchFromGitHub { +    owner  = "roddhjav"; +    repo   = "pass-${p.name}"; +    inherit (p) rev sha256; +  })) +  ([ +    { name = "import"; +      rev = "491935bd275f29ceac2b876b3a288011d1ce31e7"; +      sha256 = "02mbh05ab8h7kc30hz718d1d1vkjz43b96c7p0xnd92610d2q66q"; } +    { name = "update"; +      rev = "cf576c9036fd18efb9ed29e0e9f811207b556fde"; +      sha256 = "1hhbrg6a2walrvla6q4cd3pgrqbcrf9brzjkb748735shxfn52hd"; } +    ] ++ stdenv.lib.optional tombPluginSupport { +      name = "tomb"; +      rev = "3368134898a42c1b758fabac625ec240e125c6be"; +      sha256 = "0qqmxfg4w3r088qhlkhs44036mya82vjflsjjhw2hk8y0wd2i6ds"; } +  ); + +in stdenv.mkDerivation rec { +  version = "1.7.2"; +  name    = "password-store-${version}"; + +  src = fetchurl { +    url    = "http://git.zx2c4.com/password-store/snapshot/${name}.tar.xz"; +    sha256 = "1sl0d7nc85c6c2bmmmyb8rpmn47vhkj831l153mjlkawjvhwas27"; +  }; + +  patches = [ ./set-correct-program-name-for-sleep.patch +            ] ++ stdenv.lib.optional stdenv.isDarwin ./no-darwin-getopt.patch; + +  nativeBuildInputs = [ makeWrapper ]; + +  installFlags = [ "PREFIX=$(out)" "WITH_ALLCOMP=yes" ]; + +  postInstall = '' +    # plugins +    ${stdenv.lib.concatStringsSep "\n" (map (plugin: '' +      pushd ${plugin} +      PREFIX=$out make install +      popd +    '') plugins)} + +    ln -s \ +        ${pass-otp}/lib/password-store/extensions/otp.bash \ +        $out/lib/password-store/extensions/ + +    ln -s \ +        ${pass-otp}/share/man/man1/pass-otp.1.gz \ +        $out/share/man/man1/ + +    # Install Emacs Mode. NOTE: We can't install the necessary +    # dependencies (s.el and f.el) here. The user has to do this +    # himself. +    mkdir -p "$out/share/emacs/site-lisp" +    cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/" +  '' + optionalString x11Support '' +    cp "contrib/dmenu/passmenu" "$out/bin/" +  ''; + +  wrapperPath = with stdenv.lib; makeBinPath ([ +    coreutils +    getopt +    git +    gnupg +    gnused +    tree +    which +    qrencode +  ] ++ optional tombPluginSupport tomb +    ++ optional stdenv.isLinux procps +    ++ ifEnable x11Support [ dmenu xclip xdotool ]); + +  postFixup = '' +    # Fix program name in --help +    substituteInPlace $out/bin/pass \ +      --replace 'PROGRAM="''${0##*/}"' "PROGRAM=pass" + +    # Ensure all dependencies are in PATH +    wrapProgram $out/bin/pass \ +      --prefix PATH : "${wrapperPath}" +  '' + stdenv.lib.optionalString x11Support '' +    # We just wrap passmenu with the same PATH as pass. It doesn't +    # need all the tools in there but it doesn't hurt either. +    wrapProgram $out/bin/passmenu \ +      --prefix PATH : "$out/bin:${wrapperPath}" +  ''; + +  meta = with stdenv.lib; { +    description = "Stores, retrieves, generates, and synchronizes passwords securely"; +    homepage    = https://www.passwordstore.org/; +    license     = licenses.gpl2Plus; +    maintainers = with maintainers; [ lovek323 the-kenny fpletz ]; +    platforms   = platforms.unix; + +    longDescription = '' +      pass is a very simple password store that keeps passwords inside gpg2 +      encrypted files inside a simple directory tree residing at +      ~/.password-store. The pass utility provides a series of commands for +      manipulating the password store, allowing the user to add, remove, edit, +      synchronize, generate, and manipulate passwords. +    ''; +  }; +} diff --git a/tv/5pkgs/compat/18.03/pass/no-darwin-getopt.patch b/tv/5pkgs/compat/18.03/pass/no-darwin-getopt.patch new file mode 100644 index 0000000..e8f7e13 --- /dev/null +++ b/tv/5pkgs/compat/18.03/pass/no-darwin-getopt.patch @@ -0,0 +1,9 @@ +diff -Naur password-store-1.6.5-orig/src/platform/darwin.sh password-store-1.6.5/src/platform/darwin.sh +--- password-store-1.6.5-orig/src/platform/darwin.sh	2015-01-28 16:43:02.000000000 +0000 ++++ password-store-1.6.5/src/platform/darwin.sh	2015-02-15 16:09:02.000000000 +0000 +@@ -31,5 +31,4 @@ + 	mount -t hfs -o noatime -o nobrowse "$DARWIN_RAMDISK_DEV" "$SECURE_TMPDIR" || die "Error: could not mount filesystem on ramdisk." + } +  +-GETOPT="$(brew --prefix gnu-getopt 2>/dev/null || { which port &>/dev/null && echo /opt/local; } || echo /usr/local)/bin/getopt" + SHRED="srm -f -z" diff --git a/tv/5pkgs/compat/18.03/pass/rofi-pass.nix b/tv/5pkgs/compat/18.03/pass/rofi-pass.nix new file mode 100644 index 0000000..61f5197 --- /dev/null +++ b/tv/5pkgs/compat/18.03/pass/rofi-pass.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchFromGitHub, pass, rofi, coreutils, utillinux, xdotool, gnugrep +, libnotify, pwgen, findutils, gawk, gnused, xclip, makeWrapper +}: + +stdenv.mkDerivation rec { +  name = "rofi-pass-${version}"; +  version = "1.5.3"; + +  src = fetchFromGitHub { +    owner = "carnager"; +    repo = "rofi-pass"; +    rev = version; +    sha256 = "1fn1j2rf3abc5qb44zfc8z8ffw6rva4xfp7597hwr1g3szacazpq"; +  }; + +  buildInputs = [ makeWrapper ]; + +  dontBuild = true; + +  installPhase = '' +    mkdir -p $out/bin +    cp -a rofi-pass $out/bin/rofi-pass + +    mkdir -p $out/share/doc/rofi-pass/ +    cp -a config.example $out/share/doc/rofi-pass/config.example +  ''; + +  wrapperPath = with stdenv.lib; makeBinPath [ +    coreutils +    findutils +    gawk +    gnugrep +    gnused +    libnotify +    pass +    pwgen +    rofi +    utillinux +    xclip +    xdotool +  ]; + +  fixupPhase = '' +    patchShebangs $out/bin + +    wrapProgram $out/bin/rofi-pass \ +      --prefix PATH : "${wrapperPath}" +  ''; + +  meta = { +    description = "A script to make rofi work with password-store"; +    homepage = https://github.com/carnager/rofi-pass; +    maintainers = with stdenv.lib.maintainers; [ the-kenny garbas ]; +    license = stdenv.lib.licenses.gpl3; +    platforms = with stdenv.lib.platforms; linux; +  }; +} diff --git a/tv/5pkgs/compat/18.03/pass/set-correct-program-name-for-sleep.patch b/tv/5pkgs/compat/18.03/pass/set-correct-program-name-for-sleep.patch new file mode 100644 index 0000000..782e06e --- /dev/null +++ b/tv/5pkgs/compat/18.03/pass/set-correct-program-name-for-sleep.patch @@ -0,0 +1,69 @@ +From 25b44e00ed5df8ffe2782d38ad5cd9f514379599 Mon Sep 17 00:00:00 2001 +From: "Andrew R. M" <andrewmiller237@gmail.com> +Date: Sat, 8 Apr 2017 13:50:01 -0400 +Subject: [PATCH] Patch the clip() function to work even when using + single-binary coreutils + +--- + src/password-store.sh  | 4 ++-- + src/platform/cygwin.sh | 4 ++-- + src/platform/darwin.sh | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/password-store.sh b/src/password-store.sh +index 6a4172d..4dbd6b8 100755 +--- a/src/password-store.sh ++++ b/src/password-store.sh +@@ -155,11 +155,11 @@ clip() { + 	# variable. Specifically, it cannot store nulls nor (non-trivally) store + 	# trailing new lines. + 	local sleep_argv0="password store sleep on display $DISPLAY" +-	pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5 ++	pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5 + 	local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | base64)" + 	echo -n "$1" | xclip -selection "$X_SELECTION" || die "Error: Could not copy data to the clipboard" + 	( +-		( exec -a "$sleep_argv0" bash <<<"trap 'kill %1' TERM; sleep '$CLIP_TIME' & wait" ) ++		( exec -a "$sleep_argv0" bash <(echo trap 'kill %1' TERM\; sleep "$CLIP_TIME & wait") ) + 		local now="$(xclip -o -selection "$X_SELECTION" | base64)" + 		[[ $now != $(echo -n "$1" | base64) ]] && before="$now" +  +diff --git a/src/platform/cygwin.sh b/src/platform/cygwin.sh +index 6e5dd86..f3574c4 100644 +--- a/src/platform/cygwin.sh ++++ b/src/platform/cygwin.sh +@@ -3,11 +3,11 @@ +  + clip() { + 	local sleep_argv0="password store sleep on display $DISPLAY" +-	pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5 ++	pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5 + 	local before="$(base64 < /dev/clipboard)" + 	echo -n "$1" > /dev/clipboard + 	( +-		( exec -a "$sleep_argv0" sleep "$CLIP_TIME" ) ++		( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") ) + 		local now="$(base64 < /dev/clipboard)" + 		[[ $now != $(echo -n "$1" | base64) ]] && before="$now" + 		echo "$before" | base64 -d > /dev/clipboard +diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh +index 86eb325..deb04c4 100644 +--- a/src/platform/darwin.sh ++++ b/src/platform/darwin.sh +@@ -3,11 +3,11 @@ +  + clip() { + 	local sleep_argv0="password store sleep for user $(id -u)" +-	pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5 ++	pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5 + 	local before="$(pbpaste | openssl base64)" + 	echo -n "$1" | pbcopy + 	( +-		( exec -a "$sleep_argv0" sleep "$CLIP_TIME" ) ++		( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") ) + 		local now="$(pbpaste | openssl base64)" + 		[[ $now != $(echo -n "$1" | openssl base64) ]] && before="$now" + 		echo "$before" | openssl base64 -d | pbcopy +--  +2.12.2 + diff --git a/tv/5pkgs/compat/default.nix b/tv/5pkgs/compat/default.nix new file mode 100644 index 0000000..0d1e61b --- /dev/null +++ b/tv/5pkgs/compat/default.nix @@ -0,0 +1 @@ +self: super: {} diff --git a/tv/5pkgs/default.nix b/tv/5pkgs/default.nix index 82474ad..c5c800b 100644 --- a/tv/5pkgs/default.nix +++ b/tv/5pkgs/default.nix @@ -33,4 +33,16 @@ foldl' mergeAttrs {}    '';    gnupg = self.gnupg22; + +  pass = { +    "18.03" = +      self.callPackage ./compat/18.03/pass { +        pass-otp = self.callPackage ./compat/18.03/pass-otp {}; +      }; +    "18.09" = +      super.pass.withExtensions (ext: [ +        ext.pass-otp +      ]); +  }.${versions.majorMinor nixpkgsVersion}; +  } diff --git a/tv/5pkgs/simple/utsushi.nix b/tv/5pkgs/simple/utsushi.nix index 518c34c..e61dd18 100644 --- a/tv/5pkgs/simple/utsushi.nix +++ b/tv/5pkgs/simple/utsushi.nix @@ -164,6 +164,7 @@ stdenv.mkDerivation rec {    ;    NIX_CFLAGS_COMPILE = [ +    "-Wno-error=deprecated-declarations"      "-Wno-error=unused-variable"    ];  | 
