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 {
|
||||
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
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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.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;
|
||||
|
||||
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
|
||||
home.file = {
|
||||
".bashrc".text = ''
|
||||
|
||||
'';
|
||||
};
|
||||
|
||||
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
@@ -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