stylix/README.md
2020-12-21 15:56:40 +00:00

1.9 KiB

Stylix

System-wide colorscheming and typography for NixOS, built upon ideas from Base16.

Installation

Import default.nix into your system configuration:

{ pkgs, ... }:

let stylix = pkgs.fetchFromGitHub {
  owner = "danth";
  repo = "stylix";
  rev = "...";
  sha256 = "...";
};

in {
  imports = [ "${stylix}/default.nix" ];
}

Home Manager

Stylix relies on Home Manager to install a lot of its theming. This requires Home Manager to be installed as a NixOS module, if you do not already have that set up you will need to follow these instructions.

Nix Flakes

Stylix can also be installed using the experimental flakes feature:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    stylix.url = "github:danth/stylix";
  };

  outputs = { self, nixpkgs, stylix }: {
    nixosConfigurations."<hostname>" = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [ stylix.nixosModules.stylix ];
    };
  };
}

Configuration

{ pkgs, ... }:

{
  # A colorscheme will be chosen automatically based on your wallpaper
  stylix.image = ./wallpaper.png;

  # Select your preferred fonts, or use these defaults:
  stylix.fonts = {
    serif = {
      package = pkgs.dejavu_fonts;
      name = "DejaVu Serif";
    };
    sansSerif = {
      package = pkgs.dejavu_fonts;
      name = "DejaVu Sans";
    };
    monospace = {
      package = pkgs.dejavu_fonts;
      name = "DejaVu Sans Mono";
    };
    emoji = {
      package = pkgs.noto-fonts-emoji;
      name = "Noto Color Emoji";
    };
  };

  # Add users to this list to enable Home Manager integration
  stylix.homeManagerUsers = [ "danth" ];
}