summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Kirillov <w96k@runbox.com>2024-07-31 03:42:56 +0400
committerMikhail Kirillov <w96k@runbox.com>2024-07-31 03:42:56 +0400
commit20d7d4d7d1ce617f79110d10cec2502eaf373c87 (patch)
tree81095532bb2d0297d7c4b367d143953ef386ff87
parent5ea3d98a493e9c5d2f51e15175cacdfa80b81c3d (diff)
Add basic guix home config
-rw-r--r--guix/.bash_profile41
-rw-r--r--guix/.bashrc50
-rw-r--r--guix/home/.bash_profile18
-rw-r--r--guix/home/.bashrc28
-rw-r--r--guix/home/home-configuration.scm70
-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"))))))))