No description
Find a file
2026-06-16 00:59:33 +03:00
hosts forgejo: runner module & setup for heliopolis 2026-06-16 00:59:33 +03:00
modules forgejo: runner module & setup for heliopolis 2026-06-16 00:59:33 +03:00
secrets forgejo: runner module & setup for heliopolis 2026-06-16 00:59:33 +03:00
users/vmohammad dont install everything on server 2026-05-22 23:51:35 +03:00
flake.lock follow nixpkgs for non-cached inputs 2026-06-13 01:02:36 +03:00
flake.nix follow nixpkgs for non-cached inputs 2026-06-13 01:02:36 +03:00
LICENSE Create LICENSE 2026-03-14 17:09:19 +03:00
README.md Update README.md 2026-05-30 18:20:21 +03:00
wallpaper.png refactor themes to use stylix 2026-03-07 17:20:12 +03:00

NixOS Configuration

my personal nixos config utilizing flakes & home-manager

features

  • hosts: main-desktop (gaming/dev) and server (self-hosted services)
  • WM/DE: hyprland, mango and plasma via boot specialisations
  • theme: rose pine via stylix
  • secrets: managed via agenix
  • formatting: alejandra

file structure

  • flake.nix: main flake.
  • hosts/: machine-specific configs and hardware settings.
  • users/: user-specific entrypoints.
  • secrets/: encrypted agenix keys.
  • modules/:
    • system/: system-wide modules (core, hardware, users).
    • home/: home manager config (shell, dev, programs, window managers).
    • desktops/: base configurations for hyprland, kde, and mango.
    • stylix.nix: themeing config.

installation

  1. clone:

    git clone https://github.com/vMohammad24/nixos-config.git ~/nixos-config
    cd ~/nixos-config
    
  2. apply your hardware-configuration.nix:

alot of stuff in this project is hardware-specfic, so you should generate a hardware-configuration.nix using the nixos-generate tool and place it in the hosts/(main-desktop/server) directory of the project.

modify /modules/system/hardware.nix and modules/home/windowManager/(hyprland/mango)/monitors.nix to match your system. make sure your ssh keys are set up to decrypt agenix secrets.

  1. build and switch:
    sudo nixos-rebuild switch --flake .#(main-desktop/server)