modules step 1
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
environment.variables = {
|
||||||
|
EDITOR = "vim";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,13 +17,20 @@
|
|||||||
nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem {
|
nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./configuration.nix
|
home-manager.nixosModules.home-manager {
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.odweta = import ./home.nix;
|
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
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
settings.user = {
|
||||||
|
name = "Odweta";
|
||||||
|
email = "code.62rdl@aleeas.com";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -3,205 +3,15 @@
|
|||||||
{
|
{
|
||||||
home.username = "odweta";
|
home.username = "odweta";
|
||||||
home.homeDirectory = "/home/odweta";
|
home.homeDirectory = "/home/odweta";
|
||||||
|
|
||||||
home.stateVersion = "25.05";
|
home.stateVersion = "25.05";
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
EDITOR = "vim";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
home.file = {
|
||||||
enable = true;
|
".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 = {
|
#home.packages = with pkgs; [
|
||||||
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" ];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
+101
@@ -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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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,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
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -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,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" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user