refactor: fix tty sessions losing paths for env vars
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
osConfig,
|
||||
...
|
||||
}:
|
||||
let
|
||||
home = config.home.homeDirectory;
|
||||
isLinux = pkgs.stdenv.hostPlatform.isLinux;
|
||||
runtimeDir = "/run/user/${toString osConfig.users.users.${config.home.username}.uid}";
|
||||
|
||||
vars = {
|
||||
XDG_CACHE_HOME = "${home}/.cache";
|
||||
XDG_CONFIG_HOME = "${home}/.config";
|
||||
XDG_DATA_HOME = "${home}/.local/share";
|
||||
XDG_STATE_HOME = "${home}/.local/state";
|
||||
|
||||
ANDROID_USER_HOME = "${home}/.local/share/android";
|
||||
AZURE_CONFIG_DIR = "${home}/.local/share/azure";
|
||||
|
||||
NPM_CONFIG_INIT_MODULE = "${home}/.config/npm/config/npm-init.js";
|
||||
NPM_CONFIG_CACHE = "${home}/.cache/npm";
|
||||
|
||||
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${home}/.config/java";
|
||||
|
||||
PYTHON_HISTORY = "${home}/.local/state/python_history";
|
||||
|
||||
HISTFILE = "${home}/.local/state/bash/history";
|
||||
|
||||
DOTNET_ROOT = "${pkgs.dotnet-sdk}/share/dotnet";
|
||||
DOTNET_CLI_HOME = "${home}/.local/share/dotnet";
|
||||
|
||||
GTK2_RC_FILES = "${home}/.config/gtk-2.0/gtkrc";
|
||||
|
||||
WINEPREFIX = "${home}/.local/share/wine";
|
||||
};
|
||||
|
||||
linuxVars = {
|
||||
NPM_CONFIG_TMP = "${runtimeDir}/npm";
|
||||
};
|
||||
in
|
||||
{
|
||||
home.sessionVariables = vars // lib.optionalAttrs isLinux linuxVars;
|
||||
|
||||
systemd.user.sessionVariables = lib.mkIf isLinux (vars // linuxVars);
|
||||
}
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
users.frank = {
|
||||
isNormalUser = true;
|
||||
uid = 1000;
|
||||
description = "Frank LoTurco";
|
||||
hashedPasswordFile = config.sops.secrets.password_hash.path;
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
sessionVariables = {
|
||||
WINE = "${pkgs.wineWow64Packages.full}/bin/.wine";
|
||||
WINEPREFIX = "$XDG_DATA_HOME/wine";
|
||||
WINEDEBUG = "-all";
|
||||
};
|
||||
};
|
||||
|
||||
+1
-33
@@ -1,40 +1,8 @@
|
||||
# Enforce XDG directory spec for configuration files
|
||||
{ pkgs }:
|
||||
rec {
|
||||
XDG_CACHE_HOME = "$HOME/.cache";
|
||||
XDG_CONFIG_HOME = "$HOME/.config";
|
||||
XDG_DATA_HOME = "$HOME/.local/share";
|
||||
XDG_STATE_HOME = "$HOME/.local/state";
|
||||
|
||||
{
|
||||
XDG_DATA_DIRS = [
|
||||
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
|
||||
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
|
||||
];
|
||||
|
||||
# Android
|
||||
ANDROID_USER_HOME = "$XDG_DATA_HOME/android";
|
||||
|
||||
# Azure
|
||||
AZURE_CONFIG_DIR = "$XDG_DATA_HOME/azure";
|
||||
|
||||
# NodeJS / npm
|
||||
NPM_CONFIG_INIT_MODULE = "$XDG_CONFIG_HOME/npm/config/npm-init.js";
|
||||
NPM_CONFIG_CACHE = "$XDG_CACHE_HOME/npm";
|
||||
NPM_CONFIG_TMP = "$XDG_RUNTIME_DIR/npm";
|
||||
|
||||
# Java
|
||||
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java";
|
||||
|
||||
# Python
|
||||
PYTHON_HISTORY = "$XDG_STATE_HOME/python_history";
|
||||
|
||||
# BASH
|
||||
HISTFILE = "$XDG_STATE_HOME/bash/history";
|
||||
|
||||
# .NET
|
||||
DOTNET_ROOT = "${pkgs.dotnet-sdk}/share/dotnet";
|
||||
DOTNET_CLI_HOME = "$XDG_DATA_HOME/dotnet";
|
||||
|
||||
# GTK
|
||||
GTK2_RC_FILES = "$XDG_CONFIG_HOME/gtk-2.0/gtkrc";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user