Skip to content

fedeizzo/nix-dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nix dotfiles

Three laptops and one homelab:

  • Dell XPS 9510
  • Thinkpad X1 Carbon 6th gen
  • Macbook pro M1 Max
  • Raspberry pi 4th gen

./images/architecture.png

My personal laptops have access to the homelab using ssh and Wireguard. My work laptop cannot does not have directly access to the homelab.

  • home: home manager configurations.
  • 󰍹 hosts: host system configurations.
  • 󱄅 nix: flake modules.
  • 󱧘 overlays: package overlays.
  • scripts: system management scripts.
  • secrets: secrets.

Usage

You can use direnv to easily manage this flake.

After executing direnv allow, you should have a shell powered by devshell and by running menu you have an help message.

menu

System installation

The following instructions are valid for all machines except the Macbook pro.

In my personal laptops the disk is erased at every boot in order to obtain a complete immutable and declarative system. This is achieved thanks to BTRFS.

Obviously some data, logs, cache, etc. must survive the boot process, this is achieved using imperamanence.

Some useful readings if you are interested:

git clone https://github.com/fedeizzo/nix-dotfiles.git
cd nix-dotfiles
nix develop
erase-disk-and-install-{machine}

Unfortunately I didn’t find a way to create a directory under /persist/home/{user} with the right permissions, the script run automatically the post initrd and it doesn’t have the user ids. A simple workaround is to setup the home manually after the first boot:

chown {user}:users /persist/home/{user}/
chmod 700 /persist/home/{user}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published