aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/guix/home.scm20
-rw-r--r--etc/sh/rc6
2 files changed, 19 insertions, 7 deletions
diff --git a/etc/guix/home.scm b/etc/guix/home.scm
index 214ee4d..891142a 100644
--- a/etc/guix/home.scm
+++ b/etc/guix/home.scm
@@ -7,6 +7,7 @@
(gnu home services mcron)
(gnu home services shells)
(gnu home services shepherd)
+ (gnu home services xdg)
(gnu packages)
(gnu packages base)
(gnu packages dunst)
@@ -240,6 +241,10 @@
It has no configuration."#
name))))
+(define xdg-prefix "$HOME/.usr")
+(define (xdg path)
+ (string-append xdg-prefix "/" path))
+
(home-environment
(packages
(append
@@ -550,8 +555,21 @@
(service (home-service 'dunst dunst "/bin/dunst"))
(service (home-service 'poweralertd poweralertd "/bin/poweralertd"))
(service (home-service 'remhind remhind "/bin/remhind"))
+ (service home-xdg-base-directories-service-type
+ (home-xdg-base-directories-configuration
+ (cache-home (xdg "var/cache"))
+ (config-home (xdg "etc"))
+ (data-home (xdg "share"))
+ (log-home (xdg "var/log"))
+ (state-home (xdg "state"))))
(simple-service 'my-shell-profile home-shell-profile-service-type
- (list (plain-file "my-profile" ". ~/.usr/etc/sh/rc")))
+ (list (plain-file
+ "my-profile"
+ (format #f
+ #"-
+ export XDG_PREFIX="~a"
+ . "$XDG_CONFIG_HOME"/sh/rc"#
+ xdg-prefix))))
(service home-mcron-service-type
(home-mcron-configuration
(jobs cronjobs))))))
diff --git a/etc/sh/rc b/etc/sh/rc
index 3af52c9..7ea9593 100644
--- a/etc/sh/rc
+++ b/etc/sh/rc
@@ -3,12 +3,6 @@
export ENV=~/.profile
-export XDG_PREFIX=~/.usr
-export XDG_CACHE_HOME="$XDG_PREFIX/var/cache"
-export XDG_CONFIG_HOME="$XDG_PREFIX/etc"
-export XDG_DATA_HOME="$XDG_PREFIX/share"
-export XDG_STATE_HOME="$XDG_PREFIX/state"
-export XDG_LOG_HOME="$XDG_PREFIX/var/log"
export XDG_DATA_DIRS="$XDG_DATA_HOME/flatpak/exports/share:/var/lib/flatpak/exports/share${XDG_DATA_DIRS:+:}${XDG_DATA_DIRS:-}"