1
0
Fork 0
No description
  • Shell 49.3%
  • Nix 36.1%
  • Lua 12.8%
  • Vim Script 1.8%
Find a file
2026-02-12 09:02:09 +01:00
.dotter disable snap 2025-03-12 11:31:25 +01:00
ansible add more aliases 2024-10-05 12:29:02 +02:00
astronvim add grug-far nvim plugin 2024-09-03 09:12:05 +00:00
bat/themes add kucetl and charm.sh debian repos 2024-02-13 10:56:58 +01:00
fish/conf.d add multiple envs for packages 2026-01-05 15:15:02 +01:00
halig feat(fish): add rsync->scp alias 2023-05-09 09:08:52 +02:00
kitty add node packages for arch installs 2024-05-02 18:06:48 +02:00
nix wip 2026-02-12 09:02:09 +01:00
utils disable snap 2025-03-12 11:31:25 +01:00
v2 wip 2026-02-12 09:02:09 +01:00
v22 wip 2026-02-12 09:02:09 +01:00
.gitignore feat: add ssh git signing config 2024-02-13 16:47:46 +01:00
7tv_settings_TWITCH-3_6_2025.json disable snap 2025-03-12 11:31:25 +01:00
allowed_signers add caelid signing 2024-09-03 08:58:08 +02:00
atuin.toml add atuin config 2024-09-13 13:06:19 +02:00
freetds.conf cleanup useless files 2024-08-27 18:36:07 +02:00
gamemode.ini cleanup useless files 2024-08-27 18:36:07 +02:00
gitconfig feat: add ssh allowed_signers 2024-02-20 13:25:20 +01:00
greenclip.toml feat: revamp 2023-04-24 12:47:11 +02:00
ideavim add kucetl and charm.sh debian repos 2024-02-13 10:56:58 +01:00
k9smocha.yaml cleanup useless files 2024-08-27 18:36:07 +02:00
mangohud.conf cleanup useless files 2024-08-27 18:36:07 +02:00
README.md wip 2026-02-12 09:02:09 +01:00
resticprofile.schema.json add resticprofile 2024-12-19 17:24:30 +01:00
resticprofile.toml add flake 2024-12-29 15:02:11 +01:00
sshconfig update flake 2025-06-26 12:57:36 +02:00
timewarrior.cfg feat: add timewarrior and tmux configs 2024-09-05 07:55:25 +02:00
tmux.conf feat: add timewarrior and tmux configs 2024-09-05 07:55:25 +02:00
topgrade.toml update flake 2025-01-31 10:37:03 +01:00
vimrc update arch and debian package list 2024-09-16 09:01:56 +02:00

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

  1. Create a directory in nix/hosts/<hostname>/.
  2. Add configuration.nix, hardware-configuration.nix, and packages.nix there.
  3. Add the host to nixosConfigurations in nix/flake.nix:
    limgrave = mkNixos "limgrave" [
      nix-snapd.nixosModules.default
      autofirma-nix.nixosModules.default
    ];
    

Non-NixOS Hosts (e.g., Ubuntu)

  1. Add the host to homeConfigurations in nix/flake.nix:
    "catalin@ubuntu" = mkHome "ubuntu" "catalin" [ ];
    
    Note: mkHome takes hostname, 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