···198198 Basic Auth protection for a vhost.
199199200200 WARNING: This is implemented to store the password in plain text in the
201201- nix store.
201201+ Nix store.
202202 '';
203203 };
204204···207207 default = null;
208208 description = ''
209209 Basic Auth password file for a vhost.
210210- Can be created via: <command>htpasswd -c <filename> <username></command>
210210+ Can be created via: <command>htpasswd -c <filename> <username></command>.
211211+212212+ WARNING: The generate file contains the users' passwords in a
213213+ non-cryptographically-securely hashed way.
211214 '';
212215 };
213216
···11-{ stdenv, bash }:
22-with stdenv.lib;
33-44-kakoune:
11+{ symlinkJoin, makeWrapper, kakoune, plugins ? [], configure ? {} }:
5263let
77- getPlugins = { plugins ? [] }: plugins;
44+ # "plugins" is the preferred way, but some configurations may be
55+ # using "configure.plugins", so accept both
66+ requestedPlugins = plugins ++ (configure.plugins or []);
8799- wrapper = { configure ? {} }:
1010- stdenv.mkDerivation rec {
1111- pname = "kakoune";
1212- version = getVersion kakoune;
88+in
99+ symlinkJoin {
1010+ name = "kakoune-${kakoune.version}";
1111+1212+ buildInputs = [ makeWrapper ];
1313+1414+ paths = [ kakoune ] ++ requestedPlugins;
13151414- src = ./.;
1515- buildCommand = ''
1616- mkdir -p $out/share/kak
1717- for plugin in ${strings.escapeShellArgs (getPlugins configure)}; do
1818- if [[ -d $plugin/share/kak/autoload ]]; then
1919- find "$plugin/share/kak/autoload" -type f -name '*.kak'| while read rcfile; do
2020- printf 'source "%s"\n' "$rcfile"
2121- done
2222- fi
2323- done >>$out/share/kak/plugins.kak
1616+ postBuild = ''
1717+ # location of kak binary is used to find ../share/kak/autoload,
1818+ # unless explicitly overriden with KAKOUNE_RUNTIME
1919+ rm "$out/bin/kak"
2020+ makeWrapper "${kakoune}/bin/kak" "$out/bin/kak" --set KAKOUNE_RUNTIME "$out/share/kak"
24212525- mkdir -p $out/bin
2626- substitute ${src}/wrapper.sh $out/bin/kak \
2727- --subst-var-by bash "${bash}" \
2828- --subst-var-by kakoune "${kakoune}" \
2929- --subst-var-by out "$out"
3030- chmod +x $out/bin/kak
2222+ # currently kakoune ignores doc files if they are symlinks, so workaround by
2323+ # copying doc files over, so they become regular files...
2424+ mkdir "$out/DELETE_ME"
2525+ mv "$out/share/kak/doc" "$out/DELETE_ME"
2626+ cp -r --dereference "$out/DELETE_ME/doc" "$out/share/kak"
2727+ rm -Rf "$out/DELETE_ME"
3128 '';
32293333- preferLocalBuild = true;
3434- buildInputs = [ bash kakoune ];
3535- passthru = { unwrapped = kakoune; };
3636-3737- meta = kakoune.meta // {
3838- # prefer wrapper over the package
3939- priority = (kakoune.meta.priority or 0) - 1;
4040- hydraPlatforms = [];
4141- };
4242- };
4343-in
4444- makeOverridable wrapper
3030+ meta = kakoune.meta // { priority = (kakoune.meta.priority or 0) - 1; };
3131+ }
-30
pkgs/applications/editors/kakoune/wrapper.sh
···11-#!@bash@/bin/bash
22-33-# We use the -E option to load plugins. This only makes sense when we are
44-# starting a new session, so we detect that. Also, Kakoune can only handle
55-# one -E option, so we prepend loading plugins to an existing one.
66-args=( "$@" )
77-loadPlugins=true
88-EValueOffset=-1
99-pluginScript='@out@/share/kak/plugins.kak'
1010-1111-for (( i = 0; i < ${#args[@]}; i++ )); do
1212- case "${args[i]}" in
1313- -n|-c|-l|-p|-clear|-version) loadPlugins=false;;
1414- -E) EValueOffset=$(( i + 1 ));;
1515- --) break;;
1616- esac
1717- case "${args[i]}" in
1818- -E|-c|-e|-s|-p|-f|-i|-ui|-debug) i=$(( i + 1 ));;
1919- esac
2020-done
2121-2222-if [[ $loadPlugins = true ]]; then
2323- if (( EValueOffset >= 0 )); then
2424- args[EValueOffset]="source '$pluginScript'"$'\n'"${args[EValueOffset]}"
2525- else
2626- args=( "-E" "source '$pluginScript'" "${args[@]}" )
2727- fi
2828-fi
2929-3030-exec @kakoune@/bin/kak "${args[@]}"
···7788 src = fetchFromGitHub {
99 owner = "c4urself";
1010- repo = "${pname}";
1010+ repo = pname;
1111 rev = "refs/tags/v${version}";
1212 sha256 = "10p7rg569rk3qvzs5kjj17894bqlsg3ihhbln6ciwwfhkfq1kpja";
1313 };
···1616 # X's in pytest are git tests which won't run in sandbox
1717 checkPhase = ''
1818 pytest tests/ -k 'not usage_string_fork'
1919- '';
1919+ '';
20202121 meta = with stdenv.lib; {
2222 description = "Version-bump your software with a single command";
2323 longDescription = ''
2424- A small command line tool to simplify releasing software by updating
2424+ A small command line tool to simplify releasing software by updating
2525 all version strings in your source code by the correct increment.
2626 '';
2727 homepage = "https://github.com/c4urself/bump2version";
···7788let
99 release_version = "11.0.0";
1010- version = "${release_version}"; # differentiating these (variables) is important for RCs
1010+ version = release_version; # differentiating these (variables) is important for RCs
1111 targetConfig = stdenv.targetPlatform.config;
12121313 fetch = name: sha256: fetchurl {
···11-{ stdenv, fetchurl, cmake, pysideApiextractor, python2, qt4 }:
11+{ stdenv, fetchurl, cmake, pysideApiextractor, python3, qt4 }:
2233# This derivation does not provide any Python module and should therefore be called via `all-packages.nix`.
44let
55- pythonEnv = python2.withPackages(ps: with ps; [ sphinx ]);
55+ pythonEnv = python3.withPackages(ps: with ps; [ sphinx ]);
66 pname = "pyside-generatorrunner";
77 version = "0.6.16";
88in stdenv.mkDerivation {
···15151616 enableParallelBuilding = true;
17171818- buildInputs = [ cmake pysideApiextractor qt4 pythonEnv ];
1818+ outputs = [ "out" "dev" ];
1919+2020+ preConfigure = ''
2121+ cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$dev")
2222+ '';
2323+2424+ nativeBuildInputs = [ cmake pythonEnv ];
2525+ buildInputs = [ pysideApiextractor qt4 ];
19262027 meta = {
2128 description = "Eases the development of binding generators for C++ and Qt-based libraries by providing a framework to help automating most of the process";
···66666767 continuum = mkDerivation {
6868 pluginName = "continuum";
6969- version = "unstable-2018-02-23";
6969+ version = "unstable-2020-10-16";
7070 src = fetchFromGitHub {
7171 owner = "tmux-plugins";
7272 repo = "tmux-continuum";
7373- rev = "1531b3770a7cf7373d15fedd239c5331b99342d1";
7474- sha256 = "1w3f7gzvv1k25yfr6d1snr2z88p8f87cahrbaslmyphdxpy0fa4m";
7373+ rev = "26eb5ffce0b559d682b9f98c8d4b6c370ecb639b";
7474+ sha256 = "1glwa89bv2r92qz579a49prk3jf612cpd5hw46j4wfb35xhnj3ab";
7575 };
7676 dependencies = [ resurrect ];
7777+ meta = {
7878+ homepage = "https://github.com/tmux-plugins/tmux-continuum";
7979+ description = "continous saving of tmux environment";
8080+ longDescription =
8181+ ''
8282+ Features:
8383+ * continuous saving of tmux environment
8484+ * automatic tmux start when computer/server is turned on
8585+ * automatic restore when tmux is started
8686+8787+ Together, these features enable uninterrupted tmux usage. No matter the
8888+ computer or server restarts, if the machine is on, tmux will be there how
8989+ you left it off the last time it was used.
9090+ '';
9191+ license = stdenv.lib.licenses.mit;
9292+ platforms = stdenv.lib.platforms.unix;
9393+ maintainers = with stdenv.lib.maintainers; [ ronanmacf ];
9494+ };
7795 };
78967997 copycat = mkDerivation {
···266284267285 resurrect = mkDerivation {
268286 pluginName = "resurrect";
269269- version = "unstable-2020-03-21";
287287+ version = "unstable-2020-09-18";
270288 src = fetchFromGitHub {
271289 owner = "tmux-plugins";
272290 repo = "tmux-resurrect";
273273- rev = "327c0481ad20c429b4e692e092659f8b3346b08f";
274274- sha256 = "0nxfqazww36wwv49dzd39kq4jfls20834hf1458sf5pvmv5cmbyw";
291291+ rev = "e4825055c92e54b0c6ec572afc9b6c4723aba6c8";
292292+ sha256 = "0a96drkx1kpadkbxabcnvb542p75xdh2dbizvlq2lac5ldpb4hmx";
293293+ };
294294+ meta = {
295295+ homepage = "https://github.com/tmux-plugins/tmux-resurrect";
296296+ description = "Restore tmux environment after system restart";
297297+ longDescription =
298298+ ''
299299+ This plugin goes to great lengths to save and restore all the details
300300+ from your tmux environment. Here's what's been taken care of:
301301+302302+ * all sessions, windows, panes and their order
303303+ * current working directory for each pane
304304+ * exact pane layouts within windows (even when zoomed)
305305+ * active and alternative session
306306+ * active and alternative window for each session
307307+ * windows with focus
308308+ * active pane for each window
309309+ * "grouped sessions" (useful feature when using tmux with multiple monitors)
310310+ * programs running within a pane! More details in the restoring programs doc.
311311+312312+ Optional:
313313+ * restoring vim and neovim sessions
314314+ * restoring pane contents
315315+ '';
316316+ license = stdenv.lib.licenses.mit;
317317+ platforms = stdenv.lib.platforms.unix;
318318+ maintainers = with stdenv.lib.maintainers; [ ronanmacf ];
275319 };
276320 };
277321
···44 # the frontend version corresponding to a specific home-assistant version can be found here
55 # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
66 pname = "home-assistant-frontend";
77- version = "20201021.3";
77+ version = "20201021.4";
8899 src = fetchPypi {
1010 inherit pname version;
1111- sha256 = "04z8rvmnpmy7xx90pvqcr58hsxjsc10mrrjcx7ppspglb91b9cpb";
1111+ sha256 = "138h4cgvkn26xlr53ziz6d0zc00zw4wk40cpi4c4nia1lv6cqkxd";
1212 };
13131414 # no Python tests implemented
···1818 # The websites youtube-dl deals with are a very moving target. That means that
1919 # downloads break constantly. Because of that, updates should always be backported
2020 # to the latest stable release.
2121- version = "2020.09.20";
2121+ version = "2020.11.01.1";
22222323 src = fetchurl {
2424 url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
2525- sha256 = "1pkw3hnkddk1kqv0in152q1k4jjgbmf2xvc9j3r5nd38z6f7j6mc";
2525+ sha256 = "06lhba4b9bm6f5yqrb5xvdr0l5shwd95djf9nlpg86prr5xihqks";
2626 };
27272828 nativeBuildInputs = [ installShellFiles makeWrapper ];