Phase 2: Bootloader improvements - Add bootloader choice: systemd-boot (default) or Limine - Configure Limine with classical theme colors: - Dark brown background (#1a1611) - Tan text (#d4c4a8) - Gold accents (#d4a857) - Add Plymouth boot splash option - Update installer to prompt for bootloader choice - Add example-limine configuration - Update documentation with boot options Users can now choose between: 1. systemd-boot - Simple, reliable, well-tested (default) 2. Limine - Modern, prettier, themed to match Nomarchy Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
Customization Guide
Configuration File
Your configuration lives in ~/.config/nomarchy/config.nix:
{
# User settings
username = "yourname";
hostname = "yourhostname";
timezone = "America/New_York";
locale = "en_US.UTF-8";
# Keyboard (supports multiple layouts)
keyboardLayouts = ["us" "gr"];
keyboardVariants = ["" "polytonic"];
# Location for night light
location = {
lat = 40.7;
lon = -74.0;
};
# Features
enableSyncthing = true;
enableMullvad = false;
enablePrinting = true;
enableBluetooth = true;
# Performance (security tradeoff!)
enableMitigationsOff = false;
# Boot
bootloader = "systemd-boot"; # or "limine" for prettier boot
enablePlymouth = false; # Boot splash screen
# Theme
theme = "classical";
}
Adding Custom Modules
Create a module in ~/.config/nomarchy/:
# ~/.config/nomarchy/custom.nix
{ config, pkgs, ... }: {
# System packages
environment.systemPackages = with pkgs; [
discord
spotify
];
# Services
services.docker.enable = true;
# User groups
users.users.${config.nomarchy.username}.extraGroups = ["docker"];
}
Add it to your flake:
extraModules = [
./custom.nix
];
Wallpapers
- Copy images to
~/.config/nomarchy/wallpapers/ - Supported formats:
.jpg,.png - Wallpapers rotate every 5 minutes automatically
- Use Quick Actions (
Super + /) → "Change Wallpaper" for immediate change
Theme Colors
The classical theme colors are defined in the theme module. To override colors in your waybar or rofi, you can create custom CSS files.
Color Palette
| Name | Hex | Usage |
|---|---|---|
| bg.primary | #1a1611 |
Main background |
| bg.secondary | #2d2620 |
Panels, inputs |
| fg.primary | #d4c4a8 |
Main text |
| accent.gold | #d4a857 |
Primary accent |
| accent.terracotta | #c67b5c |
Secondary accent |
| status.success | #8a9a5b |
Success states |
| status.error | #a63d40 |
Error states |
Shell Aliases
Default aliases (in ~/.zshrc via home-manager):
ls → eza --icons
ll → eza -l --icons
la → eza -la --icons
update → sudo nixos-rebuild switch --flake ~/.config/nomarchy#
gc → sudo nix-collect-garbage -d
du → dust
Neovim
The default Neovim configuration includes:
- LSP support for Nix, Lua, TypeScript, Rust, Go, Python, Markdown
- Telescope for fuzzy finding
- Treesitter for syntax highlighting
- Git integration with gitsigns
To customize, create ~/.config/nvim/lua/custom/init.lua (loaded after main config).
Terminal (Ghostty)
Customize in ~/.config/ghostty/config:
font-size = 16
background-opacity = 0.9
Hyprland
For advanced Hyprland customization, you can add settings via home-manager:
# In your custom module
{ config, ... }: {
home-manager.users.${config.nomarchy.username} = {
wayland.windowManager.hyprland.settings = {
# Add your custom settings here
windowrulev2 = [
"float,class:^(pavucontrol)$"
];
};
};
}
Rebuilding
After making changes:
cd ~/.config/nomarchy
sudo nixos-rebuild switch --flake .#yourhostname
Or use the alias:
update