summaryrefslogtreecommitdiff
path: root/modules/nixos/base
diff options
context:
space:
mode:
authorNatasha Nightshade <31557030-TashaTheInnkeeper@users.noreply.gitlab.com>2026-02-02 13:35:51 +0100
committerNatasha Nightshade <31557030-TashaTheInnkeeper@users.noreply.gitlab.com>2026-02-02 13:35:51 +0100
commit0423ac08769fce26e4a75ea382874c06d97526f6 (patch)
tree9d8a1a934ecf582502f556cc61af0da687840d70 /modules/nixos/base
parent5c741252de752af281628dd7c8c780c746236088 (diff)
parent0ed5c638945192dc5e4a099fded4db164ba603a2 (diff)
Merge branch 'master' into 'main'
merge master into main See merge request natasha-linux/nixos/dots!1
Diffstat (limited to 'modules/nixos/base')
-rw-r--r--modules/nixos/base/boot.nix46
-rw-r--r--modules/nixos/base/default.nix16
-rw-r--r--modules/nixos/base/graphics.nix19
-rw-r--r--modules/nixos/base/networking.nix20
-rw-r--r--modules/nixos/base/nix.nix17
-rw-r--r--modules/nixos/base/packages.nix124
-rw-r--r--modules/nixos/base/programs.nix17
-rw-r--r--modules/nixos/base/services.nix16
-rw-r--r--modules/nixos/base/users.nix12
9 files changed, 287 insertions, 0 deletions
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;
+ };
+ };
+}