Laptop, desktop, and home lab flake featuring Hyprland, Sway, declarative containers, a reverse proxy, and more.
Find a file
2024-05-26 14:58:07 -04:00
.github/workflows removed nixos flatpak and live iso from flake 2024-03-12 22:44:08 -04:00
_img updated README 2024-05-18 13:08:17 -04:00
files/wallpapers added 3 new wallpapers 2024-04-26 14:02:01 -04:00
homeManagerModules hyprland: fix skipping wallpaperd if randomWallpaper is enabled 2024-05-26 14:35:31 -04:00
hosts mauville: enable hyprland 2024-05-26 12:24:39 -04:00
nixosModules format fix 2024-05-26 14:58:07 -04:00
.gitignore add .gitignore 2024-04-02 17:48:27 -04:00
aly.nix aly: disable hyprland scratchpads 2024-05-26 11:33:34 -04:00
dustin.nix hyprland: migrate to swaybg 2024-05-26 01:25:13 -04:00
flake.lock Bump flake.lock 2024-05-26 06:17:50 +00:00
flake.nix flake: include github url in clean-install script by default 2024-05-26 14:47:42 -04:00
LICENSE.md Create LICENSE.md 2024-03-09 11:58:37 -05:00
README.md uupdate README 2024-05-26 02:49:13 -04:00

nixcfg

NixOS flake for all of mine + my husband's hosts. Modules for Hyprland, Sway (with options for tablet optimizations), GNOME, and a variety of Home Lab services running on a mix of nix-native and OCI containers. Uses home-manager for managing dotfiles and disko for automatically partioning drives.

Rice

Sway

Sway Tablet Mode

Hosts

Host lavaridge petalburg rustboro
Model Framework Laptop 13 Lenovo Yoga 9i Gen 8 ThinkPad T440p
Display 13.5" 2256x1504 60Hz 14" 2880x1800 90hz OLED 14" 1920x1080 60hz
CPU AMD Ryzen 7640U Intel Core i7-1360P Intel Core i5-4210M
RAM 32GB DDR5-5600Mhz 16GB LPDDR5-5200Mhz 16GB DDR3L-1600Mhz
GPU AMD Radeon 760M Intel Iris Xe Graphics Intel HD Graphics 4600
Storage 1TB Sk hynix P41 512GB M.2 PCIe 4.0 512GB SATA SSD
Desktop Hyprland Sway (tablet mode) Sway
Host mossdeep fallarbor mauville
Model Steam Deck OLED Framework Laptop 13 Custom Mini-ITX Desktop
Display 7.4" 1280x800 90Hz OLED 13.5" 2256x1504 60Hz 34" 3440x1440 160Hz VA
CPU AMD "Sephiroth" APU Intel Core i5-1135G7 AMD Ryzen 5 2600
RAM 16GB LPDDR5 6400 MT/s 16GB DDR4-3200Mhz 16GB DDR4-3200Mhz
GPU AMD RDNA 2 Intel Iris Xe Graphics AMD Radeon Rx 6700
Storage 512GB M.2 PCIe SSD 512GB M.2 PCIe 3.0 1TB M.2 PCIe 3.0
Desktop Hyprland Hyprland Sway

Home Lab Services

Service Description Source/Runtime Domain
Nix Binary Cache LAN cache for nix derivations. nix-serve (nixpkgs) https://nixcache.raffauflabs.com
Navidrome SubSonic-compatible music server. nix-container (nixpkgs) https://music.raffauflabs.com
Plex Music, TV, and Movie streaming. OCI: plexinc/pms-docker:public https://plex.raffauflabs.com
Audiobookshelf Podcasts & audiobooks. OCI: advplyr/audiobookshelf:latest https://podcasts.raffauflabs.com
FreshRSS RSS & News reader. OCI: freshrss/freshrss:latest https://news.raffauflabs.com
Transmission BitTorrent. OCI: linuxserver/transmission:latest Tailnet
Samba LAN file shares. nixpkgs Tailnet
Nginx Reverse proxy. nixpkgs Tailnet
Ollama Runs opensource LLMs. nixpkgs Tailnet

Deploying to NixOS

🔴 Do not deploy this flake unmodified to your machine. It won't work. This is my own NixOS and home-manager flake for my personal devices. Each hardware-configuration is host-specific. If you fork this repository, replace them with the hardware-configuration.nix that NixOS generates for you.

Enabling Flakes

While widely used and considered stable, flakes are still considered experimental. To enable Flakes, add the following lines to your configuration.nix and rebuild.

nix.settings.experimental-features = [ "nix-command" "flakes" ];

Building Flake

In order to deploy this Flake on your host, run the following command:

sudo nixos-rebuild boot --flake github:alyraffauf/nixcfg#HOST

Substitute HOST for whichever hostname you have chosen. Reboot to apply the flake's configuration for the chosen host.

Installing from Live USB

🔴 This will erase your computer's disk as specified by the host configuration, installing a fresh copy of NixOS. Backup first!

If you want to install NixOS from this flake, run the following commands, substituting HOST with a NixOS configuration specified in flake.nix.

sudo nix --experimental-features "nix-command flakes" run github:alyraffauf/nixcfg -- github:alyraffauf/nixcfg#HOST