Personal dotfiles (wayland configuration) + some useful scripts and tools for everyday use
The repo contains a bunch of scripts and utilities for day to day use, it's almost as a fully desktop environment (at least for my use case 😅)
- backup script using
borg
andrsync
- github synchronization utility
- system updates notification daemon
- battery manager script
newsboat
notification daemonntfy
notification client- mount volumes with
rclone
utility - daemon for weather forecasts
- Bluetooth menus
- clipboard menu
- github menus for quick access to github repos and github pages
kanshi
profiles menu- application and websites launcher
- menu for quick connection to networks
- menu for quick access to obsidian vaults
- menu for pass password manager
- power options menu
- quick browse on
firefox
applet - file opener menu
- steam games launcher
- utility for wireguard vpn connection
- utility for screen recording
- obsidian vault manager script
- utilities for cleanup of docker/vagrant/ollama data
- utility for managing audio/video file conversion and common operations
- caffeine mode
- git common utilities
To install:
- clone the repository
git clone https://github.com/carnivuth/scripts "$HOME/scripts"
- run the installation script (arch linux only)
cd $HOME/scripts && ./scripts.sh
The installation scripts install greetd as a login daemon and hyprland and sway as window managers, configuration is done for both the environments (hyprland is more updated since is my default one), to set one of them as default program after login change /etc/greetd/config.toml
as follows
[terminal]
vt = 1
[default_session]
# run hyprland on login
#command = "agreety --cmd /bin/Hyprland"
# run sway on login
#command = "agreety --cmd /bin/sway"
# login with tuigreet
command = "tuigreet --remember --remember-user-session"
user = "greeter"
To unlock the gnome keyring at default set this on the /etc/pam.d/greetd
file
#%PAM-1.0
auth required pam_securetty.so
auth requisite pam_nologin.so
auth include system-local-login
auth optional pam_gnome_keyring.so
account include system-local-login
session include system-local-login
session optional pam_gnome_keyring.so auto_start
The installation scripts creates a git hook that runs on merge event and execute the ./scripts.sh
installation script, to avoid input password for pacman configure sudo as follows
echo "$USER ALL=(ALL:ALL) NOPASSWD:/bin/pacman" > "/etc/sudoers.d/$USER"
This will install a list of default packages and link the configuration files under the right folder using stow, for reference
flowchart LR
A[etc] --> E[~/.config]
B[bin] --> F[~/.local/bin]
C[lib] --> G[~/.local/lib]
D[systemd] --> H[~/.config/systemd/user]
In order to add aliases and set path the following line is added to ~/.bashrc
source $HOME/.config/scripts/bash_integration.sh
In order to configure firefox additional steps are required
- enable this firefox options inside
about:config
section
toolkit.legacyUserProfileCustomizations.stylesheets
layers.acceleration.force-enabled
gfx.webrender.all
gfx.webrender.enabled
layout.css.backdrop-filter.enabled
svg.context-properties.content.enabled
- link firefox configuration file to the profile directory
mkdir -p ~/.mozilla/firefox/<profiledir>/chrome
ln -sf firefox/userChrome.css ~/.mozilla/firefox/<profiledir>/chrome
- install sidebery extension end import
firefox/sidebary.json
In order to add thunderbird catppuccin theme follow these steps
- clone theme repo
cd /tmp
git clone https://github.com/catppuccin/thunderbird
- install theme from the thunderbird UI
Configuration is done in the $HOME/.config/settings.sh
file, see the .sample
(version for reference)
The repo is tested and used on arch linux, it should work on other distros if you install the dependencies listed in the ./scripts.sh
script and manually link dotfiles, testing is done trough the use of a archlinux vagrant box