Everforest theme for almost everything in NixOS
- Nix 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| modules | ||
| palette | ||
| pkgs/bat | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
Everforest for Nix
Everforest theme for almost everything in Nix, heavily inspired by the Catppuccin's Nix repo.
Currently, it only supports the dark variant and the medium contrast.
The Everforest theme's palette is also available under programs.everforest.palette attribute, for you to use in your own configuration (see examples on section below).
Supported apps:
- hyprland (you have to choose the colors in your own waybar config)
- zen browser
- ghostty
- vivaldi
- chromium
- brave
- tty
- waybar (you have to choose the colors in your own waybar config)
- helix
- bat
- fzf
- zathura
- btop
- onlyoffice
- rofi (you have to choose the colors in your own rofi config)
- yazi
- starship
- firefox
- gtk
- swaync-client
- hyprlock (you have to choose the colors in your own rofi config)
- cursor
- tofi
- heroic games launcher
- spotify-client
- much more...
Instalation
1. flake.nix
First, you need to include everforest-nix in the inputs of your flake.nix file.
{
description = <your code>;
inputs = {
<your code>
everforest.url = "git+https://codeberg.org/fwinter/everforest-nix.git"; # add everforest module to inputs.
};
outputs = { self, nixpkgs, }@inputs:
{
nixosConfigurations.<your hostname> = nixpkgs.lib.nixosSystem {
<your code>
modules = [
<your code>
everforest.nixosModules.everforest # add everforest module to nix configuration.
inputs.home-manager.nixosModules.home-manager {
<your code>
imports = [
./home.nix
everforest.homeModules.everforest # add everforest module to home-manager.
];
};
];
}
}
}
2. home.nix and configuration.nix (both)
Then, you need to configure home.nix and configuration.nix, enabling the everforest-nix module.
{ pkgs, config, ... }:
{
<your code>
gtk.enable = true; # to enable the cursor theme on gtk apps
everforest.enable = true;
}
3. Update
Finally, update your flake and switch to the new configuration.
Usage
Click here to see the palette
The palette is an attribute set, as following:
{
bg-dim = "#232A2E";
bg0 = "#2D353B";
bg1 = "#343F44";
bg2 = "#3D484D";
bg3 = "#475258";
bg4 = "#4F585E";
bg5 = "#56635f";
bg-visual = "#543A48";
bg-red = "#514045";
bg-green = "#425047";
bg-blue = "#3A515D";
bg-yellow = "#4D4C43";
fg = "#D3C6AA";
red = "#E67E80";
orange = "#E69875";
yellow = "#DBBC7F";
green = "#A7C080";
aqua = "#83C092";
blue = "#7FBBB3";
purple = "#D699B6";
grey0 = "#7A8478";
grey1 = "#859289";
grey2 = "#9DA9A0";
statusline1 = "#A7C080";
statusline2 = "#D3C6AA";
statusline3 = "#E67E80";
}
Examples
Hyprland
{
<your code>
wayland.windowManager.hyprland.settings = {
<your code>
general = {
<your code>
"col.active_border" = "$green";
"col.inactive_border" = "$bg3";
};
};
}
Waybar
{
<your code>
programs.waybar.style = ''
<your code>
tooltip = {
<your code>
background = @bg-dim;
}
''
}
Rofi
{ config, ... }:{
<your code>
programs.rofi.theme = {
<your code>
window = {
<your code>
background-color = config.lib.formats.rasi.mkLiteral "@bg0";
};
};
}
Acknowledgements to other projects
We use other projects for some of the apps, so big thanks to them!