Changed how additonal home manager modules are imported. Started work on desktop environment specific specialisations. Started actually configuring hyprland

This commit is contained in:
2025-11-11 10:59:44 +01:00
parent 12daec0fee
commit ee522bd869
12 changed files with 312 additions and 90 deletions

21
hyprland/autostart.nix Normal file
View File

@ -0,0 +1,21 @@
{ config, pkgs, ... }:
{
#to show logs of services run: journalctl --user-unit={service-name} --user
systemd.user.services.autostart-noctalia = {
enable = false;
description = "automatically start noctalia shell";
after = [ "graphical-session.target" ];
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = [ "qs -c noctalia-shell" ];
Restart = "on-failure";
RestartSec = "1s";
};
};
}

View File

@ -1,33 +1,27 @@
{pkgs, inputs, ...}:
{
imports = [
inputs.noctalia.homeModules.default
];
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
xwayland.enable = true;
#settings = {
# bind = [
# "SUPER, Space, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window"
# ];
#};
#settings = {
# bind = [
# "SUPER, Space, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window"
# ];
#};
extraConfig = builtins.readFile ./hyprland.conf;
#extraConfig =
# ''
# input {
# kb_layout = de
# # kb_variant =
# # kb_model =
# # kb_rules =
# # kb_options = caps:Super_L
# # follow_mouse = 1
# # accel_profile = flat
# # force_no_accel = true
# # touchpad {
# # natural_scroll = no
# #}
# #sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
# #}
# '';
extraConfig = builtins.readFile ./hyprland.conf;
};
programs = {
noctalia-shell = {
#enable = true;
systemd.enable = true;
};
};
}

View File

@ -37,10 +37,12 @@ $menu = wofi --show drun
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
#USE autostart.nix INSTEAD OF THIS!!!
# exec-once = $terminal
# exec-once = nm-applet &
# exec-once = waybar & hyprpaper & firefox
# exec-once = qs -c noctalia-shell
#############################
### ENVIRONMENT VARIABLES ###
@ -68,7 +70,7 @@ env = HYPRCURSOR_SIZE,24
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
#
#####################
### LOOK AND FEEL ###
#####################
@ -264,8 +266,8 @@ bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
#bind = $mainMod, S, togglespecialworkspace, magic
#bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1

View File

@ -1,15 +1,25 @@
{ config, pkgs, ... }:
{ config, inputs, pkgs, ... }:
{
imports = [
./autostart.nix
];
home-manager.sharedModules = [
./hyprland-home.nix
];
environment.systemPackages = with pkgs;
[
(waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
})
)
dunst
libnotify
hyprpaper
sway #Sway Wayland compositor
dunst
libnotify
hyprpaper
sway #Sway Wayland compositor
inputs.noctalia.packages.${system}.default
#inputs.noctalia.nixosModules.default
#kitty #Terminal (Already Included by default)
rofi-wayland #Search bar (Meta + Space)
@ -19,13 +29,15 @@
hyprland = {
enable = true;
xwayland.enable = true;
withUWSM = true;
withUWSM = false;
};
waybar.enable = true;
#rofi.enable = true;
};
# services.noctalia-shell.enable = true;
#services.xserver.enable = true;
#services.xserver.displayManager.sddm.enable = true;