GithubHelp home page GithubHelp logo

comfysage / nixdots Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 1.0 6.75 MB

:rocket: comfysage's dotfiles.

License: GNU General Public License v3.0

Nix 71.49% Shell 1.09% JavaScript 0.20% Just 0.26% TypeScript 17.05% SCSS 4.70% Lua 4.61% Python 0.22% Nushell 0.16% Makefile 0.19% C++ 0.02% Go 0.02% Rust 0.01%

nixdots's Introduction

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.

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.

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

nixdots's People

Contributors

comfysage avatar

Stargazers

Willow avatar  avatar Isabel avatar  avatar

Watchers

 avatar

Forkers

isabelroses

nixdots's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.