### Install and Enable User Systemd Service from Source Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/daemon.md Copies the service file to the user's systemd directory, reloads the daemon configuration, and then enables and starts the hyprmoncfgd service. This is for users who built the project from source. ```bash mkdir -p ~/.config/systemd/user cp packaging/systemd/hyprmoncfgd.local.service ~/.config/systemd/user/hyprmoncfgd.service systemctl --user daemon-reload systemctl --user enable --now hyprmoncfgd ``` -------------------------------- ### Install hyprmoncfg binaries to ~/.local/bin Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Install the built hyprmoncfg and hyprmoncfgd binaries to your user's local bin directory. ```bash install -Dm755 bin/hyprmoncfg ~/.local/bin/hyprmoncfg install -Dm755 bin/hyprmoncfgd ~/.local/bin/hyprmoncfgd ``` -------------------------------- ### Enable and Start User Service Source: https://github.com/crmne/hyprmoncfg/blob/main/PACKAGING.md Enables and starts the hyprmoncfgd user service. This command should be run by the user, not during package installation. ```sh systemctl --user enable --now hyprmoncfgd ``` -------------------------------- ### Install hyprmoncfg on Void Linux Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Install the hyprmoncfg package using xbps-install after adding the necessary repository. ```bash sudo xbps-install -S hyprmoncfg ``` -------------------------------- ### Enable and Start hyprmoncfgd (AUR) Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Use these commands to reload the systemd daemon and enable/start the hyprmoncfgd service for users who installed from AUR. ```bash systemctl --user daemon-reload systemctl --user enable --now hyprmoncfgd ``` -------------------------------- ### Autostart hyprmoncfgd (Legacy Hyprland Config) Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Add this command to your legacy hyprland.conf to automatically start the hyprmoncfgd daemon when Hyprland launches. ```bash exec-once hyprmoncfgd ``` -------------------------------- ### Install hyprmoncfg on Void Linux Source: https://github.com/crmne/hyprmoncfg/blob/main/README.md Install hyprmoncfg on Void Linux by adding an unofficial repository and using xbps. Ensure the repository is correctly configured. ```bash echo repository=https://raw.githubusercontent.com/Event-Horizon-VL/blackhole-vl/repository-x86_64 | sudo tee /etc/xbps.d/20-repository-extra.conf sudo xbps-install -S hyprmoncfg ``` -------------------------------- ### Build hyprmoncfg from source Source: https://github.com/crmne/hyprmoncfg/blob/main/README.md Build and install hyprmoncfg from its source code. This involves cloning the repository, building the binaries, and placing them in the user's bin directory. ```bash git clone https://github.com/crmne/hyprmoncfg.git cd hyprmoncfg go build -o bin/hyprmoncfg ./cmd/hyprmoncfg go build -o bin/hyprmoncfgd ./cmd/hyprmoncfgd install -Dm755 bin/hyprmoncfg ~/.local/bin/hyprmoncfg install -Dm755 bin/hyprmoncfgd ~/.local/bin/hyprmoncfgd ``` -------------------------------- ### Autostart hyprmoncfgd (Hyprland Lua Config) Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Use this Lua code snippet in your hyprland.lua to execute the hyprmoncfgd command when Hyprland starts. ```lua hl.on("hyprland.start", function() hl.exec_cmd("hyprmoncfgd") end) ``` -------------------------------- ### Install Pre-commit Hook Source: https://github.com/crmne/hyprmoncfg/blob/main/README.md Installs the pre-commit hook to run local CI checks, including Go build, vet, test, and dependency management, before each commit. ```bash ln -sf "$(pwd)/scripts/pre-commit" .git/hooks/pre-commit ``` -------------------------------- ### Install hyprmoncfg on Arch Linux (Latest Main) Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Use this command to install the latest 'main' branch version of hyprmoncfg from the AUR on Arch Linux. ```bash yay -S hyprmoncfg-git ``` -------------------------------- ### Install hyprmoncfg on Arch Linux (Stable) Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Use this command to install the stable release of hyprmoncfg from the AUR on Arch Linux. ```bash yay -S hyprmoncfg ``` -------------------------------- ### Basic Smoke Tests Source: https://github.com/crmne/hyprmoncfg/blob/main/PACKAGING.md Performs initial smoke tests after packaging to verify the presence and basic functionality of installed binaries and desktop files. ```sh hyprmoncfg version hyprmoncfg --help hyprmoncfgd --help test -f /usr/share/applications/hyprmoncfg.desktop test -f /usr/share/icons/hicolor/scalable/apps/hyprmoncfg.svg ``` -------------------------------- ### Add Blackhole-vl repository on Void Linux Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Add the unofficial Blackhole-vl repository to your package manager configuration on Void Linux before installing hyprmoncfg. ```bash echo repository=https://raw.githubusercontent.com/Event-Horizon-VL/blackhole-vl/repository-x86_64 | sudo tee /etc/xbps.d/20-repository-extra.conf ``` -------------------------------- ### Force a Specific Profile with Hyprmoncfg Daemon Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/daemon.md Use the --profile flag to manually set a profile, bypassing automatic matching. Ensure the daemon is stopped before starting with this flag. ```bash systemctl --user stop hyprmoncfgd hyprmoncfgd --profile conference-projector ``` -------------------------------- ### Hyprland Monitor Configuration Process Source: https://github.com/crmne/hyprmoncfg/blob/main/README.md Illustrates the core apply engine process: writing monitor configurations, reloading Hyprland, verifying the live state, and confirming or reverting changes. ```bash write monitors.conf -> reload Hyprland -> verify live state -> confirm or revert ``` -------------------------------- ### Build hyprmoncfg from source Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Clone the repository and build the hyprmoncfg and hyprmoncfgd binaries from source. ```bash git clone https://github.com/crmne/hyprmoncfg.git cd hyprmoncfg go build -o bin/hyprmoncfg ./cmd/hyprmoncfg go build -o bin/hyprmoncfgd ./cmd/hyprmoncfgd ``` -------------------------------- ### Build Metadata and Binary Compilation Source: https://github.com/crmne/hyprmoncfg/blob/main/PACKAGING.md Sets build metadata like version, commit, and date, then compiles the hyprmoncfg and hyprmoncfgd binaries. Uses CGO_ENABLED=0 for static builds and -mod=readonly to ensure reproducible builds. ```sh version=1.5.1 commit=509f68e build_date="$(date -u +%FT%TZ)" ldflags="-s -w" ldflags="$ldflags -X github.com/crmne/hyprmoncfg/internal/buildinfo.Version=$version" ldflags="$ldflags -X github.com/crmne/hyprmoncfg/internal/buildinfo.Commit=$commit" ldflags="$ldflags -X github.com/crmne/hyprmoncfg/internal/buildinfo.Date=$build_date" CGO_ENABLED=0 go build -trimpath -mod=readonly -ldflags "$ldflags" -o hyprmoncfg ./cmd/hyprmoncfg CGO_ENABLED=0 go build -trimpath -mod=readonly -ldflags "$ldflags" -o hyprmoncfgd ./cmd/hyprmoncfgd go test ./... ``` -------------------------------- ### Test Profile Application Directly Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/daemon.md Use 'hyprmoncfg apply' to test if a specific profile's layout is correct, helping to distinguish between matching and applying issues. ```bash hyprmoncfg apply ``` -------------------------------- ### Include monitors.conf in Hyprland config (legacy) Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md For legacy hyprlang configurations, include the generated monitors.conf file in your main hyprland.conf. ```text source = ~/.config/hypr/monitors.conf ``` -------------------------------- ### Regenerate Demo Media Source: https://github.com/crmne/hyprmoncfg/blob/main/README.md Executes a script to regenerate all demo videos and screenshots for the project. Assumes `hyprmoncfg` is in the system's PATH. ```bash ./scripts/capture_media.sh ``` -------------------------------- ### Offline Build with Go Module Cache Source: https://github.com/crmne/hyprmoncfg/blob/main/PACKAGING.md Builds the hyprmoncfg binary using a pre-fetched Go module cache tarball for offline environments. Sets GOPROXY to off and uses CGO_ENABLED=0 for static builds. ```sh tar -xf hyprmoncfg-1.5.1-deps.tar.xz GOMODCACHE="$PWD/go-mod" GOPROXY=off CGO_ENABLED=0 go build -trimpath -mod=readonly ./cmd/hyprmoncfg ``` -------------------------------- ### Specify custom config paths Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Use these flags if your Hyprland configuration files are not in the default locations. ```bash hyprmoncfg --monitors-conf /path/to/monitors.conf --hypr-config /path/to/hyprland.conf ``` ```bash hyprmoncfg --monitors-conf /path/to/monitors.lua --hypr-config /path/to/hyprland.lua ``` -------------------------------- ### Include monitors.lua in Hyprland config (0.55+) Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md For Hyprland 0.55+ Lua configurations, require the generated monitors module in your main hyprland.lua. ```lua require("monitors") ``` -------------------------------- ### Launch hyprmoncfg TUI Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Launch the terminal user interface for hyprmoncfg to manage monitor profiles. ```bash hyprmoncfg ``` -------------------------------- ### Apply a saved monitor profile Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Apply a previously saved monitor profile by its name. A confirmation timeout is included by default. ```bash hyprmoncfg apply desk ``` -------------------------------- ### Add Hyprmoncfg Directory with Chezmoi Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/dotfiles.md Use this command to add the hyprmoncfg configuration directory to chezmoi for versioning. This ensures your profile library is tracked and deployed across machines. ```bash chezmoi add ~/.config/hyprmoncfg ``` -------------------------------- ### Apply a saved monitor profile without confirmation Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/getting-started.md Apply a saved monitor profile and skip the confirmation timeout for use in scripts or automation. ```bash hyprmoncfg apply desk --confirm-timeout 0 ``` -------------------------------- ### Regenerate Screenshots Only Source: https://github.com/crmne/hyprmoncfg/blob/main/README.md Executes a script to regenerate only the screenshots for the project. ```bash ./scripts/capture_screenshots.sh ``` -------------------------------- ### Re-add Hyprmoncfg Directory with Chezmoi Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/dotfiles.md Run this command after saving new or updated profiles to tell chezmoi to track the changes. This is necessary for updating existing tracked files. ```bash chezmoi re-add ~/.config/hyprmoncfg ``` -------------------------------- ### View Hyprmoncfg Daemon Logs Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/daemon.md Monitor the user-level journal for the hyprmoncfgd service to understand profile scoring, selection, and application status. ```bash journalctl --user -u hyprmoncfgd -f ``` -------------------------------- ### Override Hyprland Configuration Paths Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_reference/configuration-files.md Explicitly set the paths for Hyprland's monitor configuration and main config files using command-line flags. This applies to both legacy .conf and Lua .lua formats. ```bash hyprmoncfg --monitors-conf /path/to/monitors.conf --hypr-config /path/to/hyprland.conf hyprmoncfgd --monitors-conf /path/to/monitors.conf --hypr-config /path/to/hyprland.conf hyprmoncfg --monitors-conf /path/to/monitors.lua --hypr-config /path/to/hyprland.lua hyprmoncfgd --monitors-conf /path/to/monitors.lua --hypr-config /path/to/hyprland.lua ``` -------------------------------- ### Override Profile Storage Directory Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_reference/configuration-files.md You can specify a custom directory for profile storage using the --config-dir flag for both the CLI and daemon. ```bash hyprmoncfg --config-dir /path/to/profiles hyprmoncfgd --config-dir /path/to/profiles ``` -------------------------------- ### Hyprland Session Smoke Tests Source: https://github.com/crmne/hyprmoncfg/blob/main/PACKAGING.md Verifies the hyprmoncfg daemon's status and functionality within a Hyprland session. Reloads the user daemon configuration and checks the service status. ```sh hyprmoncfg list systemctl --user daemon-reload systemctl --user status hyprmoncfgd ``` -------------------------------- ### Run Daemon Manually Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/daemon.md Executes the hyprmoncfgd daemon in the foreground. This is useful for testing or for one-off profile applications without relying on the systemd service. ```bash hyprmoncfgd ``` -------------------------------- ### Hyprmoncfg Daemon Useful Flags Source: https://github.com/crmne/hyprmoncfg/blob/main/docs/_guide/daemon.md These flags control the daemon's behavior regarding event debouncing, polling intervals, profile selection, and log verbosity. ```bash hyprmoncfgd --debounce 1500ms # wait longer before applying after a plug event hyprmoncfgd --poll-interval 5s # how often to run fallback monitor checks hyprmoncfgd --lid-poll-interval 1s # how often to run fallback lid checks hyprmoncfgd --profile desk # always apply this specific profile hyprmoncfgd --quiet # suppress log output ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.