Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomhoule/nix-config
It's what it says on the tin.
https://github.com/tomhoule/nix-config
configuration dotfiles nix nixos nixos-config nixos-configuration
Last synced: 3 months ago
JSON representation
It's what it says on the tin.
- Host: GitHub
- URL: https://github.com/tomhoule/nix-config
- Owner: tomhoule
- Created: 2021-07-03T15:59:17.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-16T08:48:43.000Z (4 months ago)
- Last Synced: 2024-10-31T04:50:40.289Z (3 months ago)
- Topics: configuration, dotfiles, nix, nixos, nixos-config, nixos-configuration
- Language: Nix
- Homepage:
- Size: 435 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tom's NixOS configuration
Even with nix making it easier to manage system configuration complexity, I
strive to maintain a streamlined setup. If you want to read this, the
entrypoint should be the `flake.nix` file.As customary in the nix world, documentation in this repository could use some
improvement. We make extensive use of modules. If you want to understand how
the module mechanism works, please refer to the nixpkgs
[manual](https://nixos.org/manual/nixpkgs/stable/) and [source
code](https://github.com/NixOS/nixpkgs).## Setting up a new machine
As a basis, follow the [NixOS
manual](https://nixos.org/manual/nixos/stable/#sec-installation).Regarding partitioning, the NixOS manual way to set up LUKS with ext4 plays
well with `nixos-generate-config`, it is very smooth and easy.Generate the configuration (`configuration.nix` and
`hardware-configuration.nix`) with `nixos-generate-config`. Clone this
repository, incorporate the generated files in `machines/`, add a
top-level configuration to `flake.nix`, and finally, use `nixos-install
--flake` to install NixOS on the new machine, as described in the official docs
and the `nixos-install` manpage.## Repository organization
The entrypoint is `flake.nix`.
- The `hm` directory contains the home-manager config for my main user.
- The `machines` directory contains machine-specific configuration. In order to
maximise reuse, I try to keep its contents to a minimum.
- The `modules` directory contains NixOS configuration modules. Each machine
picks the modules it needs from there. For example, `laptop.nix` is meant for
laptops only.