https://github.com/davidak/nixos-config
NixOS configurations for server and desktop systems, including user specific config. with Home Manager
https://github.com/davidak/nixos-config
dotfiles home-manager nix nixos nixos-configuration
Last synced: 4 months ago
JSON representation
NixOS configurations for server and desktop systems, including user specific config. with Home Manager
- Host: GitHub
- URL: https://github.com/davidak/nixos-config
- Owner: davidak
- License: mit
- Created: 2016-02-15T05:36:06.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2020-06-05T20:33:12.000Z (over 5 years ago)
- Last Synced: 2025-08-14T00:33:31.048Z (4 months ago)
- Topics: dotfiles, home-manager, nix, nixos, nixos-configuration
- Language: Nix
- Homepage: https://codeberg.org/davidak/nixos-config
- Size: 210 KB
- Stars: 57
- Watchers: 6
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
My NixOS Configurations
=======================
NixOS is an advanced GNU/Linux distribution featuring declarative configuration and atomic upgrades. You can learn more on [nixos.org](https://nixos.org/nixos/about.html).
In this repository are the configurations of my NixOS machines.
You can find the configurations from other people in the [nixos.wiki](https://nixos.wiki/wiki/Configuration_Collection).
## 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](https://nixos.org/nixos/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:
- https://nixos.wiki/wiki/FAQ#How_can_I_install_a_package_from_unstable_while_remaining_on_the_stable_channel.3F
- https://github.com/NixOS/nixos-hardware
## 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](https://github.com/rycee/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](https://davidak.de/).
## Contributing
When you see ways to improve my configurations, create an [issue](https://github.com/davidak/nixos-config/issues) or [pull request](https://github.com/davidak/nixos-config/pulls).
Consider sharing your configuration as well, so we can learn from each other!
## License
Copyright (C) 2015 [davidak](https://davidak.de/)
Licensed under the [MIT](LICENSE) license to be compatible with [nixpkgs](https://github.com/NixOS/nixpkgs).