/dots

orangc's dotfiles - NixOS + Hyprland

Primary LanguageNix

orangc's flake

A smol (not really small; excluding my home folder it is 44GB, I'm trying to reduce this) n' cozy NixOS with Hyprland flake.

Screenshots

Rofi

Bindings Application launcher Wallpaper selector

Hyprlock

Lockscreen 1 Lockscreen 2

Minecraft launcher

Minecraft launcher

ags & thunar

ags-thunar

Discord

Discord

nvim

nvim

wlogout

wlogout

firefox & nighttab

firefox

Installation

Run this command in your terminal and the script will handle the rest. Note that this won't work for non NixOS users. If the script breaks in anyway, please make an issue and notify me. It shouldn't, though.

nix-shell -p curl # You can skip to the next line if you already have curl installed.
sh <(curl -L https://raw.githubusercontent.com/orxngc/dots/main/install.sh)

Note: I strongly advise you to read the code of the script here before running it. Always read and thoroughly check scripts you see online for your own safety..!

Press SUPER + ? to open a list of all keybindings.

Structure Overview

This is a very modular flake.

  • .github The assets files for the README.
  • files Files which various home-manager modules utilize.
    • fonts This is where you can place fonts that are not available in nixpkgs.
  • hm-modules All home-manager modules are stored in here.
    • core Important things, like the hyprland module.
    • programs The majority of program modules.
    • styles Now this one you should touch. A big chunk of the system is themed here (the rest are themed in hm-modules/programs).
  • hosts This is where each host's unique configurations go. You can configure/toggle the different modules and hm-modules for each host here.
  • modules NixOS system modules.
    • core There's no reason to touch this.
    • drivers Again, no reason to touch these.
    • programs Honestly not a reason to touch these either.
  • scripts This is where I store all my scripts.
  • flake.nix Where the flake begins, the lovely starting pont.

Programs

Here's a list of some of the programs you'll find used here.
  • hyprland
  • rofi
  • neovim
  • vscodium
  • thunar
  • kitty
  • ags
  • firefox
  • hyprlock

Todo

Completed
  • Write an installation script.
  • Create a rofi wallpaper selector thing.
  • Make swaync notifications pretty.
  • Make those annoying folders in $HOME disappear, they aren't welcome.
  • Add something that lists all the keybindings.
  • Move back to SDDM or some other DM because I want something pretty.
  • Update README screenshots.
  • Make a screen recording script with wf-recorder.
  • Cleanup/optimize the flake — try to make it take up less disk space.
  • Make both browsers declarative.
  • Fix the installation script.
  • Fix MIME types.
  • Restructure the flake and make it modular.
  • Make Vencord fully declarative.
  • Use the VScodium home-manager module to its fullest extent.
  • Make Hyprpanel fully declarative; also maybe make a PR that adds home-manager options to that flake.
  • Switch to standalone home-manager.
  • Implement impermanence. It seems pretty nice.
  • Make Stylix theme 100% of everything, not 80%.
  • Figure out a way to make Firefox extension data declarative. I've already made installing extensions declarative.
  • Figure out how to deal with secrets.
  • Make the flake more.. nixy. This is, I'd say, 70% done. I still have things to do like make my Hyprland config use the home-manager module in a nixy sort of way.

Last but not least, credits!

Thank you!