Thanks to visit codestin.com
Credit goes to github.com

Skip to content

RANKSHANK/mqsw

Repository files navigation

MQSW Minimal Quickshell Wrapper

Nix wrapper for Quickshell configurations.

Warning

This is early in development; the API is subject to change.

Usage

Add the input to your flake

mqsw.url = "github:RANKSHANK/mqsw";

Note

Flakes are not required. However this example assumes they are being used.

MQSW can then be used to package your configure your package. See the minimal example flake.

Note that the quckshell and sources.local values need to be populated.

DevMode:

DevMode uses by a temporary unionfs-fuse combining the sources.local.impure directory with sources.packaged sources in the nix store. Changes to any file in the sources.local.impure directory will automatically restart1 the launched Quickshell instance.

Devmode can be accessed as an attribute of your wrapped package, for example:

(inputs)

Note

DevMode requires the programs.fuse.enable option to be set to true. This is the default value and will not require user intervention unless it has been manually disabled by your user configuration.

Warning

Crashes may result in dangling fuse mounts. These are directories located in the /tmp/mqsw directory and are trivial to clean up with the commands fusermount -uz /tmp/mqsw/unionfs-XXXXXXXX ; rmdir /tmp/mqsw/unionfs-XXXXXXXX where XXXXXXXX is a unique directory hash. For those skimming, fuse mounts are only present in devMode.

Tip

The /tmp/mqsw/unionfs-XXXXXXXX directory can be directly viewed while devMode is running to see the structure of the Quickshell configuration.

To Do:

  • Docs
  • Examples
  • Controls to override source placement
  • NixOS (SystemD service) module
  • Home-Manager?2
  • Remove hard requirement for sources.local

Contributing:

Contributions welcome. Code to be formatted with Alejandra, made easily available via flake the using nix fmt ..

MQSW is a shamelessly mutilated adaptation of Gerg-L/mnw.

Footnotes

  1. inotifywait is used to watch the sources.local.impure directory to force restart Quickshell, since watching the unionfs directory doesn't trigger watches.

  2. Likely as a systemd unit. This packages the configuration in the nix store meaning it is a contradictory strategy to linking to the home directory.

About

Minimal Quickshell Wrapper

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages