No description
- Shell 49.3%
- Nix 36.1%
- Lua 12.8%
- Vim Script 1.8%
| .dotter | ||
| ansible | ||
| astronvim | ||
| bat/themes | ||
| fish/conf.d | ||
| halig | ||
| kitty | ||
| nix | ||
| utils | ||
| v2 | ||
| v22 | ||
| .gitignore | ||
| 7tv_settings_TWITCH-3_6_2025.json | ||
| allowed_signers | ||
| atuin.toml | ||
| freetds.conf | ||
| gamemode.ini | ||
| gitconfig | ||
| greenclip.toml | ||
| ideavim | ||
| k9smocha.yaml | ||
| mangohud.conf | ||
| README.md | ||
| resticprofile.schema.json | ||
| resticprofile.toml | ||
| sshconfig | ||
| timewarrior.cfg | ||
| tmux.conf | ||
| topgrade.toml | ||
| vimrc | ||
dots
This repository contains my dotfiles and a Nix flake that supports multiple hosts (machines) with a shared base and per-host configuration.
Nix Configuration
The Nix configuration is located in the nix/ directory. It uses a shared Home Manager configuration for all hosts, while allowing host-specific NixOS or package settings.
Structure
nix/flake.nix: Entry point, defines hosts and helpers.nix/home/: Shared Home Manager configuration (packages, shell, GNOME settings).nix/hosts/: Host-specific NixOS configurations.
Adding New Hosts
NixOS Hosts
- Create a directory in
nix/hosts/<hostname>/. - Add
configuration.nix,hardware-configuration.nix, andpackages.nixthere. - Add the host to
nixosConfigurationsinnix/flake.nix:limgrave = mkNixos "limgrave" [ nix-snapd.nixosModules.default autofirma-nix.nixosModules.default ];
Non-NixOS Hosts (e.g., Ubuntu)
- Add the host to
homeConfigurationsinnix/flake.nix:
Note:"catalin@ubuntu" = mkHome "ubuntu" "catalin" [ ];mkHometakeshostname,username, and additional modules.
Building and Applying
NixOS
Run from the root of the repository:
sudo nixos-rebuild switch --flake .#hostname
Non-NixOS (Home Manager)
Run from the root of the repository:
home-manager switch --flake ./nix#user@hostname