chezmoi: systemd

This commit is contained in:
js0ny 2025-09-27 14:40:01 +01:00
parent a891f968f8
commit b391e03c87
9 changed files with 40 additions and 57 deletions

View file

@ -0,0 +1,13 @@
[Unit]
Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
[Service]
Type=forking
ExecStart=/usr/local/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=on-failure
[Install]
WantedBy=default.target

View file

@ -0,0 +1,13 @@
[Unit]
Description=Keyd Application Specific Mapping
Documentation=man:keyd-application-mapper(1) https://github.com/rvaiya/keyd
[Service]
Type=forking
ExecStart=/usr/local/bin/keyd-application-mapper -d
ExecStop=pkill keyd-applicatio
Restart=on-failure
[Install]
WantedBy=default.target

View file

@ -0,0 +1,27 @@
# ~/.config/systemd/user/mihomo.service
[Unit]
Description=mihomo Service
# This ensures the service only starts after your network is online.
After=network-online.target
Wants=network-online.target
[Service]
# The main process to run.
# The WorkingDirectory is set to your user's home directory.
# This assumes your mihomo configuration is located at ~/.config/mihomo/
WorkingDirectory=%h/.config/mihomo
# It's common for user-level applications to be in a directory like ~/.local/bin
# or simply in your PATH.
ExecStart=mihomo
# This tells systemd to restart the service if it stops unexpectedly.
Restart=on-failure
# This sets the restart interval to 5 seconds.
RestartSec=5s
[Install]
# This unit should be active when the user's session is active,
# ensuring it starts when you log in.
WantedBy=default.target

View file

@ -1,4 +1,5 @@
# $DOTFILES/tools/zsh/common.zshrc
# vim:ft=zsh
# Date: 2024-11-30
# Author: js0ny
# This is the entry point for all zsh configuration files
@ -14,15 +15,22 @@ case "$(uname)" in
Linux)
if grep -q Microsoft /proc/version || [[ -n "$WSL_DISTRO_NAME" ]]; then
# WSL-specific configuration
source "$DOTFILES/platforms/wsl/zshrc"
export IS_WSL=true
source $DOTFILES/platforms/wsl/winterop.zsh
else
# Native Linux configuration
source "$DOTFILES/platforms/linux/zshrc"
if [ -n "$WAYLAND_DISPLAY" ]; then
alias clip="wl-copy"
alias paste="wl-paste"
elif [ -n "$DISPLAY" ]; then
alias clip="xclip"
fi
fi
;;
Darwin)
# macOS-specific configuration
source "$DOTFILES/platforms/mac/zshrc"
alias clip="pbcopy"
alias paste="pbpaste"
;;
# CYGWIN*|MINGW*|MSYS*)
# source "$DOTFILES/platform/wsl.zsh"
@ -34,4 +42,3 @@ for file in $DOTFILES/tools/zsh/mod/*.zsh; do
done
[ -f "/home/js0ny/.local/share/ghcup/env" ] && . "/home/js0ny/.local/share/ghcup/env" # ghcup-env
. "/home/js0ny/.deno/env"