feat(console): update for Guix

This commit is contained in:
Pavel Korytov 2021-05-21 20:42:18 +03:00
parent 87e4cd1579
commit 349e9c66aa
8 changed files with 180 additions and 128 deletions

View file

@ -1,4 +1,4 @@
# [[file:Shell.org::*=.bash_profile=][=.bash_profile=:1]] # [[file:Console.org::*=.bash_profile=][=.bash_profile=:1]]
[[ -f ~/.profile ]] && . ~/.profile [[ -f ~/.profile ]] && . ~/.profile
[[ -f ~/.bashrc ]] && . ~/.bashrc [[ -f ~/.bashrc ]] && . ~/.bashrc

67
.bashrc
View file

@ -1,23 +1,37 @@
# [[file:Shell.org::*Startup & environment][Startup & environment:1]] # [[file:Console.org::*Startup & environment][Startup & environment:1]]
[[ $- != *i* ]] && return export SHELL
xhost +local:root > /dev/null 2>&1
use_fish=true
# Startup & environment:1 ends here # Startup & environment:1 ends here
# [[file:Shell.org::*Startup & environment][Startup & environment:2]] # [[file:Console.org::*Startup & environment][Startup & environment:2]]
export MANPAGER="sh -c 'sed -e s/.\\\\x08//g | bat -l man -p'" if [[ $- != *i* ]]
then
[[ -n "$SSH_CLIENT" ]] && source /etc/profile
return
fi
# Startup & environment:2 ends here # Startup & environment:2 ends here
# [[file:Shell.org::*Launch fish][Launch fish:1]] # [[file:Console.org::*Startup & environment][Startup & environment:3]]
source /etc/bashrc
# Startup & environment:3 ends here
# [[file:Console.org::*Startup & environment][Startup & environment:4]]
xhost +local:root > /dev/null 2>&1
# Startup & environment:4 ends here
# [[file:Console.org::*Startup & environment][Startup & environment:5]]
export MANPAGER="sh -c 'sed -e s/.\\\\x08//g | bat -l man -p'"
# Startup & environment:5 ends here
# [[file:Console.org::*Launch fish][Launch fish:1]]
use_fish=true
if [[ $(ps --no-header --pid=$PPID --format=cmd) != "fish" && ${use_fish} ]] if [[ $(ps --no-header --pid=$PPID --format=cmd) != "fish" && ${use_fish} ]]
then then
exec fish exec fish
fi fi
# Launch fish:1 ends here # Launch fish:1 ends here
# [[file:Shell.org::*Colors][Colors:1]] # [[file:Console.org::*Colors][Colors:1]]
use_color=true use_color=true
# Set colorful PS1 only on colorful terminals. # Set colorful PS1 only on colorful terminals.
@ -66,7 +80,7 @@ fi
unset use_color safe_term match_lhs sh unset use_color safe_term match_lhs sh
# Colors:1 ends here # Colors:1 ends here
# [[file:Shell.org::*Settings][Settings:1]] # [[file:Console.org::*Settings][Settings:1]]
complete -cf sudo # Sudo autocompletion complete -cf sudo # Sudo autocompletion
shopt -s checkwinsize # Check windows size after each command shopt -s checkwinsize # Check windows size after each command
@ -74,22 +88,14 @@ shopt -s expand_aliases # Aliases
shopt -s autocd # Cd to directory just by typing its name (without cd) shopt -s autocd # Cd to directory just by typing its name (without cd)
# Settings:1 ends here # Settings:1 ends here
# [[file:Shell.org::*Settings][Settings:2]] # [[file:Console.org::*Settings][Settings:2]]
shopt -s histappend shopt -s histappend
export HISTCONTROL=ignoredups:erasedups export HISTCONTROL=ignoredups:erasedups
HISTSIZE= HISTSIZE=
HISTFILESIZE= HISTFILESIZE=
# Settings:2 ends here # Settings:2 ends here
# [[file:Shell.org::*Settings][Settings:3]] # [[file:Console.org::*Aliases][Aliases:1]]
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
if [ -d "/usr/share/fzf" ]; then
source /usr/share/fzf/completion.bash
source /usr/share/fzf/key-bindings.bash
fi
# Settings:3 ends here
# [[file:Shell.org::*Aliases][Aliases:1]]
alias v="vim" alias v="vim"
alias gg="lazygit" alias gg="lazygit"
alias ls="exa --icons" alias ls="exa --icons"
@ -98,23 +104,6 @@ alias q="exit"
alias c="clear" alias c="clear"
# Aliases:1 ends here # Aliases:1 ends here
# [[file:Shell.org::*Anaconda][Anaconda:1]] # [[file:Console.org::*Starship prompt][Starship prompt:1]]
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/pavel/Programs/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/pavel/Programs/miniconda3/etc/profile.d/conda.sh" ]; then
. "/home/pavel/Programs/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/home/pavel/Programs/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
# Anaconda:1 ends here
# [[file:Shell.org::*Starship prompt][Starship prompt:1]]
eval "$(starship init bash)" eval "$(starship init bash)"
# Starship prompt:1 ends here # Starship prompt:1 ends here

