No description
Find a file
jasmine 267f4edcf1
refactor: remove modal editing and BSP layout
- Remove XMonad.Hooks.Modal and editMode functionality
- Remove XMonad.Layout.BinarySpacePartition layout
- Add window rotation (rotAllUp/Down) mirroring wezterm behavior
- Add master pane manipulation with mnemonic bindings:
  - M-C-Left/Right: control layout (shrink/expand master)
  - M-S-Left/Right: shift windows (adjust master count)
- Add master window operations on Delete key:
  - M-Delete: focus master
  - M-S-Delete: swap to master
- Add screen navigation via Navigation2D:
  - M-C-Home: focus left monitor
  - M-C-End: focus right monitor
- Fix M-a t conflict (d=dynamic tiling, t=thunar)
- Restore original ppOrder from pre-modal configuration
- Consolidate all window management on navigation layer
2025-10-02 23:56:42 +08:00
nix/modules/flake Improve formatting and settings in pre-commit configuration for fourmolu 2025-02-20 22:03:14 +08:00
src refactor: remove modal editing and BSP layout 2025-10-02 23:56:42 +08:00
.envrc chore: initialize project template 2025-02-20 13:43:07 +08:00
.gitattributes chore: initialize project template 2025-02-20 13:43:07 +08:00
.gitignore chore: initialize project template 2025-02-20 13:43:07 +08:00
.hlint.yaml chore: initialize project template 2025-02-20 13:43:07 +08:00
flake.lock chore: bump inputs 2025-02-23 17:29:03 +08:00
flake.nix chore: initialize project template 2025-02-20 13:43:07 +08:00
hie.yaml chore: initialize project template 2025-02-20 13:43:07 +08:00
justfile feat: migrate to cabal build and cabal run 2025-02-23 17:28:43 +08:00
LICENSE chore: initialize project template 2025-02-20 13:43:07 +08:00
README.md chore: initialize project template 2025-02-20 13:43:07 +08:00
xmonad-config.cabal feat: leader key + modal keybinds 2025-05-10 00:05:58 +08:00

xmonad-config

Get a Haskell development environment up and running quickly. Thanks to Nix, this template is optimized for a fully reproducible and friendly development environment. It is based on:

If you have an existing Haskell project, you should probably use https://github.com/srid/haskell-flake instead.

Getting Started

Initialize this template using:

nix --accept-flake-config run github:juspay/omnix -- \
  init github:srid/xmonad-config -o ./yourproject

tldr: Install Nix, setup direnv, open in VSCode, install recommended extensions and run just run.

Full instructions: https://srid.ca/xmonad-config/start

Recommended dev environment setup: https://nixos.asia/en/direnv

Tips

  • Run nix flake update to update all flake inputs.
  • Run nix --accept-flake-config run github:juspay/omnix ci to build all outputs.
  • pre-commit hooks will automatically be setup in Nix shell. You can also run pre-commit run -a manually to run the hooks (e.g.: to autoformat the project tree using fourmolu, nixpkgs-fmt, etc. as well run programs like hlint). The hooks will checked as part of flake checks (thus CI).
  • Run just docs to start Hoogle with packages in your cabal file.
  • Run the application without installing: nix run github:srid/xmonad-config (or nix run . from checkout)
  • Common workflows

Discussions

Questions? Ideas? Suggestions? Join our NixOS Zulip or post in Github Discussions.