Skip to content

x0ba/dotfiles

Repository files navigation

x0ba's dotfiles

flake check status

Here are my cross-platform dotfiles using NixOS, home-manager, and nix-darwin.

Overview

MacOS NixOS
Shell: zsh + starship "
WM: Aqua + Rectangle Niri + Waybar
Editor: Neovim + Doom Emacs "
Terminal: ghostty "
Launcher: raycast rofi
Browser: firefox "

Linux

I pulled out every possible stop on this config. I have

  • encrypted /root partition
  • declarative disk partitioning with disko
  • impermanence using btrfs subvolumes and impermanence to persist a few select folders
  • home-manager to manage dotfiles
  • systemd-initrd purely for the plymouth luks prompt

Installation

These steps should not be blindly followed, they're for my own personal reference.

NixOS

  1. Acquire a NixOS 24.05+ image:
wget -O https://channels.nixos.org/nixos-24.11/latest-nixos-minimal-x86_64-linux.iso
  1. Write it to a USB drive. I prefer Ventoy.
  2. Restart and boot into the installer.
  3. Clone these dotfiles somewhere and cd into them.
git clone https://github.com/x0ba/dotfiles.git
  1. Set your desired encryption password.
echo -n "password" > /tmp/secret.key
  1. Partition your disks using disko. Make sure to replace the device arg with the hard disk you want to install NixOS on.
sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --arg device '"/dev/nvme0n1"' --mode destroy,format,mount ./disks/default.nix
  1. Create a host config in systems. See existing ones for examples.
  2. Install NixOS
sudo nixos-install --root /mnt --flake .#host
  1. Reboot and you're good to go!
  2. [OPTIONAL] Set up an SSH key to decrypt sops secrets. Currently it's only being used to declaratively set my user password and for tailscale.

Darwin

  1. Install the XCode command line tools
sudo xcode-select --install
  1. Install Homebrew.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Install Nix using the Determinate installer.
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | \
  sh -s -- install
  1. Install the flake
nix run nix-darwin -- switch --flake .#exo

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages