Skip to content

Latest commit

 

History

History
138 lines (103 loc) · 7.09 KB

README.md

File metadata and controls

138 lines (103 loc) · 7.09 KB


Nixicle

Screenshot updated: 2024-07-15

⚠️ This config repo is constantly changing, Let me know if you see something that can be improved or done better 😄 .

💽 Usage

Install

To install NixOS on any of my devices I now use nixos-anywhere. You will need to be able to SSH to the target machine from where this command will be run. Load nix installer ISO if no OS on the device. You need to copy ssh keys onto the target machine mkdir -p ~/.ssh && curl https://github.com/hmajid2301.keys > ~/.ssh/authorized_keys in my case I can copy them from GitHub.

git clone [email protected]:hmajid2301/nixicle.git ~/nixicle/
cd nixcile

nix develop

nixos-anywhere --flake '.#workstation' [email protected] # Replace with your IP

After building it you can copy the ISO from the result folder to your USB. Then run nix_installer, which will then ask you which host you would like to install.

Building

To build my config for a specific host you can do something like:

git clone [email protected]:hmajid2301/nixicle.git ~/nixicle/
cd nixicle

nix develop

# To build system configuration (uses hostname to build flake)
nh os switch

# To build user configuration (uses hostname and username to build flake)
nh home switch

# Build ISO in result/ folder
nix build .#install-isoConfigurations.graphical

# Deploy my to remote server i.e. Home Lab (using SSH)
deploy .#ms01 --hostname ms01 --ssh-user nixos --skip-checks

# Build Home Lab diagram using nix-topology
nix build .#topology.config.output

🚀 Features

Some features of my config:

  • Structured to allow multiple NixOS configurations, including desktop, laptop and homelab
  • Custom live ISO for installing NixOS
  • Styling with stylix
  • Opt-in persistance through impermanence + blank snapshot
  • Encrypted BTRFS partition
  • sops-nix for secrets management
  • Different environments like hyprland and gnome
  • Custom Neovim setup declaratively using nixvim
  • Homelab all configured in nix.

🏠 Configurations

Hostname Board CPU RAM Primary GPU Role OS State
workstation X671E AORUS PRO X AMD Ryzen 9 7950X 64GB AMD Spectral White 7900 XTX 🖥️ ❄️
framework Framework 13th Gen AMD Intel® Core™ i7-1370P 32GB Intel Iris Graphics 💻️ ❄️
frandecpa63294006a Framework 13th Gen Intel AMD Ryzen™ 7 7840U 32GB Intel Iris Graphics 💻️ 🐧
vm QEMU - - VirGL 🐄 ❄️
steamdeck - Zen 2 16GB 8 RDNA 2 CUs 🎮️ 🐧
um790 UM790 AMD Ryzen 9 7940HS 64GB AMD Radeon™ 780M ☁️ ❄️
ms01 MS-01 i9-13900H 64GB Iris Xe Graphics ☁️ ❄️
s100 S100 N100 8GB Iris Xe Graphics ☁️ ❄️
vps QEMU (Hetzner shared) 2 VCPU 2GB VirGL 🐄 ❄️

Key

  • 🖥️ : Desktop
  • 💻️ : Laptop
  • 🎮️ : Games Machine
  • 🐄 : Virtual Machine
  • ☁️ : Server

🖼️ Showcase

Desktop

terminal swaync wallpaper monkeytype

Neovim

Telescope Editor Go Code CMP

Appendix

Inspired By