NixOS system configuration: Difference between revisions

Malix (talk | contribs)
m Flake-specific tips: update code snippets
Asdfer (talk | contribs)
m edit "more through" -> more thorough
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[NixOS]] uses a declarative configuration system that allows users to manage their entire operating system setup including installed packages, system services, user accounts, hardware settings, and more through configuration files. This page serves as an overview of how to work with and manage NixOS system configurations.
[[NixOS]] uses a declarative configuration system that allows users to manage their entire operating system setup including installed packages, system services, user accounts, hardware settings, and more thorough configuration files. This page serves as an overview of how to work with and manage NixOS system configurations.


For an introduction to declarative configuration, see the [[Overview of the NixOS Linux distribution#Declarative Configuration]] and the {{NixOS Manual|name=NixOS official manual|anchor=#ch-configuration}}.
For an introduction to declarative configuration, see the [[Overview of the NixOS Linux distribution#Declarative Configuration]] and the {{NixOS Manual|name=NixOS official manual|anchor=#ch-configuration}}.
Line 187: Line 187:


  inputs = {
  inputs = {
     nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
     nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
     nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
     nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
   };
   };
Line 199: Line 199:
             nixpkgs.overlays = [
             nixpkgs.overlays = [
               (final: prev: {
               (final: prev: {
                 unstable = nixpkgs-unstable.legacyPackages.${prev.system};
                 unstable = import nixpkgs-unstable {
                # use this variant if unfree packages are needed:
                  inherit (final) config;
                # unstable = import nixpkgs-unstable {
                  inherit (final.stdenv.hostPlatform) system;
                #  inherit prev;
                 };
                #  system = prev.system;
                 #  config.allowUnfree = true;
                # };
               })
               })
             ];
             ];
Line 333: Line 330:
* [[Updating NixOS]] - Updating the set of [[Nixpkgs]] the system uses
* [[Updating NixOS]] - Updating the set of [[Nixpkgs]] the system uses


* [[NixOS as a dekstop]] - Configuration tips for setting up NixOS as a desktop
* [[NixOS as a desktop]] - Configuration tips for setting up NixOS as a desktop


* [[Nixos-rebuild]] - Command to apply changes to system configuration
* [[Nixos-rebuild]] - Command to apply changes to system configuration