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
- Several applications and tools for my needs, but you can choose the one that best suits your needs
neovim
,micro
andvscode
for text editingfirefox
andchromium
for web browsingalacritty
,kitty
andwezterm
for terminal emulatorsbash
,zsh
,fish
andnushell
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
- ๐ 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
- ๐ 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
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.
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 templatenix 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
.
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] |
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.
- Install NixOS, you might need to follow the manual
- Clone this repository to
~/.config/flake
- Run
sudo nixos-rebuild switch --flake ~/.config/flake#<host>
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.
- Locate the Windows EFI partition
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT
- Mount the Windows EFI partition
sudo mkdir /mnt/winboot
sudo mount /dev/nvme0n1p1 /mnt/winboot
- Copy the Windows EFI files to the NixOS EFI partition
sudo rsync -av /mnt/winboot/EFI/Microsoft/ /boot/EFI/Microsoft/
- Finally, clean up
sudo umount /mnt/winboot
sudo rmdir /mnt/winboot
- Install Lix the package manager
curl -sSf -L https://install.lix.systems/lix | sh -s -- install
- Then enter a nix development shell in order to use git and other required tools
nix develop
- Now we need to switch to the configuration, remember to replace
<host>
with the system you are configuring
just provision <host>
- Anything starting with
garden
is likely a part of my internal module. So keep that in mind when reading the code.
A collection of resources from people who just make good stuff.
- Xe's blog
- The aux forum
- Viper's Blog
- Nix Pills, this one might be a bit much if you don't care too much about the internals
- Solรจne's Blog
- Jade Lovelace's blog
- Astrid's blog
- nixpkgs news
- nix.dev
- cafkafk's blog
- zimbatm's blog
- my own blog
- official wiki
- zero to nix
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.
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!