https://github.com/cptlobster/swayconf
Configuration generator for the Sway window manager.
https://github.com/cptlobster/swayconf
config config-generator configuration rust sway sway-config swaywm
Last synced: 2 months ago
JSON representation
Configuration generator for the Sway window manager.
- Host: GitHub
- URL: https://github.com/cptlobster/swayconf
- Owner: cptlobster
- License: gpl-3.0
- Created: 2024-12-24T02:55:13.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2025-03-08T02:06:55.000Z (3 months ago)
- Last Synced: 2025-03-08T03:18:14.779Z (3 months ago)
- Topics: config, config-generator, configuration, rust, sway, sway-config, swaywm
- Language: Rust
- Homepage:
- Size: 230 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# swayconf
Configuration generator for the [Sway window manager](https://github.com/swaywm/sway).*Note: This project is still under heavy development and isn't even in alpha yet. Once I am able to generate my personal
Sway config (see samples/config.toml), I may consider it an alpha build. Some of the features listed are not implemented
yet, and EVERYTHING is subject to change.*## Features
- Write your Sway configuration using TOML
- Support for some Sway commands (WIP)
- Automatically generate common groups of commands using our autogen module (coming soon)
- Avoid errors in your Sway configuration with built-in validation (coming soon)
- Export your config directly to Sway's command format### Goals
- Full support for Sway config
- Includes sway-output, sway-input, and swaybar.
- Support for additional programs
- Handle differences in configuration for i3
- Configuration for Sway extension programs (swaylock, swayidle, swaybg)
- Common third-party programs used with Sway (i.e. waybar, rofi, dmenu, mako, dunst, etc.)
- Possibly some sort of schema format to automatically generate config structure, or make it module based
- (very long way off) Other tiling window managers (i.e. hyprland, xmonad)
- Graphical interface for managing configuration files
- More examples / documentation## Getting Started
First, clone the repo:
```shell
git clone https://github.com/cptlobster/swayconf.git
cd swayconf
```The project is managed using Cargo. Make sure that it is installed, then you can build and run using:
```shell
cargo build
cargo run
```## Documentation
Documentation is a work in progress. Rustdoc can be generated using `cargo doc`, but a proper user guide does not exist.
Potentially could resolve this by setting up Sphinx alongside this project and generating documentation there (there's
an extension for Rustdoc support).## License
This program is licensed under the [GNU General Public License, version 3](LICENSE.md).*This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
version.*
*This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.*
*You should have received a copy of the GNU General Public License along with this program. If not, see
https://www.gnu.org/licenses/.*