Initial i3 configuration

This is derived from my Awesome configuration. Still a lot to do from
a WM perspective. The organization is a bit different and I am giving
it up on the per-display systemd units as it does not really work due
to the fact we only have one user DBus and one environment.
This commit is contained in:
Vincent Bernat 2021-07-03 14:13:56 +02:00
parent d3af9e4890
commit d85a504c53
95 changed files with 383 additions and 3116 deletions

View file

@ -0,0 +1,9 @@
[Unit]
Description=Configure monitors
PartOf=graphical-session.target
[Service]
ExecStart=/usr/bin/autorandr --change --default default
LimitCORE=infinity
Type=oneshot
RemainAfterExit=false

View file

@ -0,0 +1,14 @@
[Unit]
Description=i3 window manager
PartOf=graphical-session.target
After=autorandr.service
After=picom.service
After=xsettingsd.service
After=tmux.service
After=ssh-agent.service
Before=wallpaper.service
[Service]
ExecStart=/usr/bin/i3
ExecStopPost=/bin/systemctl --user stop graphical-session.target
Restart=on-failure

View file

@ -0,0 +1,8 @@
[Unit]
Description=XInput event monitor
PartOf=graphical-session.target
[Service]
ExecStartPre=/usr/bin/setxkbmap us
ExecStart=%h/.local/bin/inputplug -d -0 -c %h/.config/i3/bin/input-event
Restart=on-failure

View file

@ -0,0 +1,11 @@
[Unit]
Description=Miscellaneous settings for X11
PartOf=graphical-session.target
After=ssh-agent.service
[Service]
ExecStart=/usr/bin/xset -b
ExecStart=/usr/bin/xsetroot -cursor_name left_ptr
ExecStart=%h/.config/i3/bin/ssh-add
Type=oneshot
RemainAfterExit=false

View file

@ -0,0 +1,12 @@
[Unit]
Description=Compositor for X11
PartOf=graphical-session.target
[Service]
ExecStart=/usr/bin/picom --backend glx \
--xrender-sync-fence \
--vsync \
--opacity-rule 100:fullscreen \
--opacity-rule 85:!fullscreen \
--opacity-rule 100:focused
Restart=on-failure

View file

@ -0,0 +1,7 @@
[Unit]
Description=PolicyKit authentication agent
PartOf=graphical-session.target
[Service]
ExecStart=/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
Restart=on-failure

View file

@ -0,0 +1,7 @@
[Unit]
Description=Set color temperature
PartOf=graphical-session.target
[Service]
ExecStart=/usr/bin/redshift -l manual:lon=2.35:lat=48.87 -t 6500:3900
Restart=on-failure

View file

@ -0,0 +1,12 @@
[Unit]
Description=SSH key agent
Wants=dbus.socket
After=dbus.socket
[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStartPre=/usr/bin/dbus-update-activation-environment --systemd SSH_AUTH_SOCK
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
ExecStopPost=/usr/bin/dbus-update-activation-environment --systemd SSH_AUTH_SOCK=
Restart=always

View file

@ -0,0 +1,7 @@
[Unit]
Description=tmux session
[Service]
RemainAfterExit=yes
ExecStart=/usr/bin/tmux start-server
ExecStop=/usr/bin/tmux kill-server

View file

@ -0,0 +1,14 @@
[Unit]
Description=Build and display wallpaper
PartOf=graphical-session.target
[Service]
Environment=WALLPAPER_DIRECTORY=%h/.config/i3/wallpapers
Environment=WALLPAPER_OUTPUT=%h/.cache/i3/current-wallpaper.png
ExecStart=/usr/bin/mkdir -p %h/.cache/i3
ExecStart=%h/.config/i3/bin/build-wallpaper --crop \
--directory $WALLPAPER_DIRECTORY \
--target $WALLPAPER_OUTPUT
ExecStart=/usr/bin/fvwm-root -r $WALLPAPER_OUTPUT
Type=oneshot
RemainAfterExit=false

View file

@ -0,0 +1,7 @@
[Unit]
Description=Wallpaper rotation
PartOf=graphical-session.target
[Timer]
OnUnitActiveSec=2h
RandomizedDelaySec=10m

View file

@ -0,0 +1,7 @@
[Unit]
Description=X color management
PartOf=graphical-session.target
[Service]
ExecStart=/usr/bin/xiccd --edid
Restart=on-failure

View file

@ -0,0 +1,17 @@
[Unit]
Description=X session
BindsTo=graphical-session.target
Wants=autorandr.service
Wants=i3.service
Wants=picom.service
Wants=inputplug.service
Wants=misc-x.service
Wants=policykit-agent.service
Wants=redshift.service
Wants=wallpaper.timer
Wants=xiccd.service
Wants=xsettingsd.service
Wants=xss-lock.service
Wants=tmux.service
Wants=ssh-agent.service
Wants=pulseaudio.service

View file

@ -0,0 +1,11 @@
[Unit]
Description=XSETTINGS daemon
PartOf=graphical-session.target
[Service]
Environment=SKIP_RELOAD=1
ExecStartPre=%h/.config/i3/bin/xsettingsd-setup
ExecStart=/usr/bin/xsettingsd -c %h/.xsettingsd
ExecReload=%h/.config/i3/bin/xsettingsd-setup
ExecReload=/usr/bin/kill -HUP $MAINPID
Restart=on-failure

View file

@ -0,0 +1,7 @@
[Unit]
Description=Manage X screen saver
PartOf=graphical-session.target
[Service]
ExecStart=%h/.config/i3/bin/xss-lock start
Restart=on-failure