diff options
author | Mikhail Kirillov <w96k@runbox.com> | 2024-07-31 03:42:56 +0400 |
---|---|---|
committer | Mikhail Kirillov <w96k@runbox.com> | 2024-07-31 03:42:56 +0400 |
commit | 20d7d4d7d1ce617f79110d10cec2502eaf373c87 (patch) | |
tree | 81095532bb2d0297d7c4b367d143953ef386ff87 | |
parent | 5ea3d98a493e9c5d2f51e15175cacdfa80b81c3d (diff) |
Add basic guix home config
-rw-r--r-- | guix/.bash_profile | 41 | ||||
-rw-r--r-- | guix/.bashrc | 50 | ||||
-rw-r--r-- | guix/home/.bash_profile | 18 | ||||
-rw-r--r-- | guix/home/.bashrc | 28 | ||||
-rw-r--r-- | guix/home/home-configuration.scm | 70 | ||||
-rw-r--r-- | guix/home/home-configuration.scm~ | 80 |
6 files changed, 196 insertions, 91 deletions
diff --git a/guix/.bash_profile b/guix/.bash_profile deleted file mode 100644 index d384170..0000000 --- a/guix/.bash_profile +++ /dev/null @@ -1,41 +0,0 @@ -export PATH=$PATH:$HOME/.bin:~/.local/bin:/bin:$HOME/.nix-profile/bin:$HOME/.nodejs/bin -#:$HOME/.nix-profile/bin - -export CC=gcc -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.guix-profile/lib/ - -export XENVIRONMENT=$HOME/.Xresources - -export MOZ_X11_EGL=1 - -export python=/usr/bin/python3 - -alias firefox='x11docker -c -I --share $HOME/Downloads -- --tmpfs /dev/shm -- jess/firefox' - -export LIBVA_DRIVER_NAME=i965 -export MOZ_X11_EGL=1 - -export GUIX_PACKAGE_PATH=$HOME/.guix-packages -GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles -export GUILE_LOAD_PATH=$GUILE_LOAD_PATH:$HOME/projects/guix -export GUILE_LOAD_COMPILED_PATH=$GUILE_LOAD_COMPILED_PATH:$HOME/projects/guix - -for i in $GUIX_EXTRA_PROFILES/*; do - profile=$i/$(basename "$i") - if [ -f "$profile"/etc/profile ]; then - GUIX_PROFILE="$profile" - . "$GUIX_PROFILE"/etc/profile - fi - unset profile -done - -# export PHPENV_ROOT="/home/w96k/.phpenv" -# if [ -d "${PHPENV_ROOT}" ]; then -# export PATH="${PHPENV_ROOT}/bin:${PATH}" -# eval "$(phpenv init -)" -# fi - -# Honor per-interactive-shell startup file -# if [ -f ~/.bashrc ]; then . ~/.bashrc; fi - -if [ -f ~/.Xresources ]; then xrdb ~/.Xresources; fi diff --git a/guix/.bashrc b/guix/.bashrc deleted file mode 100644 index ee478fa..0000000 --- a/guix/.bashrc +++ /dev/null @@ -1,50 +0,0 @@ -export SHELL - -# Source the system-wide file. -source /etc/bashrc - -# Adjust the prompt depending on whether we're in 'guix environment'. -if [ -n "$GUIX_ENVIRONMENT" ] -then - export PS1="\w [env]\$ " -else - export PS1="\[$(tput bold; tput setaf 4;)\]\w \$ \[$(tput sgr0)\]" - # Direnv - eval "$(direnv hook bash)" -fi -alias ls='ls -p --color=auto' -alias ll='ls -l' -alias grep='grep --color=auto' - -# set a fancy prompt (non-color, unless we know we "want" color) -case "$TERM" in - xterm-color|*-256color) color_prompt=yes;; -esac - -# colored GCC warnings and errors -export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' - -export PYTHONSTARTUP="${HOME}/.pythonrc" -export PYTHONIOENCODING="UTF-8" - -if [ "$DISTRO" == "Debian" ]; then - if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases - fi - - if ! shopt -oq posix; then - if [ -f /usr/share/bash-completion/bash_completion ]; then - . /usr/share/bash-completion/bash_completion - elif [ -f /etc/bash_completion ]; then - . /etc/bash_completion - fi - fi -fi - -if [ -f ~/.bash_profile ]; then - . ~/.bash_profile -fi - -# Welcome message -printf "Welcome to bash shell\n\n" - diff --git a/guix/home/.bash_profile b/guix/home/.bash_profile new file mode 100644 index 0000000..2868826 --- /dev/null +++ b/guix/home/.bash_profile @@ -0,0 +1,18 @@ +# Set up Guix Home profile +if [ -f ~/.profile ]; then . ~/.profile; fi + +# Honor per-interactive-shell startup file +if [ -f ~/.bashrc ]; then . ~/.bashrc; fi + +# Merge search-paths from multiple profiles, the order matters. +eval "$(guix package --search-paths \ +-p $HOME/.config/guix/current \ +-p $HOME/.guix-profile \ +-p /run/current-system/profile)" + +# Prepend setuid programs. +export PATH=/run/setuid-programs:$PATH + +export PATH=$HOME/.bin:$PATH + +export EMACSLOADPATH=$EMACSLOADPATH:$HOME/.emacs.d/elpa diff --git a/guix/home/.bashrc b/guix/home/.bashrc new file mode 100644 index 0000000..7b58a92 --- /dev/null +++ b/guix/home/.bashrc @@ -0,0 +1,28 @@ +# Bash initialization for interactive non-login shells and +# for remote shells (info "(bash) Bash Startup Files"). + +# Export 'SHELL' to child processes. Programs such as 'screen' +# honor it and otherwise use /bin/sh. +export SHELL + +export GUIX_PACKAGE_PATH=$HOME/.guix-packages +export GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles + +if [[ $- != *i* ]] +then + # We are being invoked from a non-interactive shell. If this + # is an SSH session (as in "ssh host command"), source + # /etc/profile so we get PATH and other essential variables. + [[ -n "$SSH_CLIENT" ]] && source /etc/profile + + # Don't do anything else. + return +fi + +# Source the system-wide file. +[ -f /etc/bashrc ] && source /etc/bashrc + +alias ls='ls -p --color=auto' +alias ll='ls -l' +alias grep='grep --color=auto' +alias ip='ip -color=auto' diff --git a/guix/home/home-configuration.scm b/guix/home/home-configuration.scm new file mode 100644 index 0000000..2f29174 --- /dev/null +++ b/guix/home/home-configuration.scm @@ -0,0 +1,70 @@ +;; This "home-environment" file can be passed to 'guix home reconfigure' +;; to reproduce the content of your profile. This is "symbolic": it only +;; specifies package names. To reproduce the exact same profile, you also +;; need to capture the channels being used, as returned by "guix describe". +;; See the "Replicating Guix" section in the manual. + +(use-modules (gnu home) + (gnu packages) + (gnu services) + (guix gexp) + (gnu home services shells)) + +(define wkz-home (home-environment + (packages (specifications->packages (list "darktable" + "openssh" + "docker-compose" + "emacs-company" + "emacs-f" + "emacs-s" + "emacs-xterm-color" + "emacs-lsp-mode" + "wget" + "bitcoin-core" + "xrandr" + "unzip" + "zip" + "mpv" + "emacs-rmsbolt" + "git" + "emacs" + "lm-sensors" + "htop" + "make" + "emacs-simple-httpd" + "emacs-guix" + "emacs-telega" + "gimp" + "imagemagick" + "stow" + "icecat" + "smartmontools" + "lshw" + "hwinfo" + "ntfs-3g" + "qbittorrent" + "x11-ssh-askpass" + "syncthing" + "pavucontrol" + "wmname" + "arp-scan" + "proot" + "openconnect" + "alsa-utils" + "grep"))) + + ;; Below is the list of Home services. To search for available + ;; services, run 'guix home search KEYWORD' in a terminal. + (services + (list (service home-bash-service-type + (home-bash-configuration + (aliases '(("grep" . "grep --color=auto") + ("ip" . "ip -color=auto") + ("ll" . "ls -l") + ("ls" . "ls -p --color=auto"))) + (bashrc (list (local-file + ".bashrc" + "bashrc"))) + (bash-profile (list (local-file + ".bash_profile" + "bash_profile"))))))))) diff --git a/guix/home/home-configuration.scm~ b/guix/home/home-configuration.scm~ new file mode 100644 index 0000000..403106a --- /dev/null +++ b/guix/home/home-configuration.scm~ @@ -0,0 +1,80 @@ +;; This "home-environment" file can be passed to 'guix home reconfigure' +;; to reproduce the content of your profile. This is "symbolic": it only +;; specifies package names. To reproduce the exact same profile, you also +;; need to capture the channels being used, as returned by "guix describe". +;; See the "Replicating Guix" section in the manual. + +(use-modules (gnu home) + (gnu packages) + (gnu services) + (guix gexp) + (gnu home services shells)) + +(home-environment + ;; Below is the list of packages that will show up in your + ;; Home profile, under ~/.guix-home/profile. + (packages (specifications->packages (list "darktable" + "openssh" + "docker-compose" + "emacs-company" + "emacs-f" + "emacs-s" + "emacs-xterm-color" + "emacs-lsp-mode" + "emacs-osm" + "wget" + "bitcoin-core" + "xrandr" + "unzip" + "zip" + "mpv" + "gnupg" + "pinentry-tty" + "pinentry-emacs" + "signing-party" + "emacs-rmsbolt" + "git" + "emacs-no-x-toolkit" + "emacs-mastodon" + "lm-sensors" + "htop" + "make" + "emacs-simple-httpd" + "emacs-guix" + "emacs-telega" + "font-gnu-unifont" + "gimp" + "imagemagick" + "stow" + "icecat" + "icedove" + "smartmontools" + "lshw" + "hwinfo" + "ntfs-3g" + "qbittorrent" + "x11-ssh-askpass" + "syncthing" + "pavucontrol" + "wmname" + "arp-scan" + "proot" + "openconnect" + "alsa-utils" + "grep"))) + + ;; Below is the list of Home services. To search for available + ;; services, run 'guix home search KEYWORD' in a terminal. + (services + (list (service home-bash-service-type + (home-bash-configuration + (aliases '(("grep" . "grep --color=auto") + ("ip" . "ip -color=auto") + ("ll" . "ls -l") + ("ls" . "ls -p --color=auto"))) + (bashrc (list (local-file + ".bashrc" + "bashrc"))) + (bash-profile (list (local-file + ".bash_profile" + "bash_profile")))))))) |