This repository contains my Nix configuration, organized using Nix Flakes. It aims to provide a reproducible and manageable environment for both system and home configurations.
The configuration is divided into two main directories:
nixos
: Contains nixos configurations specific to various hosts.home
: Contains home-manager configurations for user-scope settings and applications.
Ensure you have the following installed:
Clone this repository to your local machine:
git clone [email protected]:theunpleasantowl/nixconf.git
cd nixconf
To build the configuration for a specific host, navigate to the hosts
directory and run:
nix build .#<host-name>
For example:
nix build .#my-laptop
To build the home configuration, navigate to the home
directory:
nix build .#home
To apply the configuration, use the nix switch
command for system configurations:
sudo nixos-rebuild switch --flake .#<host-name>
And for the home configuration:
home-manager switch --flake .#home
- Hosts: Each host directory should contain a
flake.nix
file defining the system configuration for that specific machine. - Home: The home directory contains a
flake.nix
file that manages user-level applications and settings.
Feel free to contribute to this configuration by submitting issues or pull requests. Make sure to follow the existing structure and maintain clarity in your changes.
This configuration is licensed under the MIT License. See the LICENSE file for more details.