Compare commits
16 Commits
73ca522ca2
...
5f71082f15
Author | SHA1 | Date | |
---|---|---|---|
5f71082f15 | |||
611d99876b | |||
2662547e33 | |||
372ffa68f3 | |||
6a11a0c222 | |||
c85c696508 | |||
dba76ad5a0 | |||
8b88b8c995 | |||
08f87f8c31 | |||
cfd89cc881 | |||
82ecace79b | |||
b25bc627aa | |||
b8e8c688e5 | |||
c484adeccf | |||
ac7eebc5e5 | |||
383694543d |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
@@ -24,6 +24,8 @@
|
|||||||
users.schulze.imports = [
|
users.schulze.imports = [
|
||||||
./home/hyprland.nix # Hyprland window manager user config
|
./home/hyprland.nix # Hyprland window manager user config
|
||||||
./home/home-manager.nix # Base user environment
|
./home/home-manager.nix # Base user environment
|
||||||
|
./home/hyprlock.nix # Hyprlock screen lock user config
|
||||||
|
./home/rofi.nix # Rofi user config
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -161,7 +163,11 @@
|
|||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
intel-one-mono # Monospace font for coding
|
intel-one-mono # Monospace font for coding
|
||||||
noto-fonts # Comprehensive Unicode support
|
noto-fonts # Comprehensive Unicode support
|
||||||
|
noto-fonts-cjk-sans # CJK support
|
||||||
noto-fonts-emoji # Emoji support
|
noto-fonts-emoji # Emoji support
|
||||||
|
nerd-fonts.symbols-only # Symbols
|
||||||
|
fira-code # Monospace font for coding
|
||||||
|
fira-code-symbols # Symbols
|
||||||
];
|
];
|
||||||
|
|
||||||
# ================================
|
# ================================
|
||||||
@@ -188,6 +194,8 @@
|
|||||||
"--ignore=private-dev"
|
"--ignore=private-dev"
|
||||||
# Enable desktop notifications
|
# Enable desktop notifications
|
||||||
"--dbus-user.talk=org.freedesktop.Notifications"
|
"--dbus-user.talk=org.freedesktop.Notifications"
|
||||||
|
# Allow access to downloads
|
||||||
|
"--whitelist=/home/schulze/Nextcloud/Home-sync/Downloads"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
chromium = {
|
chromium = {
|
||||||
|
76
modules/gruvbox-theme.nix
Normal file
76
modules/gruvbox-theme.nix
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
# Gruvbox color scheme for NixOS configuration
|
||||||
|
{
|
||||||
|
gruvbox = {
|
||||||
|
# Backgrounds
|
||||||
|
bg0 = "#282828";
|
||||||
|
bg0_h = "#1d2021";
|
||||||
|
bg0_s = "#32302f";
|
||||||
|
bg1 = "#3c3836";
|
||||||
|
bg2 = "#504945";
|
||||||
|
bg3 = "#665c54";
|
||||||
|
bg4 = "#7c6f64";
|
||||||
|
|
||||||
|
# Foregrounds
|
||||||
|
fg0 = "#fbf1c7";
|
||||||
|
fg1 = "#ebdbb2";
|
||||||
|
fg2 = "#d5c4a1";
|
||||||
|
fg3 = "#bdae93";
|
||||||
|
fg4 = "#a89984";
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
red = "#cc241d";
|
||||||
|
green = "#98971a";
|
||||||
|
yellow = "#d79921";
|
||||||
|
blue = "#458588";
|
||||||
|
purple = "#b16286";
|
||||||
|
aqua = "#689d6a";
|
||||||
|
orange = "#d65d0e";
|
||||||
|
gray = "#928374";
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
bright_red = "#fb4934";
|
||||||
|
bright_green = "#b8bb26";
|
||||||
|
bright_yellow = "#fabd2f";
|
||||||
|
bright_blue = "#83a598";
|
||||||
|
bright_purple = "#d3869b";
|
||||||
|
bright_aqua = "#8ec07c";
|
||||||
|
bright_orange = "#fe8019";
|
||||||
|
};
|
||||||
|
|
||||||
|
gruvbox-rgb = {
|
||||||
|
# Backgrounds
|
||||||
|
bg0 = "40, 40, 40";
|
||||||
|
bg0_h = "29, 32, 33";
|
||||||
|
bg0_s = "50, 48, 47";
|
||||||
|
bg1 = "60, 56, 54";
|
||||||
|
bg2 = "80, 73, 69";
|
||||||
|
bg3 = "102, 92, 84";
|
||||||
|
bg4 = "124, 111, 100";
|
||||||
|
|
||||||
|
# Foregrounds
|
||||||
|
fg0 = "251, 241, 199";
|
||||||
|
fg1 = "235, 219, 178";
|
||||||
|
fg2 = "213, 196, 161";
|
||||||
|
fg3 = "189, 174, 147";
|
||||||
|
fg4 = "168, 153, 132";
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
red = "204, 36, 29";
|
||||||
|
green = "152, 151, 26";
|
||||||
|
yellow = "215, 153, 33";
|
||||||
|
blue = "69, 133, 136";
|
||||||
|
purple = "177, 98, 134";
|
||||||
|
aqua = "104, 157, 106";
|
||||||
|
orange = "214, 93, 14";
|
||||||
|
gray = "146, 131, 116";
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
bright_red = "251, 73, 52";
|
||||||
|
bright_green = "184, 187, 38";
|
||||||
|
bright_yellow = "250, 189, 47";
|
||||||
|
bright_blue = "131, 165, 152";
|
||||||
|
bright_purple = "211, 134, 155";
|
||||||
|
bright_aqua = "142, 192, 124";
|
||||||
|
bright_orange = "254, 128, 25";
|
||||||
|
};
|
||||||
|
}
|
@@ -1,97 +1,100 @@
|
|||||||
{
|
{
|
||||||
# Hyprland settings
|
# Hyprland settings
|
||||||
wayland.windowManager.hyprland.enable = true;
|
wayland.windowManager.hyprland = {
|
||||||
wayland.windowManager.hyprland.settings = {
|
enable = true;
|
||||||
input = {
|
settings = {
|
||||||
kb_layout = "se";
|
input = {
|
||||||
kb_variant = "";
|
kb_layout = "se";
|
||||||
kb_model = "";
|
kb_variant = "";
|
||||||
kb_options = "";
|
kb_model = "";
|
||||||
kb_rules = "";
|
kb_options = "";
|
||||||
kb_file = "";
|
kb_rules = "";
|
||||||
|
kb_file = "";
|
||||||
|
|
||||||
follow_mouse = 1;
|
follow_mouse = 1;
|
||||||
|
|
||||||
sensitivity = 0;
|
sensitivity = 0;
|
||||||
};
|
|
||||||
"$mod" = "SUPER";
|
|
||||||
"$terminal" = "ghostty";
|
|
||||||
"$filemanager" = "nautilus";
|
|
||||||
"$menu" = "rofi -show drun";
|
|
||||||
|
|
||||||
general = {
|
|
||||||
gaps_in = 4;
|
|
||||||
gaps_out = 4;
|
|
||||||
border_size = 1;
|
|
||||||
"col.active_border" = "rgba(fe8019ff) rgba(cc241dff) 45deg";
|
|
||||||
"col.inactive_border" = "rgba(7c6f64aa)";
|
|
||||||
layout = "dwindle";
|
|
||||||
allow_tearing = false;
|
|
||||||
};
|
|
||||||
decoration = {
|
|
||||||
rounding = 8;
|
|
||||||
rounding_power = 3.5;
|
|
||||||
blur = {
|
|
||||||
enabled = true;
|
|
||||||
xray = true;
|
|
||||||
size = 3;
|
|
||||||
passes = 4;
|
|
||||||
};
|
};
|
||||||
};
|
"$mod" = "SUPER";
|
||||||
|
"$terminal" = "ghostty";
|
||||||
|
"$filemanager" = "nautilus";
|
||||||
|
"$menu" = "rofi -show drun";
|
||||||
|
|
||||||
animations = {
|
general = {
|
||||||
enabled = true;
|
gaps_in = 4;
|
||||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
gaps_out = 4;
|
||||||
|
border_size = 1;
|
||||||
|
"col.active_border" = "rgba(fe8019ff) rgba(cc241dff) 45deg";
|
||||||
|
"col.inactive_border" = "rgba(7c6f64aa)";
|
||||||
|
layout = "dwindle";
|
||||||
|
allow_tearing = false;
|
||||||
|
};
|
||||||
|
decoration = {
|
||||||
|
rounding = 8;
|
||||||
|
rounding_power = 3.5;
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
xray = true;
|
||||||
|
size = 3;
|
||||||
|
passes = 4;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
animation = [
|
animations = {
|
||||||
"windows, 1, 7, myBezier"
|
enabled = true;
|
||||||
"windowsOut, 1, 7, default, popin 80%"
|
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||||
"border, 1, 10, default"
|
|
||||||
"borderangle, 1, 8, default"
|
animation = [
|
||||||
"fade, 1, 7, default"
|
"windows, 1, 7, myBezier"
|
||||||
"workspaces, 1, 6, default"
|
"windowsOut, 1, 7, default, popin 80%"
|
||||||
|
"border, 1, 10, default"
|
||||||
|
"borderangle, 1, 8, default"
|
||||||
|
"fade, 1, 7, default"
|
||||||
|
"workspaces, 1, 6, default"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
pseudotile = true;
|
||||||
|
preserve_split = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Bindings
|
||||||
|
bind =
|
||||||
|
[
|
||||||
|
"$mod, RETURN, exec, $terminal"
|
||||||
|
"$mod, C, killactive"
|
||||||
|
"$mod, E, exec, $filemanager"
|
||||||
|
"$mod, SPACE, exec, $menu"
|
||||||
|
", Print, exec, grimblast copy area"
|
||||||
|
"$mod, V, togglefloating"
|
||||||
|
"$mod, J, togglesplit, " # dwindle
|
||||||
|
"$mod, L, exec, hyprlock"
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
"$mod, left, movefocus, l"
|
||||||
|
"$mod, right, movefocus, r"
|
||||||
|
"$mod, up, movefocus, u"
|
||||||
|
"$mod, down, movefocus, d"
|
||||||
|
]
|
||||||
|
++ (
|
||||||
|
# workspaces
|
||||||
|
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
||||||
|
builtins.concatLists (builtins.genList (
|
||||||
|
i: let
|
||||||
|
ws = i + 1;
|
||||||
|
in [
|
||||||
|
"$mod, code:1${toString i}, workspace, ${toString ws}"
|
||||||
|
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
9)
|
||||||
|
);
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = [
|
||||||
|
"$mod, mouse:272, movewindow"
|
||||||
|
"$mod, mouse:273, resizewindow"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
dwindle = {
|
|
||||||
pseudotile = true;
|
|
||||||
preserve_split = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Bindings
|
|
||||||
bind =
|
|
||||||
[
|
|
||||||
"$mod, RETURN, exec, $terminal"
|
|
||||||
"$mod, C, killactive"
|
|
||||||
"$mod, E, exec, $filemanager"
|
|
||||||
"$mod, SPACE, exec, $menu"
|
|
||||||
", Print, exec, grimblast copy area"
|
|
||||||
"$mod, V, togglefloating"
|
|
||||||
"$mod, J, togglesplit, " # dwindle
|
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
|
||||||
"$mod, left, movefocus, l"
|
|
||||||
"$mod, right, movefocus, r"
|
|
||||||
"$mod, up, movefocus, u"
|
|
||||||
"$mod, down, movefocus, d"
|
|
||||||
]
|
|
||||||
++ (
|
|
||||||
# workspaces
|
|
||||||
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
|
||||||
builtins.concatLists (builtins.genList (
|
|
||||||
i: let
|
|
||||||
ws = i + 1;
|
|
||||||
in [
|
|
||||||
"$mod, code:1${toString i}, workspace, ${toString ws}"
|
|
||||||
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
|
||||||
]
|
|
||||||
)
|
|
||||||
9)
|
|
||||||
);
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
bindm = [
|
|
||||||
"$mod, mouse:272, movewindow"
|
|
||||||
"$mod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
73
modules/home/hyprlock.nix
Normal file
73
modules/home/hyprlock.nix
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
let
|
||||||
|
colors = import ../gruvbox-theme.nix;
|
||||||
|
in {
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
background = {
|
||||||
|
path = "$HOME/git/nixos/modules/home/images/sky.png";
|
||||||
|
blur_passes = 2;
|
||||||
|
contrast = 1;
|
||||||
|
brightness = 0.5;
|
||||||
|
vibrancy = 0.2;
|
||||||
|
vibrancy_darkness = 0.2;
|
||||||
|
};
|
||||||
|
|
||||||
|
# GENERAL
|
||||||
|
general = {
|
||||||
|
no_fade_in = false;
|
||||||
|
no_fade_out = false;
|
||||||
|
hide_cursor = true;
|
||||||
|
grace = 0;
|
||||||
|
disable_loading_bar = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# INPUT FIELD
|
||||||
|
input-field = {
|
||||||
|
monitor = "";
|
||||||
|
size = "250, 60";
|
||||||
|
outline_thickness = 2;
|
||||||
|
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||||
|
dots_spacing = 0.35; # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
|
dots_center = true;
|
||||||
|
outer_color = "rgba(${colors.gruvbox-rgb.blue}, 0.8)";
|
||||||
|
inner_color = "rgba(${colors.gruvbox-rgb.bg0}, 0.4)";
|
||||||
|
font_color = "rgba(${colors.gruvbox-rgb.fg1}, 1.0)";
|
||||||
|
placeholder_text = "Welcome $USER";
|
||||||
|
fade_on_empty = false;
|
||||||
|
rounding = -1;
|
||||||
|
check_color = "rgba(${colors.gruvbox-rgb.yellow}, 1.0)";
|
||||||
|
hide_input = false;
|
||||||
|
position = "0, -200";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
};
|
||||||
|
|
||||||
|
# DATE
|
||||||
|
label = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "cmd[update:10000] echo \"$(date +\"%A, %B %d\")\"";
|
||||||
|
color = "rgba(${colors.gruvbox-rgb.fg2}, 1.0)";
|
||||||
|
font_size = 34;
|
||||||
|
font_family = "Intel One Mono";
|
||||||
|
position = "0, 300";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
|
||||||
|
# TIME
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "cmd[update:2000] echo \"$(date +\"%H:%M\")\"";
|
||||||
|
color = "rgba(${colors.gruvbox-rgb.fg1}, 1.0)";
|
||||||
|
font_size = 94;
|
||||||
|
font_family = "Intel One Mono Bold";
|
||||||
|
position = "0, 200";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
BIN
modules/home/images/control-panel.png
(Stored with Git LFS)
Normal file
BIN
modules/home/images/control-panel.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
modules/home/images/forest.png
(Stored with Git LFS)
Normal file
BIN
modules/home/images/forest.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
modules/home/images/nix.png
(Stored with Git LFS)
Normal file
BIN
modules/home/images/nix.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
modules/home/images/sky.png
(Stored with Git LFS)
Normal file
BIN
modules/home/images/sky.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
modules/home/images/statue.png
(Stored with Git LFS)
Normal file
BIN
modules/home/images/statue.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
modules/home/images/sunset-rocks.png
(Stored with Git LFS)
Normal file
BIN
modules/home/images/sunset-rocks.png
(Stored with Git LFS)
Normal file
Binary file not shown.
12
modules/home/rofi.nix
Normal file
12
modules/home/rofi.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
theme = "gruvbox-dark";
|
||||||
|
font = "Intel One Mono";
|
||||||
|
modes = [
|
||||||
|
"drun"
|
||||||
|
"window"
|
||||||
|
];
|
||||||
|
terminal = "\${pkgs.ghostty}/bin/ghostty";
|
||||||
|
};
|
||||||
|
}
|
@@ -27,6 +27,7 @@
|
|||||||
code-cursor
|
code-cursor
|
||||||
gitkraken
|
gitkraken
|
||||||
git-filter-repo
|
git-filter-repo
|
||||||
|
git-secrets
|
||||||
python3
|
python3
|
||||||
hugo
|
hugo
|
||||||
nodejs_22
|
nodejs_22
|
||||||
|
Reference in New Issue
Block a user