Skip to content

Latest commit

 

History

History
79 lines (44 loc) · 2.84 KB

README.md

File metadata and controls

79 lines (44 loc) · 2.84 KB

My NixOS Configurations

NixOS is an advanced GNU/Linux distribution featuring declarative configuration and atomic upgrades. You can learn more on nixos.org.

In this repository are the configurations of my NixOS machines.

You can find the configurations from other people in the nixos.wiki.

Usage

My workflow with this code is to rsync it to the machine and symlink the system configuration.

[davidak@X230:~]$ rsync -ah --delete --progress /home/davidak/code/nixos-config/ root@nas.lan:nixos/
[root@nixos:~]# rm /etc/nixos/configuration.nix
[root@nixos:~]# ln -s /root/nixos/machines/compaq_dc7800/configuration.nix /etc/nixos/configuration.nix
[root@nixos:~]# nixos-rebuild switch

This way i can test a change before committing it to the git repository. To update the configuration, just use the first and last command.

For new machines, follow the install instructions in the manual and extend it with inspirations from the machines here.

I use the latest stable release nixos channel to have a reliable system and the nixos-unstable channel to get the latest version for some packages. I also use nixos-hardware channel for hardware specific settings and home-manager for user specific configuration.

Add the channels with this commands:

nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware
nix-channel --add https://github.com/rycee/home-manager/archive/release-20.03.tar.gz home-manager
nix-channel --update

(execute as root or with sudo)

References:

Structure

machines

Here are the configuration.nix files for my machines. See their README for detailed description.

users

User specific configuration including dotfiles using Home Manager.

profiles

Options for specific domains like server, desktop or video-production.

services

Default service configurations.

modules

My personal NixOS modules.

packages

My personal Nix packages.

Maintainer

This repository is maintained by davidak.

Contributing

When you see ways to improve my configurations, create an issue or pull request.

Consider sharing your configuration as well, so we can learn from each other!

License

Copyright (C) 2015 davidak

Licensed under the MIT license to be compatible with nixpkgs.