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 = [
|
||||
./home/hyprland.nix # Hyprland window manager user config
|
||||
./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; [
|
||||
intel-one-mono # Monospace font for coding
|
||||
noto-fonts # Comprehensive Unicode support
|
||||
noto-fonts-cjk-sans # CJK 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"
|
||||
# Enable desktop notifications
|
||||
"--dbus-user.talk=org.freedesktop.Notifications"
|
||||
# Allow access to downloads
|
||||
"--whitelist=/home/schulze/Nextcloud/Home-sync/Downloads"
|
||||
];
|
||||
};
|
||||
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
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
input = {
|
||||
kb_layout = "se";
|
||||
kb_variant = "";
|
||||
kb_model = "";
|
||||
kb_options = "";
|
||||
kb_rules = "";
|
||||
kb_file = "";
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
input = {
|
||||
kb_layout = "se";
|
||||
kb_variant = "";
|
||||
kb_model = "";
|
||||
kb_options = "";
|
||||
kb_rules = "";
|
||||
kb_file = "";
|
||||
|
||||
follow_mouse = 1;
|
||||
follow_mouse = 1;
|
||||
|
||||
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;
|
||||
sensitivity = 0;
|
||||
};
|
||||
};
|
||||
"$mod" = "SUPER";
|
||||
"$terminal" = "ghostty";
|
||||
"$filemanager" = "nautilus";
|
||||
"$menu" = "rofi -show drun";
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"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
|
||||
gitkraken
|
||||
git-filter-repo
|
||||
git-secrets
|
||||
python3
|
||||
hugo
|
||||
nodejs_22
|
||||
|
Reference in New Issue
Block a user