diff --git a/flake.lock b/flake.lock index 515f6c4..1bb8e2a 100644 --- a/flake.lock +++ b/flake.lock @@ -222,11 +222,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1766568855, - "narHash": "sha256-UXVtN77D7pzKmzOotFTStgZBqpOcf8cO95FcupWp4Zo=", + "lastModified": 1764440730, + "narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "c5db9569ac9cc70929c268ac461f4003e3e5ca80", + "rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3", "type": "github" }, "original": { @@ -237,11 +237,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1766736597, - "narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=", + "lastModified": 1765838191, + "narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852", + "rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6", "type": "github" }, "original": { @@ -297,11 +297,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1766651565, - "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", + "lastModified": 1765779637, + "narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", + "rev": "1306659b587dc277866c7b69eb97e5f07864d8c4", "type": "github" }, "original": { @@ -354,11 +354,11 @@ ] }, "locked": { - "lastModified": 1766289575, - "narHash": "sha256-BOKCwOQQIP4p9z8DasT5r+qjri3x7sPCOq+FTjY8Z+o=", + "lastModified": 1765836173, + "narHash": "sha256-hWRYfdH2ONI7HXbqZqW8Q1y9IRbnXWvtvt/ONZovSNY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "9836912e37aef546029e48c8749834735a6b9dad", + "rev": "443a7f2e7e118c4fc63b7fae05ab3080dd0e5c63", "type": "github" }, "original": { diff --git a/images/base-config.nix b/images/base-config.nix index afd4800..42b87dc 100644 --- a/images/base-config.nix +++ b/images/base-config.nix @@ -51,8 +51,8 @@ }; imports = [ - ../profiles/core/core.nix - ../profiles/core/nix.nix + ../machines/core/core.nix + ../machines/core/nix.nix ]; documentation = { diff --git a/machines/configurations.nix b/machines/configurations.nix index a952899..8139b98 100644 --- a/machines/configurations.nix +++ b/machines/configurations.nix @@ -17,7 +17,8 @@ let }; }; - defaultModules = [ + customModules = import ./core/default.nix; + baseModules = [ # make flake inputs accessible in NixOS { _module.args.self = self; @@ -44,12 +45,10 @@ let sops-nix.nixosModules.sops ]; } - { - my.profiles.core.enable = true; - } ../modules ../profiles ]; + defaultModules = baseModules ++ customModules; in { flake.nixosConfigurations = { diff --git a/machines/core/core.nix b/machines/core/core.nix new file mode 100644 index 0000000..bf21520 --- /dev/null +++ b/machines/core/core.nix @@ -0,0 +1,45 @@ +{ pkgs, ... }: +{ + # Packages + environment.systemPackages = with pkgs; [ + bandwhich + bind # dig + borgbackup + cryptsetup + delta + fd # find replacement + file + fzf + gettext + git + gptfdisk + htop + jq + killall + lsof + mosh + mtr + multipath-tools # kpartx + nmap + nmon + ouch # de-/compress + pciutils + progress + pv + reptyr + rsync + screen + sd # sed replacement + stress-ng + tmux + unzip + usbutils + vim + wget + whois + xcp + zip + ]; + + time.timeZone = "Europe/Berlin"; +} diff --git a/machines/core/default.nix b/machines/core/default.nix new file mode 100644 index 0000000..8f95b17 --- /dev/null +++ b/machines/core/default.nix @@ -0,0 +1,7 @@ +[ + ./core.nix + ./modules.nix + ./network.nix + ./nix.nix + ./users.nix +] diff --git a/profiles/core/modules.nix b/machines/core/modules.nix similarity index 77% rename from profiles/core/modules.nix rename to machines/core/modules.nix index 9d0faec..b608601 100644 --- a/profiles/core/modules.nix +++ b/machines/core/modules.nix @@ -11,5 +11,10 @@ _: { "usb_storage" "xhci_pci" ]; + + kernelModules = [ + "e1000e" + "nvme" + ]; }; } diff --git a/machines/core/network.nix b/machines/core/network.nix new file mode 100644 index 0000000..0666ee7 --- /dev/null +++ b/machines/core/network.nix @@ -0,0 +1,13 @@ +_: { + networking.networkmanager = { + enable = true; + + unmanaged = [ + "interface-name:br-*" # Ignore docker compose network bridges + "interface-name:docker?" # Ignore docker default bridge + "interface-name:veth*" # Ignore docker compose network devices + "interface-name:virbr?" # Ignore libvirt default bridge + ]; + }; + +} diff --git a/profiles/core/nix.nix b/machines/core/nix.nix similarity index 100% rename from profiles/core/nix.nix rename to machines/core/nix.nix diff --git a/profiles/core/users.nix b/machines/core/users.nix similarity index 100% rename from profiles/core/users.nix rename to machines/core/users.nix diff --git a/modules/hardware/keychron/default.nix b/modules/hardware/keychron/default.nix index 5d0a46f..f6702a4 100644 --- a/modules/hardware/keychron/default.nix +++ b/modules/hardware/keychron/default.nix @@ -13,10 +13,7 @@ in }; config = lib.mkIf cfg.enable { - hardware.keyboard.qmk = { - enable = true; - keychronSupport = true; - }; + hardware.keyboard.qmk.enable = true; services.udev.packages = with pkgs; [ via diff --git a/modules/services/media/bazarr/default.nix b/modules/services/bazarr/default.nix similarity index 100% rename from modules/services/media/bazarr/default.nix rename to modules/services/bazarr/default.nix diff --git a/modules/services/default.nix b/modules/services/default.nix index 2113d38..c3a430b 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -5,6 +5,7 @@ ./alertmanager ./aria2 ./backup + ./bazarr ./blackbox ./blocky ./dyndns @@ -19,20 +20,26 @@ ./homepage ./homer ./initrd-ssh + ./jellyfin + ./jellyseerr ./loki - ./matrix-bot - ./media ./minecraft-server + ./matrix-bot ./mumble-server + ./navidrome ./nextcloud ./node-exporter ./octoprint ./paperless ./passworts + ./photos ./prometheus ./promtail + ./prowlarr + ./radarr ./remote-build ./rss-bridge + ./sonarr ./ssh-server ./tandoor-recipes ./vpn diff --git a/modules/services/media/jellyfin/default.nix b/modules/services/jellyfin/default.nix similarity index 100% rename from modules/services/media/jellyfin/default.nix rename to modules/services/jellyfin/default.nix diff --git a/modules/services/media/jellyfin/enable-metrics.patch b/modules/services/jellyfin/enable-metrics.patch similarity index 100% rename from modules/services/media/jellyfin/enable-metrics.patch rename to modules/services/jellyfin/enable-metrics.patch diff --git a/modules/services/media/jellyseerr/default.nix b/modules/services/jellyseerr/default.nix similarity index 100% rename from modules/services/media/jellyseerr/default.nix rename to modules/services/jellyseerr/default.nix diff --git a/modules/services/media/default.nix b/modules/services/media/default.nix deleted file mode 100644 index ebb96ad..0000000 --- a/modules/services/media/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ ... }: -{ - imports = [ - ./bazarr - ./jellyfin - ./jellyseerr - ./navidrome - ./photos - ./prowlarr - ./radarr - ./sonarr - ]; -} diff --git a/modules/services/media/navidrome/default.nix b/modules/services/navidrome/default.nix similarity index 100% rename from modules/services/media/navidrome/default.nix rename to modules/services/navidrome/default.nix diff --git a/modules/services/media/photos/default.nix b/modules/services/photos/default.nix similarity index 100% rename from modules/services/media/photos/default.nix rename to modules/services/photos/default.nix diff --git a/modules/services/media/prowlarr/default.nix b/modules/services/prowlarr/default.nix similarity index 100% rename from modules/services/media/prowlarr/default.nix rename to modules/services/prowlarr/default.nix diff --git a/modules/services/media/radarr/default.nix b/modules/services/radarr/default.nix similarity index 100% rename from modules/services/media/radarr/default.nix rename to modules/services/radarr/default.nix diff --git a/modules/services/media/sonarr/default.nix b/modules/services/sonarr/default.nix similarity index 100% rename from modules/services/media/sonarr/default.nix rename to modules/services/sonarr/default.nix diff --git a/profiles/core/core.nix b/profiles/core/core.nix deleted file mode 100644 index 6ce291f..0000000 --- a/profiles/core/core.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ pkgs, ... }: -{ - # Packages - environment.systemPackages = with pkgs; [ - bandwhich # bandwidth monitor - bind # dns tools (dig, etc) - borgbackup # backup tool - cryptsetup # luks volume management - delta # git diff viewer - fd # find replacement in rust - file # show file type - fzf # fuzzy finder - gettext # localization tools - git # version control - gptfdisk # disk partitioning tools - htop # process monitor - jq # json processor - killall # kill processes by name - lsof # list open files - mosh # mobile shell - mtr # network diagnostic tool - multipath-tools # disk multipathing tools (kpartx) - nmap # network scanner - nmon # performance monitor - ouch # de-/compression tool - pciutils # lspci - progress # show progress of coreutils commands - pv # pipe viewer - reptyr # reparent process to new terminal - rsync # remote file sync - screen # terminal multiplexer - sd # sed replacement - stress-ng # stress testing - tmux # terminal multiplexer - unzip # unzip tools - usbutils # lsusb - vim # text editor - wget # file downloader - whois # domain lookup - xcp # rust cp replacement - zip # zip tools - ]; - - time.timeZone = "Europe/Berlin"; -} diff --git a/profiles/core/default.nix b/profiles/core/default.nix deleted file mode 100644 index da72c2b..0000000 --- a/profiles/core/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - config, - lib, - pkgs, - inputs, - ... -}@args: -let - cfg = config.my.profiles.core; -in -{ - options.my.profiles.core.enable = lib.mkEnableOption "core profile"; - - config = lib.mkIf cfg.enable ( - lib.mkMerge [ - (import ./core.nix args) - (import ./modules.nix args) - (import ./network.nix args) - (import ./nix.nix args) - (import ./users.nix args) - ] - ); -} diff --git a/profiles/core/network.nix b/profiles/core/network.nix deleted file mode 100644 index b620223..0000000 --- a/profiles/core/network.nix +++ /dev/null @@ -1,12 +0,0 @@ -_: { - networking.networkmanager = { - enable = true; - - unmanaged = [ - "interface-name:br-*" # docker compose bridges - "interface-name:docker?" # docker default bridge - "interface-name:veth*" # docker veth devices - "interface-name:virbr?" # libvirt default bridge - ]; - }; -} diff --git a/profiles/default.nix b/profiles/default.nix index 4f95122..3e54acd 100644 --- a/profiles/default.nix +++ b/profiles/default.nix @@ -4,7 +4,6 @@ ./3d-design ./android ./clean - ./core ./desktop-apps ./desktop-dev ./development