NiriSetup is a terminal-based assistant for setting up and configuring the Niri Wayland compositor on FreeBSD. It simplifies the installation of Niri and its dependencies, configuration file management, and validation of the config.kdl
file.
- Install Niri and related dependencies on FreeBSD.
- Manage Niri configuration files (
config.kdl
). - Validate Niri configuration.
- Save logs to a file for troubleshooting.
Before running NiriSetup, ensure the following dependencies are installed on your FreeBSD system:
- Go (for building the application)
- Niri (the Wayland compositor)
- Bubble Tea (Go TUI library)
- Lipgloss (Go terminal styling library)
- Other dependencies:
wlroots
,xwayland-satellite
,waybar
,grim
,jq
,wofi
,alacritty
,pam_xdg
,swayidle
.
Note: NiriSetup will install Niri and the other required dependencies automatically if they are not already installed.
Make sure Go is installed on your system:
sudo pkg install go
To use the TUI interface for NiriSetup, install the required Go packages:
go get github.com/charmbracelet/bubbletea
go get github.com/charmbracelet/lipgloss
Clone the NiriSetup repository and build the application:
git clone https://github.com/vimanuelt/NiriSetup
cd NiriSetup
go build -o NiriSetup .
Make sure you have the config.kdl
file in the same directory as the NiriSetup application. If you don’t have a configuration file, generate one with Niri or copy it from the Niri repository.
Once everything is set up, you can run NiriSetup:
./NiriSetup
NiriSetup will guide you through installing Niri, configuring it, and validating the configuration.
When you run the NiriSetup
application, you will see a list of options:
- Install Niri: Installs Niri and other required packages using
pkg
. - Configure Niri: Copies the provided
config.kdl
to the appropriate configuration directory (~/.config/niri/config.kdl
). - Validate Config: Runs
niri validate
to check the validity of the Niri configuration. - Save Logs: Saves a log of the installation process to a file (
/tmp/nirisetup.log
). - Exit: Quits the application.
By default, the log file is saved to /tmp/nirisetup.log
. You can review this file for any errors or information about the setup process.
If you want to run NiriSetup from anywhere, move the binary to /usr/local/bin
:
sudo mv NiriSetup /usr/local/bin/
Now, you can run the application using the command:
NiriSetup
This project is licensed under the BSD 3-Clause License. See the LICENSE
file for more details.
If you'd like to contribute to this project, feel free to submit a pull request or open an issue on the GitHub repository.
For any issues or questions regarding NiriSetup, please feel free to open an issue on the GitHub repository or consult the Niri documentation.
- Bubble Tea - TUI Framework for Go.
- Lipgloss - Terminal Styling Library for Go.
- Niri - The Wayland compositor that NiriSetup is designed to install and configure.
### Key Changes:
- The note under **Requirements** now mentions that NiriSetup will automatically install Niri and other required dependencies if they are not already installed.
- This gives users a clearer understanding that they don't need to worry about manually installing Niri and its dependencies, as NiriSetup will handle it.
Let me know if you need further adjustments!