mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-05-19 03:20:21 -07:00
NIX.md: Document the NixOS modules provided by the core and contrib flakes.
flake.nix: Assume maintainership.
This commit is contained in:
parent
fa498ca728
commit
6ab69e97d3
52
NIX.md
52
NIX.md
@ -15,3 +15,55 @@ pkgs: devInputs: devInputs // {
|
||||
[ cabal-install hlint ghcid ormolu implicit-hie haskell-language-server ];
|
||||
}
|
||||
```
|
||||
|
||||
## NixOS Modules
|
||||
|
||||
The core and contrib flakes provide NixOS configuration modules.
|
||||
You can bring them into your system flake like so:
|
||||
|
||||
```nix
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = github:NixOS/nixpkgs/nixos-<version>;
|
||||
xmonad.url = github:xmonad/xmonad;
|
||||
xmonad-contrib.url = github:xmonad/xmonad-contrib;
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, xmonad, xmonad-contrib }: {
|
||||
nixosConfigurations.<hostname> = nixpkgs.lib.nixosSystem rec {
|
||||
system = <arch>;
|
||||
modules = [
|
||||
./configuration.nix
|
||||
xmonad.nixosModule
|
||||
xmonad-contrib.nixosModule
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
Then you can set the provided options in your `configuration.nix` under `flake`:
|
||||
|
||||
```nix
|
||||
services.xserver.windowManager.xmonad = {
|
||||
enable = true;
|
||||
enableContribAndExtras = true;
|
||||
flake = {
|
||||
enable = true;
|
||||
# prefix = "unstable";
|
||||
compiler = "ghc921";
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
This will use core and contrib from git for your system xmonad, building your
|
||||
config with the compiler of your choice.
|
||||
|
||||
With the flake enabled, the `xmonad.haskellPackages` option is not used directly,
|
||||
and is instead set by the `flake.compiler` option. When `compiler` is unset,
|
||||
the default `pkgs.haskellPackages` is used.
|
||||
|
||||
The `prefix` option is used if you wish to select your haskell packages from
|
||||
within, e.g., unstable overlaid into `pkgs` as `pkgs.unstable`.
|
||||
|
||||
See the flakes themselves and nix flake documentation for full detail.
|
||||
|
Loading…
x
Reference in New Issue
Block a user