NixOS configuration flake for all personal machines and servers for liv
Find a file
2025-06-08 14:52:07 +02:00
.github/assets chore: replace screenshot with a new one since a lot has changed 2025-05-11 21:35:52 +02:00
hosts feat: adds vnstat 2025-06-08 14:52:07 +02:00
modules chore: allow to use imv 2025-06-03 16:14:44 +02:00
overlays feat: get overlays working, but good this time 2024-10-18 20:36:14 +02:00
pkgs feat: adds information about repo to wikit package 2024-10-21 15:41:29 +02:00
roles feat: adds freecad to creative group 2025-06-03 16:14:23 +02:00
wallpapers feat: more wallpapers 2024-06-28 01:04:45 +02:00
.gitignore feat: ignore result 2025-03-26 15:10:55 +01:00
flake.lock flake: update (nixvim) 2025-05-27 19:25:42 +02:00
flake.nix chore: remove hyswipe, doesn't work anyways 2025-05-26 09:03:17 +02:00
install.sh add vm host (closes #13) 2024-05-19 18:28:51 +02:00
LICENSE feat: add my name to license file 2024-06-21 09:53:24 +02:00
README.md feat: adds lily to readme 2025-05-16 01:24:40 +02:00
variables.nix feat: adds email to variables file 2025-04-24 15:02:38 +02:00


Ahwxorg/NixOS-config


Screenshot last updated 2025-05-11

Overview

Warning

This flake/config has quite high "sometimes I want to quit technology and become a farmer" levels. Stability is not guaranteed.

Layout

  • flake.nix: base of the configuration
  • variables.nix: base variables useful for all hosts
  • hosts: per-host configurations that contain host specific settings
    • yoshino: Desktop (yoshino) specific configuration
    • sakura: Laptop (sakura) specific configuration
    • ichiyo: Laptop (ichiyo) specific configuration
    • violet: Server (violet) specific configuration
    • dandelion: Server (dandelion) specific configuration
    • lily: Router (lily) specific configuration
  • modules: modularized NixOS configurations
  • pkgs: packages exported by my flake
  • roles: roles to easier define tasks per host

Components

NixOS + Hyprland
Compositor hyprland
Bar waybar
Application launcher bemenu
Notification daemon swaync
Terminal emulator kitty
Shell zsh
Text editor neovim
Network management tool networkmanager
File manager thunar
Fonts nerd fonts
Lockscreen hyprlock
Image viewer nsxiv
Media player mpv
Screenshot software grimblast
Clipboard wl-clip-persist
Color picker hyprpicker

Shell aliases

NixOS (expand)

TODO: ${host} is one of the above-defined hosts

  • ns \rightarrow nix-shell --run zsh
  • nix-switch \rightarrow sudo nixos-rebuild switch --flake ~/nixos-config#${host}
  • nix-clean \rightarrow sudo nix-collect-garbage && sudo nix-collect-garbage -d && sudo rm /nix/var/nix/gcroots/auto/* && nix-collect-garbage && nix-collect-garbage -d

Scripts

All the scripts are in modules/home/scripts/scripts/ and are exported as packages in modules/home/scripts/default.nix

toggle_blur.sh

Description: This script toggles the Hyprland blur effect. If the blur is currently enabled, it will be disabled, and if it's disabled, it will be turned on.

Usage: toggle_blur

toggle_oppacity.sh

Description: This script toggles the Hyperland oppacity effect. If the oppacity is currently set to 0.90, it will be set to 1, and if it's set to 1, it will be set to 0.90.

Usage: toggle_oppacity

Installation

This is unchanged of Frost-Phoenix's dots, needs to be remade but don't feel like spending that time currently.

⚠️ Use this configuration at your own risk! ⚠️
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 on all systems.
> I am not responsible for any issues that may arise from using this configuration.

It is highly recommended to review the configuration contents and make necessary modifications to customize it to your needs before attempting the installation.

  1. Install NixOS

    First install nixos using any graphical ISO image.

  2. Clone the repo

    nix-shell -p git
    git clone https://github.com/ahwxorg/nixos-config
    cd nixos-config
    
  3. Install script

    TODO: change the install script to work with all hosts, allow for new host creation, etc.

    Execute and follow the installation script :

    ./install.sh
    
  4. Reboot

  5. Manual config

Even though I use home manager, there is still a little bit of manual configuration to do, namely SSH keys and browser configuration.

👥 Credits

Other dotfiles that I learned / copy from: