8000 GitHub - thomas-bouvier/dotfiles: Declarative infrastructure using Lix (multi-user/multi-host configuration)
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

thomas-bouvier/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lix dotfiles

My declarative, reproducible system built using Lix.

Installation

If you set up a new machine you should probably generate a new SSH key pair. Put your keys in /home/thomas/.ssh/.

Put your age keys here:

vim /home/thomas/.config/sops/age/keys.txt

To rebuild the system:

nixos-rebuild switch --flake . --use-remote-sudo

To rebuild a remote system locally, and deploy it:

nixos-rebuild switch --flake .#coprin --target-host thomas@192.168.1.30 --use-remote-sudo

Apple Silicon machine

Copy the peripheral firmware files off the EFI system partition (e.g. on the installation ISO mkdir -p /mnt/etc/nixos/firmware && cp /mnt/boot/asahi/{all_firmware.tar.gz,kernelcache*} /mnt/etc/nixos/firmware). Then, once a NixOS is installed, copy these firmware files to the current configuration cp /mnt/etc/nixos/firmware* <current_config>/system/asahi-firmware.

Manual configuration

Some packages require manual configuration.

Atuin

If you imported age keys, just login to retrieve your shell history:

atuin login
atuin sync

Obsidian

Just open Obsidian, login and sync everything including community plugins and settings (Active community plugin list and Installed community plugins options). Wait for the end of the synchronization, and restart the app.

Tailscale

Connect your machine to your Tailscale network and authenticate in your browser:

sudo tailscale up

In Dolphin (or somewhere else), use smb://user@ip to connect to a remote SMB share.

Flox

sudo -H nix profile install \
      --profile /nix/var/nix/profiles/default \
      --experimental-features "nix-command flakes" \
      --accept-flake-config \
      'github:flox/flox'

Useful commands

Optimize the Nix store by hard linking duplicate binaries. This shouldn't be needed with my current dotfiles though, as optimizations are performed automatically at build time.

nix-store --optimise

The Nix store accumulates entries which are no longer useful. They can be deleted:

nix-store --gc

Delete all generations older than a specific period (e.g. 30 days):

nix-collect-garbage --delete-older-than 30d

Future work

Bugs:

  • (zotero) Zotero is not available yet on aarch64 platforms.
  • (localsend) LocalSend can't receive files when dns0 is enabled.
  • (librewolf) privacy.resistFingerprinting = true prevents media upload and Leboncoin login from working.

These would be nice to have.

  • I would like to install the Ophirofox extension, which is not available on the Mozilla store.

These are not fully integrated yet.

Some resources I found useful

About

Declarative infrastructure using Lix (multi-user/multi-host configuration)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published
0