NixOS configurations for server and desktop systems, including user specific config using Home Manager https://nixos.org/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
davidak 9f9f863d8d Make disable-internet timer persistent 1 week ago
machines Add klavaro to gaming machine 4 months ago
modules Make disable-internet timer persistent 1 week ago
packages satzgenerator: use python 3.6 2 years ago
profiles Add disable-internet-at-night module 1 week ago
services Add readme for backup service 7 months ago
users/davidak Set syncthing dataDir to user home 8 months ago
.gitignore Add .gitignore 1 year ago
LICENSE Add license 3 years ago
README.md Update README 4 months ago

README.md

My NixOS Configurations

NixOS with Pantheon desktop from elementary OS

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-20.09 nixos
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.09.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.

modules

My personal NixOS modules.

packages

My personal Nix packages.

profiles

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

services

Default service configurations.

users

User specific configuration including dotfiles using Home Manager.

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.