Add home manager

This commit is contained in:
2026-03-16 21:14:43 +01:00
parent 7175a457c7
commit d4b7339804
26 changed files with 740 additions and 0 deletions

13
home/wm/cursor.nix Normal file
View File

@@ -0,0 +1,13 @@
{ pkgs, ... }:
{
home.pointerCursor = {
# name = "Bibata-Modern-Ice"; # change to your cursor theme
# package = pkgs.bibata-cursors;
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
size = 24;
gtk.enable = true;
x11.enable = true;
};
}

16
home/wm/dconf.nix Normal file
View File

@@ -0,0 +1,16 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
dconf
];
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
};
}

26
home/wm/gtk.nix Normal file
View File

@@ -0,0 +1,26 @@
{ pkgs, ... }:
{
gtk = {
enable = true;
theme = {
name = "Orchis-dark";
package = pkgs.orchis-theme;
};
iconTheme = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
};
cursorTheme = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
};
};
home.sessionVariables = {
GTK_THEME = "Adwaita:dark"; # GTK apps dark theme
MOZ_GTK_THEME = "Adwaita:dark"; # Firefox respects this
GDK_DARK_THEME = "1"; # GTK4 apps dark mode
CHROME_FORCE_DARK_MODE = "1"; # Chromium / Chrome dark mode
};
}

143
home/wm/hyprland.nix Normal file
View File

@@ -0,0 +1,143 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
bzmenu
hyprshot
hyprlock
playerctl
speedcrunch
];
wayland.windowManager.hyprland = {
enable = true;
settings = {
### MONITOR
monitor = [
",preferred,auto,1"
];
### VARIABLES
"$mod" = "SUPER";
"$terminal" = "kitty";
"$menu" = "rofi -show drun";
"$bluetoothMenu" = "bzmenu --launcher rofi";
"$files" = "rofi -show filebrowser";
### BASIC LAYOUT
general = {
layout = "dwindle";
resize_on_border = true;
};
decoration = {
inactive_opacity = 0.8;
active_opacity = 0.9;
rounding = 5;
rounding_power = 2.5;
blur = {
enabled = true;
brightness = 1.0;
contrast = 1.0;
noise = 0.01;
vibrancy = 0.2;
vibrancy_darkness = 0.5;
passes = 4;
size = 7;
popups = true;
popups_ignorealpha = 0.2;
};
shadow = {
enabled = true;
color = "rgba(00000055)";
ignore_window = true;
offset = "0 15";
range = 100;
render_power = 2;
scale = 0.97;
};
};
exec-once = [
"waybar"
];
### INPUT
input = {
kb_layout = "us";
};
### KEYBINDINGS
bind = [
# Apps
"$mod, RETURN, exec, $terminal"
"$mod, D, exec, $menu"
"$mod, B, exec, $bluetoothMenu"
"$mod, G, exec, $files"
"$mod, Q, killactive"
"$mod, F, fullscreen"
"$mod, M, exit"
"$mod, L, exec, hyprlock"
# show/hide waybar
"$mod, W, exec, pkill -SIGUSR1 -f '^waybar$'"
# Focus
"$mod, LEFT, movefocus, l"
"$mod, RIGHT, movefocus, r"
"$mod, UP, movefocus, u"
"$mod, DOWN, movefocus, d"
# Workspaces
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, 9, movetoworkspace, 9"
# Window movement
"$mod SHIFT, LEFT, movewindow, l"
"$mod SHIFT, RIGHT, movewindow, r"
"$mod SHIFT, UP, movewindow, u"
"$mod SHIFT, DOWN, movewindow, d"
# Hyprshot
"$mod, Z, exec, hyprshot -m region"
# Media keys
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
", XF86AudioNext, exec, playerctl next"
", XF86AudioPrev, exec, playerctl previous"
", XF86Calculator, exec, speedcrunch"
];
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
};
};
}

22
home/wm/hyprpaper.nix Normal file
View File

@@ -0,0 +1,22 @@
{ config, pkgs, ... }:
let
wallpaper = builtins.toString ../backgrounds/monkey.jpg;
wallpaper2 = builtins.toString ../backgrounds/bird.jpg;
in
{
services.hyprpaper = {
enable = true;
settings = {
preload = [
wallpaper
wallpaper2
];
wallpaper = [
"DP-2,${wallpaper2}"
",${wallpaper}"
];
};
};
}

13
home/wm/rofi.nix Normal file
View File

@@ -0,0 +1,13 @@
{ pkgs, ... }:
{
home.packages = [
pkgs.rofi-file-browser
];
programs.rofi = {
enable = true;
theme = "material";
terminal = "${pkgs.kitty}/bin/kitty";
};
}

67
home/wm/waybar.nix Normal file
View File

@@ -0,0 +1,67 @@
{ pkgs, ... }:
{
programs.waybar = {
enable = true;
style = builtins.readFile ./waybar/waybar-style.css;
settings.mainBar = {
layer = "top";
position = "top";
height = 30;
modules-left = [
"hyprland/workspaces"
"mpris"
];
modules-center = [
"wlr/taskbar"
];
modules-right = [
"pulseaudio"
"cpu"
"tray"
"clock"
];
pulseaudio = {
format = "{icon} {volume}%";
format-muted = "󰝟 muted";
tooltip = false;
scroll-step = 5;
format-icons = {
default = [ "󰕿" "󰖀" "󰕾" ];
};
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
};
mpris = {
player = "spotify";
format = "{player_icon} {artist} - {title}";
format-paused = "{player_icon} {title}";
tooltip = true;
ignored-players = [ "firefox" "vlc" ];
};
cpu = {
format = " {usage}%";
tooltip = false;
};
clock = {
tooltip = false;
};
"wlr/taskbar" = {
format = "{icon} {name}";
on-click = "activate";
};
};
};
}

View File

@@ -0,0 +1,82 @@
/* ---------------------------
Default Waybar Styling
--------------------------- */
* {
color: #ffffff;
}
menu {
background-color: #222222;
border-radius: 8px;
border: 1px solid #313244;
}
menu menuitem {
padding: 6px 12px;
color: #cdd6f4;
}
menu menuitem:hover {
background-color: #45475a;
}
/* General bar */
#waybar {
background-color: #222222; /* Default dark gray bar */
color: #ffffff; /* Default text color */
}
/* Modules */
.module {
margin: 0 4px;
}
/* Hover effect (minimal) */
.module:hover {
opacity: 0.8;
}
/* Separators */
.separator {
margin: 0 2px;
}
#taskbar button {
background: transparent;
border: none;
box-shadow: none;
}
#taskbar button:hover {
background-color: rgba(180, 190, 254, 0.15);
border-radius: 6px;
}
#taskbar button.active {
background-color: rgba(180, 190, 254, 0.3);
}
/* Workspace buttons */
#workspaces button {
background: transparent;
border: none;
box-shadow: none;
}
/* Hover */
#workspaces button:hover {
background-color: rgba(180, 190, 254, 0.15);
border-radius: 6px;
}
/* Active workspace */
#workspaces button.active {
background-color: rgba(180, 190, 254, 0.35);
}
/* Icons */
i {
margin-right: 2px;
}