modules step 1

This commit is contained in:
Odweta
2026-01-11 18:11:54 +01:00
parent 968df831c7
commit dd5b4fe5ed
9 changed files with 305 additions and 198 deletions
+7
View File
@@ -0,0 +1,7 @@
{ pkgs, ... }:
{
environment.variables = {
EDITOR = "vim";
}
}
+10 -3
View File
@@ -17,13 +17,20 @@
nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.odweta = import ./home.nix;
}
./configuration.nix # FIXME: MODULARIZE
./env-vars.nix
./git.nix
#./hardware-configuration.nix
./hyprland.nix
./kitty.nix
./theme.nix
./vim.nix
./xdg.nix
];
};
};
+11
View File
@@ -0,0 +1,11 @@
{ pkgs, ... }:
{
programs.git = {
enable = true;
settings.user = {
name = "Odweta";
email = "code.62rdl@aleeas.com";
};
};
}
+4 -194
View File
@@ -3,205 +3,15 @@
{
home.username = "odweta";
home.homeDirectory = "/home/odweta";
home.stateVersion = "25.05";
home.packages = with pkgs; [
];
home.sessionVariables = {
EDITOR = "vim";
};
programs.home-manager.enable = true;
wayland.windowManager.hyprland = {
enable = true;
home.file = {
".bashrc".text = ''
settings = {
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;
};
};
general = {
gaps_in = 5;
gaps_out = 10;
border_size = 2;
layout = "master";
};
master = {
mfact = 0.5;
};
decoration = {
rounding = 8;
blur = {
size = 3;
passes = 2;
};
};
misc = {
disable_hyprland_logo = true;
disable_splash_rendering = true;
};
"$mod" = "SUPER";
"$term" = "kitty";
"$menu" = "wofi --show run";
bind = [
"$mod SHIFT, RETURN, exec, $term"
"$mod SHIFT, C, killactive"
"$mod SHIFT, Q, exit"
"$mod, P, exec, $menu"
"$mod, mouse:272, movewindow"
"$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"
];
};
};
programs.wofi.enable = true;
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
'';
};
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
'';
};
programs.git = {
enable = true;
settings.user = {
name = "Odweta";
email = "code.62rdl@aleeas.com";
};
};
gtk = {
enable = true;
theme.name = "adw-gtk3";
cursorTheme.name = "Bibata-Modern-Ice";
iconTheme.name = "GruvboxPlus";
};
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" ];
};
#home.packages = with pkgs; [
#];
}
+101
View File
@@ -0,0 +1,101 @@
{ pkgs, ... }:
{
# program enables
programs.hyprland = {
enable = true;
withUSWM = true;
};
programs.hyprlock.enable = true;
programs.hypridle.enable = true;
programs.wofi.enable = true;
# some env vars for improvement
environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
WLR_NO_HARDWARE_CURSORS = "1";
};
# hypr packages
environment.systemPackages = with pkgs; [
hyprland
hypridle
hyprlock
hyprpaper
hyprpolkitagent
hyprcursor
];
# hyprland config
wayland.windowManager.hyprland = {
enable = true;
settings = {
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;
};
};
general = {
gaps_in = 5;
gaps_out = 10;
border_size = 2;
layout = "master";
};
master = {
mfact = 0.5;
};
decoration = {
rounding = 8;
blur = {
size = 3;
passes = 2;
};
};
misc = {
disable_hyprland_logo = true;
disable_splash_rendering = true;
};
"$mod" = "SUPER";
"$term" = "kitty";
"$menu" = "wofi --show run";
bind = [
"$mod SHIFT, RETURN, exec, $term"
"$mod SHIFT, C, killactive"
"$mod SHIFT, Q, exit"
"$mod, P, exec, $menu"
"$mod, mouse:272, movewindow"
"$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"
];
};
};
}
+80
View File
@@ -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
'';
};
}
+62
View File
@@ -0,0 +1,62 @@
{ pkgs, ... }:
{
# Enable Theme
environment.variables.GTK_THEME = "catppuccin-macchiato-teal-standard";
environment.variables.XCURSOR_THEME = "Catppuccin-Macchiato-Teal";
environment.variables.XCURSOR_SIZE = "24";
environment.variables.HYPRCURSOR_THEME = "Catppuccin-Macchiato-Teal";
environment.variables.HYPRCURSOR_SIZE = "24";
qt.enable = true;
qt.platformTheme = "gtk2";
qt.style = "gtk2";
console = {
earlySetup = true;
colors = [
"24273a"
"ed8796"
"a6da95"
"eed49f"
"8aadf4"
"f5bde6"
"8bd5ca"
"cad3f5"
"5b6078"
"ed8796"
"a6da95"
"eed49f"
"8aadf4"
"f5bde6"
"8bd5ca"
"a5adcb"
];
};
# Override packages
nixpkgs.config.packageOverrides = pkgs: {
colloid-icon-theme = pkgs.colloid-icon-theme.override { colorVariants = ["teal"]; };
catppuccin-gtk = pkgs.catppuccin-gtk.override {
accents = [ "teal" ]; # You can specify multiple accents here to output multiple themes
size = "standard";
variant = "macchiato";
};
discord = pkgs.discord.override {
withOpenASAR = true;
withTTS = true;
};
};
environment.systemPackages = with pkgs; [
numix-icon-theme-circle
colloid-icon-theme
catppuccin-gtk
catppuccin-kvantum
catppuccin-cursors.macchiatoTeal
# gnome.gnome-tweaks
# gnome.gnome-shell
# gnome.gnome-shell-extensions
# xsettingsd
# themechanger
];
}
+17
View File
@@ -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
'';
};
}
+12
View File
@@ -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" ];
};
}