Skip to content

khonager/nixos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

❄️ My NixOS Fleet Configuration

Welcome back! This repository manages the configuration for your Framework Laptop (Clean/FOSS) and Titan PC (Gaming/Dev). It uses Nix Flakes and Home Manager to keep everything reproducible.

📂 File Structure

~/nixos-config/
├── flake.nix                  # The "Switchboard" (Defines Laptop vs PC systems)
├── flake.lock                 # Locks package versions (don't edit manually)
├── wallpaper.png              # Shared wallpaper
├── README.md                  # You are here!
├── shared/
│   ├── configuration.nix      # SHARED system settings (Stylix, Timezone, User, Fonts)
│   └── home.nix               # SHARED user apps (Zed, Git, Firefox, VS Code FOSS)
└── hosts/
    ├── framework/             # LAPTOP Specifics
    │   ├── configuration.nix  # Hostname, Date Format (No seconds), Pure config
    │   └── hardware.nix       # Laptop hardware scan
    └── titan/                 # PC Specifics
        ├── configuration.nix  # Steam, VR, Clock with Seconds
        └── hardware.nix       # PC hardware scan

🚀 Quick Commands

I have set up shell aliases to make rebuilding faster. These auto-copy any errors to the clipboard so you can paste them into an AI or search engine easily.

Command Action
rbt Rebuild Titan (PC). Applies hosts/titan config.
rbf Rebuild Framework (Laptop). Applies hosts/framework config.
rb Simple rebuild (tries to detect system, no auto-copy).
nh clean all --keep 3 Garbage collect old generations (saves space).

🛠️ How to Edit...

...Common Apps (VS Code, Git, Browser)

  • File: shared/home.nix
  • VS Code Strategy: We only pre-install Open Source extensions (Themes, Languages) here to avoid license errors.
  • Proprietary Extensions: (Copilot, Pylance) are NOT in the config. Install them manually inside VS Code. They will persist in ~/.vscode-oss/ but won't be synced via Nix.

...Machine Specifics

  • Titan (PC): hosts/titan/configuration.nix
    • Contains: Steam, ALVR, SideQuest, and Clock Seconds.
  • Framework (Laptop): hosts/framework/configuration.nix
    • Contains: Only the basics. Strict FOSS settings.

...My Theme

  • File: shared/configuration.nix
  • Change: stylix.base16Scheme or the wallpaper.png file.

🔮 Troubleshooting

1. "Unfree Package" Errors

If you see an "unfree license" error, you are likely trying to install a proprietary package (like Spotify or Steam) without allowing it.

  • Fix: Add the package name to nixpkgs.config.allowUnfreePredicate in shared/configuration.nix.

2. VS Code Extensions Missing?

  • Common extensions: Add them to shared/home.nix using pkgs.vscode-extensions.
  • Proprietary extensions: Don't add them to Nix. Just install them in the GUI.

3. VR / Gaming

  • ALVR: Installed on Titan automatically. Open firewall ports are handled by the module.
  • Steam: Installed on Titan only.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages