Skip to content

My over complex system configurations

License

Notifications You must be signed in to change notification settings

isabelroses/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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. Its really important that you know it's personal and not everything will fit your needs or even work out of the box for you without some changes.

Warning

It's also significant 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 the same purpose, so 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
    • ๐Ÿช„ Luz 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

If you were looking for my custom modules or packages you should direct yourself to isabelroses/beapkgs. Since there are remote modules and not all of them are clearly remote modules, 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
  • Install NixOS, you might need to follow the manual 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.
  • Clone this repository to ~/.config/flake
  • Run sudo nixos-rebuild switch --flake ~/.config/flake#<host>
macOS
  • Install Lix the package manager

    curl -sSf -L https://install.lix.systems/lix | sh -s -- install

  • Install homebrew

    curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash

  • Exclude nix from time machine backups

    sudo tmutil addexclusion -v /nix

  • nix run --extra-experimental-features 'nix-command flakes' nix-darwin -- switch --flake ~/.config/flake#<host>
  • Then good news you can use the switch alias that exists for the future

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.

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????