This is where I keep my configuration files, links to helpful resources, and some pieces of advice from my experience with NixOS.
My Firefox CSS: panefox
My wallpapers and credits: wallpaper-stash
My Neovim config: neovim-dots
Desktop Environments & Window Managers
Login Manager: greetd with tuigreet
Applications | |
---|---|
Terminal | kitty |
Editor | Neovim (with nixPatch) |
GUI file manager | Thunar |
TUI file manager | 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 Moon |
Cursor | Rose Pine Dawn cursor |
Icons | Papirus with Catppuccin folders |
Sans serif font | Karla |
Monospace font | Hasklug Nerd Font (Hasklig) |
Display font | RitzFLF |
- AGS icons: Adwaita
- Krita
- Theme: Catppuccin Macchiato Maroon
- Brushes & Resources
- Plugins
- Obsidian.md CSS snippets
These are things I used that ended up not entirely fitting my use-case, but they're wonderful nonetheless and I totally respect and recommend them!
- foot, lightweight terminal emulator for Wayland
Official:
- NixOS website
- Nix package manager & NixOS download
- The
nix-env
package manager works like most other package managers. - However, I'd advise against it if you really want to get into Nix's declarative nature
- Unless all you want is just a good package manager
- The
- Nix ecosystem documentation
- NixOS wiki
- Search
Unofficial:
- Awesome Nix
- Flakes
- NixOS & Flakes Book
- Very helpful guide to Nix flakes
- Nix flakes may seem daunting at first, but they make it super easy to add extra sources and configuration options. Plus, they're declarative while nix channels are not.
- Nix User Repository (NUR)
- User-maintained NixOS wiki
- Remember to optimize your NixOS storage
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.
- Home Manager
- Home Manager manual
- Home Manager configuration options manual
- Search Home Manager options
I mainly use NixOS and Home Manager, but here are some other interesting tools.
- nh, a pretty wrapper for rebuilding
- NixVim, for configuring Neovim and its plugins declaratively
- Stylix, for quick universal colorschemes and fonts
- nix-flatpak, for managing Flatpaks declaratively
- Use
nix path-info nixpkgs#<package-name>
!- Trust me, it is not fun to manually search through
nix/store/
to find a specific package file - The sooner you're know this, the better!
- Trust me, it is not fun to manually search through
- If you want a starter config, start small!
- You can understand a lot by doing things yourself
- And 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 is truly 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"
, meaningetc/path/file.type
- Home Manager has many:
home.file."path/file.type"
meanshome/user/path/file.type
xdg.configFile."path/file.type"
means~/.config/path/file.type
- (Unless you changed your XDG config directory)
- You can use
"path/file.type".source = config.lib.file.mkOutOfStoreSymlink /absolute/path/to/file
to symlink an existing file to the location you want - Or create your own modules
- NixOS has
- NixOS works very differently to other Linux distros, but that's why I enjoy it!