refactor: break XDG sesion variables out into a single feature module

This commit is contained in:
2026-10-20 09:15:42 -04:00
parent 0dc69ec7b6
commit 657173e8db
4 changed files with 45 additions and 55 deletions
+40
View File
@@ -0,0 +1,40 @@
# Enforce XDG directory spec for configuration files
{ pkgs }:
{
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";
}
+1 -7
View File
@@ -50,14 +50,8 @@
}; };
environment = { environment = {
variables = rec {
XDG_CACHE_HOME = "$HOME/.cache";
XDG_CONFIG_HOME = "$HOME/.config";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
};
shellAliases = import ../../features/aliases.nix { inherit pkgs; }; shellAliases = import ../../features/aliases.nix { inherit pkgs; };
variables = import ../../features/xdg.nix { inherit pkgs; };
systemPackages = with pkgs; [ systemPackages = with pkgs; [
wget wget
+3 -25
View File
@@ -119,9 +119,6 @@
}; };
}; };
# Completely disable xserver support (RIP X11).
xserver.enable = false;
# Enable KMSCON DRM TTY. # Enable KMSCON DRM TTY.
kmscon = { kmscon = {
enable = true; enable = true;
@@ -346,6 +343,8 @@
nixpkgs = { nixpkgs = {
config.allowUnfree = true; config.allowUnfree = true;
# Fix msitools compiling and failing it's test-suite.
overlays = [ overlays = [
(final: prev: { (final: prev: {
msitools = prev.msitools.overrideAttrs (old: { msitools = prev.msitools.overrideAttrs (old: {
@@ -428,28 +427,7 @@
]; ];
shellAliases = import ../../features/aliases.nix { inherit pkgs; }; shellAliases = import ../../features/aliases.nix { inherit pkgs; };
sessionVariables = import ../../features/xdg.nix { inherit pkgs; };
sessionVariables = 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_USER_HOME = "$XDG_DATA_HOME/android";
AZURE_CONFIG_DIR = "$XDG_DATA_HOME/azure";
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_OPTIONS = "-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java";
PYTHON_HISTORY = "$XDG_STATE_HOME/python_history";
HISTFILE = "$XDG_STATE_HOME/bash/history";
GTK2_RC_FILES = "$XDG_CONFIG_HOME/gtk-2.0/gtkrc";
};
}; };
system.stateVersion = "26.05"; system.stateVersion = "26.05";
+1 -23
View File
@@ -193,29 +193,7 @@
]; ];
shellAliases = import ../../features/aliases.nix { inherit pkgs; }; shellAliases = import ../../features/aliases.nix { inherit pkgs; };
sessionVariables = import ../../features/xdg.nix { inherit pkgs; };
sessionVariables = 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}"
];
AZURE_CONFIG_DIR = "$XDG_DATA_HOME/azure";
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_OPTIONS = "-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java";
PYTHON_HISTORY = "$XDG_STATE_HOME/python_history";
HISTFILE = "$XDG_STATE_HOME/bash/history";
DOTNET_ROOT = "${pkgs.dotnet-sdk}/share/dotnet";
DOTNET_CLI_HOME = "$XDG_DATA_HOME/dotnet";
GTK2_RC_FILES = "$XDG_CONFIG_HOME/gtk-2.0/gtkrc";
};
}; };
nix = { nix = {