complete-computing-environment/profile_vars.org

45 lines
1.6 KiB
Org Mode

:PROPERTIES:
:ID: configuring_profile_variables
:END:
#+TITLE: Configuring Profile Variables
#+filetags: :Emacs:CCE:Shells:
#+PROPERTY: header-args :mkdirp yes :results none
#+PROPERTY: header-args:nix :tangle ~/arroyo-nix/hm/profile.nix
#+AUTO_TANGLE: t
#+ARROYO_HOME_MODULE: hm/profile.nix
#+CCE_PREDICATE: nil
#+CCE_PRIORITY: 40
#+begin_src nix
{ ... }:
{
home.sessionVariables = {
#+end_src
I live in [[id:20211120T145109.615732][Eugene, OR]], USA, Earth. This used to be a UTC setup, but it's really hard to make that work sanely, so I don't.
#+begin_src nix :tangle no
TZ = "America/Los_Angeles";
# TODO: make this conditional on "normal linux";
# TZDIR = "/usr/share/zoneinfo";
#+end_src
The =PATH= environment variable is important to a Linux desktop -- if it's set in the =bash_profile= loading stage, it's used by various process/command execution tools to resolve binary names. If it's a thing that I want to run often, its executable files should be in =PATH=. A lot of these are explored in their own modules more thoroughly, visible by running [[elisp:(deadgrep "cce/bash")]] from here.
#+BEGIN_SRC nix
PATH = "~/.npm/bin:~/.local/bin:~/bin:$PATH";
#+END_SRC
I use =emacsclient= as my =EDITOR= value, a common idiom variable which shell scripts and simple command-line programs use to open a user's preferred editor. Setting it as =emacsclient= especially from within EXWM and =shell-mode= is nice, because the file signaled to be editied is just opened up in the current Emacs window.
#+BEGIN_SRC nix
EDITOR = "emacsclient";
#+END_SRC
#+begin_src nix
};
}
#+end_src