mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
systemd: launch i3 and user programs with systemd
This commit is contained in:
parent
d96ffc16ff
commit
757bd4c26d
@ -15,10 +15,3 @@ xrandr --dpi $(xrdb -query | grep -i xft.dpi | cut -d: -f2)
|
|||||||
|
|
||||||
setxkbmap -option caps:none
|
setxkbmap -option caps:none
|
||||||
xset r rate 200 18
|
xset r rate 200 18
|
||||||
|
|
||||||
|
|
||||||
# Merge system clipboards
|
|
||||||
if [ -n "$DISPLAY" ] && exists autocutsel && ! pidof autocutsel 1>/dev/null; then
|
|
||||||
autocutsel -fork
|
|
||||||
autocutsel -selection PRIMARY -fork
|
|
||||||
fi
|
|
||||||
|
@ -107,7 +107,6 @@ client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-co
|
|||||||
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $bg-color
|
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $bg-color
|
||||||
client.urgent $urgent-bg-color $urgent-bg-color $text-color $bg-color
|
client.urgent $urgent-bg-color $urgent-bg-color $text-color $bg-color
|
||||||
|
|
||||||
exec_always --no-startup-id killall -q polybar; while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done; exec polybar -r i3bar
|
|
||||||
exec_always --no-startup-id feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
exec_always --no-startup-id feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||||
|
|
||||||
# Window rules
|
# Window rules
|
||||||
@ -130,7 +129,8 @@ focus_follows_mouse yes
|
|||||||
|
|
||||||
# keybindings
|
# keybindings
|
||||||
bindsym $mod+Shift+j reload
|
bindsym $mod+Shift+j reload
|
||||||
bindsym $mod+c exec chromium
|
bindsym $mod+c exec systemd-run --user --scope --slice=chromium.slice --no-block -- chromium
|
||||||
|
bindsym $mod+b exec systemd-run --user --scope --slice=firefox.slice --no-block -- firefox
|
||||||
bindsym $mod+v exec "i3-sensible-terminal -e \\"$SHELL -c vim;$SHELL\\"
|
bindsym $mod+v exec "i3-sensible-terminal -e \\"$SHELL -c vim;$SHELL\\"
|
||||||
bindsym $mod+Ctrl+v exec "i3-sensible-terminal -r floating-term -e \\"$SHELL -c vim;$SHELL\\"
|
bindsym $mod+Ctrl+v exec "i3-sensible-terminal -r floating-term -e \\"$SHELL -c vim;$SHELL\\"
|
||||||
bindsym $mod+Return exec i3-sensible-terminal
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
@ -162,25 +162,4 @@ bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFA
|
|||||||
bindsym XF86MonBrightnessUp exec xbacklight -inc 5 && pkill -RTMIN+12 i3blocks
|
bindsym XF86MonBrightnessUp exec xbacklight -inc 5 && pkill -RTMIN+12 i3blocks
|
||||||
bindsym XF86MonBrightnessDown exec xbacklight -dec 5 && pkill -RTMIN+12 i3blocks
|
bindsym XF86MonBrightnessDown exec xbacklight -dec 5 && pkill -RTMIN+12 i3blocks
|
||||||
|
|
||||||
# app launch shortcuts
|
|
||||||
exec --no-startup-id ~/.config/i3/disable-standby-fs.py
|
|
||||||
exec --no-startup-id feh --no-fehbg --no-xinerama --bg-fill ~/pictures/lakesidesunrise.jpg
|
|
||||||
exec --no-startup-id xautolock -time 5 -locker 'dm-tool switch-to-greeter' -nocloseout -nocloseerr
|
|
||||||
exec --no-startup-id xss-lock dm-tool switch-to-greeter
|
|
||||||
|
|
||||||
# startup programs
|
|
||||||
exec --no-startup-id nextcloud
|
|
||||||
exec --no-startup-id blueman-applet
|
|
||||||
exec --no-startup-id redshift
|
|
||||||
exec --no-startup-id xbindkeys
|
|
||||||
exec --no-startup-id solaar
|
|
||||||
exec --no-startup-id pullover
|
|
||||||
exec --no-startup-id mailnag
|
|
||||||
exec --no-startup-id picom -b --experimental-backends
|
|
||||||
exec --no-startup-id chromium --no-startup-window
|
|
||||||
exec --no-startup-id thunderbird
|
|
||||||
|
|
||||||
exec i3-msg 'workspace 1; exec sleep 2 && chromium'
|
|
||||||
exec i3-msg 'workspace 2; exec i3-sensible-terminal'
|
|
||||||
|
|
||||||
# vim:ft=i3
|
# vim:ft=i3
|
||||||
|
10
.config/systemd/user/autocutsel-primary.service
Normal file
10
.config/systemd/user/autocutsel-primary.service
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=autocutsel -selection primary
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/autocutsel -selection PRIMARY
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
||||||
|
|
10
.config/systemd/user/autocutsel.service
Normal file
10
.config/systemd/user/autocutsel.service
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=autocutsel
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/autocutsel
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
||||||
|
|
1
.config/systemd/user/basic.target.wants/profile.service
Symbolic link
1
.config/systemd/user/basic.target.wants/profile.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/profile.service
|
12
.config/systemd/user/blueman-applet.service
Normal file
12
.config/systemd/user/blueman-applet.service
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Bluetooth Applet
|
||||||
|
After=graphical-session.target bluetooth.service
|
||||||
|
Requires=graphical-session.target bluetooth.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/blueman-applet
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=desktop.target
|
1
.config/systemd/user/default.target
Symbolic link
1
.config/systemd/user/default.target
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/user/basic.target
|
1
.config/systemd/user/default.target.wants/dunst.service
Symbolic link
1
.config/systemd/user/default.target.wants/dunst.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/user/dunst.service
|
1
.config/systemd/user/default.target.wants/redshift.service
Symbolic link
1
.config/systemd/user/default.target.wants/redshift.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/user/redshift.service
|
1
.config/systemd/user/desktop.target.wants/blueman-applet.service
Symbolic link
1
.config/systemd/user/desktop.target.wants/blueman-applet.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/blueman-applet.service
|
1
.config/systemd/user/desktop.target.wants/dunst.service
Symbolic link
1
.config/systemd/user/desktop.target.wants/dunst.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/user/dunst.service
|
1
.config/systemd/user/desktop.target.wants/nextcloud.service
Symbolic link
1
.config/systemd/user/desktop.target.wants/nextcloud.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/nextcloud.service
|
1
.config/systemd/user/desktop.target.wants/picom.service
Symbolic link
1
.config/systemd/user/desktop.target.wants/picom.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/picom.service
|
1
.config/systemd/user/desktop.target.wants/polybar@i3bar.service
Symbolic link
1
.config/systemd/user/desktop.target.wants/polybar@i3bar.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/polybar@.service
|
1
.config/systemd/user/desktop.target.wants/solaar.service
Symbolic link
1
.config/systemd/user/desktop.target.wants/solaar.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/solaar.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/user/xdg-user-dirs-update.service
|
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/autocutsel-primary.service
|
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/autocutsel.service
|
1
.config/systemd/user/graphical-session.target.wants/i3.service
Symbolic link
1
.config/systemd/user/graphical-session.target.wants/i3.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/i3.service
|
14
.config/systemd/user/i3.service
Normal file
14
.config/systemd/user/i3.service
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=i3 - an improved dynamic, tiling window manager
|
||||||
|
Requires=xorg.target
|
||||||
|
Before=graphical-session.target
|
||||||
|
After=profile.service xprofile.service xorg.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/i3
|
||||||
|
ExecReload=/bin/sh -c 'i3-msg restart; systemctl is-active --user -q picom && systemctl --user restart picom'
|
||||||
|
ExecStop=/bin/systemctl --user stop desktop.target
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
14
.config/systemd/user/nextcloud.service
Normal file
14
.config/systemd/user/nextcloud.service
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Nextcloud Client
|
||||||
|
Requires=graphical-session.target
|
||||||
|
After=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/nextcloud --background
|
||||||
|
ExecReload=/bin/kill -HUP $MAINPID
|
||||||
|
KillMode=process
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=desktop.target
|
12
.config/systemd/user/picom.service
Normal file
12
.config/systemd/user/picom.service
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=A lightweight compositor for X11
|
||||||
|
Requires=graphical-session.target
|
||||||
|
After=graphical-session.target xorg.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/picom --experimental-backends --dbus
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=desktop.target
|
12
.config/systemd/user/polybar@.service
Normal file
12
.config/systemd/user/polybar@.service
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Polybar
|
||||||
|
Requires=graphical-session.target
|
||||||
|
After=graphical-session.target pulseaudio.socket
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/polybar --reload --log=warning %i
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=desktop.target
|
10
.config/systemd/user/profile.service
Normal file
10
.config/systemd/user/profile.service
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Load profile environment into session
|
||||||
|
Before=graphical-session-pre.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/bin/bash -c '. $HOME/.config/dotfiles/.profile && systemctl --user import-environment'
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=basic.target
|
@ -1,5 +1,6 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Lock X LightDM session before sleeping
|
Description=Lock X LightDM session before sleeping
|
||||||
|
Requires=graphical-session.target
|
||||||
Before=sleep.target
|
Before=sleep.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
@ -1 +1 @@
|
|||||||
../sleep-lock-lightdm.service
|
/home/frebib/.config/systemd/user/sleep-lock-lightdm.service
|
13
.config/systemd/user/solaar.service
Normal file
13
.config/systemd/user/solaar.service
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Solaar Logitech status applet
|
||||||
|
Requires=graphical-session.target
|
||||||
|
After=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/solaar --restart-on-wake-up -d
|
||||||
|
KillMode=process
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=desktop.target
|
10
.config/systemd/user/xautolock.service
Normal file
10
.config/systemd/user/xautolock.service
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=XBindKeys
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/xautolock -time 1 -locker 'dm-tool switch-to-greeter' -detectsleep -resetsaver -secure
|
||||||
|
KillMode=process
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
11
.config/systemd/user/xbindkeys.service
Normal file
11
.config/systemd/user/xbindkeys.service
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=XBindKeys
|
||||||
|
Requires=profile.service
|
||||||
|
After=profile.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/xbindkeys -n -f $XDG_CONFIG_HOME/X11/xbindkeysrc
|
||||||
|
KillMode=process
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
3
.config/systemd/user/xorg.target
Normal file
3
.config/systemd/user/xorg.target
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Graphical desktop environment
|
||||||
|
Requires=basic.target
|
1
.config/systemd/user/xorg.target.wants/xprofile.service
Symbolic link
1
.config/systemd/user/xorg.target.wants/xprofile.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/xprofile.service
|
13
.config/systemd/user/xprofile.service
Normal file
13
.config/systemd/user/xprofile.service
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Load Xorg configuration
|
||||||
|
PartOf=xorg.target
|
||||||
|
Requires=profile.service
|
||||||
|
After=xorg.target profile.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/usr/bin/bash -cx '. $XDG_CONFIG_HOME/X11/xprofile && systemctl --user import-environment'
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=xorg.target
|
14
.profile
14
.profile
@ -43,18 +43,14 @@ export PATH="${PATH}:/sbin:/usr/sbin:$DOTFILES/scripts:$GOPATH/bin"
|
|||||||
|
|
||||||
exists() { which $@ 0<&- 1>/dev/null 2>/dev/null; }
|
exists() { which $@ 0<&- 1>/dev/null 2>/dev/null; }
|
||||||
|
|
||||||
|
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && exists dbus-launch; then
|
||||||
|
eval $(dbus-launch --sh-syntax --exit-with-session)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Execute this after updating dbus/systemd environment
|
||||||
# Source secret keys and values into environment
|
# Source secret keys and values into environment
|
||||||
if [ -f "$XDG_CONFIG_HOME/secrets" ]; then
|
if [ -f "$XDG_CONFIG_HOME/secrets" ]; then
|
||||||
set -o allexport
|
set -o allexport
|
||||||
source $XDG_CONFIG_HOME/secrets
|
source $XDG_CONFIG_HOME/secrets
|
||||||
set +o allexport
|
set +o allexport
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Start a dbus session daemon for programs that require it
|
|
||||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && exists dbus-launch; then
|
|
||||||
eval $(dbus-launch --sh-syntax --exit-with-session)
|
|
||||||
dbus-update-activation-environment --systemd \
|
|
||||||
DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY \
|
|
||||||
XDG_SEAT_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
8
aliases
8
aliases
@ -105,7 +105,9 @@ mcd(){ mkdir -p -- $@ && cd -- $@; }
|
|||||||
randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w $1 | head -n 1; }
|
randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w $1 | head -n 1; }
|
||||||
|
|
||||||
# System aliases
|
# System aliases
|
||||||
alias s="sudo systemctl"
|
alias sc="systemctl"
|
||||||
|
alias ssc="sudo systemctl"
|
||||||
|
alias scu="systemctl --user"
|
||||||
alias j=journalctl
|
alias j=journalctl
|
||||||
alias ps='ps aux'
|
alias ps='ps aux'
|
||||||
alias catn='tail -n +1 --'
|
alias catn='tail -n +1 --'
|
||||||
@ -290,8 +292,8 @@ alias xinitrc="$EDITOR $XDG_CONFIG_HOME/X11/xinitrc"
|
|||||||
alias xresources="$EDITOR $XDG_CONFIG_HOME/X11/xresources ; xrdb merge $XDG_CONFIG_HOME/X11/xresources"
|
alias xresources="$EDITOR $XDG_CONFIG_HOME/X11/xresources ; xrdb merge $XDG_CONFIG_HOME/X11/xresources"
|
||||||
alias sshc="$EDITOR ~/.ssh/config"
|
alias sshc="$EDITOR ~/.ssh/config"
|
||||||
alias dotfiles="cd $DOTFILES"
|
alias dotfiles="cd $DOTFILES"
|
||||||
alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config ; i3-msg restart"
|
alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config; systemctl --user reload i3"
|
||||||
alias polybarc="$EDITOR $XDG_CONFIG_HOME/polybar/config; killall -q polybar; while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done; exec polybar -r i3bar"
|
alias polybarc="$EDITOR $XDG_CONFIG_HOME/polybar/config; systemctl --user restart polybar@i3bar"
|
||||||
|
|
||||||
alias sf=screenfetch
|
alias sf=screenfetch
|
||||||
alias nf=neofetch
|
alias nf=neofetch
|
||||||
|
Loading…
Reference in New Issue
Block a user