Update desktop environment with new status bar and styling

- Use polybar instead of xfce4-panel
- Modify bspwm and picom to conform to new spacing and style
- Use arc-gruvbox custom theme instead of Nordic for GTK
- Clean up fish scripts
This commit is contained in:
mitchell 2020-11-05 19:49:16 -05:00
parent 24d7587106
commit 2b7261fb62
9 changed files with 65 additions and 115 deletions

View File

@ -12,12 +12,12 @@ picom -b
bspc monitor -d I II III IV V VI VII bspc monitor -d I II III IV V VI VII
bspc config border_width 2 bspc config border_width 2
bspc config window_gap 8 bspc config window_gap 10
bspc config top_padding -8 bspc config top_padding -10
bspc config split_ratio 0.52 bspc config split_ratio 0.52
bspc config borderless_monocle true bspc config borderless_monocle false
bspc config gapless_monocle true bspc config gapless_monocle false
bspc config focused_border_color '#92971a' bspc config focused_border_color '#92971a'

View File

@ -7,8 +7,6 @@ shadow-radius = 14
fading = true fading = true
fade-delta = 5 fade-delta = 5
inactive-opacity = 0.85
blur-background = true blur-background = true
blur-kern = "11x11gaussian" blur-kern = "11x11gaussian"
@ -17,4 +15,5 @@ vsync = true
wintypes: wintypes:
{ {
dock = { shadow = false; }; dock = { shadow = false; };
utility = { shadow = false; };
}; };

View File

@ -30,7 +30,7 @@ alert = #cc241d
[bar/m-bar] [bar/m-bar]
;monitor = ${env:MONITOR:HDMI-1} ;monitor = ${env:MONITOR:HDMI-1}
width = 100% width = 100%
height = 25 height = 26
;offset-x = 1% ;offset-x = 1%
;offset-y = 1% ;offset-y = 1%
radius = 0.0 radius = 0.0
@ -42,24 +42,24 @@ foreground = ${colors.foreground}
line-size = 3 line-size = 3
line-color = #f00 line-color = #f00
border-size = 8 border-size = 10
border-color = #00000000 border-color = #00000000
padding-left = 0 padding-left = 0
padding-right = 0 padding-right = 0
module-margin-left = 0 module-margin-left = 0
module-margin-right = 1 module-margin-right = 2
font-0 = JetBrains Mono:pixelsize=10;1 font-0 = IBM Plex Sans:size=10;3
font-1 = JetBrains Mono:pixelsize=8;0 font-1 = JetBrains Mono:size=10;3
font-2 = JetBrains Mono:pixelsize=10;1 #font-2 = JetBrains Mono:pixelsize=10;1
#font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 #font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
#font-2 = siji:pixelsize=10;1 #font-2 = siji:pixelsize=10;1
modules-left = bspwm modules-left = bspwm
modules-center = xwindow modules-center = xwindow
modules-right = pulseaudio filesystem xkeyboard cpu memory eth date powermenu modules-right = pulseaudio cpu memory filesystem eth date xkeyboard powermenu
tray-position = right tray-position = right
tray-padding = 2 tray-padding = 2
@ -107,6 +107,7 @@ mount-0 = /
mount-1 = /home mount-1 = /home
label-mounted = %{F#458588}%mountpoint%%{F-}: %percentage_used%% label-mounted = %{F#458588}%mountpoint%%{F-}: %percentage_used%%
label-mounted-underline = ${colors.primary}
label-unmounted = %mountpoint% not mounted label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt} label-unmounted-foreground = ${colors.foreground-alt}
@ -116,18 +117,19 @@ type = internal/bspwm
label-focused = %index% label-focused = %index%
label-focused-background = ${colors.background-alt} label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary} label-focused-underline= ${colors.primary}
label-focused-padding = 2 label-focused-padding = 6
label-occupied = %index% label-occupied = %index%
label-occupied-padding = 2 label-occupied-underline= ${colors.secondary}
label-occupied-padding = 4
label-urgent = %index%! label-urgent = %index%!
label-urgent-background = ${colors.alert} label-urgent-background = ${colors.alert}
label-urgent-padding = 2 label-urgent-padding = 4
label-empty = %index% label-empty = %index%
label-empty-foreground = ${colors.foreground-alt} label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2 label-empty-padding = 4
; Separator in between workspaces ; Separator in between workspaces
; label-separator = | ; label-separator = |

