⭐ Star us on GitHub — it motivates us a lot!
My personal NixOS configuration file.
It contains hardware/software configurations for setting up my personal/work machines.
[!IMPORTANT] As of this moment, I haven't yet reached the point of deploying VMs using Nix, meaning that this configuration IS INTENDED TO BE USED FOR PERSONAL USE ONLY.
Please don't try to copy-paste the configuration on your own machine and try to understand it first for the following reasons:
Type | Program |
---|---|
Editor | NeoVim |
Launcher | Rofi |
Shell | Zsh |
Status Bar | i3status-rust |
Terminal | Alacritty |
Window Manager | I3WM |
File Manager | Nautilus |
GTK Theme | Kanagawa |
GTK Icon Theme | Rose-pine |
Terminal Font | OxProto Nerd Font |
.
├── archive
├── assets
├── config.nix
├── flake.lock
├── flake.nix
├── flakes
├── home
├── hosts
├── LICENSE
├── Makefile
├── programs
├── README.md
├── TODO.md
└── wallpaper.jpg
--flake
. Used for pinning down the specific versions of the Nix dependencies, that are listed under flake.nix
[!WARNING] Before starting to execute
make
commands, make sure to change the value ofDEFAULT_USER
to your preffered username, located inMakefile
.
Command | Description |
---|---|
make help | Show available commands with their description |
make home-update | Build your home configuration |
make sys-update-wl | Build your system configuration for work laptop (Thinkpad p53) |
make sys-update-pd | Build your system configuration for personal desktop (AMD) |
make flake-upgrade | Upgrade flake dependencies |
make flake-check | Validate flake.nix |
make flake-meta | Output the flake input dependencies in a tree format |
make clean | Remove user generations |
make clean-su | Remove system generations |
make show-gen | Show all user generations |
make deduplicate | Optimize system libraries |
[!CAUTION] The hardware specific configuration is most likely not going to properly work on your system, so please make sure after you install my configuration and immediately change the bootloader and file system values (located at
config.nix
) with your appropriate values!
nixos-rebuild switch --flake github:iliyan-kostov9/nixos-config#hosts-work-laptop
nixos-rebuild switch --flake github:iliyan-kostov9/nixos-config#hosts-personal-desktop
Afterwards enter config.nix
and change the values of the file system and bootloader to the ones you currently have.
You can also change the default username to your preferred one.
This configuration structure was inspired by contributions from the Nix community:
This section helped me better understand Nix package manager and Nix language. Please have a read on them!
This product is licensed under GNU General Public License