begin modularization
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
rebuild = "sudo nixos-rebuild switch --flake /home/odweta/nixos/#nixos";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.fastfetch.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings.user = {
|
||||
name = "Odweta";
|
||||
email = "code.62rdl@aleeas.com";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.wofi.enable = true;
|
||||
|
||||
# hypr packages
|
||||
home.packages = with pkgs; [
|
||||
hypridle
|
||||
hyprlock
|
||||
wofi
|
||||
xss-lock
|
||||
];
|
||||
|
||||
# some env vars for improvement
|
||||
home.sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
WLR_NO_HARDWARE_CURSORS = "1";
|
||||
};
|
||||
|
||||
# hyprland config
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
exec-once = [
|
||||
"waybar"
|
||||
"xss-lock -l hyprlock"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
"HDMI-A-2, 1920x1080@60, 0x0, 1"
|
||||
"eDP-1, 1920x1080@60, 0x1080, 1"
|
||||
];
|
||||
|
||||
input = {
|
||||
kb_layout = "us,cz";
|
||||
kb_variant = ",qwerty";
|
||||
kb_options = "grp:alt_shift_toggle";
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
};
|
||||
};
|
||||
|
||||
windowrule = [
|
||||
"float,title:\"nmtui-popup\""
|
||||
"center,title:\"nmtui-popup\""
|
||||
];
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
border_size = 2;
|
||||
layout = "master";
|
||||
};
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
mfact = 0.5;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 0;
|
||||
};
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
};
|
||||
|
||||
"$mod" = "SUPER";
|
||||
"$term" = "${pkgs.kitty}/bin/kitty";
|
||||
"$menu" = "${pkgs.wofi}/bin/wofi --show run";
|
||||
"$lock" = "${pkgs.hyprlock}/bin/hyprlock";
|
||||
|
||||
bind = [
|
||||
"$mod SHIFT, RETURN, exec, $term"
|
||||
"$mod SHIFT, C, killactive"
|
||||
"$mod SHIFT, Q, exit"
|
||||
"$mod, P, exec, $menu"
|
||||
|
||||
"$mod, L, exec, $lock"
|
||||
|
||||
"$mod, H, movefocus, l"
|
||||
"$mod, J, movefocus, r"
|
||||
"$mod, K, movefocus, u"
|
||||
"$mod, L, movefocus, d"
|
||||
|
||||
"$mod, 1, workspace, 1"
|
||||
"$mod, 2, workspace, 2"
|
||||
"$mod, 3, workspace, 3"
|
||||
"$mod, 4, workspace, 4"
|
||||
|
||||
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||
|
||||
", XF86MonBrightnessUp, exec, light -A 10"
|
||||
", XF86MonBrightnessDown, exec, light -U 10"
|
||||
|
||||
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_SINK@ 5%+"
|
||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_SINK@ 5%-"
|
||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
keepassxc
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
package = pkgs.kitty;
|
||||
|
||||
font = {
|
||||
name = "Hurmit Nerd Font Mono";
|
||||
size = 16.0;
|
||||
};
|
||||
|
||||
settings = {
|
||||
# Performance / rendering
|
||||
enable_audio_bell = "no";
|
||||
repaint_delay = 10;
|
||||
input_delay = 1;
|
||||
sync_to_monitor = "yes";
|
||||
|
||||
# Wayland
|
||||
wayland_enable_ime = "yes";
|
||||
linux_display_server = "wayland";
|
||||
|
||||
# Clipboard
|
||||
clipboard_control = "write-clipboard write-primary read-clipboard";
|
||||
|
||||
# Cursor
|
||||
cursor_shape = "block";
|
||||
cursor_blink_interval = 0;
|
||||
|
||||
# Scrollback
|
||||
scrollback_lines = 10000;
|
||||
|
||||
# Window
|
||||
remember_window_size = "yes";
|
||||
initial_window_width = "100c";
|
||||
initial_window_height = "30c";
|
||||
confirm_os_window_close = 0;
|
||||
|
||||
# Tabs
|
||||
tab_bar_style = "powerline";
|
||||
tab_powerline_style = "slanted";
|
||||
active_tab_font_style = "bold";
|
||||
inactive_tab_font_style = "normal";
|
||||
|
||||
# Shell
|
||||
shell = "${pkgs.bash}/bin/bash";
|
||||
|
||||
# Colors (example dark)
|
||||
background = "#0f111a";
|
||||
foreground = "#c0caf5";
|
||||
selection_background = "#33467c";
|
||||
selection_foreground = "#ffffff";
|
||||
};
|
||||
|
||||
keybindings = {
|
||||
"ctrl+shift+enter" = "new_window";
|
||||
"ctrl+shift+t" = "new_tab";
|
||||
"ctrl+shift+w" = "close_tab";
|
||||
"ctrl+shift+right" = "next_tab";
|
||||
"ctrl+shift+left" = "previous_tab";
|
||||
"ctrl+shift+up" = "increase_font_size";
|
||||
"ctrl+shift+down" = "decrease_font_size";
|
||||
"ctrl+shift+c" = "copy_to_clipboard";
|
||||
"ctrl+shift+v" = "paste_from_clipboard";
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
# Disable ligatures selectively (example)
|
||||
disable_ligatures never
|
||||
|
||||
# URL hints
|
||||
map ctrl+shift+u kitten hints
|
||||
|
||||
# Truecolor fix
|
||||
term xterm-kitty
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
prismlauncher
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
syncthing
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.vim = {
|
||||
enable = true;
|
||||
plugins = with pkgs.vimPlugins; [ vim-airline ];
|
||||
settings = { ignorecase = true; };
|
||||
extraConfig = ''
|
||||
set sw=2
|
||||
set ts=2
|
||||
set et
|
||||
set smartindent
|
||||
set number
|
||||
syntax on
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,224 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
|
||||
settings = [{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
|
||||
output = [ "HDMI-A-2" "eDP-1" ];
|
||||
|
||||
modules-left = [ "hyprland/workspaces" ];
|
||||
modules-center = [ "hyprland/window" ];
|
||||
modules-right = [ "bluetooth" "network" "pulseaudio" "backlight" "battery" "clock" "tray" ];
|
||||
|
||||
bluetooth = {
|
||||
format = "";
|
||||
format-on = "{icon}";
|
||||
format-off = "{icon}";
|
||||
format-connected = "{icon}";
|
||||
format-icons = {
|
||||
on ="";
|
||||
off = "";
|
||||
connected ="";
|
||||
};
|
||||
on-click = "blueman-manager";
|
||||
tooltip-format-connected = "{device_enumerate}";
|
||||
};
|
||||
|
||||
network = {
|
||||
format-wifi = "";
|
||||
format-ethernet = "";
|
||||
format-disconnected = "";
|
||||
interval = 5;
|
||||
tooltip-format = "{essid} ({signalStrength}%)";
|
||||
on-click = "kitty --title \"nmtui-popup\" -e nmtui";
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "{:%Y-%m-%d %H:%M}";
|
||||
};
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
all-outputs = false;
|
||||
disable-scroll = true;
|
||||
};
|
||||
}];
|
||||
|
||||
style = ''
|
||||
/* --- Global Styles --- */
|
||||
* {
|
||||
font-family: Hurmit Nerd Font Mono;
|
||||
font-size: 16px;
|
||||
min-height: 0;
|
||||
padding-right: 0px;
|
||||
padding-left: 0px;
|
||||
padding-bottom: 0px;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* --- Waybar Container --- */
|
||||
#waybar {
|
||||
background: transparent;
|
||||
color: #c6d0f5;
|
||||
margin: 0px;
|
||||
font-weight: 500;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* --- Left Modules (Individual, Fully Rounded Blocks - With Horizontal Spacing & Simple Hover) --- */
|
||||
#workspaces,
|
||||
#custom-uptime,
|
||||
#cpu {
|
||||
background-color: #1a1b26;
|
||||
padding: 0.3rem 0.7rem;
|
||||
margin: 5px 0px; /* 5px top/bottom margin, 0px left/right (base for individual control) */
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
||||
min-width: 0;
|
||||
border: none;
|
||||
/* Transition for background-color and color only */
|
||||
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
padding: 2px;
|
||||
margin-left: 7px; /* Margin from the far left edge */
|
||||
margin-right: 5px; /* Spacing after the workspaces module */
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
color: #babbf1;
|
||||
padding: 0.3rem 0.6rem;
|
||||
background: transparent;
|
||||
transition: all 0.2s ease-in-out;
|
||||
border: none;
|
||||
outline: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #99d1db;
|
||||
background-color: rgba(153, 209, 219, 0.1);
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: rgb(41, 42, 53); /* Reference bright hover color */
|
||||
color: #c6d0f5;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* --- Center Module (Individual, Fully Rounded Block - With Simple Hover) --- */
|
||||
#clock {
|
||||
background-color: #1a1b26;
|
||||
padding: 0.3rem 0.7rem;
|
||||
margin: 5px 0px;
|
||||
min-width: 0;
|
||||
border: none;
|
||||
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
/* Simple Hover effect for clock module - BRIGHTER COLOR */
|
||||
#clock:hover {
|
||||
background-color: rgba(153, 209, 219, 0.1); /* Brighter highlight */
|
||||
}
|
||||
|
||||
/* --- Right Modules (Single, Seamless Bar ) --- */
|
||||
#bluetooth,
|
||||
#pulseaudio,
|
||||
#backlight,
|
||||
#network,
|
||||
#battery {
|
||||
background-color: #1a1b26;
|
||||
padding: 0.3rem 0.7rem;
|
||||
margin: 5px 0px;
|
||||
box-shadow: none;
|
||||
min-width: 0;
|
||||
border: none;
|
||||
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
#bluetooth:hover,
|
||||
#pulseaudio:hover,
|
||||
#backlight:hover,
|
||||
#network:hover,
|
||||
#custom-lock:hover,
|
||||
#battery:hover {
|
||||
background-color: rgb(41, 42, 53);
|
||||
}
|
||||
|
||||
#bluetooth {
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
#battery {
|
||||
margin-right: 7px;
|
||||
}
|
||||
|
||||
#custom-uptime {
|
||||
color: #babbf1;
|
||||
}
|
||||
#cpu {
|
||||
color: #c6d0f5;
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: #99d1db;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: #c6d0f5;
|
||||
}
|
||||
#backlight {
|
||||
color: #c6d0f5;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: #c6d0f5;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
color: #e78284;
|
||||
}
|
||||
|
||||
#custom-lock {
|
||||
color: #babbf1;
|
||||
}
|
||||
#bluetooth {
|
||||
color: #888888;
|
||||
font-size: 16px;
|
||||
}
|
||||
#bluetooth.on {
|
||||
color: #2196f3;
|
||||
}
|
||||
#bluetooth.connected {
|
||||
color: #99d1db;
|
||||
}
|
||||
#battery {
|
||||
color: #99d1db;;
|
||||
}
|
||||
#battery.charging {
|
||||
color: #a6d189;
|
||||
}
|
||||
#battery.warning:not(.charging) {
|
||||
color: #e78284;
|
||||
}
|
||||
|
||||
/* --- Tooltip Styles --- */
|
||||
tooltip {
|
||||
background-color: #1a1b26;
|
||||
color: #dddddd;
|
||||
padding: 5px 12px;
|
||||
margin: 5px 0px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
|
||||
font-size: 12px;
|
||||
border-radius: 0;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
xdg.mimeApps.defaultApplications = {
|
||||
"text/plain" = [ "neovide.desktop" ];
|
||||
"applications/pdf" = [ "zathura.desktop" ];
|
||||
"image/*" = [ "sxiv.desktop" ];
|
||||
"video/png" = [ "mpv.desktop" ];
|
||||
"video/jpg" = [ "mpv.desktop" ];
|
||||
"video/*" = [ "mpv.desktop" ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
xournalpp
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user