Linux dotfiles and NixOS configuration built with Snowfall. My setup is tailored for IT security and DevOps tasks
My configuration is tailored for tasks in the areas of DevOps and IT security. The key details I emphasized are reproducibility and a personalized experience to achieve an efficient and enjoyable workflow.
- mentay 🍃 (Laptop x86_64)
- WM: Hyprland
- Shell: Nu
- Terminal: Kitty
- Additional: KVM, Docker, Waydroid, AMD GPU support, Development and Creative suites.
System management tool `sys`
Rebuild (in flake directory):
sudo sys rebuild # or `r` as a shorthandTesting an ephemeral config:
sudo sys test # or `t` as a shorthandDeploying to a server (in flake directory):
sudo sys deploy HOSTNAME # or `d` as a shorthandgit clone --recursive https://github.com/qrxnz/dotfiles ~/.dotfiles &&\
cd ~/.dotfiles &&\
chmod +x ./setup.shPrerequisite: stow, zsh, curl
- Hyprland dotfiles
Warning
Remember to install the necessary packages on your distribution.
./setup.sh --hyprland-default
- Shell only dots
Warning
Remember to install the necessary packages on your distribution.
./setup.sh --shell-onlyPrerequisite: homebrew, stow, curl
./setup.sh --macosFirst, you need to partition your drive. The following commands will create a GPT partition table and set up partitions for your root, swap, and boot filesystems.
-
Become root: Gain root privileges to manage the disks.
sudo su
-
Partition the drive: This example uses
/dev/nvme0n1. Make sure to replace this with your actual drive. This creates three partitions:- A
512MBboot partition. - An
8GBswap partition. - The rest of the disk for the root (
/) partition.
parted /dev/nvme0n1 -- mklabel gpt parted /dev/nvme0n1 -- mkpart primary 512MB -8GB parted /dev/nvme0n1 -- mkpart primary linux-swap -8GB 100% parted /dev/nvme0n1 -- mkpart ESP fat32 1MB 512MB parted /dev/nvme0n1 -- set 3 esp on - A
-
Format and mount partitions: Next, format the partitions with the appropriate filesystems and mount them.
mkfs.ext4 -L nixos /dev/nvme0n1p1 mkswap -L swap /dev/nvme0n1p2 mkfs.fat -F 32 -n boot /dev/nvme0n1p3 mount /dev/disk/by-label/nixos /mnt mkdir -p /mnt/boot mount /dev/disk/by-label/boot /mnt/boot swapon /dev/nvme0n1p2
Now you can clone the dotfiles and install NixOS.
-
Clone the repository: Clone this repository into the
/mntdirectory.git clone --recursive https://github.com/qrxnz/dotfiles .dotfiles &&\ cd .dotfiles
-
Generate hardware configuration: Let NixOS generate a hardware configuration file for your system and then copy it into the systems directory of this flake. Replace
hostnamewith the desired hostname for your new system (e.g.,mentay).nixos-generate-config --root /mnt &&\ cp /mnt/etc/nixos/hardware-configuration.nix .dotfiles/systems/x86_64-linux/hostname/ -
Install NixOS: Finally, install NixOS using the flake. Remember to replace
hostnamewith the one you chose previously.nixos-install --flake .#hostname
If you want to use my neovim configuration, I recommend installing it through nix profile
nix profile install github:qrxnz/nveemI was inspired by:
I use Catppuccin in every part of my config!
To redyf for the amazing wallpapers & IogaMaster for snowfall-starter

