my over complex system configurations dotfiles.isabelroses.com/
nixos nix flake dotfiles linux
12
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: make template.xdg better for nushell

+65 -45
+53 -40
modules/flake/lib/template/xdg.nix
··· 8 8 XDG_RUNTIME_DIR = "/run/user/$UID"; 9 9 in 10 10 { 11 + simple = { 12 + dataHome = XDG_DATA_HOME; 13 + configHome = XDG_CONFIG_HOME; 14 + cacheHome = XDG_CACHE_HOME; 15 + }; 16 + 11 17 # global env 12 - glEnv = { 18 + global = { 13 19 inherit 14 20 XDG_CONFIG_HOME 15 21 XDG_CACHE_HOME ··· 18 24 XDG_BIN_HOME 19 25 XDG_RUNTIME_DIR 20 26 ; 21 - PATH = [ "$XDG_BIN_HOME" ]; 27 + PATH = [ "$bin" ]; 22 28 }; 23 29 24 - sysEnv = { 25 - # desktop 26 - KDEHOME = "${XDG_CONFIG_HOME}/kde"; 27 - XCOMPOSECACHE = "${XDG_CACHE_HOME}/X11/xcompose"; 28 - ERRFILE = "${XDG_CACHE_HOME}/X11/xsession-errors"; 29 - WINEPREFIX = "${XDG_DATA_HOME}/wine"; 30 + user = 31 + xdg: 32 + let 33 + data = xdg.dataHome; 34 + config = xdg.configHome; 35 + cache = xdg.cacheHome; 36 + in 37 + { 38 + # desktop 39 + KDEHOME = "${config}/kde"; 40 + XCOMPOSECACHE = "${cache}/X11/xcompose"; 41 + ERRFILE = "${cache}/X11/xsession-errors"; 42 + WINEPREFIX = "${data}/wine"; 30 43 31 - # programs 32 - GNUPGHOME = "${XDG_DATA_HOME}/gnupg"; 33 - LESSHISTFILE = "${XDG_DATA_HOME}/less/history"; 34 - CUDA_CACHE_PATH = "${XDG_CACHE_HOME}/nv"; 35 - STEPPATH = "${XDG_DATA_HOME}/step"; 36 - WAKATIME_HOME = "${XDG_CONFIG_HOME}/wakatime"; 37 - INPUTRC = "${XDG_CONFIG_HOME}/readline/inputrc"; 38 - PLATFORMIO_CORE_DIR = "${XDG_DATA_HOME}/platformio"; 39 - DOTNET_CLI_HOME = "${XDG_DATA_HOME}/dotnet"; 40 - MPLAYER_HOME = "${XDG_CONFIG_HOME}/mplayer"; 41 - SQLITE_HISTORY = "${XDG_CACHE_HOME}/sqlite_history"; 44 + # programs 45 + GNUPGHOME = "${data}/gnupg"; 46 + LESSHISTFILE = "${data}/less/history"; 47 + CUDA_CACHE_PATH = "${cache}/nv"; 48 + STEPPATH = "${data}/step"; 49 + WAKATIME_HOME = "${config}/wakatime"; 50 + INPUTRC = "${config}/readline/inputrc"; 51 + PLATFORMIO_CORE_DIR = "${data}/platformio"; 52 + DOTNET_CLI_HOME = "${data}/dotnet"; 53 + MPLAYER_HOME = "${config}/mplayer"; 54 + SQLITE_HISTORY = "${cache}/sqlite_history"; 42 55 43 - # programming 44 - ANDROID_HOME = "${XDG_DATA_HOME}/android"; 45 - ANDROID_USER_HOME = "${XDG_DATA_HOME}/android"; 46 - GRADLE_USER_HOME = "${XDG_DATA_HOME}/gradle"; 47 - IPYTHONDIR = "${XDG_CONFIG_HOME}/ipython"; 48 - JUPYTER_CONFIG_DIR = "${XDG_CONFIG_HOME}/jupyter"; 49 - GOPATH = "${XDG_DATA_HOME}/go"; 50 - M2_HOME = "${XDG_DATA_HOME}/m2"; 51 - CARGO_HOME = "${XDG_DATA_HOME}/cargo"; 52 - RUSTUP_HOME = "${XDG_DATA_HOME}/rustup"; 53 - STACK_ROOT = "${XDG_DATA_HOME}/stack"; 54 - STACK_XDG = 1; 55 - NODE_REPL_HISTORY = "${XDG_DATA_HOME}/node_repl_history"; 56 - NPM_CONFIG_CACHE = "${XDG_CACHE_HOME}/npm"; 57 - NPM_CONFIG_TMP = "${XDG_RUNTIME_DIR}/npm"; 58 - NPM_CONFIG_USERCONFIG = "${XDG_CONFIG_HOME}/npm/config"; 59 - }; 56 + # programming 57 + ANDROID_HOME = "${data}/android"; 58 + ANDROID_USER_HOME = "${data}/android"; 59 + GRADLE_USER_HOME = "${data}/gradle"; 60 + IPYTHONDIR = "${config}/ipython"; 61 + JUPYTER_CONFIG_DIR = "${config}/jupyter"; 62 + GOPATH = "${data}/go"; 63 + M2_HOME = "${data}/m2"; 64 + CARGO_HOME = "${data}/cargo"; 65 + RUSTUP_HOME = "${data}/rustup"; 66 + STACK_ROOT = "${data}/stack"; 67 + STACK_XDG = 1; 68 + NODE_REPL_HISTORY = "${data}/node_repl_history"; 69 + NPM_CONFIG_CACHE = "${cache}/npm"; 70 + NPM_CONFIG_TMP = "${XDG_RUNTIME_DIR}/npm"; 71 + NPM_CONFIG_USERCONFIG = "${config}/npm/config"; 72 + }; 60 73 61 74 npmrc.text = '' 62 - prefix=''${XDG_DATA_HOME}/npm 63 - cache=''${XDG_CACHE_HOME}/npm 64 - init-module=''${XDG_CONFIG_HOME}/npm/config/npm-init.js 75 + prefix=''${data}/npm 76 + cache=''${cache}/npm 77 + init-module=''${config}/npm/config/npm-init.js 65 78 ''; 66 79 67 80 pythonrc.text = '' ··· 72 85 73 86 if readline.get_current_history_length() == 0: 74 87 75 - state_home = os.environ.get("XDG_STATE_HOME") 88 + state_home = os.environ.get("state") 76 89 if state_home is None: 77 90 state_home = Path.home() / ".local" / "state" 78 91 else:
+9 -3
modules/home/environment/xdg.nix
··· 1 - { lib, self, ... }: 1 + { 2 + lib, 3 + self, 4 + config, 5 + ... 6 + }: 2 7 let 3 8 inherit (lib.modules) mkForce; 4 9 5 10 template = self.lib.template.xdg; 11 + vars = template.user config.xdg; 6 12 in 7 13 { 8 - home.sessionVariables = template.sysEnv // { 9 - GNUPGHOME = mkForce template.sysEnv.GNUPGHOME; 14 + home.sessionVariables = vars // { 15 + GNUPGHOME = mkForce vars.GNUPGHOME; 10 16 }; 11 17 12 18 xdg.configFile = {
+3 -2
modules/nixos/environment/xdg.nix
··· 4 4 in 5 5 { 6 6 environment = { 7 - variables = template.glEnv; 8 - sessionVariables = template.sysEnv; 7 + variables = template.global; 9 8 etc = { 10 9 inherit (template) pythonrc npmrc; 11 10 }; 11 + 12 + sessionVariables = template.user template.simple; 12 13 }; 13 14 }