Personal flake for NixOS desktop and laptop.
Built with Nix and Home Manager. Contains configuration for multiple machines.
Organization inspired by 4tm4n/nixos-config.
.
├── flake.lock
├── flake.nix
├── hosts
│ ├── desktop
│ ├── laptop
│ ├── configuration.nix
│ └── home.nix
├── modules
│ ├── desktop
│ │ ├── eww
│ │ ├── eww.nix
│ │ ├── hyprland.nix
│ │ └── wallpapers
│ └── programs
└── README.md
At the top level, flake.nix
defines sources and flake.lock
records the versions used.
The hosts
directory contains shared system configuration in configuration.nix
and shared user configuration in home.nix
for desktop
and laptop
hosts.
Each host (desktop, laptop, etc.) has its own directory and default.nix
file specifying system configuration specific to the host. The user configuration home.nix
is the same across all hosts.
The modules
directory configurations for installed programs like hyprland
, eww
, git
, and neovim
and is referenced by home.nix
.
To update the flake sources:
nix flake update
This will fetch new versions and update flake.lock
.
To rebuild the system:
sudo nixos-rebuild switch --flake path/to/nixos-config#<host>
Where <host>
is either desktop
or laptop
.
To rebuild the user space:
home-manager switch --flake path/to/nixos-config
Check out the Nix manual and Home Manager manual to learn more about Nix and Home Manager. Visit MyNixOS to browse available configuration options and packages. To delve deeper into package definitions visit the nixpkgs Github repository.