aboutsummaryrefslogtreecommitdiff
Allow the configuration file and theme directory to be specified at run time.

Patch by Eelco Dolstra, from Nixpkgs.
---
 app.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/app.cpp b/app.cpp
index 237477d..735df9c 100644
--- a/app.cpp
+++ b/app.cpp
@@ -285,7 +285,9 @@ void App::Run()
 	if ( cfg == 0 )
 	{
 		cfg = new Cfg;
-		cfg->readConf(CFGFILE);
+		const char* cfgfile = getenv("SLIM_CFGFILE");
+		if (!cfgfile) cfgfile = CFGFILE;
+		cfg->readConf(cfgfile);
 	}
 	string themebase = "";
 	string themefile = "";
@@ -297,7 +299,9 @@ void App::Run()
 	}
 	else
 	{
-		themebase = string(THEMESDIR) + "/";
+		const char* themesdir = getenv("SLIM_THEMESDIR");
+		if (!themesdir) themesdir = THEMESDIR;
+		themebase = string(themesdir) + "/";
 		themeName = cfg->getOption("current_theme");
 		string::size_type pos;
 		if ((pos = themeName.find(",")) != string::npos)
-- 
2.39.2

/td>packages: Add 'specifications->packages'....* gnu/packages.scm (specifications->packages): New procedure. * guix/scripts/home/import.scm (manifest+configuration-files->code): Use it. * tests/home-import.scm (match-home-environment-no-services) (match-home-environment-no-services-nor-packages) (match-home-environment-bash-service) (match-home-environment-bash-service-with-alias): Adjust 'packages' field accordingly. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Antero Mejr 2022-03-20home: import: Properly parse aliases that contain quotes....* guix/scripts/home/import.scm (generate-bash-configuration+modules): Define 'alias-rx'. [bash-alias->pair]: Use it. * tests/home-import.scm (match-home-environment-bash-service-with-alias): New variable. ("manifest->code: Bash service with aliases"): New test. Ludovic Courtès 2022-01-05home: import: Fix handling of manifest entries with specific output....specification->package fails on manifest entries with specific outputs, resulting in an invalid home configuration. This changes the import command to use specification->package+output instead. * guix/scripts/home/import.scm (manifest+configuration-files->code): Make sure manifest entries with specific output are also handled. * tests/home-import.scm: Specify output in home environment manifest entry. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Arjan Adriaanse 2021-11-16home: Adjust 'guix home import' test for shell aliases....This is a followup to 4b96998292442ec03024481c911d88f86c7c36b5. * tests/home-import.scm (match-home-environment-bash-service): Match the 'aliases' field. Ludovic Courtès 2021-10-31home: import: Avoid duplication of 'manifest->code'....* guix/scripts/home/import.scm (manifest->code): Remove. (manifest+configuration-files->code): New procedure. (import-manifest): Use 'manifest+configuration-files->code' instead of 'manifest->code'. * tests/home-import.scm (eval-test-with-home-environment): Likewise. (match-home-environment-transformations): New procedure. ("manifest->code: No services, package transformations"): New test. Ludovic Courtès 2021-10-31home: import: Factorize triplicated 'version-spec' procedure....* guix/scripts/package.scm (manifest-entry-version-prefix): New procedure, moved from... (export-manifest)[version-spec]: ... here. Adjust caller. * tests/home-import.scm (version-spec): Remove. (eval-test-with-home-environment): Use 'manifest-entry-version-prefix' instead. * guix/scripts/home/import.scm (import-manifest): Likewise. Ludovic Courtès 2021-10-31guix home: import: Call ‘local-file’ with ‘name’...Set the name of the file to just the basename of the file passed to ‘local-file’. * guix/scripts/home/import.scm (basename+remove-dots): New procedure. (generate-bash-configuration+modules): Use it. * tests/home-import.scm (match-home-environment-bash-service): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Xinglu Chen 2021-10-31Add tests for ‘guix home import’....* tests/home-import.scm: New file. * Makefile.am (SCM_TESTS): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Xinglu Chen