Go to file
2025-11-02 13:13:46 +01:00
assets Rework of the repo 2025-11-02 12:32:03 +01:00
hosts Updated README and configuration.nix 2025-11-02 13:08:07 +01:00
modules Rework of the repo 2025-11-02 12:32:03 +01:00
packages Rework of the repo 2025-11-02 12:32:03 +01:00
.gitignore Rework of the repo 2025-11-02 12:32:03 +01:00
flake.nix Rework of the repo 2025-11-02 12:32:03 +01:00
README.md Updated README 2025-11-02 13:13:46 +01:00

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

  • 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

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

# 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:

# Example configuration.nix
{ inputs, windows-theme ... }:
{
  imports = [
    inputs.nixp-module.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:

# Example home-manager configuration
{ inputs, windows-theme ... }:
{
  imports = [
    inputs.nixp-module.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:

environment.systemPackages = with inputs.nixp-module.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: