Skip to content

My Nix setup for NixOS-powered home systems and general user environment using Home Manager.

Notifications You must be signed in to change notification settings

Evertras/nix-systems

Repository files navigation

nix-systems

All my Nix systems and home-manager config.

Sample screenshot

Using this

For regular system updates, just run make system.

For updating just home, run make home or just make.

For bootstrapping a fresh NixOS install as root:

nix-shell -p git gnumake
git clone https://github.com/Evertras/nix-systems
cd nix-systems
make system
# Specify actual desired user here
sudo -u evertras make home EVERTRAS_USER_PROFILE="some-profile-name"
# Set user profile here, direnv will use this later outside of root
cp .envrc.example .envrc
reboot now

Troubleshooting

No suitable profile directory error message

Could not find suitable profile directory, tried /home/evertras/.local/state/home-manager/profiles and /nix/var/nix/profiles/per-user/evertras
# The error message is misleading, make this directory
mkdir -p ~/.local/state/nix/profiles/

OpenGL issues when only using home

When running on a non-NixOS machine, problems may happen with OpenGL such as with Kitty.

Use nixGL to get around this.

nixGL kitty

Random todos for later

  • Explore better types like nonEmptyString
  • More enum checks with asserts for things like desktop as "i3"

Font list

I get bored with fonts so here's a list of the nerd fonts that I actually like, as a reminder to myself.

Clean

For just focusing.

Standard

Go-tos

  • CaskaydiaCove - Solid baseline when all else fails, bit wider
  • Hasklug - Default go-to for ligatures, clean

Alternatives

Feeling different but still "boring".

  • AurulentSansM - Soft/clean, not sure if I like 0 without dot
  • BitstromWera - Clean/simple
  • CodeNewRoman - Clean/simple
  • Cousine - Clear, simple
  • JetBrainsMono - Clean, ligatures
  • Literation - Wider
  • OverpassM - Thinner, simple
  • RobotoMono - Clean, simple
  • UbuntuMono - Feels like Ubuntu, yep

Fun/different

To change it up.

  • Agave Nerd - kind of old school sharp feel
  • ComicShannsMono - Casual and surprisingly nice to read
  • FantasqueSansM - Bit whimsical
  • Gohu Font 14 - Pixel font, sharp at size 14 - can use 11 as well for tiny readable font
  • Hurmit - Fun change in small doses
  • Iosevka - Feels squished horizontally but still clean
  • Monofur - Thin stroke with round characters
  • Monoid - Bigger, but ligatures
  • Mononoki - Just feels different, hard to describe
  • OpenDyslexicM - Weirdly stroked characters, wider
  • ProFont IIx - Pixel font, nicely sharp
  • ProggyClean - Works for very small font sizes, not great at larger
  • ShureTechMono - Bit squished, hard to describe
  • SpaceMono - Extra space between lines
  • Terminess - Works nicely for windows/titles but not so much terminal

Stupid nix tricks

Build a VM image to test

# Build it as a VM, then run the output link it gives
nixos-rebuild build-vm --flake .#HOSTNAME

# Alternatively using nix command
nix build '.#nixosConfigurations.HOSTNAME.config.system.build.vm'

# Or just run it directly
nix run '.#nixosConfigurations.HOSTNAME.config.system.build.vm'

# Run it without even cloning this repo
nix run 'github:Evertras/nix-systems#nixosConfigurations.HOSTNAME.config.system.build.vm'