My NixOS system+user configuration. Powered by Nix, Nix Flakes, Home Manager, and passion.
What Is | What I Use |
---|---|
Browser | Firefox |
DM | LightDM with Mini-Greeter |
Editor | Neovim |
Launcher | Rofi |
Shell | Zsh with Zgen |
Status Bar | Polybar |
Terminal | Alacritty + tmux |
WM | bspwm |
Note: the optional steps are needed to set up a custom configuration and are highly recommended (mainly because you probably have different hardware than mine, and you also probably want to customize the system to your own needs).
Note 2: the commands in the following steps should be considered to be run as
root (e.g. using sudo
).
- Download and boot the latest build of NixOS 21.05.
- Partition as you like and mount your root to
/mnt
(see the manual). - (Optional) Generate an initial configuration as stated in the manual, using
nixos-generate-config --root /mnt
- (Optional) Temporarely move the files generated in
/mnt/etc/nixos
somewhere else. - Start a nix-shell with
nix-shell -p git nixFlakes
- Clone this repo with
git clone https://github.com/BuriedInTheGround/nixos-config.git /mnt/etc/nixos
- Fix some paths with
mv /etc/nixos /etc/nixos.bak
ln -s /mnt/etc/nixos /etc/nixos
- (Optional) Create a sub-directory inside
hosts/
with the name you want for your host. - (Optional) Put the files you moved in (4) into your host folder.
- (Optional) Rename
hosts/<your-hostname>/configuration.nix
tohosts/<your-hostname>/default.nix
. - (Optional) Customize
hosts/<your-hostname>/default.nix
by adding modules and NixOS settings. - (Optional) Set your username by changing my default (
"simone"
) inmodules/options.nix
. - (Optional) Add your changes with git (mandatory if you actually made changes), e.g.
git add hosts/<your-hostname>
git add modules/options.nix
- Install NixOS with
nixos-install --root /mnt --flake /mnt/etc/nixos#<your-hostname> --impure
- (Optional) Use
nixos-enter
to setup some files or folders in advance. - Reboot.
- Change your
root
and user password. - Enjoy your system! 🌸