Some basics configurations for hyprland on nixos.
Includes configuration example for:
Includes:
chromiumcodiumgnome-text-editorgnome-calculatorseahorsenautilus
home-manager is used here to copy over some configuration files.
- clone the repository
- move the files into
/etc/nixosdirectory - edit variables in
hyprland.nixaccording to your setup (e.gNIXOS_VERSION,MAIN_USER) - https://github.com/JimJ92120/nixos-hyprland-module/blob/main/hyprland.nix#L3-L11 importmodule in/etc/nixos/configuration.nix
wayland.windowManager.hyprland.settings.monitor is not set, commented lines shows configurations for a 3 displays layout (left - center - right).
Edit ./files/waybar/config.jsonrc.
Edit temperature module accordingly with thermal-zone or hwmon-path accordingly.
# check `thermal-zone`
# see https://github.com/Alexays/Waybar/blob/master/resources/config.jsonc#L126
for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done
# check `hwmon-path`
# see https://github.com/Alexays/Waybar/blob/master/resources/config.jsonc#L127
for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; donecustom/gpu and custom/temperature_gpu are set for an Nvidia GPU.
Please edit the following according to the device hardware and needs:
"custom/gpu": {
"format": "{}%",
"interval": 5,
"return-type": "",
"exec": "nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader | sed 's/%//'"
},
"custom/temperature_gpu": {
"format": "{}°C",
"interval": 5,
"return-type": "",
"exec": "nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader"
},hyprshot is used to do screenshots (see key binding section below).
Screenshots are saved into ~/Pictures/Screenshots directory.
Directory can be set with with HYPRSHOT_DIR env variable:
wayland.windowManager.hyprland.settings.env = [
"HYPRSHOT_DIR, $HOME/Pictures/Screenshots"
];gnome-keyring is used here.
nwg-look is used to set themes, cursor styles, fonts, etc.
(screenshot example uses Gruvbox GTK Theme)
hyprpaper is used to set the wallpaper.
Update ./files/wallpaper.png if needed or set home-manager.users.${USERNAME}.services.hyprpaper.settings.wallpaper to another source.
(the current wallpaper comes from the nixos-artwork repository)
Edit ./files/kitty/kitty.conf.
Edit ./files/waybar/style.css.
Nautilus requires GTK_THEME env variable to be set with the current theme to apply it.
wayland.windowManager.hyprland.settings.env = [
"GTK_THEME, Dark-Gruvbox"
];SUPER + 1 |
open app launcher |
SUPER + 2 |
open code editor (codium) |
SUPER + 3 |
open browser (chromium) |
SUPER + 4 |
open text editor (gnome-text-editor) |
SUPER + MouseScroll |
move current window to next (up) or previous (down) workspace |
SUPER + Q |
close current window |
SUPER + M |
logout |
Print |
open screenshot utility (hypershot) |
See wayland.windowManager.hyprland.settings.bind* for more shortcuts.

