summaryrefslogtreecommitdiff
path: root/.config/systemd/user
diff options
context:
space:
mode:
Diffstat (limited to '.config/systemd/user')
-rw-r--r--.config/systemd/user/reflector.service50
1 files changed, 50 insertions, 0 deletions
diff --git a/.config/systemd/user/reflector.service b/.config/systemd/user/reflector.service
new file mode 100644
index 00000000..c0f04862
--- /dev/null
+++ b/.config/systemd/user/reflector.service
@@ -0,0 +1,50 @@
+# references:
+# /usr/lib/systemd/system/reflector.service
+# /usr/lib/systemd/system/reflector.timer
+# /etc/xdg/reflector/reflector.conf
+# https://www.youtube.com/watch?v=ou369IE7fw8
+
+# how to use:
+# sudo systemctl enable --now ~/.config/systemd/user/reflector
+# sudo systemctl enable --now reflector.timer
+
+[Unit]
+Description=Refresh Pacman mirrorlist with Reflector.
+Documentation=https://wiki.archlinux.org/index.php/Reflector
+Wants=network-online.target
+After=network-online.target nss-lookup.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/reflector --save /etc/pacman.d/mirrorlist --latest 200 --sort rate
+CacheDirectory=reflector
+CapabilityBoundingSet=~CAP_SETUID CAP_SETGID CAP_SETPCAP CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_CHOWN CAP_FSETID CAP_SETFCAP CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH CAP_FOWNER CAP_IPC_OWNER CAP_NET_ADMIN CAP_SYS_TIME CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE CAP_KILL CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SYS_NICE CAP_SYS_RESOURCE CAP_MAC_ADMIN CAP_MAC_OVERRIDE CAP_SYS_BOOT CAP_LINUX_IMMUTABLE CAP_IPC_LOCK CAP_SYS_CHROOT CAP_BLOCK_SUSPEND CAP_LEASE CAP_SYS_PACCT CAP_SYS_TTY_CONFIG CAP_WAKE_ALARM
+Environment=XDG_CACHE_HOME=/var/cache/reflector
+LockPersonality=true
+MemoryDenyWriteExecute=true
+NoNewPrivileges=true
+PrivateDevices=true
+PrivateTmp=true
+PrivateUsers=true
+ProtectClock=true
+ProtectControlGroups=true
+ProtectHome=true
+ProtectHostname=true
+ProtectKernelTunables=true
+ProtectKernelLogs=true
+ProtectKernelModules=true
+ProtectSystem=strict
+ReadOnlyPaths=/etc/xdg/reflector/reflector.conf
+ReadWritePaths=/etc/pacman.d/mirrorlist
+RemoveIPC=true
+RestrictAddressFamilies=~AF_AX25 AF_IPX AF_APPLETALK AF_X25 AF_DECnet AF_KEY AF_NETLINK AF_PACKET AF_RDS AF_PPPOX AF_LLC AF_IB AF_MPLS AF_CAN AF_TIPC AF_BLUETOOTH AF_ALG AF_VSOCK AF_KCM AF_UNIX AF_XDP
+RestrictNamespaces=true
+RestrictRealtime=true
+RestrictSUIDSGID=true
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+SystemCallFilter=~@resources @privileged
+UMask=177
+
+[Install]
+WantedBy=multi-user.target