based on everything-nix
In case you are not familiar with nix/nixos, this is a collection of configuration files which build all my systems in a declarative manner. The tool used to configure the global system is called nixos, and the one used to configure the individual users is called home-manager.
A visual history of my setup is in the works!
- Sets up all the apps I use — including git, neovim, fish, tmux, starship, hyprland, anyrun, discord, zathura, foot & much more.
- Sets up my entire homelab — including zfs-based impermanence, automatic let's-encrypt certificates, tailscale, syncthing, vaultwarden, whoogle, pounce, calico, smos, intray, actual & more.
- Consistent base16 theming using stylix
- Declarative secret management using sops-nix
This repo's structure is based on the concept of hosts - individual machines configured by me. I'm naming each host based on things in space/mythology (they are the same picture). The hosts I have right now are:
- amaterasu — my personal laptop
- tsukuyomi — my tower pc
- susanoo — my android phone. Although not configured using nix, this name gets referenced in some places
Location | Description |
---|---|
common | Configuration loaded on both nixos and home-manager |
devshells | Nix shells |
docs | Additional documentation regarding my setup |
home | Home manager configurations |
hosts/nixos | Nixos configurations |
modules | Custom generic/nixos/home-manager modules |
overlays | Nix overlays |
pkgs | Nix packages |
flake.nix | Nix flake entrypoint! |
scripts | Bash scripts that come in handy when on a live cd |
.sops.yaml | Sops entrypoint |
stylua.toml | Lua formatter config for the repo |
Here's some things you might want to check out:
- My neovim config
- written using nixvim
- The flake entrypoint for this repository
This does not include links to every plugin I use for every program here. You can see more details in the respective configurations.
- Nixos — nix based operating system
- Home-manager — manage user configuration using nix
- Impernanence — see the article about erasing your darlings
- Sops-nix — secret management
- disko — format disks using nix
- zfs — filesystem
- Stylix — base16 module for nix
- Base16 templates — list of base16 theme templates
- Catpuccin — base16 theme I use
- Rosepine — another theme I use
- Hyprland — wayland compositor
- Foot — terminal emulator
- Zathura — pdf viewer
- Firefox — web browser
- Tesseract — OCR engine
- Obsidian — note taking software
- Bitwarden — client for self-hosted password manager
There are many clis I use which I did not include here, for the sake of brevity.
- Neovim — my editor
- Tmux — terminal multiplexer
- Fish — user friendly shell
- Starship — shell prompt
- yazi — file manager
- lazygit — git tui
In the future when I have my synology nas
Most services are served over tailscale, using certificates generated by let's encrypt.
- Actual — budgeting tool.
- Commafeed — rss reader
- Forgejo — git forge
- Grafana — pretty dashboards
- Guacamole — remote desktop access
- Homer — server homepage
- Intray — GTD capture tool.
- Invidious — alternate youtube client
- Jellyfin — media server
- Jupyterhub — notebook collaboration suite
- Microbin - code & file sharing service
- Pounce & calico — irc bouncer
- Prometheus — metric collector
- Qbittorrent — torrent client
- Radicale — calendar server
- Redlib — alternate reddit client
- Smos — a comprehensive self-management system.
- Syncthing — file synchronization
- Vaultwarden — password manager
- Whoogle — search engine OR SearXNG
- Calibre Web - A online libary for my books
- Plex - A hosting service for music, movies, etc. similar to Jellyfin
Includes links to stuff which used to be in the previous section but is not used anymore.