Skip to content

My NixOS configuration & dotfiles. Flakes, multi-host, multi-user, Hyprland.

Notifications You must be signed in to change notification settings

danielgafni/nixos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NixOS Config

My NixOS configuration with multi-host setup, a few GitHub Actions, personal build cache, checks via pre-commit hooks & CI, and Catppuccin theme for all programs.

Key components:

  • NixOS for system configuration
  • Home Manager for user configuration. Most user-space programs are installed and configured via Home Manager.
  • Hyprland as Wayland compositor & window manager. It's very fast, looks amazing, and has a lot of features. Now has a huge community and is finally stable!
  • Hyprpanel a panel, widgets, and notifications for Hyprland. Has very good defaults and doesn't require much configuration.
  • Ghostty - an amazing modern terminal emulator. Very performant, has a lot of features and super good defaults.
  • Catppuccin theme for everything - because it's beautiful, easy on eyes, and has an implementation for every app in the world. It's automatically applied to all programs via cattppuccin/nix.

assets/NixOS-rice.png

Minor stuff:

  • Starship terminal prompt. Nothing can beat it in terms of speed, features, and looks.
  • YubiKey for SSH and GPG. It makes life easier and more secure.
  • Zed editor setup with a bunch of language servers and plugins. Zed is the future. The GOAT Python LSs are configured for Zed: ruff and basedpyright.

Packages are cached in CI so local installations are faster (this is critical for nightly Zed builds from the flake which take 40+ min).

Usage

Prerequisites

  • NixOS or just nix (only $HOME setup)
  • nh - an excellent Nix helper. It has a better UX and the output is nicer.

Installation

nh os switch

This will download, build and install system packages, files and configurations.

Note

Use nh os test to test configurations without adding boot entries.

nh home switch

This will download, build and install user packages, files and configurations.

Notes

Fonts

Purpose Name Comment
Code FiraCode Nerd Font
UI Cabin Easy on eyes, good default
UI Recursive Eye candy, catchy

It's necessary to rebuild fonts cache in order to observe live changes after modifying the config:

fc-cache -rf

Custom modules

  • modules/ contains some custom modules. They are:

  • modules/home-manager/nebius-cli.nix - Nebius CLI

Debugging mime-type

XDG_UTILS_DEBUG_LEVEL=2 xdg-mime query filetype foo.pdf

XDG_UTILS_DEBUG_LEVEL=2 xdg-mime query default application/pdf

fd evince.desktop /

About

My NixOS configuration & dotfiles. Flakes, multi-host, multi-user, Hyprland.

Topics

Resources

Stars

Watchers

Forks