- Create new directory in hosts with desired config
- Create new entry in nixConfigurations in flake.nix
- Install NixOS on new machine
- Close these files into ~/nixos
- Copy hardware configuration into hosts/
- Add boot loader config to the new host
basic config:
boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true;
git add .
may be needed to make new files available to nix store- Run
sudo nixos-rebuild switch
--flake ~/nixos#
- Install NixOS on any machine
- Clone these files into ~/nixos
- Run
sudo nixos-rebuild switch --flake ~/nixos#<host>
The gaming module assumes you have a drive mounted at /games.
nvidia.enable = true;
enables support for nvidia graphics cards.
The media module assumes you have a drive mounted at /media.
Hostname should be set with hostname = "nixos";
.
If the machine is running in the home network, setting
homeNetwork.enable = true;
The user module is broken up into the basic default user config
I would want on most machines with fish, tmux, vim, etc. A desktop
environment with xfce+i3 can be enabled by adding
desktopEnv.enable = true;
Developer environment can be setup with devEnv.enable = true;
nvim is using AstroNvim. On the first run,
all of the dependencies will be installed. Language servers, linters,
formatters, etc must all be installed through AstroNvim. Ex
:LspInstall nil_ls
will install the nixos languange server nil
for syntax highlighting
Setting up macbookpro for the first time, I could connect to wifi, but no dns. I had to manually edit /etc/resolv.conf to get connected.