View file

@ -1,8 +1,8 @@
# [[file:../../Shell.org::*Fish][Fish:1]] # [[file:../../Console.org::*Fish][Fish:1]]
starship init fish | source starship init fish | source
# Fish:1 ends here # Fish:1 ends here
# [[file:../../Shell.org::*Fish][Fish:2]] # [[file:../../Console.org::*Fish][Fish:2]]
fish_vi_key_bindings fish_vi_key_bindings
alias v="vim" alias v="vim"
@ -13,14 +13,7 @@ alias q="exit"
alias c="clear" alias c="clear"
# Fish:2 ends here # Fish:2 ends here
# [[file:../../Shell.org::*Fish][Fish:3]] # [[file:../../Console.org::*Fish][Fish:4]]
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
eval /home/pavel/Programs/miniconda3/bin/conda "shell.fish" "hook" $argv | source
# <<< conda initialize <<<
# Fish:3 ends here
# [[file:../../Shell.org::*Fish][Fish:4]]
if ! test -n "$TMUX"; and ! test -n "$IS_EMACS"; if ! test -n "$TMUX"; and ! test -n "$IS_EMACS";
colorscript random colorscript random
end end

View file

@ -1,8 +1,5 @@
# [[file:../Console.org::*Starship prompt][Starship prompt:1]] # [[file:../Console.org::*Starship prompt][Starship prompt:1]]
[character] [character]
# success_symbol = "[➤](bold green)"
# vicmd_symbol = "[ᐊ](bold green)"
# error_symbol = "[](bold red)"
success_symbol = "[➤ ](bold green)" success_symbol = "[➤ ](bold green)"
error_symbol = "[ ](bold red)" error_symbol = "[ ](bold red)"
vicmd_symbol = "[ᐊ ](bold green)" vicmd_symbol = "[ᐊ ](bold green)"

View file

