added both a home-manager and 'minimal configuration'. They can be built and testet in this repo via: - nixos-generate-config --dir example/default # or example/home-manager - nix build path:./example/default#nixosConfigurations.default.config.system.build.toplevel # or path:./example/home-manager#... the flake.lock and hardeware-configuration is ignored to prevent accidental commitment of the hardware-configuration (and get the freshes packages when somebody might use these configs as templates |
||
|---|---|---|
| example | ||
| nixos95 | ||
| Ressources | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
| reddit.txt | ||
NixOS-95
A nostalgic Windows 95-inspired NixOS setup with modern pastel vibes.
This is a NixOS configuration designed to evoke the pixel-perfect charm of Windows 95, infused with a clean, soft pastel aesthetic. Lightweight, customizable, and perfect for retro lovers or low-spec setups.
🖥️ System Overview
- OS: NixOS
- DE: XFCE (customized)
- GTK Theme: Chicago95
- Icons & Wallpapers: aconfuseddragon
📁 Directory Overview
tree .
NixOS-95/
├── flake.nix
├── flake.lock
├── Modules/
│ ├── Applications/
│ └── System/
├── nixos95
│ ├── dotfiles/
│ ├── core.nix
│ ├── default.nix
│ ├── desktop.nix
│ ├── keybinds.nix
│ ├── taskbar.nix
│ └── theme.nix
├── Ressources/
│ ├── Icons/
│ ├── Images/
│ │ └── Wallpapers/
│ └── Themes/
├── README.md
Installation - BETA
Requirements: nix.settings.experimental-features = ["nix-command" "flakes" "pipe-operators"]; Enabled
You can initilize a new flake-based configuration with:
# minimal
nix flake init -t github:Peritia-System/NixOS-95/Dev
# with home-manager
nix flake init -t github:Peritia-System/NixOS-95/Dev#home-manager
Or follow the manual installation process:
1. Add Nyx to your flake
# flake.nix
{
inputs = {
nixos95.url = "github:Peritia-System/NixOS-95/Dev";
nixos95.inputs.nixpkgs.follows = "nixpkgs";
}
outputs = inputs @ { nixpkgs, nixos95, ... }: {
nixosConfigurations.HOSTNAME = nixpkgs.lib.nixosSystem {
modules = [ ./configuration.nix ];
};
};
}
If you are using home-manager you should also pin your version for Nixos95:
{
inputs = {
...
nixos95.inputs.home-manager.follows = "home-manager";
};
...
}
2. Import in Configuration.nix
# configuration.nix
{
imports = [ inputs.self.nixosModules.nixos95 ];
}
3. Enable modules
{
# configuration.nix / or sth imported by the main config
nixos95 = {
enable = true;
user = "alex";
taskbar = {
homeIcon = "whisker-menu-button";
battery-plugin.enable = false;
applications = [
{
name = "Brave";
description = "Browse the Web";
pkg = pkgs.brave;
icon = "world";
}
{
name = "Signal";
description = "Private Messenger";
pkg = pkgs.signal-desktop;
icon = "signal";
}
{
name = "Obsidian";
description = "Markdown Editor";
exe = "obsidian %u";
icon = "obsidian";
}
{
name = "Spotify";
description = "Spotify Music";
exe = "spotify %U";
icon = "spotify";
}
];
};
keybinds = {
commands = [
{ key="<Super>l"; exe="xflock4"; }
];
};
};
}
-
Build and switch to the system configuration:
sudo NIX_CONFIG="experimental-features = nix-command flakes pipe-operators" nixos-rebuild switch --flake .#default
w
Experimental Features
NixOS-95 relys on multiple experimental nix features. These are:
- flakes
- pipe-operators They are needed to activate the configuration.
To enable them in your config set:
nix.settings.experimental-features = [
"flakes" "pipe-operators"
];
Rebuild Notes
Due to how Home Manager and XFCE handle theming, changes may not fully apply on the first attempt.
For best results:
- Rebuild twice
- Log out and back in after each rebuild
Features
- Pixel-style retro desktop with pastel polish
- Lightweight and XFCE-powered (great for low-spec machines)
- Flake-based configuration with easy updates
- Themed with Chicago95 and matching icon set
Showcase
Final Thoughts
This setup was built for my boyfriend to use during school. I love how this setup turned out—it's nostalgic and clean, so I wanted to give more people the opportunity to use it. Hope you enjoy it!



