Skip to content

lukethacoder/nix-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NixOS

Warning

this NixOS config is still a work in progress. Take anything in this repo with a grain of salt (for now).

Machines

Opslag

Icon Name Description Category
Navidrome Self-hosted music streaming service Media
copyparty File server with resumable uploads/downloads Services
Jellyfin The Free Software Media System Media
Deluge Torrent client Downloads
Gluetun VPN client Services
Grafana Platform for data analytics and monitoring Observability
Prometheus Monitoring system & time series database Observability
Traefik Reverse Proxy Services
sops Secrets Management Tool
Cloudflare DNS DNS Tool

🚧 Under Construction / Coming Soon

Icon Name Description Category
Miniflux Minimalist and opinionated feed reader Services
Immich Self-hosted photo and video management solution Media
Home Assistant Home automation platform Smart Home
Uptime Kuma Service monitoring tool Services

Hoofd (Daily driver laptop)

Will eventually have a laptop configured with NixOS as a daily driver.

Will host a simple config with:

  • Zed & VSCodium
  • Helium (Chromium based browser)
  • Floorp (Firefox based browser)
  • Other DX tools + languages (Node (nvm), Rust, Python, etc.)

Setup

mkdir -p /mnt/etc/nixos/

git clone https://github.com/lukethacoder/nix-config /mnt/etc/nixos/

TODO: do we use disko or nah?

Before running, make sure to edit the disko/ configuration you wish to use.

# nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode disko /mnt/etc/nixos/disko/opslag.nix

Double check your disk has been correctly partitioned.

# Generate the flake.lock file
sudo nix --experimental-features "nix-command flakes" flake lock

# Check the configuration
nix --experimental-features "nix-command flakes" repl

nix-repl:> :lf .
# added 9 variables

nix-repl:> outputs.nixosConfigurations.opslag.config.fileSystems
# { "/" = { ... }; "/boot" = { ... }; }

nix-repl:> outputs.nixosConfigurations.opslag.config.fileSystems."/"
# { autoFormat = false; autoResize = false; depends = [ ... ]; device = "/dev/disk/by-partlabel/disk-main-root"; encrypted = { ... }; formatOptions = null; fsType = "ext4"; label = null; mountPoint = "/"; neededForBoot = false; noCheck = false; options = [ ... ]; stratis = { ... }; }

Install NixOS

# the '#opslag' is the name of your device you setup in your flake
sudo nixos-install --root /mnt --flake '/mnt/etc/nixos#opslag'
# NOTE: You will be prompted to set the root password at this point.
sudo reboot