183 lines
5.1 KiB
Markdown
183 lines
5.1 KiB
Markdown
# Windows XP theme for NixOS
|
|
|
|
- This is repository containing packaged version of themes, icons, cursors, etc... for NixOS and module to simply use them with Mate desktop
|
|
|
|
## Installation
|
|
|
|
### Using VM or ISO package
|
|
|
|
#### QEMU VM
|
|
|
|
> [!IMPORTANT]
|
|
> The default user is admin and password admin1234.
|
|
> Don't forget to change the password.
|
|
|
|
- You can build simple qemu vm using nixos generators package in this configuration using `nix run git+https://gitea.homework.zip/shinya/Windows-Theme-Flake --no-write-lock-file`
|
|
|
|
#### Live ISO
|
|
|
|
- If you would like to have this image on your flashdisk and live boot it you can get .iso file using `nix run git+https://gitea.homework.zip/shinya/Windows-Theme-Flake#live-iso`
|
|
|
|
### Using Flakes
|
|
|
|
```nix
|
|
# Example flake.nix
|
|
{
|
|
description = "Your system flake with Windows XP theme";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# Add this to your inputs
|
|
windows-theme = {
|
|
url = "git+https://gitea.homework.zip/shinya/Windows-Theme-Flake";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
# Add explicit function parameter windows-theme to the output
|
|
outputs = { self, nixpkgs, windows-theme, ... }@inputs: let
|
|
system = "x86_64-linux";
|
|
in {
|
|
nixosConfigurations.nixp = nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
specialArgs = {inherit windows-theme system;}; # Append windows-theme and system to the inherited args
|
|
modules = [
|
|
./configuration.nix
|
|
inputs.windows-theme.nixosModules.default # This will add configuration options to your config
|
|
inputs.home-manager.nixosModules.home-manager
|
|
];
|
|
};
|
|
|
|
};
|
|
}
|
|
```
|
|
|
|
### NixOS System Configuration
|
|
|
|
Add the NixOS module to your system configuration:
|
|
|
|
```nix
|
|
# Example configuration.nix
|
|
{ inputs, windows-theme ... }:
|
|
{
|
|
imports = [
|
|
inputs.windows-theme.nixosModules.default
|
|
];
|
|
|
|
# Don't forget to add home-manager module to your configuration
|
|
home-manager.sharedModules = [
|
|
inputs.windows-theme.homeModules.default
|
|
];
|
|
|
|
nixp = {
|
|
enable = true; # Enable Windows XP theme system-wide
|
|
theme = {
|
|
plymouth.enable = true; # Enable Windows XP boot screen
|
|
grub.enable = false;
|
|
};
|
|
};
|
|
}
|
|
```
|
|
|
|
### Home Manager Configuration
|
|
|
|
Add the Home Manager module to your user configuration:
|
|
|
|
```nix
|
|
# Example home-manager configuration
|
|
{ inputs, windows-theme ... }:
|
|
{
|
|
imports = [
|
|
inputs.windows-theme.homeModules.default
|
|
];
|
|
|
|
nixp.mate = {
|
|
enable = true; # Enable all the options below for Windows XP MATE configuration
|
|
|
|
# Optional: Customize theme variant
|
|
theme = {
|
|
enable = true;
|
|
name = "Windows XP Luna"; # Options: Luna, Embedded, Homestead, Metallic, Royale, Royale Dark, Zune
|
|
};
|
|
|
|
# Optional: Customize background
|
|
background = {
|
|
enable = true;
|
|
path = ./path/to/your/wallpaper.png; # Default: included XP wallpaper
|
|
};
|
|
|
|
panel.enable = true; # Windows XP-style taskbar layout
|
|
|
|
cursor.enable = true;
|
|
icon.enable = true;
|
|
};
|
|
}
|
|
```
|
|
|
|
## Available Packages
|
|
|
|
You can install individual packages without using the full module:
|
|
|
|
```nix
|
|
environment.systemPackages = with inputs.windows-theme.packages.${system}; [
|
|
windows-xp-theme
|
|
windows-xp-icons
|
|
windows-xp-cursor
|
|
windows-xp-plymouth
|
|
windows-xp-grub
|
|
];
|
|
```
|
|
|
|
## Configuration Options
|
|
|
|
### NixOS Module (`nixp`)
|
|
|
|
- `nixp.enable` - Enable Windows XP theme system-wide
|
|
- `nixp.theme.plymouth.enable` - Enable Plymouth boot screen theme
|
|
- `nixp.theme.grub.enable` - Enable GRUB boot screen theme
|
|
|
|
### Home Manager Module (`nixp.mate`)
|
|
|
|
- `nixp.mate.enable` - Enable complete MATE Windows XP configuration
|
|
- `nixp.mate.panel.enable` - Enable Windows XP taskbar-style panel layout
|
|
- `nixp.mate.background.enable` - Enable background configuration
|
|
- `nixp.mate.background.path` - Path to wallpaper (default: included XP wallpaper)
|
|
- `nixp.mate.theme.enable` - Enable GTK theme
|
|
- `nixp.mate.theme.name` - Theme variant (default: "Windows XP Luna")
|
|
- `nixp.mate.cursor.enable` - Enable cursor theme
|
|
- `nixp.mate.icon.enable` - Enable icon theme
|
|
|
|
## Theme Variants
|
|
|
|
Available Windows XP theme variants:
|
|
|
|
- **Windows XP Luna** - Classic blue theme (default)
|
|
- **Windows XP Embedded** - Gray industrial theme
|
|
- **Windows XP Homestead** - Green nature theme
|
|
- **Windows XP Metallic** - Silver metallic theme
|
|
- **Windows XP Royale** - Blue professional theme
|
|
- **Windows XP Royale Dark** - Dark professional theme
|
|
- **Windows XP Zune** - Orange Zune theme
|
|
|
|
## Requirements
|
|
|
|
- NixOS with flakes enabled
|
|
- MATE Desktop Environment
|
|
- Home Manager (for user-level configuration)
|
|
|
|
## Credits
|
|
|
|
This module integrates several open-source projects:
|
|
|
|
- [B00merang-Project/Windows-XP](https://github.com/B00merang-Project/Windows-XP) - GTK theme
|
|
- [na0miluv/modernXP-cursor-theme](https://github.com/na0miluv/modernXP-cursor-theme) - Cursor theme
|
|
- [B00merang-Artwork/Windows-XP](https://github.com/B00merang-Artwork/Windows-XP) - Icon theme
|
|
- [FraioVeio/plymouth-xp-theme](https://github.com/FraioVeio/plymouth-xp-theme) - Plymouth theme
|
|
- [Blaysht/grub_bios_theme](https://github.com/Blaysht/grub_bios_theme) - GRUB theme
|