From 4bae0ce9227b2ff31126d0d3a0668c132cb1fbea Mon Sep 17 00:00:00 2001 From: Odweta Date: Sun, 18 Jan 2026 10:04:50 +0100 Subject: [PATCH] modularized :) --- TODO.md | 1 - flake.nix | 65 +++-- home.nix | 23 -- .../users/odweta}/bash.nix | 0 home/users/odweta/default.nix | 20 ++ .../users/odweta}/fastfetch.nix | 0 .../users/odweta}/git.nix | 0 home/users/odweta/gnome.nix | 19 ++ .../users/odweta}/keepass.nix | 0 .../users/odweta}/minecraft.nix | 0 .../users/odweta}/vim.nix | 0 .../users/odweta}/xdg.nix | 0 home/users/odweta/xournalpp.nix | 30 +++ homeManagerModules/hyprland.nix | 107 --------- homeManagerModules/kitty.nix | 80 ------- homeManagerModules/syncthing.nix | 7 - homeManagerModules/waybar.nix | 224 ------------------ homeManagerModules/xournalpp.nix | 7 - hosts/flippad/default.nix | 15 ++ .../flippad}/hardware-configuration.nix | 0 hosts/thiccpad/default.nix | 15 ++ .../hardware-configuration.nix} | 0 .../apps}/qbittorrent.nix | 0 {nixosModules => modules/apps}/steam.nix | 0 .../apps}/ungoogled-chromium.nix | 0 {nixosModules => modules/apps}/wine.nix | 0 {nixosModules => modules/core}/boot.nix | 0 {nixosModules => modules/core}/env-vars.nix | 0 .../core}/nix-settings.nix | 0 {nixosModules => modules/core}/security.nix | 0 {nixosModules => modules/core}/time.nix | 0 {nixosModules => modules/core}/users.nix | 0 {nixosModules => modules/desktop}/fonts.nix | 0 modules/desktop/gnome.nix | 44 ++++ modules/hardware/audio.nix | 17 ++ {nixosModules => modules/hardware}/opengl.nix | 0 {nixosModules => modules/hardware}/usb.nix | 0 modules/services/networking.nix | 7 + .../services}/openssh.nix | 0 .../services}/printing.nix | 0 modules/services/syncthing.nix | 13 + nixosModules/audio.nix | 16 -- nixosModules/bluetooth.nix | 11 - nixosModules/display-manager.nix | 27 --- nixosModules/hyprland-system.nix | 15 -- nixosModules/networking.nix | 6 - nixosModules/screen.nix | 9 - nixosModules/theme.nix | 64 ----- nixosModules/waybar-system.nix | 9 - 49 files changed, 209 insertions(+), 642 deletions(-) delete mode 100644 TODO.md delete mode 100644 home.nix rename {homeManagerModules => home/users/odweta}/bash.nix (100%) create mode 100644 home/users/odweta/default.nix rename {homeManagerModules => home/users/odweta}/fastfetch.nix (100%) rename {homeManagerModules => home/users/odweta}/git.nix (100%) create mode 100644 home/users/odweta/gnome.nix rename {homeManagerModules => home/users/odweta}/keepass.nix (100%) rename {homeManagerModules => home/users/odweta}/minecraft.nix (100%) rename {homeManagerModules => home/users/odweta}/vim.nix (100%) rename {homeManagerModules => home/users/odweta}/xdg.nix (100%) create mode 100644 home/users/odweta/xournalpp.nix delete mode 100644 homeManagerModules/hyprland.nix delete mode 100644 homeManagerModules/kitty.nix delete mode 100644 homeManagerModules/syncthing.nix delete mode 100644 homeManagerModules/waybar.nix delete mode 100644 homeManagerModules/xournalpp.nix create mode 100644 hosts/flippad/default.nix rename {nixosModules => hosts/flippad}/hardware-configuration.nix (100%) create mode 100644 hosts/thiccpad/default.nix rename hosts/{default/configuration.nix => thiccpad/hardware-configuration.nix} (100%) rename {nixosModules => modules/apps}/qbittorrent.nix (100%) rename {nixosModules => modules/apps}/steam.nix (100%) rename {nixosModules => modules/apps}/ungoogled-chromium.nix (100%) rename {nixosModules => modules/apps}/wine.nix (100%) rename {nixosModules => modules/core}/boot.nix (100%) rename {nixosModules => modules/core}/env-vars.nix (100%) rename {nixosModules => modules/core}/nix-settings.nix (100%) rename {nixosModules => modules/core}/security.nix (100%) rename {nixosModules => modules/core}/time.nix (100%) rename {nixosModules => modules/core}/users.nix (100%) rename {nixosModules => modules/desktop}/fonts.nix (100%) create mode 100644 modules/desktop/gnome.nix create mode 100644 modules/hardware/audio.nix rename {nixosModules => modules/hardware}/opengl.nix (100%) rename {nixosModules => modules/hardware}/usb.nix (100%) create mode 100644 modules/services/networking.nix rename {nixosModules => modules/services}/openssh.nix (100%) rename {nixosModules => modules/services}/printing.nix (100%) create mode 100644 modules/services/syncthing.nix delete mode 100644 nixosModules/audio.nix delete mode 100644 nixosModules/bluetooth.nix delete mode 100644 nixosModules/display-manager.nix delete mode 100644 nixosModules/hyprland-system.nix delete mode 100644 nixosModules/networking.nix delete mode 100644 nixosModules/screen.nix delete mode 100644 nixosModules/theme.nix delete mode 100644 nixosModules/waybar-system.nix diff --git a/TODO.md b/TODO.md deleted file mode 100644 index 57dd9c9..0000000 --- a/TODO.md +++ /dev/null @@ -1 +0,0 @@ -+ MODULARIZE as per vimjoyer diff --git a/flake.nix b/flake.nix index 113424d..76422e3 100644 --- a/flake.nix +++ b/flake.nix @@ -10,42 +10,35 @@ }; }; - outputs = { nixpkgs, home-manager, ... } @ inputs: - { - nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./nixosModules/audio.nix - ./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.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.odweta = import ./home.nix; - } - ]; + outputs = { nixpkgs, home-manager, ... } @ inputs: { + nixosConfigurations = { + + flippad = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./hosts/flippad + + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + 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; + } + ]; + }; + }; }; } diff --git a/home.nix b/home.nix deleted file mode 100644 index 883bcde..0000000 --- a/home.nix +++ /dev/null @@ -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 - ]; -} diff --git a/homeManagerModules/bash.nix b/home/users/odweta/bash.nix similarity index 100% rename from homeManagerModules/bash.nix rename to home/users/odweta/bash.nix diff --git a/home/users/odweta/default.nix b/home/users/odweta/default.nix new file mode 100644 index 0000000..fa1f656 --- /dev/null +++ b/home/users/odweta/default.nix @@ -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 + ]; +} diff --git a/homeManagerModules/fastfetch.nix b/home/users/odweta/fastfetch.nix similarity index 100% rename from homeManagerModules/fastfetch.nix rename to home/users/odweta/fastfetch.nix diff --git a/homeManagerModules/git.nix b/home/users/odweta/git.nix similarity index 100% rename from homeManagerModules/git.nix rename to home/users/odweta/git.nix diff --git a/home/users/odweta/gnome.nix b/home/users/odweta/gnome.nix new file mode 100644 index 0000000..2286146 --- /dev/null +++ b/home/users/odweta/gnome.nix @@ -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 = []; + }; + }; +} + diff --git a/homeManagerModules/keepass.nix b/home/users/odweta/keepass.nix similarity index 100% rename from homeManagerModules/keepass.nix rename to home/users/odweta/keepass.nix diff --git a/homeManagerModules/minecraft.nix b/home/users/odweta/minecraft.nix similarity index 100% rename from homeManagerModules/minecraft.nix rename to home/users/odweta/minecraft.nix diff --git a/homeManagerModules/vim.nix b/home/users/odweta/vim.nix similarity index 100% rename from homeManagerModules/vim.nix rename to home/users/odweta/vim.nix diff --git a/homeManagerModules/xdg.nix b/home/users/odweta/xdg.nix similarity index 100% rename from homeManagerModules/xdg.nix rename to home/users/odweta/xdg.nix diff --git a/home/users/odweta/xournalpp.nix b/home/users/odweta/xournalpp.nix new file mode 100644 index 0000000..fded6d6 --- /dev/null +++ b/home/users/odweta/xournalpp.nix @@ -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 + ''; +} diff --git a/homeManagerModules/hyprland.nix b/homeManagerModules/hyprland.nix deleted file mode 100644 index 397a649..0000000 --- a/homeManagerModules/hyprland.nix +++ /dev/null @@ -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" - ]; - }; - }; -} diff --git a/homeManagerModules/kitty.nix b/homeManagerModules/kitty.nix deleted file mode 100644 index cdffa81..0000000 --- a/homeManagerModules/kitty.nix +++ /dev/null @@ -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 - ''; - }; -} diff --git a/homeManagerModules/syncthing.nix b/homeManagerModules/syncthing.nix deleted file mode 100644 index 8223163..0000000 --- a/homeManagerModules/syncthing.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - home.packages = with pkgs; [ - syncthing - ]; -} diff --git a/homeManagerModules/waybar.nix b/homeManagerModules/waybar.nix deleted file mode 100644 index c69dd0b..0000000 --- a/homeManagerModules/waybar.nix +++ /dev/null @@ -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; - } - ''; - }; -} diff --git a/homeManagerModules/xournalpp.nix b/homeManagerModules/xournalpp.nix deleted file mode 100644 index 504975d..0000000 --- a/homeManagerModules/xournalpp.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - home.packages = with pkgs; [ - xournalpp - ]; -} diff --git a/hosts/flippad/default.nix b/hosts/flippad/default.nix new file mode 100644 index 0000000..e719d18 --- /dev/null +++ b/hosts/flippad/default.nix @@ -0,0 +1,15 @@ +{ ... }: + +{ + imports = [ + ./hardware-configuration.nix + + ../../modules/apps + ../../modules/core + ../../modules/deaktop + ../../modules/hardware + ../../modules/services + ]; + + networking.hostName = "endgame"; +} diff --git a/nixosModules/hardware-configuration.nix b/hosts/flippad/hardware-configuration.nix similarity index 100% rename from nixosModules/hardware-configuration.nix rename to hosts/flippad/hardware-configuration.nix diff --git a/hosts/thiccpad/default.nix b/hosts/thiccpad/default.nix new file mode 100644 index 0000000..e719d18 --- /dev/null +++ b/hosts/thiccpad/default.nix @@ -0,0 +1,15 @@ +{ ... }: + +{ + imports = [ + ./hardware-configuration.nix + + ../../modules/apps + ../../modules/core + ../../modules/deaktop + ../../modules/hardware + ../../modules/services + ]; + + networking.hostName = "endgame"; +} diff --git a/hosts/default/configuration.nix b/hosts/thiccpad/hardware-configuration.nix similarity index 100% rename from hosts/default/configuration.nix rename to hosts/thiccpad/hardware-configuration.nix diff --git a/nixosModules/qbittorrent.nix b/modules/apps/qbittorrent.nix similarity index 100% rename from nixosModules/qbittorrent.nix rename to modules/apps/qbittorrent.nix diff --git a/nixosModules/steam.nix b/modules/apps/steam.nix similarity index 100% rename from nixosModules/steam.nix rename to modules/apps/steam.nix diff --git a/nixosModules/ungoogled-chromium.nix b/modules/apps/ungoogled-chromium.nix similarity index 100% rename from nixosModules/ungoogled-chromium.nix rename to modules/apps/ungoogled-chromium.nix diff --git a/nixosModules/wine.nix b/modules/apps/wine.nix similarity index 100% rename from nixosModules/wine.nix rename to modules/apps/wine.nix diff --git a/nixosModules/boot.nix b/modules/core/boot.nix similarity index 100% rename from nixosModules/boot.nix rename to modules/core/boot.nix diff --git a/nixosModules/env-vars.nix b/modules/core/env-vars.nix similarity index 100% rename from nixosModules/env-vars.nix rename to modules/core/env-vars.nix diff --git a/nixosModules/nix-settings.nix b/modules/core/nix-settings.nix similarity index 100% rename from nixosModules/nix-settings.nix rename to modules/core/nix-settings.nix diff --git a/nixosModules/security.nix b/modules/core/security.nix similarity index 100% rename from nixosModules/security.nix rename to modules/core/security.nix diff --git a/nixosModules/time.nix b/modules/core/time.nix similarity index 100% rename from nixosModules/time.nix rename to modules/core/time.nix diff --git a/nixosModules/users.nix b/modules/core/users.nix similarity index 100% rename from nixosModules/users.nix rename to modules/core/users.nix diff --git a/nixosModules/fonts.nix b/modules/desktop/fonts.nix similarity index 100% rename from nixosModules/fonts.nix rename to modules/desktop/fonts.nix diff --git a/modules/desktop/gnome.nix b/modules/desktop/gnome.nix new file mode 100644 index 0000000..2d58439 --- /dev/null +++ b/modules/desktop/gnome.nix @@ -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; +} + diff --git a/modules/hardware/audio.nix b/modules/hardware/audio.nix new file mode 100644 index 0000000..ff316fa --- /dev/null +++ b/modules/hardware/audio.nix @@ -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; + }; +} diff --git a/nixosModules/opengl.nix b/modules/hardware/opengl.nix similarity index 100% rename from nixosModules/opengl.nix rename to modules/hardware/opengl.nix diff --git a/nixosModules/usb.nix b/modules/hardware/usb.nix similarity index 100% rename from nixosModules/usb.nix rename to modules/hardware/usb.nix diff --git a/modules/services/networking.nix b/modules/services/networking.nix new file mode 100644 index 0000000..5cadcb0 --- /dev/null +++ b/modules/services/networking.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: + +{ + networking.networkmanager.enable = true; + networking.networkmanager.wifi.enable = true; + networking.networkmanager.wireless.enable = true; +} diff --git a/nixosModules/openssh.nix b/modules/services/openssh.nix similarity index 100% rename from nixosModules/openssh.nix rename to modules/services/openssh.nix diff --git a/nixosModules/printing.nix b/modules/services/printing.nix similarity index 100% rename from nixosModules/printing.nix rename to modules/services/printing.nix diff --git a/modules/services/syncthing.nix b/modules/services/syncthing.nix new file mode 100644 index 0000000..253df55 --- /dev/null +++ b/modules/services/syncthing.nix @@ -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; +} + diff --git a/nixosModules/audio.nix b/nixosModules/audio.nix deleted file mode 100644 index 3ee2c35..0000000 --- a/nixosModules/audio.nix +++ /dev/null @@ -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; - }; -} diff --git a/nixosModules/bluetooth.nix b/nixosModules/bluetooth.nix deleted file mode 100644 index 2faecd3..0000000 --- a/nixosModules/bluetooth.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: - -{ - # Enable Bluetooth - hardware.bluetooth.enable = true; - hardware.bluetooth.powerOnBoot = false; - - environment.systemPackages = with pkgs; [ - blueman - ]; -} diff --git a/nixosModules/display-manager.nix b/nixosModules/display-manager.nix deleted file mode 100644 index 482f98b..0000000 --- a/nixosModules/display-manager.nix +++ /dev/null @@ -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 - ]; -} diff --git a/nixosModules/hyprland-system.nix b/nixosModules/hyprland-system.nix deleted file mode 100644 index 7d2b139..0000000 --- a/nixosModules/hyprland-system.nix +++ /dev/null @@ -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 ]; - }; -} diff --git a/nixosModules/networking.nix b/nixosModules/networking.nix deleted file mode 100644 index 669ff23..0000000 --- a/nixosModules/networking.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs, ... }: - -{ - networking.hostName = "nixos"; - networking.networkmanager.enable = true; -} diff --git a/nixosModules/screen.nix b/nixosModules/screen.nix deleted file mode 100644 index 429521c..0000000 --- a/nixosModules/screen.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: - -{ - programs.light.enable = true; - - environment.systemPackages = with pkgs; [ - brightnessctl - ]; -} diff --git a/nixosModules/theme.nix b/nixosModules/theme.nix deleted file mode 100644 index abf6560..0000000 --- a/nixosModules/theme.nix +++ /dev/null @@ -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 - ]; -} diff --git a/nixosModules/waybar-system.nix b/nixosModules/waybar-system.nix deleted file mode 100644 index dc04ad6..0000000 --- a/nixosModules/waybar-system.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - waybar - dunst - swww - ]; -}