Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shuritch/nixos
❄️ This is setup for my NixOS devices. ❄️
https://github.com/shuritch/nixos
color-scheme config configuration declarative-programming dotfiles home-manager linux linux-rice nix nix-flake nixos nixos-configuration os rice setup unix unixporn
Last synced: about 2 months ago
JSON representation
❄️ This is setup for my NixOS devices. ❄️
- Host: GitHub
- URL: https://github.com/shuritch/nixos
- Owner: shuritch
- Created: 2023-09-17T14:07:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-08T19:33:38.000Z (about 2 months ago)
- Last Synced: 2024-11-08T20:28:22.316Z (about 2 months ago)
- Topics: color-scheme, config, configuration, declarative-programming, dotfiles, home-manager, linux, linux-rice, nix, nix-flake, nixos, nixos-configuration, os, rice, setup, unix, unixporn
- Language: Nix
- Homepage:
- Size: 66.8 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: .github/README.md
Awesome Lists containing this project
README
![Atlas](./assets/2024-10-09-atlas.png "State of 2024-10-09")
Deep dive into declarative configuration
**[
Installation
](#installation)**
**[
Structure
](#structure)**
**[
Flake
](../flake.nix)**
**[
Assets and Preview
](./assets/)**
**[
Cluster
](../cluster/)**
**[
Modules
](../src/modules/)**
**[
Workflows
](./workflows/)**
📦 Userland Isolation
🍙 Declarative
🌱 Reproducible
👁️🗨️ Private
🛡️ Secure
🏗️ Custom Installer
🧪 CI
🎨 Colorscheme based on wallpaper
🔧 Extensively configured
🐧 Minimal when needed
🧳 Role based configuration
🚀 Class based configuration
⚡ Easy to manage
🖇️ Dualboot support
🔃 State synchronization
🗿 User specific configuration
## Installation
> [!CAUTION]
>
> Applying custom configurations, especially those related to your operating system, can have unexpected consequences and may interfere with your system's normal behavior. While I have tested these configurations on my own setup, there is no guarantee that they will work flawlessly for you. I am not responsible for any issues that may arise from using this configuration.```bash
# Automatic installation (Live CD)
nix-shell -p curl git
./install.sh
``````bash
# Manual installation (Live CD)
nix-shell -p curl git
curl https://raw.githubusercontent.com/shuritch/nixos/main/core/cluster//disko.nix > /mnt/config/disko.nix
# Edit disko.nix (Replace device with name from lsblk result at least)
sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode disko /mnt/config/disko.nix
git clone https://github.com/shuritch/nixos /mnt/etc/nixos/flake
sudo nixos-generate-config --dir /mnt/etc/nixos
mv -f /mnt/etc/nixos/hardware-configuration.nix /mnt/etx/nixos/flake/cluster/
sudo nixos-install --flake /mnt/etc/nixos/flake#
# reboot 🚀
```## Updates
```bash
nix flake update
sudo nixos-rebuild --upgrade switch --flake .#
```## Rebuilding
```bash
git add . # Important if new files were created
sudo nixos-rebuild switch --flake .# # If Hosts updated
```## Structure
```graphql
.
│ # 👇 Cluster
│ ╭> atlas # Desktop │ 32GB RAM, i9-9900k , RTX 2080S & UHD630 │ Hyprland
│ ├> hermes # Laptop │ 16GB RAM, i7-1165G7, Iris XE G7 │ Hyprland
│ ├> pandora # ISO │ Bootable USB │ TTY
├─┤
│ │ # 👇 Host configuration (example)
│ │ ╭> config # Separated configuration
│ │ ├> hardware-configuration.nix # Generated hardware configuration.
│ └─┼> default.nix # Configuration entry point.
│ ╰> host_ed25519.pub # Ssh ed25519 public key.
│
│ ╭> home # Modules written to isolate Home-manager configuration.
│ ┌─┼> core # Modules written to isolate Nixos configuration.
│ │ ├> class # Presets based on device class (server, desktop, etc).
│ │ ╰> roles # Presets based on chosen roles (headless, dev-kit, etc).
│ │ # 👆 Modules
│ │
│ ├> overlays # Patches and custom overrides for some packages.
│ ├> templates # Language based templates.
├─┼> library # Utilities for Nix language.
│ ├> packages # Self hosted packages.
│ ╰> disko # Disko presets.
│ # 👆 SRC
│
├> .github # Docs, assets, workflows
├> .vscode # Makes vscode more performant in this directory.
├> install.sh # Shell script for automatic installation.
├> shell.nix # Exposes a dev shell for bootstrapping.
╰> flake.nix # Entrypoint
```
Copyright © 2022-2024 Alexander Ivanov.
This package is MIT licensed.