Skip to content

qrxnz/dotfiles

Repository files navigation

dotfiles

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.

🖼️ Gallery

🍏 MacOS

🐧 Linux (Desktop)

❄️ NixOs Machines

  • mentay 🍃 (Laptop x86_64)
    • WM: Hyprland
    • Shell: Nu
    • Terminal: Kitty
    • Additional: KVM, Docker, Waydroid, AMD GPU support, Development and Creative suites.

🧰 features

System management tool `sys`

Rebuild (in flake directory):

sudo sys rebuild # or `r` as a shorthand

Testing an ephemeral config:

sudo sys test # or `t` as a shorthand

Deploying to a server (in flake directory):

sudo sys deploy HOSTNAME # or `d` as a shorthand

⚒️ Installation

🐧🍏 non-nixos machines

git clone --recursive https://github.com/qrxnz/dotfiles  ~/.dotfiles &&\
cd ~/.dotfiles &&\
chmod +x ./setup.sh

🐧 Linux

Prerequisite: 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-only

🍏 MacOS

Prerequisite: homebrew, stow, curl

./setup.sh --macos

❄️ NixOS Installation

Disk Partitioning

First, 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 512MB boot partition.
    • An 8GB swap 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
  • 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

Final Installation Steps

Now you can clone the dotfiles and install NixOS.

  • Clone the repository: Clone this repository into the /mnt directory.

    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 hostname with 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 hostname with the one you chose previously.

    nixos-install --flake .#hostname

👾 Others

🐱 Neovim

If you want to use my neovim configuration, I recommend installing it through nix profile

nix profile install github:qrxnz/nveem

🗒️ Credits

🎨 Inspiration

I was inspired by:

🐈 Theme

I use Catppuccin in every part of my config!

❤️ Special thanks

To redyf for the amazing wallpapers & IogaMaster for snowfall-starter

About

Linux/MacOS .files & NixOS configuration built with Snowfall. My setup is tailored for IT security & DevOps tasks

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors