mirror of
https://github.com/itme-brain/nixos.git
synced 2026-03-23 16:29:42 -04:00
59 lines
2.1 KiB
Markdown
59 lines
2.1 KiB
Markdown
# NixOS / Home-Manager Flake Configuration
|
|
|
|
This repository is a stash for my current and WIP NixOS and Home-Manager flake setup.
|
|
|
|
The repository is structured in two main directories: ```homeConfig``` and ```sysConfig```. The ```homeConfig``` directory contains all the files related to the standalone Home-Manager install and .config files, while the ```sysConfig``` directory contains a modular NixOS system configuration.
|
|
|
|
|
|
My personal dotfiles are included in the ```homeConfig/dotfiles``` directory.
|
|
|
|
Feel free to clone/fork and use as you please.
|
|
|
|
Don't forget to update and/or create new symlinks in ```homeConfig/home.nix```!
|
|
|
|
|
|
Here are useful resources for finding a list of nix packages and options...
|
|
|
|
[NixOS](https://search.nixos.org/packages)
|
|
|
|
[Home-Manager](https://mipmip.github.io/home-manager-option-search/)
|
|
|
|
## Requirements
|
|
|
|
- nix package manager *OR* NixOS
|
|
- Nix 2.0 (flake and nix-command) enabled
|
|
- Home-Manager
|
|
|
|
Install nix package manager or NixOS here - https://www.nixos.org/ or through your package manager.
|
|
|
|
If you are on NixOS, nix already comes installed and is the default package manager.
|
|
|
|
### Enabling Flakes and Nix Commands
|
|
|
|
First you need to enable the ```flakes``` and ```nix-command``` experimental features.
|
|
|
|
Add this line anywhere to your nix configuration.
|
|
|
|
```
|
|
nix = {
|
|
package = pkgs.nixFlakes;
|
|
extraOptions = "experimental-features = nix-command flakes";
|
|
};
|
|
```
|
|
If you are using nix on a Linux distro, macOS or Windows WSL your config file defaults to
|
|
```~/.config/nix/nix.conf```
|
|
|
|
If you are using NixOS add the code snippet to your system configuration instead, located by default in ```/etc/nixos/configuration.nix```
|
|
|
|
## Home-Manager
|
|
|
|
> This is a standalone home-manager install, NOT a NixOS/darwin module. Which is the recommended, more portable and preferred way of using home-manager.
|
|
|
|
To initialize Home-Manager properly for the first time, run the following command:
|
|
|
|
```nix run home-manager/master -- init```
|
|
|
|
## Contributions
|
|
|
|
Contributions and suggestions are welcome!
|
|
If you find any issues or have any improvements you'd like to suggest, please feel free to open an issue or submit a pull request!
|