aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: c191d76bc8d9494a31a67609ca345be69c346004 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# 🌈 `pywal-nix`

> Extremely straightforward evaluation-time Pywal integration for Home Manager

`pywal-nix` is focused on providing the simplest way of integrating custom
Pywal colourschemes into any Home Manager configuration at evaluation-time.

I needed a pure (not `--impure`) Nix solution. I made a pure Nix solution. It
works well.

## Usage

### Flake

Add `pywal-nix` to your flake inputs.

```nix
{
  inputs = {
    pywal-nix = {
      url = "github:Fuwn/pywal-nix";
      inputs.nixpkgs.follows = "nixpkgs"; # Recommended
    };
  };
}
```

### Home Manager

After adding `pywal-nix` to your flake inputs, consume it as a Home Manager
module.

```nix
# ...

inputs.home-manager.lib.homeManagerConfiguration {
  modules = [
    inputs.pywal-nix.${pkgs.system}.homeManagerModules.default
  ];
};

# ...
```

Finally, configure and access `pywal-nix` in your Home Manager configuration through
the `pywal-nix` attribute.

```nix
{ pkgs, config, ... }:
{
  # Configuration
  pywal-nix = {
    wallpaper = /path/to/wallpaper.png; # Required
    light = false;                      # Defaults to false
    backend = "wal";                    # One of "wal", "colorz", or "colorthief"; Defaults to "wal"
  };

  # Example usage to print out two colourscheme colours
  home.packages = [
    (pkgs.writeShellScriptBin "colourscheme-sample" ''
      echo '${config.pywal-nix.colourscheme.colour0} ${config.pywal-nix.colourscheme.colour15}'
    '')
  ];
}
```

## Pywal

This project includes multiple files from
[dylanaraps/pywal](https://github.com/dylanaraps/pywal), a project which is
licensed under the [MIT License](./pywal/LICENSE.md).

- [`pywal/backends/colorthief.py`](https://github.com/dylanaraps/pywal/blob/master/pywal/backends/colorthief.py)
- [`pywal/backends/colorz.py`](https://github.com/dylanaraps/pywal/blob/master/pywal/backends/colorz.py)
- [`pywal/backends/wal.py`](https://github.com/dylanaraps/pywal/blob/master/pywal/backends/wal.py)
- [`pywal/colors.py`](https://github.com/dylanaraps/pywal/blob/master/pywal/colors.py)
- [`pywal/theme.py`](https://github.com/dylanaraps/pywal/blob/master/pywal/theme.py)
- [`pywal/util.py`](https://github.com/dylanaraps/pywal/blob/master/pywal/util.py)

## Licence

This project is licensed with the [GNU General Public License v3.0](./LICENSE).