View File

@ -8,7 +8,7 @@ super + Return
# browser # browser
super + shift + Return super + shift + Return
firefox qutebrowser
# program launcher # program launcher
super + @space super + @space

View File

@ -1,70 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-panel" version="1.0">
<property name="configver" type="int" value="2"/>
<property name="panels" type="array">
<value type="int" value="1"/>
<property name="panel-1" type="empty">
<property name="position" type="string" value="p=6;x=0;y=0"/>
<property name="length" type="uint" value="100"/>
<property name="position-locked" type="bool" value="true"/>
<property name="icon-size" type="uint" value="16"/>
<property name="size" type="uint" value="26"/>
<property name="plugin-ids" type="array">
<value type="int" value="1"/>
<value type="int" value="2"/>
<value type="int" value="3"/>
<value type="int" value="4"/>
<value type="int" value="5"/>
<value type="int" value="6"/>
<value type="int" value="8"/>
<value type="int" value="11"/>
<value type="int" value="12"/>
<value type="int" value="13"/>
<value type="int" value="14"/>
</property>
</property>
</property>
<property name="plugins" type="empty">
<property name="plugin-1" type="string" value="applicationsmenu">
<property name="show-button-title" type="bool" value="false"/>
<property name="button-icon" type="string" value="debian-logo"/>
</property>
<property name="plugin-2" type="string" value="tasklist">
<property name="grouping" type="uint" value="1"/>
</property>
<property name="plugin-3" type="string" value="separator">
<property name="expand" type="bool" value="true"/>
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-4" type="string" value="pager"/>
<property name="plugin-5" type="string" value="separator">
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-6" type="string" value="systray">
<property name="show-frame" type="bool" value="false"/>
<property name="square-icons" type="bool" value="true"/>
<property name="names-ordered" type="array">
<value type="string" value="keepassxc"/>
</property>
</property>
<property name="plugin-7" type="string" value="statusnotifier">
<property name="square-icons" type="bool" value="true"/>
<property name="symbolic-icons" type="bool" value="true"/>
</property>
<property name="plugin-8" type="string" value="pulseaudio">
<property name="enable-keyboard-shortcuts" type="bool" value="true"/>
<property name="show-notifications" type="bool" value="true"/>
</property>
<property name="plugin-9" type="string" value="power-manager-plugin"/>
<property name="plugin-10" type="string" value="notification-plugin"/>
<property name="plugin-11" type="string" value="separator">
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-12" type="string" value="clock"/>
<property name="plugin-13" type="string" value="separator">
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-14" type="string" value="actions"/>
</property>
</channel>

View File

@ -88,7 +88,6 @@ end
function add_lvm2_mkinitcpio_hook -a is_encrypt function add_lvm2_mkinitcpio_hook -a is_encrypt
log 'Adding lvm2 mkinitcpio hook' log 'Adding lvm2 mkinitcpio hook'
install lvm2
set -l hooks 'lvm2' set -l hooks 'lvm2'
if test -n "$is_encrypt" if test -n "$is_encrypt"
@ -96,7 +95,9 @@ function add_lvm2_mkinitcpio_hook -a is_encrypt
end end
sed -i "s/modconf block filesystems/modconf block $hooks filesystems/" /etc/mkinitcpio.conf sed -i "s/modconf block filesystems/modconf block $hooks filesystems/" /etc/mkinitcpio.conf
mkinitcpio -P
log 'Installing lvm2'
install lvm2
end end

