Skip to content

RickMars-Tech/MarsOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

387 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

❄️ MarsOS ❄️

MarsOS is a simple way to replicate my setup on any NixOS system via a Flake.

Niri Desktop Niri Term Niri Bar

Design Philosophy

Based on linuxmobile's Shin and olafkfreund's nixos-template Configuration Structure, with a Full NixOS approach without relying on Home-Manager, preferring to use custom modules for software such as Niri or for simpler hardware configurations without relying on so many inputs in the Flake

Environment Software
Full Wayland Btw
Window Manager Niri + Noctalia
Session Manager SDDM + SDDM-Astronaut
Terminal Emulator Wezterm + Zellij
Network Management Tool IWD + NetworkManager
System Resource Monitor Bottom & Mission Center
File Manager Yazi & Nautilus
Polkit Soteria
Shell Fish + Starship
Text Editor Helix
Fonts Nerd fonts
Image Viewer Swayimg
Multimedia Player MPV
Flake Directory Structure
MarsOS/
├── assets/
│   ├── ascii-art
│   └── wallpapers/
├── hosts/{host}/
│   │     ├── default.nix
│   │     └── disko.nix
│   ├── host.md
│   └── config.md
├── modules/
├── flake.nix
├── flake.lock
└── shell.nix

Installation Guide

Prerequisites

  • A bootable NixOS ISO (Minimal installation recommended)
  • Internet connection

Steps

  1. Clone the repository:
   nix run nixpkgs#git -- clone https://github.com/RickMars-Tech/MarsOS.git
  1. Navigate to the directory and apply Disko formatting:
   cd MarsOS/
   sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount hosts/<host>/disko.nix

Note: Replace <host> with your actual hostname (e.g., boltz, rift, or crest)

  1. Copy the Flake to /mnt/etc/nixos/ and build the system:
   sudo mkdir -p /mnt/etc/nixos
   sudo cp -r ~/MarsOS /mnt/etc/nixos/
   sudo nixos-install --flake /mnt/etc/nixos/MarsOS#<host>

Note: Replace <host> with your chosen hostname

  1. Reboot and enjoy!

Documentation

Important Notes

  1. Personal Configuration: This Flake is specifically tailored for my systems (boltz, rift, and crest). You're welcome to use it as a base, modify the configuration files, or copy individual components that suit your needs.

  2. Boot Loader: This configuration uses systemd-boot and Lanzaboote as the default boot loader. GRUB support is not included, so you'll need to configure it manually if you prefer GRUB.

  3. Installation Environment: For best results, install from a minimal NixOS environment without a pre-installed desktop environment.

Credits & References

Special thanks to these excellent configurations that inspired and taught me so much:

About

My personal NixOS Flake setup that I use daily.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages