···11+#!/usr/bin/env bash
22+dir="$(realpath $(dirname ${BASH_SOURCE[0]})/../..)"
33+_nix_direnv_force_reload=1 direnv exec "$dir" true
44+direnv reload
55+# direnv reload updates the mtime of .envrc. Also update the timestamp of the
66+# profile_rc file to keep track that we actually are up to date.
77+touch $dir/.direnv/{nix,flake}-profile-*.rc
88+
···2626 iftop
2727 wget
2828 curl
2929- exa
2929+ eza
3030 bat
3131 fd
3232 ncdu
3333+ du-dust
3434+ # dia-cli
3335 duf
3436 trash-cli
3537 nix-index
···216218 gen-secret = "< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c\${1:-32};echo;";
217219218220 # modern cli tools
219219- ls = "exa --icons";
220220- l = "exa -l --icons";
221221- la = "exa -la --icons";
221221+ ls = "eza --icons";
222222+ l = "esa -l --icons";
223223+ la = "eza -la --icons";
222224 tree = "ls --tree --icons";
223225 cat = "bat";
224226 unzip = "aunpack";
···229231 make-secret = "< /dev/urandom \\tr -dc _A-Za-z0-9 | head -c \${1:-32};echo;";
230232231233 # task warrior
232232- # TODO: make blocked a context?
233234 t = "task -BLOCKED -idea -backlog";
235235+ tw = "t rc.context:work";
236236+ # TODO find a reasonable way to manage this from a non-nix managed file in ~/.task/context or something
237237+ # we can do something like task rc.context:$(cat ~/.task/context) to read context
238238+ # and write a little script make-context = cat $@ > ~/.task/context or something
234239 tt = "taskwarrior-tui -r list";
235240 ti = "task +idea";
236241 tb = "task +backlog list";
237242 ttb = "taskwarrior-tui -r backlog";
238243 tr = "task newest limit:page";
239239- tw = "task +wait";
244244+ twait = "task +wait";
240245 ta = "task add";
241246 tai = "task add +idea";
242247 tn = "task-note";
home/profiles/desktop/Xresources
home/profiles/desktop/polybar/run.sh
+1-1
home/profiles/email/default.nix
···175175 bind editor ^T complete
176176177177 # Press A to archive
178178- macro index,pager A "<clear-flag>N<save-message>=/Archive" "mark message as Archived"
178178+ macro index,pager A "<clear-flag><save-message>=/Archive" "mark message as Archived"
179179 # Press C to add contact to Khard address book
180180 macro index,pager C \
181181 "<pipe-message>khard add-email<return>" \
···66 # TODO it's perhaps advisable to stop all services that depend on postgresql
77 systemctl stop postgresql
8899- # TODO replace `<new version>` with the psqlSchema here
109 # The schema can be found by running:
1111- # nix-instantiate '<nixpkgs>' --eval -A postgresql_14.psqlSchema
1212- export NEWDATA="/var/lib/postgresql/<new version>"
1010+ # nix eval --raw nixpkgs#postgresql_15.psqlSchema
1111+ export NEWDATA="/var/lib/postgresql/15"
13121413 # TODO specify the postgresql package you'd like to upgrade to
1515- export NEWBIN="${pkgs.postgresql_14}/bin"
1414+ export NEWBIN="${pkgs.postgresql_15}/bin"
16151716 export OLDDATA="${config.services.postgresql.dataDir}"
1817 export OLDBIN="${config.services.postgresql.package}/bin"
···11+diff --git a/app/AppKernel.php b/app/AppKernel.php
22+index 61b734e06..d25d1aaa3 100644
33+--- a/app/AppKernel.php
44++++ b/app/AppKernel.php
55+@@ -62,14 +62,19 @@ class AppKernel extends Kernel
66+ return $bundles;
77+ }
88+99++ public function getProjectDir()
1010++ {
1111++ return getenv('WALLABAG_DATA') ?: dirname(__DIR__);
1212++ }
1313++
1414+ public function getCacheDir()
1515+ {
1616+- return dirname(__DIR__) . '/var/cache/' . $this->getEnvironment();
1717++ return $this->getProjectDir() . '/var/cache/' . $this->getEnvironment();
1818+ }
1919+2020+ public function getLogDir()
2121+ {
2222+- return dirname(__DIR__) . '/var/logs';
2323++ return $this->getProjectDir() . '/var/logs';
2424+ }
2525+2626+ public function registerContainerConfiguration(LoaderInterface $loader)
+57
pkgs/wallabag.nix
···11+{ lib
22+, stdenv
33+, fetchurl
44+}:
55+66+# Point the environment variable $WALLABAG_DATA to a data directory
77+# that contains the folder `app` which must be a clone of
88+# wallabag's configuration files with your customized `parameters.yml`.
99+# In practice you need to copy `${pkgs.wallabag}/app` and the
1010+# customizzed `parameters.yml` to $WALLABAG_DATA.
1111+# These need to be updated every package upgrade.
1212+#
1313+# After a package upgrade, empty the `var/cache` folder or unexpected
1414+# error will occur.
1515+1616+let
1717+ pname = "wallabag";
1818+ version = "2.6.8";
1919+in
2020+stdenv.mkDerivation {
2121+ inherit pname version;
2222+2323+ # Release tarball includes vendored files
2424+ src = fetchurl {
2525+ url = "https://github.com/wallabag/wallabag/releases/download/${version}/wallabag-${version}.tar.gz";
2626+ hash = "sha256-pmQXafqpd5rTwBIYG9NnwIIPta6Ek7iYaPaHvz1s550=";
2727+ };
2828+2929+ patches = [
3030+ ./wallabag-data.patch # exposes $WALLABAG_DATA
3131+ ];
3232+3333+ dontBuild = true;
3434+3535+ installPhase = ''
3636+ runHook preInstall
3737+3838+ mkdir $out
3939+ cp -R * $out/
4040+4141+ runHook postInstall
4242+ '';
4343+4444+ meta = with lib; {
4545+ description = "wallabag is a self hostable application for saving web pages";
4646+ longDescription = ''
4747+ wallabag is a self-hostable PHP application allowing you to not
4848+ miss any content anymore. Click, save and read it when you can.
4949+ It extracts content so that you can read it when you have time.
5050+ '';
5151+ license = licenses.mit;
5252+ homepage = "http://wallabag.org";
5353+ changelog = "https://github.com/wallabag/wallabag/releases/tag/${version}";
5454+ maintainers = with maintainers; [ schneefux ];
5555+ platforms = platforms.all;
5656+ };
5757+}