Laptop, desktop, and home lab flake featuring Hyprland, Sway, declarative containers, a reverse proxy, and more.
Find a file
2024-06-26 22:13:02 -04:00
.github/workflows github: limit fetch depth to 1 2024-06-13 22:03:57 -04:00
_img update README with new screenshots and install details 2024-06-14 23:17:10 -04:00
files/wallpapers files: add slateblue wallpaper 2024-06-11 13:31:28 -04:00
hardwareModules move duplicated hardware configuration to config.ar.hardware module 2024-06-26 22:13:02 -04:00
homeManagerModules move duplicated hardware configuration to config.ar.hardware module 2024-06-26 22:13:02 -04:00
homes move duplicated hardware configuration to config.ar.hardware module 2024-06-26 22:13:02 -04:00
hosts move duplicated hardware configuration to config.ar.hardware module 2024-06-26 22:13:02 -04:00
nixosModules move duplicated hardware configuration to config.ar.hardware module 2024-06-26 22:13:02 -04:00
secrets mauville: setup ddclient 2024-06-25 21:47:48 -04:00
.gitignore add .gitignore 2024-04-02 17:48:27 -04:00
flake.lock flake.lock: update 2024-06-26 06:21:10 +00:00
flake.nix move duplicated hardware configuration to config.ar.hardware module 2024-06-26 22:13:02 -04:00
LICENSE.md Create LICENSE.md 2024-03-09 11:58:37 -05:00
README.md update README with new screenshots and install details 2024-06-14 23:17:10 -04:00

nixcfg

NixOS flake for all mine + my husband's hosts, including modules for Hyprland, Sway, GNOME, and a variety of Home lab services running on a mix of nix-native and OCI containers. Built with agenix for managing secrets, disko for automatically partioning drives, and home-manager for managing dotfiles and home configuration.

Rice

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, add a host configuration for your own hardware. Secrets are encrypted with agenix and will not be available without the private decryption keys.

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" ];

Alternatively, pass --experimental-features "nix-command flakes" to nix to temporarily use flakes.

Building Flake

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

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

Substitute $HOSTNAME 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, ideally from a NixOS live environment, substituting $HOSTNAME with a NixOS configuration specified in flake.nix.

sudo nix --experimental-features "nix-command flakes" run github:alyraffauf/nixcfg -- $HOSTNAME