created 2022/09/22 modified 2024/02/06 category text views 57
configuring unix systems
xfce is okay but can't do multiple monitors, openbox is unmaintained, and wayland compositors are dubious if you have nvidia graphics. the pinacle of modern desktop operation is i3/sway as a floating window manager!
for_window [all] floating enabled for_window [window_role="gimp-image-window-1"] floating disabled
automatically keep your system/server up to date by creating a root cron job that runs every midnight. just run `sudo crontab -e` and add a line like one of these
# update 00 00 * * * yay --noconfirm 00 00 * * * dnf -y update 00 00 * * * sh -c 'apt update && apt upgrade -y' # update and clean 00 00 * * * sh -c 'yay --noconfirm && yay -Qqdtt | yay -Rsun -' 00 00 * * * sh -c 'dnf -y update && dnf -y autoremove' 00 00 * * * sh -c 'apt update && apt upgrade -y && apt autoremove -y'
simply add a .service file to `/etc/systemd/system` or `/usr/lib/systemd/system` to configure a system service that does not provide one
[Unit] Description=Name of Service Service Wants=network.target [Service] #User=myservice WorkingDirectory=/var/myservice ExecStart=/usr/bin/myservice ExecReload=/bin/kill -HUP KillMode=process Restart=always RestartSec=1 SyslogIdentifier=myservice # Hardening ProtectSystem=full PrivateTmp=true SystemCallArchitectures=native MemoryDenyWriteExecute=true NoNewPrivileges=true [Install] WantedBy=multi-user.target
create a user for a system service that does not provide one. the -r argument specifies a system user, -U creates a group with the user, then we set the home directory (not created by default) and disable its shell
useradd -rU -d /var/myservice -s /usr/sbin/nologin myservice
there is an issue where all windows have the same process id and they're all closed when you intend to kill just one, to solve this change the command/exec line in its .desktop file to include the --disable-server argument
thunar suffers from the same issue but does not provide such an argument
in the git repository containing my dotfiles is a script titled install.sh which will copy all the files and shits for you
TODO: update bashrc
TODO: update configurations
TODO: install.sh does not work on termux
TODO: install.sh does not work
if you run the install script in termux the install script does
on a full linux install, vm, or windows subsystem
the script must be run with root permissions for a full install
all steps are optional based on the users they affect (all/main/root) and are all automatically prompted for before anything is done
main:
root:
all: