fzzzz1 / dotfiles

Configuration For The Best Declarative Linux Distro, NixOS!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NixOS

NixOS_Check NixOS_Fmt


Rxyhn's Dotfiles

NixOS logo


NixOS / Home-Manager / Flake

NixOS Desktop





🔧 Installation

  1. Download iso

    # Yoink nixos-unstable
    wget -O nixos.iso https://channels.nixos.org/nixos-unstable/latest-nixos-minimal-x86_64-linux.iso
    
    # Write it to a flash drive
    cp nixos.iso /dev/sdX
  2. Boot into the installer.

  3. Switch to root user: sudo su -

  4. Partitioning

    We create a 512MB EFI boot partition (/dev/nvme0n1p1) and the rest will be our LUKS encrypted physical volume for LVM (/dev/nvme0n1p2).

    $ gdisk /dev/nvme0n1
    • o (create new empty partition table)
    • n (add partition, 512M, type ef00 EFI)
    • n (add partition, remaining space, type 8e00 Linux LVM)
    • w (write partition table and exit)

    Setup the encrypted LUKS partition and open it:

    $ cryptsetup luksFormat /dev/nvme0n1p2
    $ cryptsetup config /dev/nvme0n1p2 --label cryptroot
    $ cryptsetup luksOpen /dev/nvme0n1p2 enc-pv

    We create two logical volumes, a 24GB swap parition and the rest will be our root filesystem

    $ pvcreate /dev/mapper/enc-pv
    $ vgcreate vg /dev/mapper/enc-pv
    $ lvcreate -L 24G -n swap vg
    $ lvcreate -l '100%FREE' -n root vg

    Format partitions

    $ mkfs.fat -F 32 -n boot /dev/nvme0n1p1
    $ mkswap -L swap /dev/vg/swap
    $ swapon /dev/vg/swap
    $ mkfs.btrfs -L root /dev/vg/root

    Mount partitions

    $ mount -t btrfs /dev/vg/root /mnt
    
    # Create the subvolumes
    $ btrfs subvolume create /mnt/root
    $ btrfs subvolume create /mnt/home
    $ btrfs subvolume create /mnt/nix
    $ btrfs subvolume create /mnt/log
    $ umount /mnt
    
    # Mount the directories
    $ mount -o subvol=root,compress=zstd,noatime,ssd,space_cache=v2 /dev/vg/root /mnt
    $ mkdir -p /mnt/{home,nix,var/log}
    $ mount -o subvol=home,compress=zstd,noatime,ssd,space_cache=v2 /dev/vg/root /mnt/home
    $ mount -o subvol=nix,compress=zstd,noatime,ssd,space_cache=v2 /dev/vg/root /mnt/nix
    $ mount -o subvol=log,compress=zstd,noatime,ssd,space_cache=v2 /dev/vg/root /mnt/var/log
    
    # Mount boot partition
    $ mkdir /mnt/boot
    $ mount /dev/nvme0n1p1 /mnt/boot
  5. Enable flakes

    $ nix-shell -p nixFlakes
  6. Install nixos from flake

    $ nixos-install --flake github:rxyhn/dotfiles#lenovo --impure



👥 People

⚠️
If you stole something from here at least give us credits!
Powered by NixOS/Linux x86_64

These are the people who build and maintain this repository.

rxyhn - sioodmy - fufexan




About

Configuration For The Best Declarative Linux Distro, NixOS!

License:MIT License


Languages

Language:Nix 97.2%Language:Python 2.8%