| Crates.io | hyprsession |
| lib.rs | hyprsession |
| version | 0.1.5 |
| created_at | 2024-05-21 21:17:21.682799+00 |
| updated_at | 2025-09-14 15:58:42.966036+00 |
| description | Saves hyprland sessions |
| homepage | |
| repository | https://github.com/joshurtree/hyprsession |
| max_upload_size | |
| id | 1247222 |
| size | 69,940 |
Implements session persistance for Hyprland. While the program is running it periodicly saves the command, workspace and other properties of running clients found by hyprctl clients. These are then saved to a file formatted as a Hyprland config file which can then be sourced so that the session is restored when Hyprland is restarted.
As root run the command
cargo install --root /usr/local hyprsession
Or install as a user by replacing /usr/local with your home directory.
Hyprsession can be installed via the AUR. By either running your aur package manager of choice or manually by running
git clone https://aur.archlinux.org/hyprsession.git
cd hyprsession
makepkg -i
Add the input to your flake.nix
hyprsession.url = "github:joshurtree/hyprsession"
Then either add the package to your configuration.nix or use ${inputs.hyprsession.packages.${pkgs.system}.hyprsession}/bin/hyprsession in place of hyprsession to run the program.
To automaticly run the program in future sessions add the following line to your Hyprland config file (Usually at ~/.config/hypr/hyprland.conf)
exec-once = hyprsession
The same line can be added to your home.nix hyprland configuration if your are using Nix Home Manager.
If you want to save a session that is already running then run
hyprsession --mode save-only &
or
hyprsession --mode save-and-exit
Various options can be used to modify the behavior of Hyprsession.
Sets the mode the program runs in
This sets the interval in seconds between session saves. The default is 60 seconds.
This allows the user to save the session config in an alternative directory, by default its ~/.local/share/hyprsession.
Thank you to the following people for helping to improve this project