diff --git a/hosts/balrog/default.nix b/hosts/balrog/default.nix index 94df9a3..7b8bcc6 100644 --- a/hosts/balrog/default.nix +++ b/hosts/balrog/default.nix @@ -1,7 +1,3 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page, on -# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). - { config , lib , pkgs @@ -10,32 +6,24 @@ { imports = [ - # Include the results of the hardware scan. ./hardware-configuration.nix - ../../modules/home-manager.nix - ../../modules/common.nix - ../../modules/users.nix - ../../modules/locales.nix - ../../modules/services.nix - ../../modules/programs.nix - ../../modules/docker.nix - ../../modules/printing.nix - ../../modules/bambu-studio-flatpak.nix - ../../modules/arduino-ide.nix - ../../modules/devenv.nix - ../../modules/vlc.nix - ../../modules/btop.nix - ../../modules/lazygit.nix - # ../../modules/bitwarden.nix ]; + features.modules = { + core.enable = true; + development.enable = true; + hardware.enable = true; + multimedia.enable = true; + system.enable = true; + }; + boot.kernelPackages = pkgs.linuxPackages_latest; boot.loader.systemd-boot.enable = false; boot.loader = { efi = { canTouchEfiVariables = true; - efiSysMountPoint = "/boot/efi"; # ← use the same mount point here. + efiSysMountPoint = "/boot/efi"; }; grub = { efiSupport = true; @@ -76,5 +64,5 @@ } ]; - system.stateVersion = "25.11"; # Did you read the comment? + system.stateVersion = "25.11"; } diff --git a/hosts/frodo/default.nix b/hosts/frodo/default.nix index a1d1ed2..f99aad6 100644 --- a/hosts/frodo/default.nix +++ b/hosts/frodo/default.nix @@ -1,26 +1,19 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - { config, pkgs, ... }: { imports = [ - # Include the results of the hardware scan. ./hardware-configuration.nix - ../../modules/common.nix - ../../modules/users.nix - ../../modules/locales.nix - ../../modules/services.nix - ../../modules/programs.nix ]; - # Bootloader. + features.modules = { + core.enable = true; + }; + boot.loader.grub.enable = true; boot.loader.grub.device = "/dev/vda"; boot.loader.grub.useOSProber = true; - networking.hostName = "frodo"; # Define your hostname. + networking.hostName = "frodo"; - system.stateVersion = "25.11"; # Did you read the comment? + system.stateVersion = "25.11"; } diff --git a/hosts/gandalf/default.nix b/hosts/gandalf/default.nix index 841ed46..6796b3f 100644 --- a/hosts/gandalf/default.nix +++ b/hosts/gandalf/default.nix @@ -3,37 +3,22 @@ { imports = [ ./hardware-configuration.nix - ../../modules/home-manager.nix - ../../modules/common.nix - ../../modules/users.nix - ../../modules/locales.nix - ../../modules/services.nix - ../../modules/programs.nix - ../../modules/gaming.nix - ../../modules/obs-studio.nix - ../../modules/garbage-collection.nix - ../../modules/printing.nix - ../../modules/docker.nix - ../../modules/matrix.nix - ../../modules/kdenlive.nix - ../../modules/audacity.nix - ../../modules/ollama.nix - ../../modules/wireguard.nix - ../../modules/qbittorrent.nix - ../../modules/gimp.nix - ../../modules/openscad.nix - ../../modules/bambu-studio-flatpak.nix - ../../modules/arduino-ide.nix - ../../modules/bitwarden.nix - ../../modules/vlc.nix - ../../modules/devenv.nix - ../../modules/btop.nix - ../../modules/discord.nix - ../../modules/lazygit.nix - ../../modules/yazi.nix ./mtp-fix.nix ]; + features.modules = { + core.enable = true; + ai.enable = true; + desktop.enable = true; + development.enable = true; + gaming.enable = true; + hardware.enable = true; + multimedia.enable = true; + networking.enable = true; + security.enable = true; + system.enable = true; + }; + boot.kernelPackages = pkgs.linuxPackages_latest; boot.loader.systemd-boot.enable = true; @@ -69,5 +54,5 @@ virtualisation.libvirtd.enable = true; - system.stateVersion = "25.11"; # Did you read the comment? + system.stateVersion = "25.11"; } diff --git a/hosts/legolas/default.nix b/hosts/legolas/default.nix index ba5b7b0..60dab2d 100644 --- a/hosts/legolas/default.nix +++ b/hosts/legolas/default.nix @@ -3,14 +3,13 @@ { imports = [ ./hardware-configuration.nix - ../../modules/common.nix - ../../modules/users.nix - ../../modules/locales.nix - ../../modules/services.nix - ../../modules/programs.nix - ../../modules/gaming.nix ]; + features.modules = { + core.enable = true; + gaming.enable = true; + }; + boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; @@ -34,5 +33,5 @@ virtualisation.libvirtd.enable = true; - system.stateVersion = "25.11"; # Did you read the comment? + system.stateVersion = "25.11"; } diff --git a/hosts/work/default.nix b/hosts/work/default.nix index d83dd8a..04da263 100644 --- a/hosts/work/default.nix +++ b/hosts/work/default.nix @@ -3,34 +3,20 @@ { imports = [ ./hardware-configuration.nix - ../../modules/home-manager.nix - ../../modules/common.nix - ../../modules/users.nix - ../../modules/locales.nix - ../../modules/services.nix - ../../modules/programs.nix - ../../modules/garbage-collection.nix - ../../modules/printing.nix - ../../modules/docker.nix - ../../modules/teams-for-linux.nix - ../../modules/azure-data-studio.nix - ../../modules/filezilla.nix - ../../modules/wireguard.nix - ../../modules/remmina.nix - ../../modules/postman.nix - ../../modules/gimp.nix - ../../modules/jq.nix - ../../modules/enova.nix - ../../modules/devenv.nix - ../../modules/bitwarden.nix - ../../modules/btop.nix - ../../modules/vlc.nix - ../../modules/lazygit.nix - ../../modules/yazi.nix - ../../modules/bubblewrap.nix - ../../modules/socat.nix ]; + features.modules = { + core.enable = true; + desktop.enable = true; + development.enable = true; + hardware.enable = true; + multimedia.enable = true; + networking.enable = true; + security.enable = true; + system.enable = true; + work.enable = true; + }; + boot.kernelPackages = pkgs.linuxPackages_latest; boot.loader.systemd-boot.enable = true; @@ -92,5 +78,5 @@ "149.210.174.226" = [ "kindertelefoon" ]; }; - system.stateVersion = "25.11"; # Did you read the comment? + system.stateVersion = "25.11"; } diff --git a/modules/ai/default.nix b/modules/ai/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/ai/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/ai/ollama.nix b/modules/ai/ollama.nix new file mode 100644 index 0000000..0d3888d --- /dev/null +++ b/modules/ai/ollama.nix @@ -0,0 +1,13 @@ +{ config, lib, pkgsUnstable, ... }: + +let + dirModules = config.features.modules.ai or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.ollama.enable or true)) { + services.ollama = { + enable = true; + package = pkgsUnstable.ollama-cuda; + }; + }; +} diff --git a/modules/arduino-ide.nix b/modules/arduino-ide.nix deleted file mode 100644 index e449b3b..0000000 --- a/modules/arduino-ide.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - arduino-ide - ]; -} diff --git a/modules/audacity.nix b/modules/audacity.nix deleted file mode 100644 index eed29d3..0000000 --- a/modules/audacity.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - audacity - ]; -} diff --git a/modules/azure-data-studio.nix b/modules/azure-data-studio.nix deleted file mode 100644 index 0a172a1..0000000 --- a/modules/azure-data-studio.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - azuredatastudio - ]; -} diff --git a/modules/bambu-studio-flatpak.nix b/modules/bambu-studio-flatpak.nix deleted file mode 100644 index 999ddb6..0000000 --- a/modules/bambu-studio-flatpak.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: - -{ - services.flatpak.update.onActivation = true; - services.flatpak.enable = true; - services.flatpak.packages = [ - "com.bambulab.BambuStudio" - ]; -} diff --git a/modules/bitwarden.nix b/modules/bitwarden.nix deleted file mode 100644 index 036bfda..0000000 --- a/modules/bitwarden.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, pkgs, ... }: - -{ - nixpkgs.config.permittedInsecurePackages = [ - "electron-39.8.10" - ]; - - environment.systemPackages = with pkgs; [ - bitwarden-desktop - ]; -} diff --git a/modules/btop.nix b/modules/btop.nix deleted file mode 100644 index 03746b3..0000000 --- a/modules/btop.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - btop - ]; -} diff --git a/modules/bubblewrap.nix b/modules/bubblewrap.nix deleted file mode 100644 index 13ee7bc..0000000 --- a/modules/bubblewrap.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - bubblewrap - ]; -} - diff --git a/modules/common.nix b/modules/common.nix deleted file mode 100644 index 6685964..0000000 --- a/modules/common.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ config, pkgs, ... }: - -{ - nixpkgs.config.allowUnfree = true; - - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; - - users.defaultUserShell = pkgs.zsh; - - environment.systemPackages = with pkgs; [ - chromium - gnumake - jetbrains-toolbox - fastfetch - jq - ]; - - security.rtkit.enable = true; - - system.stateVersion = "25.11"; -} diff --git a/modules/core/common.nix b/modules/core/common.nix new file mode 100644 index 0000000..fdff22c --- /dev/null +++ b/modules/core/common.nix @@ -0,0 +1,29 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.core or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.common.enable or true)) { + nixpkgs.config.allowUnfree = true; + + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + + users.defaultUserShell = pkgs.zsh; + + environment.systemPackages = with pkgs; [ + chromium + gnumake + jetbrains-toolbox + fastfetch + jq + ]; + + security.rtkit.enable = true; + + system.stateVersion = "25.11"; + }; +} diff --git a/modules/core/default.nix b/modules/core/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/core/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/core/home-manager.nix b/modules/core/home-manager.nix new file mode 100644 index 0000000..c75b068 --- /dev/null +++ b/modules/core/home-manager.nix @@ -0,0 +1,18 @@ +{ config, lib, pkgs, pkgsUnstable, ... }: + +let + dirModules = config.features.modules.core or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.home-manager.enable or true)) { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { + inherit pkgsUnstable; + }; + + users.avravels = import ../home/home.nix; + }; + }; +} diff --git a/modules/core/locales.nix b/modules/core/locales.nix new file mode 100644 index 0000000..7a4fa09 --- /dev/null +++ b/modules/core/locales.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.core or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.locales.enable or true)) { + time.timeZone = "Europe/Amsterdam"; + + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "nl_NL.UTF-8"; + LC_IDENTIFICATION = "nl_NL.UTF-8"; + LC_MEASUREMENT = "nl_NL.UTF-8"; + LC_MONETARY = "nl_NL.UTF-8"; + LC_NAME = "nl_NL.UTF-8"; + LC_NUMERIC = "nl_NL.UTF-8"; + LC_PAPER = "nl_NL.UTF-8"; + LC_TELEPHONE = "nl_NL.UTF-8"; + LC_TIME = "nl_NL.UTF-8"; + }; + }; +} diff --git a/modules/core/programs.nix b/modules/core/programs.nix new file mode 100644 index 0000000..51b95b5 --- /dev/null +++ b/modules/core/programs.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.core or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.programs.enable or true)) { + programs = { + zsh.enable = true; + + hyprland.enable = true; + hyprland.xwayland.enable = true; + + virt-manager.enable = true; + }; + }; +} diff --git a/modules/core/services.nix b/modules/core/services.nix new file mode 100644 index 0000000..def9cdf --- /dev/null +++ b/modules/core/services.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.core or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.services.enable or true)) { + services.openssh.enable = true; + + services = { + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + + xserver = { + enable = true; + xkb.layout = "us"; + xkb.variant = ""; + }; + + pulseaudio.enable = false; + + pipewire.enable = true; + pipewire.alsa.enable = true; + pipewire.alsa.support32Bit = true; + pipewire.pulse.enable = true; + }; + }; +} diff --git a/modules/core/users.nix b/modules/core/users.nix new file mode 100644 index 0000000..f8862e8 --- /dev/null +++ b/modules/core/users.nix @@ -0,0 +1,27 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.core or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.users.enable or true)) { + users.users.avravels = { + initialPassword = "welcome"; + isNormalUser = true; + description = "Armel van Ravels"; + extraGroups = [ + "networkmanager" + "wheel" + "libvirtd" + "dialout" + ]; + packages = with pkgs; [ + home-manager + spotify + proton-vpn + fzf + ]; + shell = pkgs.zsh; + }; + }; +} diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/desktop/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/desktop/discord.nix b/modules/desktop/discord.nix new file mode 100644 index 0000000..100dc65 --- /dev/null +++ b/modules/desktop/discord.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.desktop or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.discord.enable or true)) { + environment.systemPackages = with pkgs; [ + discord + ]; + }; +} diff --git a/modules/desktop/matrix.nix b/modules/desktop/matrix.nix new file mode 100644 index 0000000..5a85853 --- /dev/null +++ b/modules/desktop/matrix.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.desktop or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.matrix.enable or true)) { + environment.systemPackages = with pkgs; [ + element-desktop + ]; + }; +} diff --git a/modules/desktop/teams-for-linux.nix b/modules/desktop/teams-for-linux.nix new file mode 100644 index 0000000..4984749 --- /dev/null +++ b/modules/desktop/teams-for-linux.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.desktop or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.teams-for-linux.enable or true)) { + environment.systemPackages = with pkgs; [ + teams-for-linux + ]; + }; +} diff --git a/modules/development/azure-data-studio.nix b/modules/development/azure-data-studio.nix new file mode 100644 index 0000000..e750117 --- /dev/null +++ b/modules/development/azure-data-studio.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.development or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.azure-data-studio.enable or true)) { + environment.systemPackages = with pkgs; [ + azuredatastudio + ]; + }; +} diff --git a/modules/development/default.nix b/modules/development/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/development/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/development/devenv.nix b/modules/development/devenv.nix new file mode 100644 index 0000000..65a00f4 --- /dev/null +++ b/modules/development/devenv.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgsUnstable, ... }: + +let + dirModules = config.features.modules.development or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.devenv.enable or true)) { + environment.systemPackages = with pkgsUnstable; [ + devenv + ]; + + nix.settings.trusted-users = [ + "root" + "avravels" + ]; + }; +} diff --git a/modules/development/docker.nix b/modules/development/docker.nix new file mode 100644 index 0000000..c2534dc --- /dev/null +++ b/modules/development/docker.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.development or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.docker.enable or true)) { + virtualisation.docker.enable = true; + + users.users.avravels.extraGroups = [ "docker" ]; + }; +} diff --git a/modules/development/jq.nix b/modules/development/jq.nix new file mode 100644 index 0000000..8c47f6f --- /dev/null +++ b/modules/development/jq.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.development or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.jq.enable or true)) { + environment.systemPackages = with pkgs; [ + jq + ]; + }; +} diff --git a/modules/development/lazygit.nix b/modules/development/lazygit.nix new file mode 100644 index 0000000..6f720ad --- /dev/null +++ b/modules/development/lazygit.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.development or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.lazygit.enable or true)) { + environment.systemPackages = with pkgs; [ + lazygit + ]; + }; +} diff --git a/modules/development/postman.nix b/modules/development/postman.nix new file mode 100644 index 0000000..9631fff --- /dev/null +++ b/modules/development/postman.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.development or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.postman.enable or true)) { + environment.systemPackages = with pkgs; [ + postman + ]; + }; +} diff --git a/modules/devenv.nix b/modules/devenv.nix deleted file mode 100644 index 103f467..0000000 --- a/modules/devenv.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, pkgsUnstable, ... }: - -{ - environment.systemPackages = with pkgsUnstable; [ - devenv - ]; - - nix.settings.trusted-users = [ - "root" - "avravels" - ]; -} diff --git a/modules/discord.nix b/modules/discord.nix deleted file mode 100644 index cd13fcb..0000000 --- a/modules/discord.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - discord - ]; -} - diff --git a/modules/docker.nix b/modules/docker.nix deleted file mode 100644 index 61eb0ac..0000000 --- a/modules/docker.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - virtualisation.docker.enable = true; - - users.users.avravels.extraGroups = [ "docker" ]; -} diff --git a/modules/enova.nix b/modules/enova.nix deleted file mode 100644 index fd1ce7b..0000000 --- a/modules/enova.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: - -{ - services.dnsmasq = { - enable = true; - - settings = { - server = [ - "1.1.1.1" - "8.8.8.8" - ]; - address = [ "/.enova.local/127.0.0.1" ]; - }; - }; -} diff --git a/modules/features/default.nix b/modules/features/default.nix new file mode 100644 index 0000000..2f810d2 --- /dev/null +++ b/modules/features/default.nix @@ -0,0 +1,18 @@ +{ lib, ... }: +let + modulesDir = ../.; + moduleDirs = builtins.readDir modulesDir; + + excludeDirs = [ "home" "features" ]; + + dirEntries = lib.filterAttrs + (name: type: type == "directory" && !builtins.elem name excludeDirs) + moduleDirs; +in +{ + options.features.modules = lib.mkOption { + type = lib.types.attrs; + default = { }; + description = "Auto-generated feature module options tree"; + }; +} diff --git a/modules/filezilla.nix b/modules/filezilla.nix deleted file mode 100644 index 716f267..0000000 --- a/modules/filezilla.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - filezilla - ]; -} diff --git a/modules/gaming.nix b/modules/gaming.nix deleted file mode 100644 index 90733c3..0000000 --- a/modules/gaming.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, pkgs, ... }: - -{ - programs.steam = { - enable = true; - remotePlay.openFirewall = true; - localNetworkGameTransfers.openFirewall = true; - package = pkgs.steam.override { - extraEnv = { - MANGOHUD = "1"; - WINE_VK_VULKAN_ONLY = "1"; - }; - }; - }; - - environment.systemPackages = [ - pkgs.mangohud - ]; -} diff --git a/modules/gaming/default.nix b/modules/gaming/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/gaming/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/gaming/gaming.nix b/modules/gaming/gaming.nix new file mode 100644 index 0000000..738a05e --- /dev/null +++ b/modules/gaming/gaming.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.gaming or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.gaming.enable or true)) { + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + package = pkgs.steam.override { + extraEnv = { + MANGOHUD = "1"; + WINE_VK_VULKAN_ONLY = "1"; + }; + }; + }; + + environment.systemPackages = [ + pkgs.mangohud + ]; + }; +} diff --git a/modules/garbage-collection.nix b/modules/garbage-collection.nix deleted file mode 100644 index 45db5f7..0000000 --- a/modules/garbage-collection.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, pkgs, ... }: - -{ - nix = { - settings.auto-optimise-store = true; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - }; -} diff --git a/modules/gimp.nix b/modules/gimp.nix deleted file mode 100644 index a202167..0000000 --- a/modules/gimp.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - gimp - ]; -} diff --git a/modules/hardware/arduino-ide.nix b/modules/hardware/arduino-ide.nix new file mode 100644 index 0000000..d0a597c --- /dev/null +++ b/modules/hardware/arduino-ide.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.hardware or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.arduino-ide.enable or true)) { + environment.systemPackages = with pkgs; [ + arduino-ide + ]; + }; +} diff --git a/modules/hardware/bambu-studio-flatpak.nix b/modules/hardware/bambu-studio-flatpak.nix new file mode 100644 index 0000000..bcb6978 --- /dev/null +++ b/modules/hardware/bambu-studio-flatpak.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.hardware or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.bambu-studio-flatpak.enable or true)) { + services.flatpak.update.onActivation = true; + services.flatpak.enable = true; + services.flatpak.packages = [ + "com.bambulab.BambuStudio" + ]; + }; +} diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/hardware/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/hardware/openscad.nix b/modules/hardware/openscad.nix new file mode 100644 index 0000000..9d7a48d --- /dev/null +++ b/modules/hardware/openscad.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.hardware or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.openscad.enable or true)) { + environment.systemPackages = with pkgs; [ + openscad + ]; + }; +} diff --git a/modules/hardware/printing.nix b/modules/hardware/printing.nix new file mode 100644 index 0000000..e2a81a1 --- /dev/null +++ b/modules/hardware/printing.nix @@ -0,0 +1,47 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.hardware or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.printing.enable or true)) { + environment.systemPackages = with pkgs; [ + cnijfilter2 + ]; + + services.printing = { + enable = true; + drivers = [ pkgs.cnijfilter2 ]; + }; + + services.avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + + hardware.printers = { + ensurePrinters = [ + { + name = "CanonTS3100"; + location = "Home"; + deviceUri = "dnssd://Canon%20TS3100%20series._ipp._tcp.local/?uuid=00000000-0000-1000-8000-0018271a7e44"; + model = "canonts3100.ppd"; + ppdOptions = { + PageSize = "A4"; + }; + } + ]; + + ensureDefaultPrinter = "CanonTS3100"; + }; + + # for samba + networking.hosts = { + "192.168.68.60" = [ + "2C2919000000.local" + "2C2919000000" + ]; + }; + }; +} diff --git a/modules/home-manager.nix b/modules/home-manager.nix deleted file mode 100644 index ab273b3..0000000 --- a/modules/home-manager.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, pkgsUnstable, ... }: - -{ - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - extraSpecialArgs = { - inherit pkgsUnstable; - }; - - users.avravels = import home/home.nix; - }; -} diff --git a/modules/jq.nix b/modules/jq.nix deleted file mode 100644 index aa09f27..0000000 --- a/modules/jq.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - jq - ]; -} diff --git a/modules/kdenlive.nix b/modules/kdenlive.nix deleted file mode 100644 index 96502fe..0000000 --- a/modules/kdenlive.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - kdePackages.kdenlive - ]; -} diff --git a/modules/lazygit.nix b/modules/lazygit.nix deleted file mode 100644 index 6271088..0000000 --- a/modules/lazygit.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - lazygit - ]; -} diff --git a/modules/locales.nix b/modules/locales.nix deleted file mode 100644 index c4ecf8c..0000000 --- a/modules/locales.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ config, pkgs, ... }: - -{ - time.timeZone = "Europe/Amsterdam"; - - i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "nl_NL.UTF-8"; - LC_IDENTIFICATION = "nl_NL.UTF-8"; - LC_MEASUREMENT = "nl_NL.UTF-8"; - LC_MONETARY = "nl_NL.UTF-8"; - LC_NAME = "nl_NL.UTF-8"; - LC_NUMERIC = "nl_NL.UTF-8"; - LC_PAPER = "nl_NL.UTF-8"; - LC_TELEPHONE = "nl_NL.UTF-8"; - LC_TIME = "nl_NL.UTF-8"; - }; -} diff --git a/modules/matrix.nix b/modules/matrix.nix deleted file mode 100644 index 91fbcd4..0000000 --- a/modules/matrix.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - element-desktop - ]; -} diff --git a/modules/multimedia/audacity.nix b/modules/multimedia/audacity.nix new file mode 100644 index 0000000..8a17a21 --- /dev/null +++ b/modules/multimedia/audacity.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.multimedia or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.audacity.enable or true)) { + environment.systemPackages = with pkgs; [ + audacity + ]; + }; +} diff --git a/modules/multimedia/default.nix b/modules/multimedia/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/multimedia/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/multimedia/gimp.nix b/modules/multimedia/gimp.nix new file mode 100644 index 0000000..a2ea38d --- /dev/null +++ b/modules/multimedia/gimp.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.multimedia or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.gimp.enable or true)) { + environment.systemPackages = with pkgs; [ + gimp + ]; + }; +} diff --git a/modules/multimedia/kdenlive.nix b/modules/multimedia/kdenlive.nix new file mode 100644 index 0000000..009cb73 --- /dev/null +++ b/modules/multimedia/kdenlive.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.multimedia or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.kdenlive.enable or true)) { + environment.systemPackages = with pkgs; [ + kdePackages.kdenlive + ]; + }; +} diff --git a/modules/multimedia/obs-studio.nix b/modules/multimedia/obs-studio.nix new file mode 100644 index 0000000..a4b7fcb --- /dev/null +++ b/modules/multimedia/obs-studio.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.multimedia or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.obs-studio.enable or true)) { + programs.obs-studio = { + enable = true; + package = pkgs.obs-studio.override { + cudaSupport = true; + }; + }; + }; +} diff --git a/modules/multimedia/vlc.nix b/modules/multimedia/vlc.nix new file mode 100644 index 0000000..71a4940 --- /dev/null +++ b/modules/multimedia/vlc.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.multimedia or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.vlc.enable or true)) { + environment.systemPackages = with pkgs; [ + vlc + ]; + }; +} diff --git a/modules/networking/default.nix b/modules/networking/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/networking/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/networking/filezilla.nix b/modules/networking/filezilla.nix new file mode 100644 index 0000000..8e3b56b --- /dev/null +++ b/modules/networking/filezilla.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.networking or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.filezilla.enable or true)) { + environment.systemPackages = with pkgs; [ + filezilla + ]; + }; +} diff --git a/modules/networking/qbittorrent.nix b/modules/networking/qbittorrent.nix new file mode 100644 index 0000000..9a6820c --- /dev/null +++ b/modules/networking/qbittorrent.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.networking or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.qbittorrent.enable or true)) { + environment.systemPackages = with pkgs; [ + qbittorrent + ]; + }; +} diff --git a/modules/networking/remmina.nix b/modules/networking/remmina.nix new file mode 100644 index 0000000..4a888e2 --- /dev/null +++ b/modules/networking/remmina.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.networking or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.remmina.enable or true)) { + environment.systemPackages = with pkgs; [ + remmina + ]; + }; +} diff --git a/modules/networking/socat.nix b/modules/networking/socat.nix new file mode 100644 index 0000000..f4a7e2f --- /dev/null +++ b/modules/networking/socat.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.networking or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.socat.enable or true)) { + environment.systemPackages = with pkgs; [ + socat + ]; + }; +} diff --git a/modules/networking/wireguard.nix b/modules/networking/wireguard.nix new file mode 100644 index 0000000..44b677a --- /dev/null +++ b/modules/networking/wireguard.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.networking or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.wireguard.enable or true)) { + environment.systemPackages = with pkgs; [ + wireguard-tools + ]; + }; +} diff --git a/modules/obs-studio.nix b/modules/obs-studio.nix deleted file mode 100644 index e1b2567..0000000 --- a/modules/obs-studio.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ config, pkgs, ... }: - -{ - programs.obs-studio = { - enable = true; - package = pkgs.obs-studio.override { - cudaSupport = true; - }; - }; -} diff --git a/modules/ollama.nix b/modules/ollama.nix deleted file mode 100644 index 4712ca4..0000000 --- a/modules/ollama.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgsUnstable, ... }: - -{ - services.ollama = { - enable = true; - package = pkgsUnstable.ollama-cuda; - }; -} diff --git a/modules/openscad.nix b/modules/openscad.nix deleted file mode 100644 index d0a9f2c..0000000 --- a/modules/openscad.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - openscad - ]; -} diff --git a/modules/postman.nix b/modules/postman.nix deleted file mode 100644 index 673eb93..0000000 --- a/modules/postman.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - postman - ]; -} diff --git a/modules/printing.nix b/modules/printing.nix deleted file mode 100644 index cfb3bb0..0000000 --- a/modules/printing.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - cnijfilter2 - ]; - - services.printing = { - enable = true; - drivers = [ pkgs.cnijfilter2 ]; - }; - - services.avahi = { - enable = true; - nssmdns4 = true; - openFirewall = true; - }; - - hardware.printers = { - ensurePrinters = [ - { - name = "CanonTS3100"; - location = "Home"; - deviceUri = "dnssd://Canon%20TS3100%20series._ipp._tcp.local/?uuid=00000000-0000-1000-8000-0018271a7e44"; - model = "canonts3100.ppd"; - ppdOptions = { - PageSize = "A4"; - }; - } - ]; - - ensureDefaultPrinter = "CanonTS3100"; - }; - - # for samba - networking.hosts = { - "192.168.68.60" = [ - "2C2919000000.local" - "2C2919000000" - ]; - }; -} diff --git a/modules/programs.nix b/modules/programs.nix deleted file mode 100644 index 94fda4b..0000000 --- a/modules/programs.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, pkgs, ... }: - -{ - programs = { - zsh.enable = true; - - hyprland.enable = true; - hyprland.xwayland.enable = true; - - virt-manager.enable = true; - }; -} diff --git a/modules/qbittorrent.nix b/modules/qbittorrent.nix deleted file mode 100644 index 2784bfe..0000000 --- a/modules/qbittorrent.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - qbittorrent - ]; -} diff --git a/modules/remmina.nix b/modules/remmina.nix deleted file mode 100644 index d4fd0f2..0000000 --- a/modules/remmina.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - remmina - ]; -} diff --git a/modules/security/bitwarden.nix b/modules/security/bitwarden.nix new file mode 100644 index 0000000..d689595 --- /dev/null +++ b/modules/security/bitwarden.nix @@ -0,0 +1,16 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.security or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.bitwarden.enable or true)) { + nixpkgs.config.permittedInsecurePackages = [ + "electron-39.8.10" + ]; + + environment.systemPackages = with pkgs; [ + bitwarden-desktop + ]; + }; +} diff --git a/modules/security/default.nix b/modules/security/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/security/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/services.nix b/modules/services.nix deleted file mode 100644 index fbd4b0d..0000000 --- a/modules/services.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ config, pkgs, ... }: - -{ - services.openssh.enable = true; - - services = { - displayManager.gdm.enable = true; - desktopManager.gnome.enable = true; - - xserver = { - enable = true; - xkb.layout = "us"; - xkb.variant = ""; - }; - - pulseaudio.enable = false; - - pipewire.enable = true; - pipewire.alsa.enable = true; - pipewire.alsa.support32Bit = true; - pipewire.pulse.enable = true; - }; -} diff --git a/modules/socat.nix b/modules/socat.nix deleted file mode 100644 index df5d7ee..0000000 --- a/modules/socat.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - socat - ]; -} - diff --git a/modules/system/btop.nix b/modules/system/btop.nix new file mode 100644 index 0000000..7b0268a --- /dev/null +++ b/modules/system/btop.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.system or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.btop.enable or true)) { + environment.systemPackages = with pkgs; [ + btop + ]; + }; +} diff --git a/modules/system/bubblewrap.nix b/modules/system/bubblewrap.nix new file mode 100644 index 0000000..a035e82 --- /dev/null +++ b/modules/system/bubblewrap.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.system or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.bubblewrap.enable or true)) { + environment.systemPackages = with pkgs; [ + bubblewrap + ]; + }; +} diff --git a/modules/system/default.nix b/modules/system/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/system/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/system/garbage-collection.nix b/modules/system/garbage-collection.nix new file mode 100644 index 0000000..5f0a4bb --- /dev/null +++ b/modules/system/garbage-collection.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.system or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.garbage-collection.enable or true)) { + nix = { + settings.auto-optimise-store = true; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + }; + }; +} diff --git a/modules/system/yazi.nix b/modules/system/yazi.nix new file mode 100644 index 0000000..faf45cc --- /dev/null +++ b/modules/system/yazi.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.system or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.yazi.enable or true)) { + environment.systemPackages = with pkgs; [ + yazi + ]; + }; +} diff --git a/modules/teams-for-linux.nix b/modules/teams-for-linux.nix deleted file mode 100644 index c8a8626..0000000 --- a/modules/teams-for-linux.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - teams-for-linux - ]; -} diff --git a/modules/users.nix b/modules/users.nix deleted file mode 100644 index 9826bce..0000000 --- a/modules/users.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ config, pkgs, ... }: - -{ - users.users.avravels = { - initialPassword = "welcome"; - isNormalUser = true; - description = "Armel van Ravels"; - extraGroups = [ - "networkmanager" - "wheel" - "libvirtd" - "dialout" - ]; - packages = with pkgs; [ - home-manager - spotify - proton-vpn - fzf - ]; - shell = pkgs.zsh; - }; -} diff --git a/modules/vlc.nix b/modules/vlc.nix deleted file mode 100644 index b1c182b..0000000 --- a/modules/vlc.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - vlc - ]; -} diff --git a/modules/wireguard.nix b/modules/wireguard.nix deleted file mode 100644 index 0e940b9..0000000 --- a/modules/wireguard.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - wireguard-tools - ]; -} diff --git a/modules/work/default.nix b/modules/work/default.nix new file mode 100644 index 0000000..5adb9e3 --- /dev/null +++ b/modules/work/default.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + imports = lib.mapAttrsToList + (file: _: ./. + "/${file}") + (lib.filterAttrs (file: _: lib.hasSuffix ".nix" file && file != "default.nix") + (builtins.readDir ./.)); +} diff --git a/modules/work/enova.nix b/modules/work/enova.nix new file mode 100644 index 0000000..01d11d8 --- /dev/null +++ b/modules/work/enova.nix @@ -0,0 +1,20 @@ +{ config, lib, pkgs, ... }: + +let + dirModules = config.features.modules.work or { }; +in +{ + config = lib.mkIf ((dirModules.enable or false) && (dirModules.enova.enable or true)) { + services.dnsmasq = { + enable = true; + + settings = { + server = [ + "1.1.1.1" + "8.8.8.8" + ]; + address = [ "/.enova.local/127.0.0.1" ]; + }; + }; + }; +} diff --git a/modules/yazi.nix b/modules/yazi.nix deleted file mode 100644 index b5eefdf..0000000 --- a/modules/yazi.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - yazi - ]; -} diff --git a/outputs.nix b/outputs.nix index fe399d6..63946c2 100644 --- a/outputs.nix +++ b/outputs.nix @@ -13,6 +13,21 @@ let config.allowUnfree = true; }; + moduleNames = [ + "ai" + "core" + "desktop" + "development" + "features" + "gaming" + "hardware" + "multimedia" + "networking" + "security" + "system" + "work" + ]; + mkHost = name: nixpkgs.lib.nixosSystem { @@ -27,7 +42,7 @@ let nix-flatpak.nixosModules.nix-flatpak home-manager.nixosModules.home-manager ./hosts/${name} - ]; + ] ++ (map (mod: ./modules/${mod}) moduleNames); }; in