mirror of
https://github.com/SqrtMinusOne/dotfiles.git
synced 2025-12-11 19:45:25 +03:00
feat(guix): set up Guix desktop
This commit is contained in:
parent
9ea0f5834b
commit
07c4551000
7 changed files with 131 additions and 54 deletions
22
.Xresources
22
.Xresources
|
|
@ -1,22 +0,0 @@
|
||||||
! [[file:Desktop.org::*Xresources][Xresources:2]]
|
|
||||||
*color0: #292d3e
|
|
||||||
*color1: #f07178
|
|
||||||
*color2: #c3e88d
|
|
||||||
*color3: #ffcb6b
|
|
||||||
*color4: #82aaff
|
|
||||||
*color5: #c792ea
|
|
||||||
*color6: #89ddff
|
|
||||||
*color7: #d0d0d0
|
|
||||||
*color8: #434758
|
|
||||||
*color9: #ff8b92
|
|
||||||
*color10: #ddffa7
|
|
||||||
*color11: #ffe585
|
|
||||||
*color12: #9cc4ff
|
|
||||||
*color13: #e1acff
|
|
||||||
*color14: #a3f7ff
|
|
||||||
*color15: #ffffff
|
|
||||||
|
|
||||||
|
|
||||||
*background: #292d3e
|
|
||||||
*foreground: #d0d0d0
|
|
||||||
! Xresources:2 ends here
|
|
||||||
|
|
@ -1,12 +1,20 @@
|
||||||
(specifications->manifest
|
(specifications->manifest
|
||||||
'(
|
'(
|
||||||
|
"thunar"
|
||||||
|
"xmodmap"
|
||||||
|
"copyq"
|
||||||
|
"feh"
|
||||||
|
"network-manager-applet"
|
||||||
|
"arandr"
|
||||||
"xrandr"
|
"xrandr"
|
||||||
|
"flatpak"
|
||||||
"zathura-djvu"
|
"zathura-djvu"
|
||||||
"zathura-pdf-poppler"
|
"zathura-pdf-poppler"
|
||||||
"zathura-ps"
|
"zathura-ps"
|
||||||
"zathura"
|
"zathura"
|
||||||
"picom"
|
"picom"
|
||||||
"keynav"
|
"keynav"
|
||||||
|
"libnotify"
|
||||||
"dunst"
|
"dunst"
|
||||||
"flameshot"
|
"flameshot"
|
||||||
"rofi"
|
"rofi"
|
||||||
|
|
@ -15,4 +23,9 @@
|
||||||
"curl"
|
"curl"
|
||||||
"bind"
|
"bind"
|
||||||
"polybar"
|
"polybar"
|
||||||
"i3-gaps"))
|
"i3lock"
|
||||||
|
"i3-gaps"
|
||||||
|
"hicolor-icon-theme"
|
||||||
|
"papirus-icon-theme"
|
||||||
|
"matcha-theme"
|
||||||
|
"lxappearance"))
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ floating_modifier $mod
|
||||||
mouse_warping output
|
mouse_warping output
|
||||||
|
|
||||||
# Apply XFCE Settings
|
# Apply XFCE Settings
|
||||||
exec xfsettingsd
|
# exec xfsettingsd
|
||||||
exec xiccd
|
# exec xiccd
|
||||||
|
|
||||||
# Most needed keybindigs
|
# Most needed keybindigs
|
||||||
# reload the configuration file
|
# reload the configuration file
|
||||||
|
|
@ -301,7 +301,7 @@ mode "apps" {
|
||||||
bindsym c exec "copyq toggle"; mode default
|
bindsym c exec "copyq toggle"; mode default
|
||||||
bindsym k exec "keepassxc"; mode default
|
bindsym k exec "keepassxc"; mode default
|
||||||
# bindsym e exec mailspring; mode default
|
# bindsym e exec mailspring; mode default
|
||||||
bindsym a exec "bash /home/pavel/bin/emacs.sh"; mode default
|
bindsym a exec emacs; mode default
|
||||||
bindsym n exec "alacritty -e newsboat"; mode default
|
bindsym n exec "alacritty -e newsboat"; mode default
|
||||||
bindsym w exec "alacritty /home/pavel/bin/scripts/run_wego"; mode default
|
bindsym w exec "alacritty /home/pavel/bin/scripts/run_wego"; mode default
|
||||||
# bindsym a exec emacsclient -c; mode default
|
# bindsym a exec emacsclient -c; mode default
|
||||||
|
|
@ -367,10 +367,10 @@ bindsym $mod+slash exec toggle_layout
|
||||||
exec_always --no-startup-id "bash /home/pavel/bin/polybar.sh"
|
exec_always --no-startup-id "bash /home/pavel/bin/polybar.sh"
|
||||||
|
|
||||||
# PulseEffects
|
# PulseEffects
|
||||||
exec --no-startup-id pulseeffects --gapplication-service
|
# exec --no-startup-id pulseeffects --gapplication-service
|
||||||
|
|
||||||
# Sudo
|
# Sudo
|
||||||
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
# exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
|
||||||
# Wallpaper
|
# Wallpaper
|
||||||
exec_always "feh --bg-fill ~/Pictures/wallpaper.jpg"
|
exec_always "feh --bg-fill ~/Pictures/wallpaper.jpg"
|
||||||
|
|
@ -382,18 +382,19 @@ exec picom
|
||||||
exec keynav
|
exec keynav
|
||||||
|
|
||||||
# Applets
|
# Applets
|
||||||
exec --no-startup-id /usr/bin/nm-applet
|
exec --no-startup-id nm-applet
|
||||||
exec --no-startup-id /usr/bin/blueman-applet
|
# exec --no-startup-id /usr/bin/blueman-applet
|
||||||
|
|
||||||
# MPD
|
# MPD
|
||||||
exec --no-startup-id mpd
|
# exec --no-startup-id mpd
|
||||||
|
|
||||||
# Stuff
|
# Stuff
|
||||||
exec aw-qt
|
# exec aw-qt
|
||||||
exec "vnstatd -d"
|
# exec "vnstatd -d"
|
||||||
exec dunst
|
exec dunst
|
||||||
exec kde-connect-indicator
|
# exec kde-connect-indicator
|
||||||
exec copyq
|
exec copyq
|
||||||
exec "xmodmap ~/.Xmodmap"
|
exec "xmodmap ~/.Xmodmap"
|
||||||
|
# exec "xrdb -merge ~/.Xresources"
|
||||||
exec "bash ~/bin/autostart.sh"
|
exec "bash ~/bin/autostart.sh"
|
||||||
# Autostart:1 ends here
|
# Autostart:1 ends here
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
LINKS=(
|
LINKS=(
|
||||||
"$HOME/.config/tridactyl/themes $HOME/themes"
|
"$HOME/.config/tridactyl/themes $HOME/themes"
|
||||||
"$HOME/.config/tridactyl/.tridactylrc $HOME/.tridactylrc"
|
"$HOME/.config/tridactyl/.tridactylrc $HOME/.tridactylrc"
|
||||||
|
|
|
||||||
5
.profile
5
.profile
|
|
@ -21,6 +21,7 @@ for i in $GUIX_EXTRA_PROFILES/*; do
|
||||||
GUIX_PROFILE="$profile"
|
GUIX_PROFILE="$profile"
|
||||||
. "$GUIX_PROFILE"/etc/profile
|
. "$GUIX_PROFILE"/etc/profile
|
||||||
fi
|
fi
|
||||||
|
export XDG_DATA_DIRS="$XDG_DATA_DIRS:$profile/share"
|
||||||
unset profile
|
unset profile
|
||||||
done
|
done
|
||||||
# Guix settings:1 ends here
|
# Guix settings:1 ends here
|
||||||
|
|
@ -29,6 +30,10 @@ done
|
||||||
export GUIX_PACKAGE_PATH=~/guix-packages
|
export GUIX_PACKAGE_PATH=~/guix-packages
|
||||||
# Guix settings:2 ends here
|
# Guix settings:2 ends here
|
||||||
|
|
||||||
|
# [[file:Console.org::*Guix settings][Guix settings:3]]
|
||||||
|
export XDG_DATA_DIRS="$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share"
|
||||||
|
# Guix settings:3 ends here
|
||||||
|
|
||||||
# [[file:Console.org::*XResources][XResources:1]]
|
# [[file:Console.org::*XResources][XResources:1]]
|
||||||
xrdb ~/.Xresources
|
xrdb ~/.Xresources
|
||||||
# XResources:1 ends here
|
# XResources:1 ends here
|
||||||
|
|
|
||||||
116
Desktop.org
116
Desktop.org
|
|
@ -81,7 +81,8 @@ Parts prefixed with (OFF) are not used, but kept for historic purposes. For some
|
||||||
- [[#general-settings][General settings]]
|
- [[#general-settings][General settings]]
|
||||||
- [[#zathura][Zathura]]
|
- [[#zathura][Zathura]]
|
||||||
:END:
|
:END:
|
||||||
* Colors
|
* Global customization
|
||||||
|
** Colors
|
||||||
Most of the colors are from the Palenight theme. Colorcodes are taken from [[https://github.com/JonathanSpeek/palenight-iterm2][this repo]]:
|
Most of the colors are from the Palenight theme. Colorcodes are taken from [[https://github.com/JonathanSpeek/palenight-iterm2][this repo]]:
|
||||||
|
|
||||||
#+tblname: colors
|
#+tblname: colors
|
||||||
|
|
@ -129,6 +130,7 @@ Test:
|
||||||
: #f07178
|
: #f07178
|
||||||
|
|
||||||
** Xresources
|
** Xresources
|
||||||
|
*** Colors in Xresources
|
||||||
However, I'd rather use the =Xresources= file wherever possible. Here is the code to generate an Xresources file from this table:
|
However, I'd rather use the =Xresources= file wherever possible. Here is the code to generate an Xresources file from this table:
|
||||||
|
|
||||||
#+NAME: get-xresources
|
#+NAME: get-xresources
|
||||||
|
|
@ -149,7 +151,30 @@ However, I'd rather use the =Xresources= file wherever possible. Here is the cod
|
||||||
*background: <<get-color(name="black")>>
|
*background: <<get-color(name="black")>>
|
||||||
*foreground: <<get-color(name="white")>>
|
*foreground: <<get-color(name="white")>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
*** Fonts
|
||||||
|
Also, Xresources are used to set =Xft= settings. Unfortunately, the DPI setting has to be unique for each machine, which means I cannot commit =Xresources= to the repo.
|
||||||
|
|
||||||
|
#+NAME: get-dpi
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(let ((hostname (system-name)))
|
||||||
|
(cond ((string-equal hostname "azure") 120)
|
||||||
|
(t 96)))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src conf-xdefaults :noweb yes :tangle ~/.Xresources
|
||||||
|
Xft.dpi: <<get-dpi()>>
|
||||||
|
#+end_src
|
||||||
|
** Themes
|
||||||
|
A few programs I use to customize the apperance are listed below.
|
||||||
|
|
||||||
|
| Guix dependency | Description |
|
||||||
|
|--------------------+-------------------------------------------|
|
||||||
|
| lxappearance | A program to customize GTK+ themes |
|
||||||
|
| matcha-theme | My preferred GTK theme |
|
||||||
|
| papirus-icon-theme | My preferred Icon theme |
|
||||||
|
| hicolor-icon-theme | For some reason required for lxappearance |
|
||||||
|
|
||||||
|
IIRC the only thing =lxapparance= does is edit GTK config files.
|
||||||
* i3wm
|
* i3wm
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args+: :tangle ./.config/i3/config
|
:header-args+: :tangle ./.config/i3/config
|
||||||
|
|
@ -158,6 +183,7 @@ However, I'd rather use the =Xresources= file wherever possible. Here is the cod
|
||||||
| Guix dependency |
|
| Guix dependency |
|
||||||
|-----------------|
|
|-----------------|
|
||||||
| i3-gaps |
|
| i3-gaps |
|
||||||
|
| i3lock |
|
||||||
|
|
||||||
[[https://i3wm.org/][i3wm]] is a manual tiling window manager, which is currently my window manager of choice. I've tried several alternatives, including [[https://xmonad.org/][xmonad]] & [[https://github.com/ch11ng/exwm][EXWM]], but i3 seems to fit my workflow best.
|
[[https://i3wm.org/][i3wm]] is a manual tiling window manager, which is currently my window manager of choice. I've tried several alternatives, including [[https://xmonad.org/][xmonad]] & [[https://github.com/ch11ng/exwm][EXWM]], but i3 seems to fit my workflow best.
|
||||||
|
|
||||||
|
|
@ -179,8 +205,8 @@ floating_modifier $mod
|
||||||
mouse_warping output
|
mouse_warping output
|
||||||
|
|
||||||
# Apply XFCE Settings
|
# Apply XFCE Settings
|
||||||
exec xfsettingsd
|
# exec xfsettingsd
|
||||||
exec xiccd
|
# exec xiccd
|
||||||
|
|
||||||
# Most needed keybindigs
|
# Most needed keybindigs
|
||||||
# reload the configuration file
|
# reload the configuration file
|
||||||
|
|
@ -523,7 +549,7 @@ mode "apps" {
|
||||||
bindsym c exec "copyq toggle"; mode default
|
bindsym c exec "copyq toggle"; mode default
|
||||||
bindsym k exec "keepassxc"; mode default
|
bindsym k exec "keepassxc"; mode default
|
||||||
# bindsym e exec mailspring; mode default
|
# bindsym e exec mailspring; mode default
|
||||||
bindsym a exec "bash /home/pavel/bin/emacs.sh"; mode default
|
bindsym a exec emacs; mode default
|
||||||
bindsym n exec "alacritty -e newsboat"; mode default
|
bindsym n exec "alacritty -e newsboat"; mode default
|
||||||
bindsym w exec "alacritty /home/pavel/bin/scripts/run_wego"; mode default
|
bindsym w exec "alacritty /home/pavel/bin/scripts/run_wego"; mode default
|
||||||
# bindsym a exec emacsclient -c; mode default
|
# bindsym a exec emacsclient -c; mode default
|
||||||
|
|
@ -643,10 +669,10 @@ bindsym $mod+slash exec toggle_layout
|
||||||
exec_always --no-startup-id "bash /home/pavel/bin/polybar.sh"
|
exec_always --no-startup-id "bash /home/pavel/bin/polybar.sh"
|
||||||
|
|
||||||
# PulseEffects
|
# PulseEffects
|
||||||
exec --no-startup-id pulseeffects --gapplication-service
|
# exec --no-startup-id pulseeffects --gapplication-service
|
||||||
|
|
||||||
# Sudo
|
# Sudo
|
||||||
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
# exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
|
||||||
# Wallpaper
|
# Wallpaper
|
||||||
exec_always "feh --bg-fill ~/Pictures/wallpaper.jpg"
|
exec_always "feh --bg-fill ~/Pictures/wallpaper.jpg"
|
||||||
|
|
@ -658,19 +684,20 @@ exec picom
|
||||||
exec keynav
|
exec keynav
|
||||||
|
|
||||||
# Applets
|
# Applets
|
||||||
exec --no-startup-id /usr/bin/nm-applet
|
exec --no-startup-id nm-applet
|
||||||
exec --no-startup-id /usr/bin/blueman-applet
|
# exec --no-startup-id /usr/bin/blueman-applet
|
||||||
|
|
||||||
# MPD
|
# MPD
|
||||||
exec --no-startup-id mpd
|
# exec --no-startup-id mpd
|
||||||
|
|
||||||
# Stuff
|
# Stuff
|
||||||
exec aw-qt
|
# exec aw-qt
|
||||||
exec "vnstatd -d"
|
# exec "vnstatd -d"
|
||||||
exec dunst
|
exec dunst
|
||||||
exec kde-connect-indicator
|
# exec kde-connect-indicator
|
||||||
exec copyq
|
exec copyq
|
||||||
exec "xmodmap ~/.Xmodmap"
|
exec "xmodmap ~/.Xmodmap"
|
||||||
|
# exec "xrdb -merge ~/.Xresources"
|
||||||
exec "bash ~/bin/autostart.sh"
|
exec "bash ~/bin/autostart.sh"
|
||||||
#+end_src
|
#+end_src
|
||||||
* Polybar
|
* Polybar
|
||||||
|
|
@ -678,14 +705,16 @@ exec "bash ~/bin/autostart.sh"
|
||||||
:header-args+: :tangle ./.config/polybar/config
|
:header-args+: :tangle ./.config/polybar/config
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
| Guix dependency |
|
| Guix dependency | Description |
|
||||||
|-----------------|
|
|------------------+--------------------------|
|
||||||
| polybar |
|
| polybar | statusbar |
|
||||||
|
|
||||||
[[https://github.com/polybar/polybar][Polybar]] is a nice-looking, WM-agnostic statusbar program.
|
[[https://github.com/polybar/polybar][Polybar]] is a nice-looking, WM-agnostic statusbar program.
|
||||||
|
|
||||||
I switched to polybar because I wanted to try out some WMs other than i3, but decided to stick with i3 for now.
|
I switched to polybar because I wanted to try out some WMs other than i3, but decided to stick with i3 for now.
|
||||||
|
|
||||||
|
Don't forget to install the Google Noto Color Emoji font. Guix package with all Noto fonts is way too large.
|
||||||
|
|
||||||
References:
|
References:
|
||||||
- [[https://github.com/polybar/polybar/wiki][polybar docs]]
|
- [[https://github.com/polybar/polybar/wiki][polybar docs]]
|
||||||
** Launching
|
** Launching
|
||||||
|
|
@ -696,7 +725,7 @@ The script below allows me to:
|
||||||
#+begin_src bash :tangle ./bin/polybar.sh
|
#+begin_src bash :tangle ./bin/polybar.sh
|
||||||
hostname=$(hostname)
|
hostname=$(hostname)
|
||||||
# Settings varying on the hostname
|
# Settings varying on the hostname
|
||||||
if [ "$hostname" = "pntk" ]; then
|
if [ "$hostname" = "azure" ]; then
|
||||||
TRAY_MONITOR="eDP-1"
|
TRAY_MONITOR="eDP-1"
|
||||||
export WLAN_INTERFACE="wlp3s0"
|
export WLAN_INTERFACE="wlp3s0"
|
||||||
else
|
else
|
||||||
|
|
@ -1488,6 +1517,7 @@ TYPE_UNDO=Ctrl+Z
|
||||||
| Guix dependency |
|
| Guix dependency |
|
||||||
|-----------------|
|
|-----------------|
|
||||||
| dunst |
|
| dunst |
|
||||||
|
| libnotify |
|
||||||
|
|
||||||
| Type | Note |
|
| Type | Note |
|
||||||
|------+---------------------------------|
|
|------+---------------------------------|
|
||||||
|
|
@ -1982,9 +2012,59 @@ set recolor true
|
||||||
map <C-r> set recolor false
|
map <C-r> set recolor false
|
||||||
map <C-R> set recolor true
|
map <C-R> set recolor true
|
||||||
#+end_src
|
#+end_src
|
||||||
|
* Flatpak
|
||||||
|
A lot of proprietary desktop applications can be installed most easily with flatpak & flathub.
|
||||||
|
|
||||||
|
| Guix dependency |
|
||||||
|
|-----------------|
|
||||||
|
| flatpak |
|
||||||
|
|
||||||
|
After installation, add the following repositories:
|
||||||
|
#+begin_example
|
||||||
|
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
|
flatpak remote-add --user --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
Installation syntax is as follows:
|
||||||
|
#+begin_example
|
||||||
|
flatpak install --user <remote> <package>
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
Packages to install:
|
||||||
|
#+NAME: flatpak-deps
|
||||||
|
| Flatpak dependency | Channel |
|
||||||
|
|------------------------+---------|
|
||||||
|
| org.mozilla.firefox | flathub |
|
||||||
|
| com.discordapp.Discord | flathub |
|
||||||
|
| us.zoom.Zoom | flathub |
|
||||||
|
| com.slack.Slack | flathub |
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp :var table=flatpak-deps :wrap example
|
||||||
|
(mapconcat
|
||||||
|
(lambda (c) (concat "flatpak install --user " (nth 1 c) " " (nth 0 c)))
|
||||||
|
table
|
||||||
|
"\n")
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
#+begin_example
|
||||||
|
flatpak install --user flathub org.mozilla.firefox
|
||||||
|
flatpak install --user flathub com.discordapp.Discord
|
||||||
|
flatpak install --user flathub us.zoom.Zoom
|
||||||
|
flatpak install --user flathub com.slack.Slack
|
||||||
|
#+end_example
|
||||||
|
|
||||||
* Guix settings
|
* Guix settings
|
||||||
| Guix dependency | Description |
|
Other desktop programs I use are listed below.
|
||||||
| xrandr | X11 CLI to RandR |
|
|
||||||
|
| Guix dependency | Description |
|
||||||
|
| xrandr | X11 CLI to RandR |
|
||||||
|
| arandr | GUI to xrandr |
|
||||||
|
| network-manager-applet | Applet to manage network connections |
|
||||||
|
| feh | Image viewer. Used to set background |
|
||||||
|
| copyq | Clipboard manager |
|
||||||
|
| xmodmap | Program to modify keybindings on X server |
|
||||||
|
| thunar | My preferred GUI file manager |
|
||||||
|
|
||||||
#+NAME: packages
|
#+NAME: packages
|
||||||
#+begin_src emacs-lisp :tangle no
|
#+begin_src emacs-lisp :tangle no
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
# [[file:../Desktop.org::*Launching][Launching:1]]
|
# [[file:../Desktop.org::*Launching][Launching:1]]
|
||||||
hostname=$(hostname)
|
hostname=$(hostname)
|
||||||
# Settings varying on the hostname
|
# Settings varying on the hostname
|
||||||
if [ "$hostname" = "pntk" ]; then
|
if [ "$hostname" = "azure" ]; then
|
||||||
TRAY_MONITOR="eDP-1"
|
TRAY_MONITOR="eDP-1"
|
||||||
export WLAN_INTERFACE="wlp3s0"
|
export WLAN_INTERFACE="wlp3s0"
|
||||||
else
|
else
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue