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 = {
|
users.frank = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
uid = 1000;
|
||||||
description = "Frank LoTurco";
|
description = "Frank LoTurco";
|
||||||
hashedPasswordFile = config.sops.secrets.password_hash.path;
|
hashedPasswordFile = config.sops.secrets.password_hash.path;
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
WINE = "${pkgs.wineWow64Packages.full}/bin/.wine";
|
WINE = "${pkgs.wineWow64Packages.full}/bin/.wine";
|
||||||
WINEPREFIX = "$XDG_DATA_HOME/wine";
|
|
||||||
WINEDEBUG = "-all";
|
WINEDEBUG = "-all";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
+1
-33
@@ -1,40 +1,8 @@
|
|||||||
# Enforce XDG directory spec for configuration files
|
# Enforce XDG directory spec for configuration files
|
||||||
{ pkgs }:
|
{ 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 = [
|
XDG_DATA_DIRS = [
|
||||||
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
|
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
|
||||||
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.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";
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
inputs.lazyvim.homeManagerModules.default
|
inputs.lazyvim.homeManagerModules.default
|
||||||
../features/starship.nix
|
../features/starship.nix
|
||||||
|
../features/home-env.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.shellAliases = import ../features/aliases.nix { inherit pkgs; };
|
home.shellAliases = import ../features/aliases.nix { inherit pkgs; };
|
||||||
|
|||||||
Reference in New Issue
Block a user