No description
| dotfiles | Small changes | |
| home-manager | Small changes | |
| hosts/workstation | Managing themes with Stylix | |
| nixos/modules | Small changes | |
| .gitattributes | NixOS: Update fish_variables PATH | |
| .gitignore | small changes | |
| flake.lock | Managing themes with Stylix | |
| flake.nix | Managing themes with Stylix | |
| Makefile | NixOS: Update fish_variables PATH | |
| README.md | Add applications | |
eBits NixOS Config
- WM: River / Niri
- Bar: Waybar
- Launcher: Fuzzel
- Notifications: Fnott
- Terminals: Kitty / Foot / Ghostty
- Shell: Fish
- Editor: Neovim / Emacs
- Prompt: Starship
- DM: LY
- Browser: Firefox / Qutebrowser
Structure
├── flake.nix # Entry point (defines nixosConfigurations + homeConfigurations)
├── hosts/
│ └── workstation/ # Per-host config
│ ├── configuration.nix # Host entry (imports modules + hardware)
│ ├── hardware-configuration.nix
│ └── local-packages.nix # Host-specific packages
├── nixos/
│ └── modules/ # NixOS system modules
│ ├── default.nix # Auto-imports all
│ ├── boot.nix # GRUB bootloader
│ ├── nvidia.nix # NVIDIA GPU
│ ├── networking.nix # NetworkManager
│ ├── locale.nix # Timezone, locale, keyboard
│ ├── services.nix # LY, PipeWire, printing
│ ├── fonts.nix # Fonts + fontconfig
│ ├── users.nix # User account
│ └── system.nix # Global settings, packages
├── home-manager/
│ ├── home.nix # Home Manager entry
│ ├── home-packages.nix # User packages
│ └── modules/ # Home Manager modules
│ ├── default.nix # Auto-imports all
│ ├── fish.nix # Fish shell
│ ├── git.nix # Git config
│ ├── gtk.nix # GTK theme
│ ├── starship.nix # Starship prompt
│ ├── btop.nix # System monitor
│ ├── fastfetch.nix # Fetch tool
│ ├── tmux.nix # Tmux
│ ├── zathura.nix # PDF viewer
│ ├── lazygit.nix # Git TUI
│ ├── kitty.nix # Kitty terminal
│ ├── foot.nix # Foot terminal
│ ├── neovim.nix # Neovim
│ └── dotfiles.nix # Raw config symlinks
├── dotfiles/ # Mirrors $HOME (stow-style)
│ ├── .config/
│ │ ├── river/
│ │ ├── waybar/
│ │ ├── fuzzel/
│ │ ├── fnott/
│ │ ├── ghostty/
│ │ ├── btop/
│ │ ├── fastfetch/
│ │ ├── wlogout/
│ │ ├── nvim/
│ │ ├── qutebrowser/
│ │ ├── fish/
│ │ ├── yazi/
│ │ ├── cava/
│ │ ├── mpd/
│ │ ├── rmpc/
│ │ └── rill/
│ ├── .local/bin/
│ └── .ssh/
└── screenshots/
Setup
1. Clone & enter
git clone https://github.com/embeddingbits/nixos-config.git /etc/nixos
cd /etc/nixos
2. Generate hardware config
nixos-generate-config --show-hardware-config > hosts/workstation/hardware-configuration.nix
3. Apply system config
sudo nixos-rebuild switch --flake .#workstation
4. Apply home-manager config
home-manager switch --flake .#ebits
5. (Optional) Set login shell
chsh -s $(which fish)
6. Install fonts & themes
Put your Gruvbox-Dark GTK theme in ~/.themes, or use a Nix package that provides it.
The Gruvbox-Plus-Dark icon theme is installed automatically via Home Manager.
Keybinds (River/Rill)
| Key | Action |
|---|---|
| Super + Q | Launch terminal (foot) |
| Super + Return | Launch Emacs |
| Super + R | App launcher (fuzzel) |
| Super + W | Firefox |
| Super + C | Close window |
| Super + F | Fullscreen |
| Super + V | Toggle float |
| Super + H/J/K/L | Focus left/down/up/right |
| Super + Shift + H/L | Move column left/right |
| Super + 1-0 | Switch workspace |
| Super + Shift + 1-0 | Move window to workspace |
| Super + B | Bluetooth menu |
| Super + U | Emoji picker |
| Super + S | Screenshot (region) |
| Super + Shift + L | Lock screen |