Skip to content

IogaMaster/dotfiles

Repository files navigation

My NixOS flake built with snowfall.


image

🖼️ Gallery

image image

🕸️ Topology Diagram

Can take a few minutes to update.

image

My system management tool sys

sys is a bash script I made that makes working with NixOS easier.

Rebuild (in flake directory)

sudo sys rebuild # or `r` as a shorthand

Testing an ephemeral config:

sudo sys test # or `t` as a shorthand

Installing

The automated install is preferred for x86_64-linux systems.

Clone the repo:

git clone https://github.com/IogaMaster/dotfiles.git
cd dotfiles

Install:

nix run .#install -- <hostname> <ip-address>

Done!

Manual Install

Build install iso

# Graphical
nix build .#install-isoConfigurations.graphical

# Minimal tty
nix build .#install-isoConfigurations.minimal

Basic Setup

Network manager is installed by default. If you need wifi.

nmtui

Now become root.

sudo su

Disks

This is pretty much copy and paste.

UEFI
# Become root
sudo su

# Assuming /dev/sda is the device you are installing to.
parted /dev/sda -- mklabel gpt
parted /dev/sda -- mkpart primary 512MB -8GB
parted /dev/sda -- mkpart primary linux-swap -8GB 100%
parted /dev/sda -- mkpart ESP fat32 1MB 512MB
parted /dev/sda -- set 3 esp on

# Make filesystems and mount
mkfs.ext4 -L nixos /dev/sda1
mkswap -L swap /dev/sda2
mkfs.fat -F 32 -n boot /dev/sda3
mount /dev/disk/by-label/nixos /mnt
mkdir -p /mnt/boot
mount /dev/disk/by-label/boot /mnt/boot
swapon /dev/sda2
BIOS
# Become root
sudo -i

# Assuming /dev/sda is the device you are installing to.
parted /dev/sda -- mklabel msdos
parted /dev/sda -- mkpart primary 1MB -8GB
parted /dev/sda -- set 1 boot on
parted /dev/sda -- mkpart primary linux-swap -8GB 100%

# Make filesystems and mount
mkfs.ext4 -L nixos /dev/sda1
mkswap -L swap /dev/sda2
mount /dev/disk/by-label/nixos /mnt
swapon /dev/sda2

Final install

Now we need to add your system.

First clone the dotfiles in /mnt

git clone git@github.com:IogaMaster/dotfiles /mnt/.dotfiles
cd /mnt/.dotfiles/

Then copy the example config with the new hostname of your system.

# The `x86_64-linux` part comes from nixos generators, if you are using a different arch use that directory. eg `aarch64-linux` for arm
cp -r systems/x86_64-linux/example/ systems/x86_64-linux/hostname

[!WARNING]
Do not use my hardware configurations they won't work with your system!

Generate your config and copy the hardware configuration.

nixos-generate-config --root /mnt
cp /mnt/etc/nixos/hardware-configuration.nix /mnt/.dotfiles/systems/x86_64-linux/hostname/

Then install.

nixos-install

Post install.

[!WARNING]
The default password for the iogamaster user is password please change it.

I normally clone the dotfiles repo to ~/.dotfiles/


A special thanks to:

hlissner for getting me into NixOS.

redyf for the bar and other minor hyprland config options.

Wil Taylor for his youtube series on setting up NixOS with a flake.

Jake Hamilton for his NixOS config and snowfall.

Tech Support on Hold for the battery module