nixos/README.md
2024-10-08 12:34:50 +02:00

4.1 KiB


Nixy



Nixy is a Hyprland NixOS configuration with home-manager, secrets, and custom theming all in one place. It's a simple way to manage your system configuration and dotfiles.

I'm Hadi, a french developer, student in infosec, enthusiastic about nix, golang & blockchains. This is my own, keyboard-centric, and minimalistic NixOS configuration. I enable vim-like keybindings everywhere I can, and I use a lot of custom scripts to make my life easier.

Nixy key points:

  • Hyprecosystem first (hyprland, hyprlock, hyprpanel, hypridle, ...)
  • Stylix/base16 themes
  • Vim-like keybindings everywhere (hyprland, qutebrowser, nvim, ...)

Table of Content

nixy1 nixy2 nixy3

Architecture

🏠 home

Those are the dotfiles and configuration files for user-level configuration

Subfolders:

  • programs is a collection of apps configured with home-manager
  • scripts is a folder full of bash scripts (see SCRIPTS.md)
  • system is some "desktop environment" configuration

🐧 nixos

Those are the system-level configurations. (audio, bluetooth, gpu, bootloader, ...)

🎨 themes

Those are the themes used in the system configuration. Those themes are based on stylix.

💻 hosts

Those are the host-specific configurations. Each host contains a configuration.nix for system-level configuration, a home.nix for user-level configuration, and a variables.nix for config wide variables.

Installation

  1. Clone the repo
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
  1. Copy the hosts/laptop folder, rename it to your system name, and change the variables inside the variables.nix file
  2. Add your hardware-configuration.nix to your new host's folder
  3. Add your 'nixosConfigurations' inside flake.nix

[!INFO] I added few # CHANGEME comments in the files to help you find what to change. Be sure to check them up

Note

When you add new files, don't forget to run git add . to add them to the git repository

  1. Build the system
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname

Documentation