···6 <para>
7 Kakoune can be built to autoload plugins:
8<programlisting>(kakoune.override {
9- configure = {
10- plugins = with pkgs.kakounePlugins; [ parinfer-rust ];
11- };
12})</programlisting>
13 </para>
14</section>
···6 <para>
7 Kakoune can be built to autoload plugins:
8<programlisting>(kakoune.override {
9+ plugins = with pkgs.kakounePlugins; [ parinfer-rust ];
0010})</programlisting>
11 </para>
12</section>
···198 Basic Auth protection for a vhost.
199200 WARNING: This is implemented to store the password in plain text in the
201- nix store.
202 '';
203 };
204···207 default = null;
208 description = ''
209 Basic Auth password file for a vhost.
210- Can be created via: <command>htpasswd -c <filename> <username></command>
000211 '';
212 };
213
···198 Basic Auth protection for a vhost.
199200 WARNING: This is implemented to store the password in plain text in the
201+ Nix store.
202 '';
203 };
204···207 default = null;
208 description = ''
209 Basic Auth password file for a vhost.
210+ Can be created via: <command>htpasswd -c <filename> <username></command>.
211+212+ WARNING: The generate file contains the users' passwords in a
213+ non-cryptographically-securely hashed way.
214 '';
215 };
216
···1+{ symlinkJoin, makeWrapper, kakoune, plugins ? [], configure ? {} }:
00023let
4+ # "plugins" is the preferred way, but some configurations may be
5+ # using "configure.plugins", so accept both
6+ requestedPlugins = plugins ++ (configure.plugins or []);
78+in
9+ symlinkJoin {
10+ name = "kakoune-${kakoune.version}";
11+12+ buildInputs = [ makeWrapper ];
13+14+ paths = [ kakoune ] ++ requestedPlugins;
1516+ postBuild = ''
17+ # location of kak binary is used to find ../share/kak/autoload,
18+ # unless explicitly overriden with KAKOUNE_RUNTIME
19+ rm "$out/bin/kak"
20+ makeWrapper "${kakoune}/bin/kak" "$out/bin/kak" --set KAKOUNE_RUNTIME "$out/share/kak"
000002122+ # currently kakoune ignores doc files if they are symlinks, so workaround by
23+ # copying doc files over, so they become regular files...
24+ mkdir "$out/DELETE_ME"
25+ mv "$out/share/kak/doc" "$out/DELETE_ME"
26+ cp -r --dereference "$out/DELETE_ME/doc" "$out/share/kak"
27+ rm -Rf "$out/DELETE_ME"
28 '';
2930+ meta = kakoune.meta // { priority = (kakoune.meta.priority or 0) - 1; };
31+ }
0000000000
-30
pkgs/applications/editors/kakoune/wrapper.sh
···1-#!@bash@/bin/bash
2-3-# We use the -E option to load plugins. This only makes sense when we are
4-# starting a new session, so we detect that. Also, Kakoune can only handle
5-# one -E option, so we prepend loading plugins to an existing one.
6-args=( "$@" )
7-loadPlugins=true
8-EValueOffset=-1
9-pluginScript='@out@/share/kak/plugins.kak'
10-11-for (( i = 0; i < ${#args[@]}; i++ )); do
12- case "${args[i]}" in
13- -n|-c|-l|-p|-clear|-version) loadPlugins=false;;
14- -E) EValueOffset=$(( i + 1 ));;
15- --) break;;
16- esac
17- case "${args[i]}" in
18- -E|-c|-e|-s|-p|-f|-i|-ui|-debug) i=$(( i + 1 ));;
19- esac
20-done
21-22-if [[ $loadPlugins = true ]]; then
23- if (( EValueOffset >= 0 )); then
24- args[EValueOffset]="source '$pluginScript'"$'\n'"${args[EValueOffset]}"
25- else
26- args=( "-E" "source '$pluginScript'" "${args[@]}" )
27- fi
28-fi
29-30-exec @kakoune@/bin/kak "${args[@]}"
···78 src = fetchFromGitHub {
9 owner = "c4urself";
10- repo = "${pname}";
11 rev = "refs/tags/v${version}";
12 sha256 = "10p7rg569rk3qvzs5kjj17894bqlsg3ihhbln6ciwwfhkfq1kpja";
13 };
···16 # X's in pytest are git tests which won't run in sandbox
17 checkPhase = ''
18 pytest tests/ -k 'not usage_string_fork'
19- '';
2021 meta = with stdenv.lib; {
22 description = "Version-bump your software with a single command";
23 longDescription = ''
24- A small command line tool to simplify releasing software by updating
25 all version strings in your source code by the correct increment.
26 '';
27 homepage = "https://github.com/c4urself/bump2version";
···78 src = fetchFromGitHub {
9 owner = "c4urself";
10+ repo = pname;
11 rev = "refs/tags/v${version}";
12 sha256 = "10p7rg569rk3qvzs5kjj17894bqlsg3ihhbln6ciwwfhkfq1kpja";
13 };
···16 # X's in pytest are git tests which won't run in sandbox
17 checkPhase = ''
18 pytest tests/ -k 'not usage_string_fork'
19+ '';
2021 meta = with stdenv.lib; {
22 description = "Version-bump your software with a single command";
23 longDescription = ''
24+ A small command line tool to simplify releasing software by updating
25 all version strings in your source code by the correct increment.
26 '';
27 homepage = "https://github.com/c4urself/bump2version";
···1-{ stdenv, fetchurl, cmake, libxml2, libxslt, python2, qt4 }:
23# This derivation does not provide any Python module and should therefore be called via `all-packages.nix`.
4let
5- pythonEnv = python2.withPackages(ps: with ps; [ sphinx ]);
6in stdenv.mkDerivation {
7 name = "pyside-apiextractor-0.10.10";
8···1314 enableParallelBuilding = true;
1516- buildInputs = [ cmake qt4 pythonEnv libxml2 libxslt ];
00000001718 meta = {
19 description = "Eases the development of bindings of Qt-based libraries for high level languages by automating most of the process";
···1+{ stdenv, fetchurl, cmake, libxml2, libxslt, python3, qt4 }:
23# This derivation does not provide any Python module and should therefore be called via `all-packages.nix`.
4let
5+ pythonEnv = python3.withPackages(ps: with ps; [ sphinx ]);
6in stdenv.mkDerivation {
7 name = "pyside-apiextractor-0.10.10";
8···1314 enableParallelBuilding = true;
1516+ outputs = [ "out" "dev" ];
17+18+ preConfigure = ''
19+ cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$dev")
20+ '';
21+22+ nativeBuildInputs = [ cmake pythonEnv ];
23+ buildInputs = [ qt4 libxml2 libxslt ];
2425 meta = {
26 description = "Eases the development of bindings of Qt-based libraries for high level languages by automating most of the process";
···1-{ stdenv, fetchurl, cmake, pysideApiextractor, python2, qt4 }:
23# This derivation does not provide any Python module and should therefore be called via `all-packages.nix`.
4let
5- pythonEnv = python2.withPackages(ps: with ps; [ sphinx ]);
6 pname = "pyside-generatorrunner";
7 version = "0.6.16";
8in stdenv.mkDerivation {
···1516 enableParallelBuilding = true;
1718- buildInputs = [ cmake pysideApiextractor qt4 pythonEnv ];
00000001920 meta = {
21 description = "Eases the development of binding generators for C++ and Qt-based libraries by providing a framework to help automating most of the process";
···1+{ stdenv, fetchurl, cmake, pysideApiextractor, python3, qt4 }:
23# This derivation does not provide any Python module and should therefore be called via `all-packages.nix`.
4let
5+ pythonEnv = python3.withPackages(ps: with ps; [ sphinx ]);
6 pname = "pyside-generatorrunner";
7 version = "0.6.16";
8in stdenv.mkDerivation {
···1516 enableParallelBuilding = true;
1718+ outputs = [ "out" "dev" ];
19+20+ preConfigure = ''
21+ cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$dev")
22+ '';
23+24+ nativeBuildInputs = [ cmake pythonEnv ];
25+ buildInputs = [ pysideApiextractor qt4 ];
2627 meta = {
28 description = "Eases the development of binding generators for C++ and Qt-based libraries by providing a framework to help automating most of the process";
···6667 continuum = mkDerivation {
68 pluginName = "continuum";
69+ version = "unstable-2020-10-16";
70 src = fetchFromGitHub {
71 owner = "tmux-plugins";
72 repo = "tmux-continuum";
73+ rev = "26eb5ffce0b559d682b9f98c8d4b6c370ecb639b";
74+ sha256 = "1glwa89bv2r92qz579a49prk3jf612cpd5hw46j4wfb35xhnj3ab";
75 };
76 dependencies = [ resurrect ];
77+ meta = {
78+ homepage = "https://github.com/tmux-plugins/tmux-continuum";
79+ description = "continous saving of tmux environment";
80+ longDescription =
81+ ''
82+ Features:
83+ * continuous saving of tmux environment
84+ * automatic tmux start when computer/server is turned on
85+ * automatic restore when tmux is started
86+87+ Together, these features enable uninterrupted tmux usage. No matter the
88+ computer or server restarts, if the machine is on, tmux will be there how
89+ you left it off the last time it was used.
90+ '';
91+ license = stdenv.lib.licenses.mit;
92+ platforms = stdenv.lib.platforms.unix;
93+ maintainers = with stdenv.lib.maintainers; [ ronanmacf ];
94+ };
95 };
9697 copycat = mkDerivation {
···284285 resurrect = mkDerivation {
286 pluginName = "resurrect";
287+ version = "unstable-2020-09-18";
288 src = fetchFromGitHub {
289 owner = "tmux-plugins";
290 repo = "tmux-resurrect";
291+ rev = "e4825055c92e54b0c6ec572afc9b6c4723aba6c8";
292+ sha256 = "0a96drkx1kpadkbxabcnvb542p75xdh2dbizvlq2lac5ldpb4hmx";
293+ };
294+ meta = {
295+ homepage = "https://github.com/tmux-plugins/tmux-resurrect";
296+ description = "Restore tmux environment after system restart";
297+ longDescription =
298+ ''
299+ This plugin goes to great lengths to save and restore all the details
300+ from your tmux environment. Here's what's been taken care of:
301+302+ * all sessions, windows, panes and their order
303+ * current working directory for each pane
304+ * exact pane layouts within windows (even when zoomed)
305+ * active and alternative session
306+ * active and alternative window for each session
307+ * windows with focus
308+ * active pane for each window
309+ * "grouped sessions" (useful feature when using tmux with multiple monitors)
310+ * programs running within a pane! More details in the restoring programs doc.
311+312+ Optional:
313+ * restoring vim and neovim sessions
314+ * restoring pane contents
315+ '';
316+ license = stdenv.lib.licenses.mit;
317+ platforms = stdenv.lib.platforms.unix;
318+ maintainers = with stdenv.lib.maintainers; [ ronanmacf ];
319 };
320 };
321
···4 # the frontend version corresponding to a specific home-assistant version can be found here
5 # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
6 pname = "home-assistant-frontend";
7- version = "20201021.3";
89 src = fetchPypi {
10 inherit pname version;
11- sha256 = "04z8rvmnpmy7xx90pvqcr58hsxjsc10mrrjcx7ppspglb91b9cpb";
12 };
1314 # no Python tests implemented
···4 # the frontend version corresponding to a specific home-assistant version can be found here
5 # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
6 pname = "home-assistant-frontend";
7+ version = "20201021.4";
89 src = fetchPypi {
10 inherit pname version;
11+ sha256 = "138h4cgvkn26xlr53ziz6d0zc00zw4wk40cpi4c4nia1lv6cqkxd";
12 };
1314 # no Python tests implemented
···18 # The websites youtube-dl deals with are a very moving target. That means that
19 # downloads break constantly. Because of that, updates should always be backported
20 # to the latest stable release.
21- version = "2020.09.20";
2223 src = fetchurl {
24 url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
25- sha256 = "1pkw3hnkddk1kqv0in152q1k4jjgbmf2xvc9j3r5nd38z6f7j6mc";
26 };
2728 nativeBuildInputs = [ installShellFiles makeWrapper ];
···18 # The websites youtube-dl deals with are a very moving target. That means that
19 # downloads break constantly. Because of that, updates should always be backported
20 # to the latest stable release.
21+ version = "2020.11.01.1";
2223 src = fetchurl {
24 url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
25+ sha256 = "06lhba4b9bm6f5yqrb5xvdr0l5shwd95djf9nlpg86prr5xihqks";
26 };
2728 nativeBuildInputs = [ installShellFiles makeWrapper ];
···7 pname = "tridactyl-native";
8 # this is actually the version of tridactyl itself; the native messenger will
9 # probably not change with every tridactyl version
10- version = "1.20.1";
1112 src = fetchFromGitHub {
13 owner = "tridactyl";
14 repo = "tridactyl";
15 rev = version;
16- sha256 = "108zx2x5q23cq0fzxmix31xcw62k3r1wlb55612c15ilz9c5xm32";
17 };
18 sourceRoot = "source/native";
19
···7 pname = "tridactyl-native";
8 # this is actually the version of tridactyl itself; the native messenger will
9 # probably not change with every tridactyl version
10+ version = "1.20.2";
1112 src = fetchFromGitHub {
13 owner = "tridactyl";
14 repo = "tridactyl";
15 rev = version;
16+ sha256 = "0yz1vbqa3sppkjmny5ipnspsdi5gnix7wb6hzvdkm9h1rj2kb8ci";
17 };
18 sourceRoot = "source/native";
19