Code Monkey home page Code Monkey logo

dotfiles's Introduction

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 [email protected]: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

dotfiles's People

Contributors

bananad3v avatar iogamaster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

mnrnixyz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.