@ -1,57 +1,34 @@
# [[file:Shell.org::*Environment][Environment:1]] # [[file:Console.org::*Environment][Environment:1]]
export EDITOR=/usr/bin/vim # export EDITOR=/usr/bin/vim
export BROWSER=/usr/bin/firefox # export BROWSER=/usr/bin/firefox
export QT_QPA_PLATFORMTHEME="qt5ct" export QT_QPA_PLATFORMTHEME="qt5ct"
export QT_AUTO_SCREEN_SCALE_FACTOR=0 export QT_AUTO_SCREEN_SCALE_FACTOR=0
export GTK2_RC_FILES="$HOME/.gtkrc-2.0" # export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
# Environment:1 ends here # Environment:1 ends here
# [[file:Shell.org::*Various paths][Various paths:1]] # [[file:Console.org::*My paths][My paths:1]]
if [ -d "$HOME/bin" ] ; then if [ -d "$HOME/bin" ] ; then
export PATH="$HOME/bin:$PATH" export PATH="$HOME/bin:$PATH"
export PATH="$HOME/bin/scripts:$PATH" export PATH="$HOME/bin/scripts:$PATH"
fi fi
# Various paths:1 ends here # My paths:1 ends here
# [[file:Shell.org::*Various paths][Various paths:2]] # [[file:Console.org::*Guix settings][Guix settings:1]]
if [ -d "/usr/local/texlive/2020" ]; then GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
export MANPATH="/usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH" for i in $GUIX_EXTRA_PROFILES/*; do
export INFOPATH="/usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH" profile=$i/$(basename "$i")
export PATH="/usr/local/texlive/2020/bin/x86_64-linux:$PATH" if [ -f "$profile"/etc/profile ]; then
fi GUIX_PROFILE="$profile"
# Various paths:2 ends here . "$GUIX_PROFILE"/etc/profile
fi
unset profile
done
# Guix settings:1 ends here
# [[file:Shell.org::*Various paths][Various paths:3]] # [[file:Console.org::*Guix settings][Guix settings:2]]
if [ -d "$HOME/.cargo" ] ; then export GUIX_PACKAGE_PATH=~/guix-packages
export PATH="$HOME/.cargo/bin:$PATH" # Guix settings:2 ends here
fi
# Various paths:3 ends here
# [[file:Shell.org::*Various paths][Various paths:4]] # [[file:Console.org::*XResources][XResources:1]]
if [ -d "$HOME/.rvm" ] ; then xrdb ~/.Xresources
export PATH="$PATH:$HOME/.rvm/bin" # XResources:1 ends here
fi
# if [ -d "$HOME/.gem" ]; then
# export PATH="$HOME/.gem/ruby/2.7.0/bin:$PATH"
# fi
# Various paths:4 ends here
# [[file:Shell.org::*Various paths][Various paths:5]]
if [ -d "$HOME/go" ] ; then
export PATH="$HOME/go/bin:$PATH"
fi
# Various paths:5 ends here
# [[file:Shell.org::*Various paths][Various paths:6]]
[ -f "/home/pavel/.ghcup/env" ] && source "/home/pavel/.ghcup/env" # ghcup-env
# Various paths:6 ends here
# [[file:Shell.org::*Various paths][Various paths:7]]
if [ -d "$HOME/perl5" ] ; then
PATH="/home/pavel/perl5/bin${PATH:+:${PATH}}"
PERL5LIB="/home/pavel/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/home/pavel/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"/home/pavel/perl5\""; export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/home/pavel/perl5"; export PERL_MM_OPT;
fi
# Various paths:7 ends here

View file

@ -1,26 +1,26 @@
# [[file:Shell.org::*Term settings][Term settings:1]] # [[file:Console.org::*Term settings][Term settings:1]]
set -g default-terminal "screen-256color" set -g default-terminal "screen-256color"
set -ga terminal-overrides ",*256col*:Tc" set -ga terminal-overrides ",*256col*:Tc"
# Term settings:1 ends here # Term settings:1 ends here
# [[file:Shell.org::*Term settings][Term settings:2]] # [[file:Console.org::*Term settings][Term settings:2]]
set -g history-limit 20000 set -g history-limit 20000
# Term settings:2 ends here # Term settings:2 ends here
# [[file:Shell.org::*Keybindings][Keybindings:1]] # [[file:Console.org::*Keybindings][Keybindings:1]]
set-window-option -g mode-keys vi set-window-option -g mode-keys vi
set-option -g xterm-keys on set-option -g xterm-keys on
set-option -g mouse on set-option -g mouse on
set -sg escape-time 10 set -sg escape-time 10
# Keybindings:1 ends here # Keybindings:1 ends here
# [[file:Shell.org::*Keybindings][Keybindings:2]] # [[file:Console.org::*Keybindings][Keybindings:2]]
unbind C-b unbind C-b
set -g prefix C-a set -g prefix C-a
bind C-a send-prefix bind C-a send-prefix
# Keybindings:2 ends here # Keybindings:2 ends here
# [[file:Shell.org::*Keybindings][Keybindings:3]] # [[file:Console.org::*Keybindings][Keybindings:3]]
bind h select-pane -L bind h select-pane -L
bind j select-pane -D bind j select-pane -D
bind k select-pane -U bind k select-pane -U
@ -34,15 +34,15 @@ bind-key t next-window
bind-key T previous-window bind-key T previous-window
# Keybindings:3 ends here # Keybindings:3 ends here
# [[file:Shell.org::*Keybindings][Keybindings:4]] # [[file:Console.org::*Keybindings][Keybindings:4]]
bind r source-file ~/.tmux.conf bind r source-file ~/.tmux.conf
# Keybindings:4 ends here # Keybindings:4 ends here
# [[file:Shell.org::*Copy to clipboard][Copy to clipboard:1]] # [[file:Console.org::*Copy to clipboard][Copy to clipboard:1]]
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i" bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i" bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
# Copy to clipboard:1 ends here # Copy to clipboard:1 ends here
# [[file:Shell.org::*UI][UI:2]] # [[file:Console.org::*UI][UI:2]]
source ~/.tmux.line.conf source ~/.tmux.line.conf
# UI:2 ends here # UI:2 ends here

View file

@ -1,4 +1,4 @@
# [[file:Shell.org::*UI][UI:1]] # [[file:Console.org::*UI][UI:1]]
# This tmux statusbar config was created by tmuxline.vim # This tmux statusbar config was created by tmuxline.vim
# on Wed, 22 Jan 2020 # on Wed, 22 Jan 2020

View file

@ -3,8 +3,8 @@
#+PROPERTY: header-args :mkdirp yes #+PROPERTY: header-args :mkdirp yes
#+PROPERTY: header-args:conf-space :comments link #+PROPERTY: header-args:conf-space :comments link
#+PROPERTY: header-args:conf-toml :comments link #+PROPERTY: header-args:conf-toml :comments link
#+PROPERTY: header-args:sh :tangle-mode (identity #o755) :comments link :shebang "#!/bin/sh" #+PROPERTY: header-args:sh :tangle-mode (identity #o755) :comments link :shebang "#!/usr/bin/env sh"
#+PROPERTY: header-args:bash :tangle-mode (identity #o755) :comments link :shebang "#!/bin/bash" #+PROPERTY: header-args:bash :tangle-mode (identity #o755) :comments link :shebang "#!/usr/bin/env bash"
* Contents * Contents
:PROPERTIES: :PROPERTIES:
@ -42,13 +42,13 @@
:END: :END:
** Environment ** Environment
#+begin_src sh #+begin_src sh
export EDITOR=/usr/bin/vim # export EDITOR=/usr/bin/vim
export BROWSER=/usr/bin/firefox # export BROWSER=/usr/bin/firefox
export QT_QPA_PLATFORMTHEME="qt5ct" export QT_QPA_PLATFORMTHEME="qt5ct"
export QT_AUTO_SCREEN_SCALE_FACTOR=0 export QT_AUTO_SCREEN_SCALE_FACTOR=0
export GTK2_RC_FILES="$HOME/.gtkrc-2.0" # export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
#+end_src #+end_src
** Various paths ** My paths
My script folders My script folders
#+begin_src sh #+begin_src sh
if [ -d "$HOME/bin" ] ; then if [ -d "$HOME/bin" ] ; then
@ -56,9 +56,38 @@ if [ -d "$HOME/bin" ] ; then
export PATH="$HOME/bin/scripts:$PATH" export PATH="$HOME/bin/scripts:$PATH"
fi fi
#+end_src #+end_src
** Guix settings
Enable extra profiles
#+begin_src sh
GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
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
#+end_src
Set a folder for my packages.
#+begin_src sh
export GUIX_PACKAGE_PATH=~/guix-packages
#+end_src
** XResources
| Guix dependency |
|-----------------|
| xrdb |
#+begin_src sh
xrdb ~/.Xresources
#+end_src
** OFF (OFF) Package manager paths
Turned off for now, because probably it won't be necessary in Guix.
LaTeX LaTeX
#+begin_src sh #+begin_src sh :tangle no
if [ -d "/usr/local/texlive/2020" ]; then if [ -d "/usr/local/texlive/2020" ]; then
export MANPATH="/usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH" export MANPATH="/usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH"
export INFOPATH="/usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH" export INFOPATH="/usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH"
@ -67,14 +96,14 @@ fi
#+end_src #+end_src
Cargo (Rust) Cargo (Rust)
#+begin_src sh #+begin_src sh :tangle no
if [ -d "$HOME/.cargo" ] ; then if [ -d "$HOME/.cargo" ] ; then
export PATH="$HOME/.cargo/bin:$PATH" export PATH="$HOME/.cargo/bin:$PATH"
fi fi
#+end_src #+end_src
RVM (Ruby) RVM (Ruby)
#+begin_src sh #+begin_src sh :tangle no
if [ -d "$HOME/.rvm" ] ; then if [ -d "$HOME/.rvm" ] ; then
export PATH="$PATH:$HOME/.rvm/bin" export PATH="$PATH:$HOME/.rvm/bin"
fi fi
@ -84,19 +113,19 @@ fi
#+end_src #+end_src
Go Go
#+begin_src sh #+begin_src sh :tangle no
if [ -d "$HOME/go" ] ; then if [ -d "$HOME/go" ] ; then
export PATH="$HOME/go/bin:$PATH" export PATH="$HOME/go/bin:$PATH"
fi fi
#+end_src #+end_src
ghcup (Haskell) ghcup (Haskell)
#+begin_src sh #+begin_src sh :tangle no
[ -f "/home/pavel/.ghcup/env" ] && source "/home/pavel/.ghcup/env" # ghcup-env [ -f "/home/pavel/.ghcup/env" ] && source "/home/pavel/.ghcup/env" # ghcup-env
#+end_src #+end_src
Perl Perl
#+begin_src sh #+begin_src sh :tangle no
if [ -d "$HOME/perl5" ] ; then if [ -d "$HOME/perl5" ] ; then
PATH="/home/pavel/perl5/bin${PATH:+:${PATH}}" PATH="/home/pavel/perl5/bin${PATH:+:${PATH}}"
PERL5LIB="/home/pavel/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB; PERL5LIB="/home/pavel/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
@ -119,14 +148,33 @@ fi
:PROPERTIES: :PROPERTIES:
:header-args+: :tangle ./.bashrc :header-args+: :tangle ./.bashrc
:END: :END:
My =.bashrc=, which has pieces from the default ones in Guix & Manjaro, as well some mine settings.
*** Startup & environment *** Startup & environment
Return if not run interactively & stuff Export 'SHELL' to child processes. Programs such as 'screen' honor it and otherwise use /bin/sh.
#+begin_src bash #+begin_src bash
[[ $- != *i* ]] && return export SHELL
#+end_src
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.
#+begin_src bash
if [[ $- != *i* ]]
then
[[ -n "$SSH_CLIENT" ]] && source /etc/profile
return
fi
#+end_src
Source the system-wide file
#+begin_src bash
source /etc/bashrc
#+end_src
Allow other users to access X server. Necessary for stuff like aw-watcher-window.
#+begin_src bash
xhost +local:root > /dev/null 2>&1 xhost +local:root > /dev/null 2>&1
use_fish=true
#+end_src #+end_src
Set manpager to bat Set manpager to bat
@ -136,6 +184,8 @@ export MANPAGER="sh -c 'sed -e s/.\\\\x08//g | bat -l man -p'"
*** Launch fish *** Launch fish
Launch fish shell unless bash itself is launched from fish. Launch fish shell unless bash itself is launched from fish.
#+begin_src bash #+begin_src bash
use_fish=true
if [[ $(ps --no-header --pid=$PPID --format=cmd) != "fish" && ${use_fish} ]] if [[ $(ps --no-header --pid=$PPID --format=cmd) != "fish" && ${use_fish} ]]
then then
exec fish exec fish
@ -214,7 +264,7 @@ HISTFILESIZE=
#+end_src #+end_src
Autocompletions Autocompletions
#+begin_src bash #+begin_src bash :tangle no
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion [ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
if [ -d "/usr/share/fzf" ]; then if [ -d "/usr/share/fzf" ]; then
source /usr/share/fzf/completion.bash source /usr/share/fzf/completion.bash
@ -230,13 +280,13 @@ alias ll="exa -lah --icons"
alias q="exit" alias q="exit"
alias c="clear" alias c="clear"
#+end_src #+end_src
*** Anaconda *** OFF (OFF) Anaconda
#+begin_quote #+begin_quote
managed by 'conda init' !!! managed by 'conda init' !!!
#+end_quote #+end_quote
Yeah, tell this to yourself Yeah, tell this to yourself
#+begin_src bash #+begin_src bash :tangle no
# >>> conda initialize >>> # >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !! # !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/pavel/Programs/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" __conda_setup="$('/home/pavel/Programs/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
@ -261,6 +311,10 @@ eval "$(starship init bash)"
:header-args+: :tangle ./.config/fish/config.fish :comments link :header-args+: :tangle ./.config/fish/config.fish :comments link
:END: :END:
| Guix dependency | Description |
|-----------------+------------------------------------------|
| fish | An alternative non POSIX-compliant shell |
[[https://fishshell.com/][Fish shell]] is a non-POSIX-compliant shell, which offers some fancy UI & UX features. [[https://fishshell.com/][Fish shell]] is a non-POSIX-compliant shell, which offers some fancy UI & UX features.
Launch starship Launch starship
@ -276,13 +330,17 @@ fish_vi_key_bindings
#+end_src #+end_src
Anaconda Anaconda
#+begin_src fish #+begin_src fish :tangle no
# >>> conda initialize >>> # >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !! # !! Contents within this block are managed by 'conda init' !!
eval /home/pavel/Programs/miniconda3/bin/conda "shell.fish" "hook" $argv | source eval /home/pavel/Programs/miniconda3/bin/conda "shell.fish" "hook" $argv | source
# <<< conda initialize <<< # <<< conda initialize <<<
#+end_src #+end_src
| Guix dependency |
|-----------------|
| dt-colorscripts |
Launch a random [[https://gitlab.com/dwt1/shell-color-scripts][DT's colorscript]] unless ran inside tmux or Emacs. Launch a random [[https://gitlab.com/dwt1/shell-color-scripts][DT's colorscript]] unless ran inside tmux or Emacs.
#+begin_src fish #+begin_src fish
if ! test -n "$TMUX"; and ! test -n "$IS_EMACS"; if ! test -n "$TMUX"; and ! test -n "$IS_EMACS";
@ -290,6 +348,10 @@ if ! test -n "$TMUX"; and ! test -n "$IS_EMACS";
end end
#+end_src #+end_src
* Starship prompt * Starship prompt
| Guix dependency | Description |
|-----------------+---------------------|
| rust-starship | my prompt of choice |
[[https://starship.rs/][Starship]] is a nice cross-shell prompt, written in Rust. [[https://starship.rs/][Starship]] is a nice cross-shell prompt, written in Rust.
References: References:
@ -376,6 +438,10 @@ symbol = " "
:PROPERTIES: :PROPERTIES:
:header-args+: :tangle ./.tmux.conf :header-args+: :tangle ./.tmux.conf
:END: :END:
| Guix dependency |
|-----------------|
| tmux |
[[https://github.com/tmux/tmux][tmux]] is my terminal multiplexer of choice. [[https://github.com/tmux/tmux][tmux]] is my terminal multiplexer of choice.
It provides pretty sane defaults, so the config is not too large. I rebind the prefix to =C-a= though. It provides pretty sane defaults, so the config is not too large. I rebind the prefix to =C-a= though.
@ -426,6 +492,10 @@ Reload the config.
bind r source-file ~/.tmux.conf bind r source-file ~/.tmux.conf
#+end_src #+end_src
** Copy to clipboard ** Copy to clipboard
| Guix dependency |
|-----------------|
| xclip |
Make tmux copying copy to clipboard as well Make tmux copying copy to clipboard as well
#+begin_src conf-space #+begin_src conf-space
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i" bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
@ -466,6 +536,10 @@ source ~/.tmux.line.conf
:header-args+: :tangle ./.config/alacritty/alacritty.yml :comments link :header-args+: :tangle ./.config/alacritty/alacritty.yml :comments link
:END: :END:
| Guix dependency |
|-----------------|
| alacritty |
[[https://github.com/alacritty/alacritty][Alacritty]] is a GPU-accelerated terminal emulator. I haven't found it to be an inch faster than st, but configuration the in yml format is way more convinient than patches. [[https://github.com/alacritty/alacritty][Alacritty]] is a GPU-accelerated terminal emulator. I haven't found it to be an inch faster than st, but configuration the in yml format is way more convinient than patches.
Once again, we have an application which doesn't support reading Xresources, so here goes noweb. Once again, we have an application which doesn't support reading Xresources, so here goes noweb.
@ -552,3 +626,25 @@ key_bindings:
- { key: Minus, mods: Control, action: DecreaseFontSize } - { key: Minus, mods: Control, action: DecreaseFontSize }
- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize } - { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
#+end_src #+end_src
* Various applications
| Guix dependency | Description |
|-----------------+--------------------------------------|
| ncurses | provides stuff like ~clear~ |
| exa | ~ls~ replacement, written in Rust |
| bat | ~cat~ clone with syntax highlighting |
| Note | Description |
|------+-----------------|
| TODO | package fselect |
* Guix settings
#+NAME: packages
#+begin_src emacs-lisp :tangle no
(my/format-guix-dependencies)
#+end_src
#+begin_src scheme :tangle .config/guix/manifests/console.scm :noweb yes
(specifications->manifest
'(
<<packages()>>))
#+end_src