Skip to content

TylerDurham/my-nixos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

███╗   ███╗██╗   ██╗    ███╗   ██╗██╗██╗  ██╗ ██████╗ ███████╗
████╗ ████║╚██╗ ██╔╝    ████╗  ██║██║╚██╗██╔╝██╔═══██╗██╔════╝
██╔████╔██║ ╚████╔╝     ██╔██╗ ██║██║ ╚███╔╝ ██║   ██║███████╗
██║╚██╔╝██║  ╚██╔╝      ██║╚██╗██║██║ ██╔██╗ ██║   ██║╚════██║
██║ ╚═╝ ██║   ██║       ██║ ╚████║██║██╔╝ ██╗╚██████╔╝███████║
╚═╝     ╚═╝   ╚═╝       ╚═╝  ╚═══╝╚═╝╚═╝  ╚═╝ ╚═════╝ ╚══════╝

My personal NixOS configuration with Hyprland, managed via flakes and Home Manager.

Hosts

Name Arch Notes
erebor x86_64 Laptop, LUKS-encrypted root
imladris x86_64 Laptop
nixvm x86_64 VM

Optional Dependancies

Name Description
my-shell My shell dotfiles.
my-hyprland My Hyprland dotfiles.
my-neovim My NeoVim dotfiles.

Structure

flake.nix              # Entrypoint — nixpkgs-unstable + home-manager
configuration.nix      # Shared NixOS config imported by all hosts
hosts/                 # Per-host hardware configurations
system/                 # NixOS modules (audio, hyprland, packages, plymouth, programs, users)
home.nix               # Home Manager entrypoint
home/                  # User-level config (bash, zsh, git, gtk, xdg, packages, dev tools)

Features

  • Hyprland — Wayland compositor with XWayland support
  • Plymouth — Graphical boot splash (lone preset, silent boot, systemd initrd)
  • Home Manager — Declarative user environment (Neovim, Ghostty, Kitty, Waybar, Rofi, Starship, swww)
  • Audio — PipeWire via system/audio.nix
  • 1Password — System-level GUI + CLI integration

System Packages

bat curl fzf hypridle hyprlock hyprsunset jq lsd power-profiles-daemon ripgrep stow tmux vim wget xdg-terminal-exec zoxide

Font: JetBrains Mono Nerd Font

Home Packages

Media: handbrake makemkv plexamp plex-desktop spotify vlc

Desktop: ghostty kitty libnotify nautilus nwg-look obsidian pinta rofi rustdesk signal-desktop swaynotificationcenter swayosd swww waybar

Utility: brightnessctl grimblast hyprlauncher hyprshutdown inotify-tools libsecret neovim pavucontrol playerctl starship wl-clipboard

Usage

Install

Disk Preparation

IMPORTANT: I don't use a display manager like sddm. This hardware setup assumes your main disk is encrypted. While you can certainly modify, unless you encrypt your disk and/or use a display manager, using this configuration leaves you vulnerable.

Basic LUKS encryption setup (Assuming UEFI boot, swap, and OS partitions on a modern NVME drive):

cryptsetup luksFormat /dev/nvme0n1p3
cryptsetup luksOpen /dev/nvme0n1p3 cryptroot
mkfs.ext4 /dev/mapper/cryptroot

Rebuild

# Build and switch (replace <host> with erebor, imladris, or nixvm)
sudo nixos-rebuild switch --flake .#<host>

There are two utility aliases for bash and zsh that will rebuild and garbage collect, respectively. The hostname is determined in the alias, so you don't need to specify the host name.

Rebuild

nix-rb

Garbage Collect

nix-gc

License

MIT

About

My NixOS dotfiles.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages