https://github.com/lukethacoder/nix-config
❄ NixOS Configuration (WIP)
https://github.com/lukethacoder/nix-config
1password jellyfin nix nixos tailscale traefik
Last synced: 5 months ago
JSON representation
❄ NixOS Configuration (WIP)
- Host: GitHub
- URL: https://github.com/lukethacoder/nix-config
- Owner: lukethacoder
- License: gpl-3.0
- Created: 2024-07-18T04:31:03.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-01-15T08:47:55.000Z (6 months ago)
- Last Synced: 2025-01-31T10:51:13.140Z (5 months ago)
- Topics: 1password, jellyfin, nix, nixos, tailscale, traefik
- Language: Nix
- Homepage:
- Size: 180 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NixOS
> NOTE: this NixOS config is not currently working and is a work in progress. Take anything in this repo with a grain of salt (for now).
## Machines
### Opslag
Main Home Server machine. Will eventually host some sort of MergerFS/SnapRaid setup as well as a few services like Jellyfin, Navidrome, PiHole etc.
## Setup
```bash
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.```bash
# 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.
```bash
# Generate the flake.lock file
sudo nix --experimental-features "nix-command flakes" flake lock# Check the configuration
nix --experimental-features "nix-command flakes" replnix-repl:> :lf .
# added 9 variablesnix-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
```bash
# 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
```## TODO
- [ ] Setup SSH
- [ ] Disko Configuration
- [ ] Test Disk recovery
- [ ] Containers (Jellyfin, Navidrome, etc.)
- [ ] Modules
- [ ] DuckDNS
- [ ] Tailscale
- [ ] WireGuard
- [ ] Pi-Hole