No description
- 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 |
||
|---|---|---|
| nix/modules/flake | ||
| src | ||
| .envrc | ||
| .gitattributes | ||
| .gitignore | ||
| .hlint.yaml | ||
| flake.lock | ||
| flake.nix | ||
| hie.yaml | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
| xmonad-config.cabal | ||
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:
- Nix + Flakes (via
github:srid/haskell-flake) + GHC 9.6 - VSCode + HLS
- fourmolu autoformatting
- Relude as Prelude.
.hlint.yamlis from relude
- Devshell commands are provided via just; run
justin devshell.
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 updateto update all flake inputs. - Run
nix --accept-flake-config run github:juspay/omnix cito build all outputs. - pre-commit hooks will automatically be setup in Nix shell. You can also run
pre-commit run -amanually 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 docsto start Hoogle with packages in your cabal file. - Run the application without installing:
nix run github:srid/xmonad-config(ornix run .from checkout) - Common workflows
- Adding library dependencies in Nix: https://community.flake.parts/haskell-flake/dependency
- Adding tests: https://srid.ca/xmonad-config/tests
Discussions
Questions? Ideas? Suggestions? Join our NixOS Zulip or post in Github Discussions.