modularized :)

This commit is contained in:
Odweta
2026-01-18 10:04:50 +01:00
parent 7b2365c5de
commit 4bae0ce922
49 changed files with 209 additions and 642 deletions
-1
View File
@@ -1 +0,0 @@
+ MODULARIZE as per vimjoyer
+21 -28
View File
@@ -10,42 +10,35 @@
}; };
}; };
outputs = { nixpkgs, home-manager, ... } @ inputs: outputs = { nixpkgs, home-manager, ... } @ inputs: {
{ nixosConfigurations = {
nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem {
flippad = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
./nixosModules/audio.nix ./hosts/flippad
./nixosModules/bluetooth.nix
./nixosModules/boot.nix
./nixosModules/display-manager.nix
./nixosModules/env-vars.nix
./nixosModules/fonts.nix
./nixosModules/hardware-configuration.nix
./nixosModules/hyprland-system.nix
./nixosModules/networking.nix
./nixosModules/nix-settings.nix
./nixosModules/opengl.nix
./nixosModules/openssh.nix
./nixosModules/printing.nix
./nixosModules/qbittorrent.nix
./nixosModules/screen.nix
./nixosModules/steam.nix
./nixosModules/security.nix
./nixosModules/theme.nix
./nixosModules/time.nix
./nixosModules/ungoogled-chromium.nix
./nixosModules/usb.nix
./nixosModules/users.nix
./nixosModules/waybar-system.nix
./nixosModules/wine.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/users/odweta;
} }
]; ];
}; };
thiccpad = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/thiccpad
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.odweta = import ./home/users/odweta;
}
];
};
};
}; };
} }
-23
View File
@@ -1,23 +0,0 @@
{ config, pkgs, ... }:
{
home.username = "odweta";
home.homeDirectory = "/home/odweta";
home.stateVersion = "25.05";
programs.home-manager.enable = true;
imports = [
./homeManagerModules/bash.nix
./homeManagerModules/fastfetch.nix
./homeManagerModules/git.nix
./homeManagerModules/hyprland.nix
./homeManagerModules/keepass.nix
./homeManagerModules/kitty.nix
./homeManagerModules/minecraft.nix
./homeManagerModules/syncthing.nix
./homeManagerModules/vim.nix
./homeManagerModules/waybar.nix
./homeManagerModules/xdg.nix
./homeManagerModules/xournalpp.nix
];
}
+20
View File
@@ -0,0 +1,20 @@
{ config, pkgs, ... }:
{
home.username = "odweta";
home.homeDirectory = "/home/odweta";
home.stateVersion = "25.05";
programs.home-manager.enable = true;
imports = [
./bash.nix
./fastfetch.nix
./git.nix
./gnome.nix
./keepass.nix
./minecraft.nix
./vim.nix
./xdg.nix
./xournalpp.nix
];
}
+19
View File
@@ -0,0 +1,19 @@
{ ... }:
{
dconf.settings = {
"org/gnome/desktop/interface" = {
enable-animations = false;
color-scheme = "prefer-dark";
};
"org/gnome/mutter" = {
dynamic-workspaces = true;
};
"org/gnome/shell" = {
favorite-apps = [];
};
};
}
+30
View File
@@ -0,0 +1,30 @@
{ pkgs, ... }:
{
programs.xournalpp.enable = true;
home.file.".config/xournalpp/palette.gpl" = ''
GIMP Palette
Name: Xournal Default Palette
#
0 0 0 Black
0 128 0 Green
0 192 255 Light Blue
0 255 0 Light Green
51 51 204 Blue
128 128 128 Gray
255 0 0 Red
255 0 255 Magenta
255 128 0 Orange
255 255 0 Yellow
255 255 255 White
'';
home.file.".config/xournalpp/toolbar.ini" = ''
[Custom Main]
toolbarTop1=SAVE,NEW,OPEN,SEPARATOR,SAVEPDF,PRINT,SEPARATOR,CUT,COPY,PASTE,SEPARATOR,UNDO,REDO,SEPARATOR,GOTO_FIRST,GOTO_BACK,GOTO_NEXT_ANNOTATED_PAGE,GOTO_NEXT,GOTO_LAST,INSERT_NEW_PAGE,DELETE_CURRENT_PAGE,SEPARATOR,FULLSCREEN,SEPARATOR,AUDIO_RECORDING,AUDIO_SEEK_BACKWARDS,AUDIO_PAUSE_PLAYBACK,AUDIO_STOP_PLAYBACK,AUDIO_SEEK_FORWARDS,SEPARATOR,SELECT_FONT
toolbarTop2=PEN,ERASER,HIGHLIGHTER,PDF_TOOL,IMAGE,TEXT,MATH_TEX,DRAW,SEPARATOR,ROTATION_SNAPPING,GRID_SNAPPING,SEPARATOR,SELECT,VERTICAL_SPACE,HAND,SETSQUARE,COMPASS,SEPARATOR,DEFAULT_TOOL,SEPARATOR,FINE,MEDIUM,THICK,SEPARATOR,TOOL_FILL,SEPARATOR,COLOR(0),COLOR(1),COLOR(2),COLOR(3),COLOR(4),COLOR(5),COLOR(6),COLOR(7),COLOR(8),COLOR(9),COLOR(10),COLOR_SELECT
toolbarBottom1=PAGE_SPIN,SEPARATOR,LAYER,SPACER,PAIRED_PAGES,PRESENTATION_MODE,ZOOM_100,ZOOM_FIT,ZOOM_OUT,ZOOM_SLIDER,ZOOM_IN
name=Custom Main
'';
}
-107
View File
@@ -1,107 +0,0 @@
{ 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, F, fullscreen"
"$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"
];
};
};
}
-80
View File
@@ -1,80 +0,0 @@
{ 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
'';
};
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
syncthing
];
}
-224
View File
@@ -1,224 +0,0 @@
{ 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;
}
'';
};
}
-7
View File
@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
xournalpp
];
}
+15
View File
@@ -0,0 +1,15 @@
{ ... }:
{
imports = [
./hardware-configuration.nix
../../modules/apps
../../modules/core
../../modules/deaktop
../../modules/hardware
../../modules/services
];
networking.hostName = "endgame";
}
+15
View File
@@ -0,0 +1,15 @@
{ ... }:
{
imports = [
./hardware-configuration.nix
../../modules/apps
../../modules/core
../../modules/deaktop
../../modules/hardware
../../modules/services
];
networking.hostName = "endgame";
}
+44
View File
@@ -0,0 +1,44 @@
{ config, pkgs, ... }:
{
# --- Display stack ---
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.displayManager.gdm.wayland = true;
services.xserver.desktopManager.gnome.enable = true;
# --- Strip GNOME to essentials ---
environment.gnome.excludePackages = with pkgs; [
gnome-tour
gnome-maps
gnome-weather
gnome-contacts
gnome-music
gnome-photos
gnome-calendar
gnome-characters
gnome-software
];
environment.systemPackages = with pkgs; [
gnome-tweaks
gnomeExtensions.appindicator
];
# --- Fonts ---
fonts.packages = with pkgs; [
cantarell-fonts
dejavu_fonts
noto-fonts
];
# --- Input ---
services.xserver.libinput.enable = true;
# --- Power ---
services.power-profiles-daemon.enable = true;
# --- Explicitly NO Flatpak ---
services.flatpak.enable = false;
}
+17
View File
@@ -0,0 +1,17 @@
{ config, pkgs, ... }:
{
# bluetooth for headphones
services.bluez.enable = true;
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = false;
# enable pipewire
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = false;
};
}
+7
View File
@@ -0,0 +1,7 @@
{ pkgs, ... }:
{
networking.networkmanager.enable = true;
networking.networkmanager.wifi.enable = true;
networking.networkmanager.wireless.enable = true;
}
+13
View File
@@ -0,0 +1,13 @@
{ config, pkgs, ... }:
{
# Enable Syncthing systemd service for a user
services.syncthing.enable = true;
# Specify the system user who will run Syncthing
services.syncthing.user = "odweta";
# Optional: start automatically at boot
services.syncthing.enableAutostart = false;
}
-16
View File
@@ -1,16 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
pipewire
wireplumber
];
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
}
-11
View File
@@ -1,11 +0,0 @@
{ pkgs, ... }:
{
# Enable Bluetooth
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = false;
environment.systemPackages = with pkgs; [
blueman
];
}
-27
View File
@@ -1,27 +0,0 @@
{ pkgs, ... }:
{
# Enable Display Manager
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.tuigreet}/bin/tuigreet \
--time --time-format '%I:%M %p | %a %h | %F' \
--cmd 'uwsm start hyprland'";
user = "greeter";
};
};
};
users.users.greeter = {
isNormalUser = false;
description = "greetd greeter user";
extraGroups = [ "video" "audio" ];
linger = true;
};
environment.systemPackages = with pkgs; [
tuigreet
];
}
-15
View File
@@ -1,15 +0,0 @@
{ config, pkgs, ... }:
{
# program enable
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
# xdg portal for hyprland
xdg.portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
};
}
-6
View File
@@ -1,6 +0,0 @@
{ pkgs, ... }:
{
networking.hostName = "nixos";
networking.networkmanager.enable = true;
}
-9
View File
@@ -1,9 +0,0 @@
{ pkgs, ... }:
{
programs.light.enable = true;
environment.systemPackages = with pkgs; [
brightnessctl
];
}
-64
View File
@@ -1,64 +0,0 @@
{ pkgs, ... }:
{
# Enable Theme
environment.sessionVariables = {
GTK_THEME = "catppuccin-macchiato-teal-standard";
XCURSOR_THEME = "catppuccin-macchiato-teal-cursors";
XCURSOR_SIZE = "24";
HYPRCURSOR_THEME = "catppuccin-macchiato-teal-cursors";
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
];
}
-9
View File
@@ -1,9 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
waybar
dunst
swww
];
}