How To Theme & Use ZaneyOS
Table of Contents
ZaneyOS 2.3 Docs - This article is part of a series.
Inside the modules/core/stylix.nix
file you can change theming options this includes a line that references an image in the flake. Stylix needs an image no matter what. It will use this image to generate a color scheme if another one is not specified.
Stylix is used to set the system fonts, and theme almost all applications. You can see which programs are not being themed by Stylix by checking the modules/home/stylix.nix
file. The best example of why this is done is waybar. Stylix’s default theming creates it’s own config that is very basic and while it is using the desired colorscheme it just doesn’t look great. So to avoid conflicts and theme waybar better, I use Home Manager to create a config and theme that I like. Then I just use Nix to plug in the theme colors from Stylix.
📔 How To Use ZaneyOS #
I have some very useful aliases that are available to you after switching to the flake.
🐊 Update The Flakes Inputs & Packages #
- fu
This runs a nix flake update
using nh on the flake directory. This updates all packages and the lock file in the ZaneyOS flake.
- fr
Runs a rebuild switch
using nh on the flake directory. Used for updating the system after you have made changes to some of the files. This assumes you keep the zaneyos folder/repo in your home dir.
- ncg
This removes all other generations other than the current. Great for cleaning up the system if you have been rebuilding and making changes a lot recently.
- zu
This will pull down the latest stable install script from the zaneyos repo and run it. The install script also functions as an update script where it backups your current config to .config/zaneyos-backups and then installs the new version.
The cat
command has been aliased to bat
which makes life awesome when you want to quickly check a file. I have also added a few interesting terminal easter eggs that are pretty neat.
📦 Adding & Installing Extra Packages #
You can find the place to put packages to be installed for your host specifically at hosts/<your-hostname>/host-packages.nix
and for the system packages it’s the modules/core/packages.nix
file.
Visit the NixOS Packages page to search for the application you want. It is a good idea to check the NixOS Options at the top of that page as well for the package your searching for.
If the package you are installing needs extra configuration there is a decent chance there is a way of installing it, enable = true;
, through NixOS options or
Home Manager.
🤯 Variables #
In your host specific folder you will find the variables.nix
file. This is where you can set variables that are used other places in the configuration.
option | description |
---|---|
gitUsername | Set username for Git, similar to git config --global user.name "<your-username>" . |
gitEmail | The email you use for your Git account. |
extraMonitorSettings | Add “monitor=” hyprland lines to hyprland config for host specific monitor settings. |
clock24h | Enable the time for different utilities to be presented in 24 hour format. |
browser | The name of the browser do you want installed and used by default. The package name too, for ones like google-chrome where the binary is google-chrome-stable this is solved for you. So it would just be google-chrome. |
terminal | Name of the binary for your terminal of choice. Example: “kitty” or “alacritty”. |
keyboardLayout | Set the keyboard layout, defaults to “us”. |
consoleKeyMap | Set the console layout, defaults to “us”. |
enableNFS | Enable NFS services needed. |
printEnable | Enable services and utilities for printing. |