Skip to content

sotormd/nixos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NixOS Configuration Flake

slighly overengineered NixOS configuration flake for multiple hosts.

nixos

Nix-specific features:

  • completely reproducible, pure evaluation
  • dotfiles managed using wrappers implemented from basic nixpkgs functions
  • symlinks in ~ managed using hjem
  • secrets managed using sops-nix
  • secure boot using lanzaboote
  • impermanence using zfs snapshots and bind mounts
  • package management using lix
  • android environment using nix-on-droid
  • nixos flake helper cli
  • flake enabled images

See Features for all features.

Contents

  1. Setup & Usage
  2. Images
  3. nixos: Flake Helper
  4. Features

Setup & Usage

  1. laptop role: Laptop configuration

    Setup & Usage Documentation

  2. server role: Headless home server configuration

    Setup & Usage Documentation

  3. droid role: nix-on-droid configuration

    Setup & Usage Documentation

Images

Build Minimal ISO Build GNOME ISO Build SD Image

Three images: minimal, gnome and sdcard are included (for installation, recovery, etc.)

These images have experimental features flakes and nix-command enabled.

See images for more details.

nixos Flake Helper

Routine tasks such as updating the flake, switching configurations, garbage-collecting, repairing the Nix store, and editing variables & secrets are handled through the unified nixos helper script.

To see all commands:

nixos help

See scripts for the full command reference and workflow examples.

Features

distro NixOS
packages nixos-unstable
android nix-on-droid
package manager lix
secrets sops-nix sops
~ symlinks hjem
dotfiles wrappers
bootloader systemd-boot uboot
secureboot lanzaboote
kernel linux-hardened
auditing auditd
shell bash
filesystem zfs
networking wpa_supplicant
dns unbound
firewall iptables (nf_tables)
audio pipewire
web server nginx
media server jellyfin
display server wayland
compositor swayfx
bar waybar
widgets eww
launcher rofi
notifications dunst
terminal emulator foot
file manager thunar
pdf reader zathura
image viewer swayimg
media player mpv
vector graphics editor inkscape
browser brave
homepage homepage
search engine searxng
bittorrent qbittorrent-nox
anonymity i2pd oniux tor-browser
passwords vaultwarden
text editor neovim mousepad
version control git
development rust python go haskell
themes, icons, cursors, fonts colors
wallpapers wallpapers
sandboxing firejail
virtualization qemu virt-manager distrobox
optimizations auto-cpufreq tlp powertop
resource monitor btop htop
clipboard cliphist
screenshots grimshot