Updated README and configuration.nix
This commit is contained in:
parent
b6bff6887e
commit
74cfb4ae76
128
README.md
128
README.md
@ -4,9 +4,20 @@
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
- Supported via NixOS modules with flakes
|
### Using VM or ISO
|
||||||
|
|
||||||
|
#### 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
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
|
# Example flake.nix
|
||||||
{
|
{
|
||||||
description = "Your system flake with Windows XP theme";
|
description = "Your system flake with Windows XP theme";
|
||||||
|
|
||||||
@ -43,10 +54,119 @@
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
- Then in your config you can enable it with:
|
### NixOS System Configuration
|
||||||
|
|
||||||
|
Add the NixOS module to your system configuration:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
nixp.mate.enable = true;
|
# Example configuration.nix
|
||||||
|
{ inputs, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.nixp-module.nixosModules.default
|
||||||
|
];
|
||||||
|
|
||||||
|
nixp = {
|
||||||
|
enable = true; # Enable Windows XP theme system-wide
|
||||||
|
theme = {
|
||||||
|
plymouth.enable = true; # Enable Windows XP boot screen
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
- More options will be added soon
|
### Home Manager Configuration
|
||||||
|
|
||||||
|
Add the Home Manager module to your user configuration:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
# Example home-manager configuration
|
||||||
|
{ inputs, ... }:
|
||||||
|
{
|
||||||
|
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:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
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:
|
||||||
|
|
||||||
|
- [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
|
||||||
|
|||||||
@ -3,6 +3,28 @@
|
|||||||
{
|
{
|
||||||
imports = [ ./hardware-configuration.nix ];
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
|
users.users = {
|
||||||
|
# root.password = "admin1234";
|
||||||
|
admin = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user.
|
||||||
|
password = "admin1234"; #IMPORTANT: Change this to your own password.
|
||||||
|
packages = (with pkgs; [
|
||||||
|
git
|
||||||
|
helix
|
||||||
|
dconf-editor
|
||||||
|
|
||||||
|
librewolf
|
||||||
|
hypnotix
|
||||||
|
blueman
|
||||||
|
libreoffice
|
||||||
|
wineWowPackages.stable
|
||||||
|
mpv
|
||||||
|
stremio
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
users = {
|
users = {
|
||||||
@ -16,7 +38,7 @@
|
|||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot = {
|
boot = {
|
||||||
kernelParams = [ "console=tty0" ];
|
#kernelParams = [ "console=tty0" ];
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
@ -58,11 +80,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-emoji
|
|
||||||
corefonts
|
|
||||||
];
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
xserver = {
|
xserver = {
|
||||||
@ -98,31 +115,20 @@
|
|||||||
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
environment.mate.excludePackages = with pkgs.mate; [
|
||||||
|
mate-terminal
|
||||||
|
mate-themes
|
||||||
|
mate-user-share
|
||||||
|
mate-backgrounds
|
||||||
|
];
|
||||||
|
|
||||||
# services.printing.enable = true;
|
# services.printing.enable = true;
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
fonts.packages = with pkgs; [
|
||||||
users.users = {
|
noto-fonts
|
||||||
root.password = "admin1234";
|
noto-fonts-emoji
|
||||||
admin = {
|
corefonts
|
||||||
isNormalUser = true;
|
];
|
||||||
extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user.
|
|
||||||
password = "admin1234";
|
|
||||||
packages = (with pkgs; [
|
|
||||||
git
|
|
||||||
helix
|
|
||||||
dconf-editor
|
|
||||||
|
|
||||||
librewolf
|
|
||||||
hypnotix
|
|
||||||
blueman
|
|
||||||
libreoffice
|
|
||||||
wineWowPackages.stable
|
|
||||||
mpv
|
|
||||||
stremio
|
|
||||||
]);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
||||||
@ -136,12 +142,6 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.mate.excludePackages = with pkgs.mate; [
|
|
||||||
mate-terminal
|
|
||||||
mate-themes
|
|
||||||
mate-user-share
|
|
||||||
mate-backgrounds
|
|
||||||
];
|
|
||||||
|
|
||||||
# List packages installed in system profile.
|
# List packages installed in system profile.
|
||||||
# You can use https://search.nixos.org/ to find more packages (and options).
|
# You can use https://search.nixos.org/ to find more packages (and options).
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user