BIN
oomox-arc-gruvbox.tar.xz Normal file

Binary file not shown.

View File

@ -43,6 +43,7 @@ function provision_terminal_env -d 'Install base terminal utilities and sync con
log 'Installing base terminal utilities' log 'Installing base terminal utilities'
install_pkgs install_pkgs
or return $status
log 'Setting m\'s default shell to fish' log 'Setting m\'s default shell to fish'
sudo chsh -s /usr/bin/fish m sudo chsh -s /usr/bin/fish m
@ -52,8 +53,8 @@ function provision_terminal_env -d 'Install base terminal utilities and sync con
log 'Installing asdf-vm' log 'Installing asdf-vm'
git clone https://github.com/asdf-vm/asdf.git ~/.asdf git clone https://github.com/asdf-vm/asdf.git ~/.asdf
cd ~/.asdf and cd ~/.asdf
git checkout (git describe --abbrev=0 --tags) and git checkout (git describe --abbrev=0 --tags)
end end
function provision_desktop_env -d 'Install base desktop utilities and configure theme' function provision_desktop_env -d 'Install base desktop utilities and configure theme'
@ -89,37 +90,49 @@ function provision_desktop_env -d 'Install base desktop utilities and configure
log 'Installing base desktop environment utilities' log 'Installing base desktop environment utilities'
install_pkgs install_pkgs
or return $status
log 'Setting xinitrc' log 'Setting xinitrc'
echo 'exec bspwm' >~/.xinitrc echo 'exec bspwm' >~/.xinitrc
log 'Installing Nordic theme' log 'Installing arc-gruvbox theme'
mkdir _tmp_nordic; and cd ./_tmp_nordic mkdir -p ~/.themes
wget -q -O nordic.tar.xz https://github.com/EliverLara/Nordic/releases/download/v1.9.0/Nordic.tar.xz xzcat ./oomox-arc-gruvbox.tar.xz | tar --extract --directory=$HOME/.themes
tar -xf ./nordic.tar.xz
mkdir ~/.themes
mv ./Nordic/ ~/.themes/
cd ..; and rm -r ./_tmp_nordic
if test $distro = debian if test $distro = debian
log 'Installing JetBrains Mono font manually' log 'Installing JetBrains Mono font manually'
mkdir _tmp_fonts; and cd ./_tmp_fonts
set -l cwd (pwd)
set -l tmp_dir (mktemp --directory)
cd $tmp_dir
wget -q https://github.com/JetBrains/JetBrainsMono/releases/download/v2.002/JetBrainsMono-2.002.zip wget -q https://github.com/JetBrains/JetBrainsMono/releases/download/v2.002/JetBrainsMono-2.002.zip
unzip JetBrainsMono-2.002.zip >/dev/null and unzip -q JetBrainsMono-2.002.zip
mkdir -p ~/.local/share/fonts/truetype/JetBrainsMono and mkdir -p ~/.local/share/fonts/truetype/JetBrainsMono
cp ./ttf/*.ttf ~/.local/share/fonts/truetype/JetBrainsMono/ and cp ./ttf/*.ttf ~/.local/share/fonts/truetype/JetBrainsMono/
cd ..; and rm -r ./_tmp_fonts
cd $cwd
rm -r $tmp_dir
end end
if test $distro = arch if test $distro = arch
log 'Installing polybar from AUR' log 'Installing pikaur from AUR'
install_pkgs --needed base-devel install_pkgs --needed base-devel
git clone https://aur.archlinux.org/polybar.git _tmp_polybar set -l cwd (pwd)
and ./_tmp_polybar set -l tmp_dir (mktemp --directory)
makepkg --syncdeps --install --clean --noconfirm
cd .. git clone https://aur.archlinux.org/pikaur.git $tmp_dir
rm -rf ./_tmp_polybar and cd $tmp_dir
and makepkg --clean --install --rmdeps --syncdeps --noconfirm
and log 'Installing polybar from AUR'
and pikaur --sync --noconfirm polybar
cd $cwd
rm -rf $tmp_dir
end end
log 'Setting gtk theme' log 'Setting gtk theme'
@ -127,7 +140,7 @@ function provision_desktop_env -d 'Install base desktop utilities and configure
echo " echo "
[Settings] [Settings]
gtk-icon-theme-name = Adwaita gtk-icon-theme-name = Adwaita
gtk-theme-name = Nordic gtk-theme-name = oomox-arc-gruvbox
gtk-font-name = IBM Plex Sans 11" >~/.config/gtk-3.0/settings.ini gtk-font-name = IBM Plex Sans 11" >~/.config/gtk-3.0/settings.ini
end end
@ -136,6 +149,7 @@ function provision_m_net -d 'Install syncthing and keepassxc'
install_pkgs \ install_pkgs \
keepassxc \ keepassxc \
syncthing syncthing
or return $status
log 'Enabling syncthing service' log 'Enabling syncthing service'
sudo systemctl enable syncthing@m.service sudo systemctl enable syncthing@m.service
@ -148,12 +162,14 @@ end
function provision_vagrant -d 'Provision vagrant with libvirt' function provision_vagrant -d 'Provision vagrant with libvirt'
install_libvirt install_libvirt
or return $status
log 'Installing vagrant and libvirt plugin' log 'Installing vagrant and libvirt plugin'
set -l arch_pkgs vagrant set -l arch_pkgs vagrant
set -l debian_pkgs vagrant-libvirt set -l debian_pkgs vagrant-libvirt
install_pkgs install_pkgs
or return $status
vagrant plugin install vagrant-libvirt vagrant plugin install vagrant-libvirt
end end
@ -191,9 +207,11 @@ end
function install_pkgs -S function install_pkgs -S
switch $distro switch $distro
case arch case arch
sudo pacman --sync --refresh --noconfirm $arch_pkgs $argv sudo pacman --sync --refresh --sysupgrade --noconfirm
sudo pacman --sync --noconfirm $arch_pkgs $argv
case debian case debian
sudo apt-get update >/dev/null 2>&1 sudo apt-get update >/dev/null 2>&1
sudo apt-get upgrade --yes
sudo apt-get install --yes $debian_pkgs $argv sudo apt-get install --yes $debian_pkgs $argv
end end
end end

4
sync
View File

@ -3,13 +3,14 @@
function main function main
argparse 'd/desktop' 'g/git' -- $argv argparse 'd/desktop' 'g/git' -- $argv
set -l start_dir (pwd) set -l start_dir (pwd)
set -l tmp_dir (mktemp --directory 2>/dev/null; or mktemp -d -t 'dotfiles')
set -l cwd (string match -r '\w+$' $start_dir) set -l cwd (string match -r '\w+$' $start_dir)
set -l uname (uname) set -l uname (uname)
log 'Syncing shell environment configurations' log 'Syncing shell environment configurations'
set_color grey set_color grey
setup_tmp_space $cwd setup_tmp_space $cwd $tmp_dir
sync_terminal_env sync_terminal_env
@ -69,7 +70,6 @@ function sync_desktop_env
rsync -aP ./.config/bspwm ~/.config/ rsync -aP ./.config/bspwm ~/.config/
rsync -aP ./.config/sxhkd ~/.config/ rsync -aP ./.config/sxhkd ~/.config/
rsync -aP ./.config/picom ~/.config/ rsync -aP ./.config/picom ~/.config/
rsync -aP ./.config/xfce4 ~/.config/
rsync -aP ./.config/qutebrowser ~/.config/ rsync -aP ./.config/qutebrowser ~/.config/
rsync -aP ./.config/polybar ~/.config/ rsync -aP ./.config/polybar ~/.config/
rsync -aP ./.ideavimrc ~/ rsync -aP ./.ideavimrc ~/