Skip to content

Latest commit

 

History

History
257 lines (191 loc) · 11 KB

README.md

File metadata and controls

257 lines (191 loc) · 11 KB
dots

isabel's dotfiles

stars ci repo size license nixos-unstable

Preview image

more previews

light mode

wezterm + chromium

neovim

Foreword

This repository contains my personal configuration for my systems, so its really important that you know it's personal and not everything will fit your needs. Therefore most things will not work out of the box without some changes, so be warned!!!!

Warning

Also to note that this configuration will not work if you do not change any of the secrets since they are encrypted.

Tip

You can find some cool blogs and people at the bottom of this file, or click here

What does this repo provided

  • Several applications and tools for my needs, but you can choose the one that best suits your needs
    • neovim, micro and vscode for text editing
    • firefox and chromium for web browsing
    • alacritty, kitty and wezterm for terminal emulators
    • bash, zsh, fish and nushell for shells
  • Modular configuration, so you can add or remove parts of the configuration
  • Sensible defaults, so you can get started quickly
  • Docs kind of
  • Catppuccin everywhere, with a hint of evergarden

Config layout

  • 🏠 home Where all home-manager configurations lie
  • 🖥️ systems
    • ☀️ Amaterasu My high-end gaming machine
    • 🐉 Hydra A super mid spec laptop
    • Lilith A NixOS ISO image that can be quickly deployed and accessed via ssh
    • ⚖️ minerva A server configuration for some of my infrastructure
    • 𖤍 Valkyrie A WSL2 host, designed to be a development environment on Windows
    • 💮 Tatsumaki A MacBook Air, configured to last a whole day of university
  • 🧩 parts NixOS parts breaking down the complex configuration into smaller more manageable chunks
    • 📚 lib Useful repeated functions
    • 🛠️ templates Templates for setting up development environments
    • 👾 modules Exported modules for NixOS, home-manager and Nix Darwin
  • 🔌 modules
    • base The base configuration settings, which are common between all systems
    • darwin Pre-made modules for exclusively darwin systems
    • nixos Pre cooked modules for exclusively nixos systems
    • iso Pre-configured modules prepared for making NixOS iso images
    • extra Extra configuration modules, for home-manager and Nix Darwin and NixOS
    • profiles Pre-made profiles for different system types
      • hardware Optimized settings for different devices (e.g., laptop, servers, desktop)
      • meta Optimized configurations for different natures (e.g., headless, graphical)

Tip

When looking for my custom modules or packages you should direct yourself to isabelroses/beapkgs. If you are specifically looking for remote modules (sometimes not clearly labelled), it is worth looking through the beapkgs docs.

Usage Notes

Using the templates

To use the templates there are two commands you can run, they are:

  • nix flake init -t github:isabelroses/dotfiles#<template> to initialize a new project with the template
  • nix flake new -t github:isabelroses/dotfiles#<template> <out dir> to create a new project in the specified directory

For the full list of templates you can look in the templates directory or run nix flake show github:isabelroses/dotfiles.

Shortcuts

SKHD Shortcut Hyprland Shortcut What it does
CMD+RETURN SUPER+RETURN open terminal
SUPER+B open browser
SUPER+C open editor
SUPER+O open notes
SUPER+E open file manager
CMD+Q SUPER+Q quit
CMD+D SUPER+D launcher
SUPER+F full screen
CMD+CTRL+[number] SUPER+[number] open workspace [number]
CMD+SHIFT+[number] SUPER+SHIFT+[number] move to workspace [number]

Installation Notes

NixOS

You might want to use the lilith iso configuration, provided in this repository

  • To build it you can run nix build .#images.lilith.
  • Or you can download it from the release page.

If you opted to use the lilith iso image, you can use the iznix-install script to install it on your system. Otherwise, you can follow the steps below.

  1. Install NixOS, you might need to follow the manual
  2. Clone this repository to ~/.config/flake
  3. Run sudo nixos-rebuild switch --flake ~/.config/flake#<host>
Dual boot

If you would like to set up duel boot with Windows, you should consider enabling secure boot. To do so you should follow the lanzaboote guide.

  1. Locate the Windows EFI partition
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT
  1. Mount the Windows EFI partition
sudo mkdir /mnt/winboot
sudo mount /dev/nvme0n1p1 /mnt/winboot
  1. Copy the Windows EFI files to the NixOS EFI partition
sudo rsync -av /mnt/winboot/EFI/Microsoft/ /boot/EFI/Microsoft/
  1. Finally, clean up
sudo umount /mnt/winboot
sudo rmdir /mnt/winboot
macOS
  1. Install Lix the package manager
curl -sSf -L https://install.lix.systems/lix | sh -s -- install
  1. Then enter a nix development shell in order to use git and other required tools
nix develop
  1. Now we need to switch to the configuration, remember to replace <host> with the system you are configuring
just provision <host>

Small bits

  • Anything starting with garden is likely a part of my internal module. So keep that in mind when reading the code.

Additional notes

Resources

A collection of resources from people who just make good stuff.

Projects / Configurations

These are some configuration or projects that I have taken inspiration from or find to be of a high quality that people should also consider reading.

People

Thanks to all these people otherwise this config and I would be lost.

  • comfysage, for making my day that bit brighter and occasionally putting me on your back
  • getchoo, for making catppucin/nix and helping a ton
  • nullishamy, for tricking me into using NixOS
  • nekowinston, for fixing half my problems
  • jakehamilton, for teaching me too much about modules
  • nyxkrage, for being there to answer my questions
  • NotAShelf, lots of valuable information
  • Minion3665, for making me write better docs
  • Thorn, picrewnix????

And of course all those who star this repo!

Star History Chart