diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/home/hyprland/chernobyl/default.nix | 3 | ||||
| -rw-r--r-- | modules/home/hyprland/chernobyl/dunst.nix | 39 | ||||
| -rw-r--r-- | modules/home/hyprland/chernobyl/hyprland.nix | 12 | ||||
| -rw-r--r-- | modules/home/hyprland/default.nix | 10 | ||||
| -rw-r--r-- | modules/home/i3wm/default.nix | 1 | ||||
| -rw-r--r-- | modules/nixos/base/boot.nix | 46 | ||||
| -rw-r--r-- | modules/nixos/base/default.nix | 16 | ||||
| -rw-r--r-- | modules/nixos/base/graphics.nix | 19 | ||||
| -rw-r--r-- | modules/nixos/base/networking.nix | 20 | ||||
| -rw-r--r-- | modules/nixos/base/nix.nix | 17 | ||||
| -rw-r--r-- | modules/nixos/base/packages.nix | 124 | ||||
| -rw-r--r-- | modules/nixos/base/programs.nix | 17 | ||||
| -rw-r--r-- | modules/nixos/base/services.nix | 16 | ||||
| -rw-r--r-- | modules/nixos/base/users.nix | 12 |
14 files changed, 339 insertions, 13 deletions
diff --git a/modules/home/hyprland/chernobyl/default.nix b/modules/home/hyprland/chernobyl/default.nix index 915c8c1..68ffecc 100644 --- a/modules/home/hyprland/chernobyl/default.nix +++ b/modules/home/hyprland/chernobyl/default.nix @@ -2,6 +2,9 @@ { imports = [ + ./dunst.nix + ./fastfetch.nix + ./hyprland.nix ./kitty.nix ]; }
\ No newline at end of file diff --git a/modules/home/hyprland/chernobyl/dunst.nix b/modules/home/hyprland/chernobyl/dunst.nix index 98329dd..b51a4a8 100644 --- a/modules/home/hyprland/chernobyl/dunst.nix +++ b/modules/home/hyprland/chernobyl/dunst.nix @@ -3,5 +3,42 @@ { services.dunst = { enable = true; - } + settings = let + colors = { + foreground = "#d0b6fd"; + background = "#1c182d"; + alert = "#7b91fc"; + }; + in { + global = { + width = "(200,300)"; + height = "(0,150)"; + offset = "(30,50)"; + origin = "bottom-right"; + transparency = 10; + frame_width = 0; + font = "Fira Code 10"; + }; + + urgency_low = { + background = colors.background; + foreground = colors.foreground; + timeout = 8; + }; + + urgency_normal = { + background = colors.background; + foreground = colors.foreground; + frame-size = "0"; + timeout = 10; + }; + + urgency_critical = { + background = colors.background; + foreground = colors.foreground; + frame-size = "5"; + frame-color = colors.alert; + }; + }; + }; }
\ No newline at end of file diff --git a/modules/home/hyprland/chernobyl/hyprland.nix b/modules/home/hyprland/chernobyl/hyprland.nix index 5347a3b..8712df9 100644 --- a/modules/home/hyprland/chernobyl/hyprland.nix +++ b/modules/home/hyprland/chernobyl/hyprland.nix @@ -4,16 +4,4 @@ programs.hyprland = { enable = true; }; - - environment.systemPackages = with pkgs; [ - # QT Support - qt6.qtwayland - qt6.qttools - - # XDG Support - xdg-desktop-portal-hyprland - - # Auth Demon - hyprpolkitagent -]; }
\ No newline at end of file diff --git a/modules/home/hyprland/default.nix b/modules/home/hyprland/default.nix new file mode 100644 index 0000000..b54f464 --- /dev/null +++ b/modules/home/hyprland/default.nix @@ -0,0 +1,10 @@ +{ ... }: + +{ + # Hyprland home-manager configuration orchestrator + # Uncomment one of the rices below: + imports = [ + #./default.nix # main hyprland rice + ./chernobyl/default.nix # chernobyl hyprland rice + ]; +} diff --git a/modules/home/i3wm/default.nix b/modules/home/i3wm/default.nix index 6fef12b..c861b04 100644 --- a/modules/home/i3wm/default.nix +++ b/modules/home/i3wm/default.nix @@ -1,6 +1,7 @@ { ... }: { + # i3wm home-manager configuration orchestrator imports = [ ./dunst.nix ./i3.nix diff --git a/modules/nixos/base/boot.nix b/modules/nixos/base/boot.nix new file mode 100644 index 0000000..a9aaff1 --- /dev/null +++ b/modules/nixos/base/boot.nix @@ -0,0 +1,46 @@ +{ config, lib, pkgs, ... }: + +{ + boot = { + kernelPackages = pkgs.linuxPackages_latest; + initrd = { + kernelModules = [ "i915" ]; + systemd.enable = true; + }; + loader = { + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot"; + }; + grub = { + enable = true; + device = "nodev"; + useOSProber = true; + efiSupport = true; + }; + systemd-boot = { + enable = false; + consoleMode = "keep"; + configurationLimit = 5; + }; + }; + plymouth = { + enable = false; + theme = "deus_ex"; + themePackages = with pkgs; [ + (adi1090x-plymouth-themes.override { + selected_themes = [ "deus_ex" ]; + }) + ]; + logo = pkgs.fetchurl { + url = "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fcdn.icon-icons.com%2Ficons2%2F2699%2FPNG%2F512%2Fnixos_logo_icon_170910.png&f=1&nofb=1&ipt=71345d68f1fc864748db54e81111d5853a24fba1d39bdee7cc6fda3e58181bc0"; + sha256 = "sha256-fr1ZnKdX9EeXl2eTIrxEd17DkVKZL8BV9RGmluSgFfk="; + }; + extraConfig = '' + DeviceScale=1 + ''; + }; + }; + + fileSystems."/boot".options = [ "fmask=0077" "dmask=0077" ]; +} diff --git a/modules/nixos/base/default.nix b/modules/nixos/base/default.nix new file mode 100644 index 0000000..2a70d3b --- /dev/null +++ b/modules/nixos/base/default.nix @@ -0,0 +1,16 @@ +{ ... }: + +{ + imports = [ + ./nix.nix + ./boot.nix + ./networking.nix + ./users.nix + ./services.nix + ./programs.nix + ./graphics.nix + ./packages.nix + ]; + + system.stateVersion = "25.11"; +} diff --git a/modules/nixos/base/graphics.nix b/modules/nixos/base/graphics.nix new file mode 100644 index 0000000..e2913fe --- /dev/null +++ b/modules/nixos/base/graphics.nix @@ -0,0 +1,19 @@ +{ config, lib, pkgs, ... }: + +{ + services.xserver.videoDrivers = [ "intel" ]; + + hardware.graphics = { + enable = true; + extraPackages = with pkgs; [ + intel-vaapi-driver + intel-media-driver + intel-compute-runtime + mesa + ]; + }; + + environment.variables = { + JAVA_HOME = "${pkgs.jdk17}/lib/openjdk"; + }; +} diff --git a/modules/nixos/base/networking.nix b/modules/nixos/base/networking.nix new file mode 100644 index 0000000..9d3a293 --- /dev/null +++ b/modules/nixos/base/networking.nix @@ -0,0 +1,20 @@ +{ config, lib, pkgs, ... }: + +{ + networking.hostName = "kronos"; + networking.networkmanager.enable = true; + + hardware.bluetooth = { + enable = true; + powerOnBoot = true; + settings = { + General = { + Experimental = true; + Enable = "Source,Sink,Media,Socket"; + AutoConnect = true; + FastConnectabke = true; + }; + Policy.AutoEnable = true; + }; + }; +} diff --git a/modules/nixos/base/nix.nix b/modules/nixos/base/nix.nix new file mode 100644 index 0000000..87e93f4 --- /dev/null +++ b/modules/nixos/base/nix.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +{ + nix.settings = { + substituters = [ + "https://cache.nixos.org/" + ]; + + trusted-public-keys = [ + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + ]; + experimental-features = [ + "nix-command" + "flakes" + ]; + }; +} diff --git a/modules/nixos/base/packages.nix b/modules/nixos/base/packages.nix new file mode 100644 index 0000000..fedccd5 --- /dev/null +++ b/modules/nixos/base/packages.nix @@ -0,0 +1,124 @@ +{ config, lib, pkgs, ... }: + +{ + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + # === Core Development Tools === + neovim + wget + stdenv + tree-sitter + git + lazygit + killall + acpi + + # === CLI Utilities === + tree + ripgrep + fd + unzip + bzip2 + perl + + # === System Monitoring === + btop + auto-cpufreq + + # === Audio/Media === + alsa-utils + helvum + playerctl + zscroll + + # === Bluetooth & Wireless === + blueman + bluez + wirelesstools + + # === Display & Graphics === + feh + flameshot + xss-lock + brightnessctl + imagemagick + ghostscript + + # === Text/Document Tools === + thunderbird + libreoffice + texstudio + zathura + krita + libresprite + audacity + + # === Network & Utilities === + tor-browser + clipman + xclip + qbittorrent + + # === Development Languages & Compilers === + clang + lua-language-server + stylua + nil + lua53Packages.luarocks + mermaid-cli + lua + + # === Language Servers & Formatters === + ruff + vtsls + pyright + python314 + + # === System Packages === + ly + + # === Gaming & Emulation === + godotPackages_4_5.godot + prismlauncher + vlc + + # === Creative & Editors === + obsidian + vscodium + vscode + peazip + celestia + + # === Wine/Compatibility === + wine + bottles + comic-mono + libgcc + espeak + lutris + + # === Miscellaneous === + gnome-boxes + xfce.thunar + + # === TeX Live === + (texlive.combine { + inherit (texlive) scheme-full; + notestex = texlivePackages.notestex; + }) + + # === RetroArch with Cores === + (retroarch.withCores (cores: with cores; [ + fceumm + mgba + gambatte + sameboy + ])) + ]; + + fonts = { + enableDefaultPackages = true; + packages = with pkgs; [ fira-code noto-fonts noto-fonts-color-emoji blackout beon]; + }; +} diff --git a/modules/nixos/base/programs.nix b/modules/nixos/base/programs.nix new file mode 100644 index 0000000..15853ee --- /dev/null +++ b/modules/nixos/base/programs.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +{ + programs.firefox.enable = true; + programs.zsh.enable = true; + programs.java = { + enable = true; + package = pkgs.jdk17; + }; + + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + }; +} diff --git a/modules/nixos/base/services.nix b/modules/nixos/base/services.nix new file mode 100644 index 0000000..b005d8c --- /dev/null +++ b/modules/nixos/base/services.nix @@ -0,0 +1,16 @@ +{ config, lib, pkgs, ... }: + +{ + security.pam.sshAgentAuth.enable = true; + + time.timeZone = "Europe/Prague"; + + services.displayManager.ly = { + enable = true; + }; + + services.printing.enable = true; + services.pipewire = { enable = true; pulse.enable = true; }; + services.libinput.enable = true; + services.openssh.enable = true; +} diff --git a/modules/nixos/base/users.nix b/modules/nixos/base/users.nix new file mode 100644 index 0000000..c2db993 --- /dev/null +++ b/modules/nixos/base/users.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +{ + users.users = { + mun = { + isNormalUser = true; + extraGroups = [ "wheel" "bluetooth" "networkmanager" "kvm" "nixos" ]; + packages = with pkgs; [ tree ]; + shell = pkgs.zsh; + }; + }; +} |
