This repository contains a complete, declarative NixOS configuration suite managed via Nix Flakes. It provides tailored system and user configurations for multiple hardware targets and usage scenarios.
/hosts: Machine-specific system configurations./home-manager: User-level configurations (dotfiles, user apps)./modules: Shared system modules (e.g., Plex, Immich, Sway)./containers: LXC templates and specific container configs.
By default, NixOS does not have Flakes enabled. You must first add the following to your /etc/nixos/configuration.nix:
nix shell nixpkgs#git --extra-experimental-features "nix-command flakes"Clone this repo to your desired location (e.g., ~/nixos-config):
git clone https://github.com/iamlyth/nixos.git
cd ~/nixosOnce in the directory, you can switch your system to one of the predefined host configurations:
sudo nixos-rebuild switch --flake .#<hostname>(Replace <hostname> with desktopOS, laptopOS, mediaOS, etc.)
To apply a configuration to your current system, ensure you have Nix Flakes enabled and run:
sudo nixos-rebuild switch --flake .#<hostname>Example for desktop:
sudo nixos-rebuild switch --flake .#desktopOSTo generate a Proxmox LXC template image:
nix build .#lxctemplate