Skip to content

Links to resources, along with my NixOS and Home Manager config files!

License

Notifications You must be signed in to change notification settings

mimvoid/nix-config

Repository files navigation

mimvoid's nixos & home manager dotfiles

My config files, helpful resources, and some advice from my experience with NixOS.

Hyprland

Screenshot: Hyprland with fletchling, eza, and a bar built with AGS

Screenshot: arttime with Tauon music player and hellwal color preview

Screenshot: AGS media controller popover and a notification saying "'pwease im dwowning' 'obama: then perish'"

XFCE

Screenshot: XFCE with disfetch

What I Use

Desktop Environments & Window Managers

Login Manager: greetd with tuigreet

Applications
Terminal kitty
Editor Neovim (with nixPatch)
File manager Thunar & yazi
Web browser Firefox
Art program Krita
Document viewer Zathura
To-do list dooit
Music player Tauon
Hyprland-specific
Lockscreen hyprlock
Bar AGS
Notifications AGS (mako-like style)
Logout menu AGS
Launcher fuzzel
Wallpaper swww
Screen temperature wlsunset
Screenshot hyprshot
Color picker hyprpicker
Theming
GTK theme Rose Pine
Cursor Rose Pine Dawn cursor
Icons Papirus with Catppuccin folders & Adwaita
Sans serif font Karla
Monospace font 0xProto (Nerd Font)
Display font RitzFLF
Colorscheme generator hellwal

Other Cool Stuff

These are things I used that ended up not entirely fitting my use-case, but they're wonderful nonetheless and I still recommend them.

  • foot, lightweight terminal emulator for Wayland

Resources

Nix & NixOS Sources

Official

Unofficial

Home Manager

A declarative approach to configuring your user environment! It's like NixOS's configuration file, but only for the home directory. It's great if you want to tinker without adding a bunch of generations to your boot menu, or use different configurations for users on the same system.

It can work on other distros too. I tried it on openSUSE Tumbleweed, though not long-term.

Extras

I mainly use NixOS and Home Manager, but here are some other interesting tools.

Pieces of Advice

NixOS works very differently to other Linux distros, but that's why I enjoy it!

  • To locate an installed package's directory, use nix path-info nixpkgs#<package-name>.
    • It is not fun to manually search through /nix/store/ to find a specific package version.
  • If you want a starter config, start small!
    • You can understand a lot by doing things yourself.
    • Configs that are too complex may confuse you out of changing them.
    • If you really want a config without the manual effort, NixOS is probably not for you.
  • NixOS documentation truly is sparse.
    • To dig deep, don't be afraid to look through the source code and manuals.
    • You can do a ton on NixOS, but it takes time, effort, and undoubtly frustration.
  • You don't need to rely on the options NixOS and Home Manager give you to create config files.
    • NixOS has environment.etc."path/file.type", which creates /etc/path/file.type.
    • Home Manager has many:
      • home.file."path/file.type" creates /home/user/path/file.type.
      • xdg.configFile."path/file.type" creates ~/.config/path/file.type.
        • (Unless your XDG config directory is somewhere else.)
    • You can use "path/file.type".source = config.lib.file.mkOutOfStoreSymlink /absolute/path/to/file to create a symlink.
      • Unlike the options above, it is not necessary to rebuild and switch for changes to take place.
    • Or create your own modules.

The beginning may be tough, but given enough time, navigating NixOS becomes second nature. The declarative nature gives me piece of mind that nothing important is forgotten. From development environments to custom packages, Nix is a wonderful piece of software!

About

Links to resources, along with my NixOS and Home Manager config files!

Topics

Resources

License

Stars

Watchers

Forks