diff --git a/.vscode/mcp.json b/.vscode/mcp.json index 4ea4feb..77e613a 100644 --- a/.vscode/mcp.json +++ b/.vscode/mcp.json @@ -1,8 +1,8 @@ { "servers": { "nixos": { - "command": "uvx", - "args": ["mcp-nixos"] + "command": "nix", + "args": ["run", "github:utensils/mcp-nixos", "--"] } } } \ No newline at end of file diff --git a/configuration.nix b/configuration.nix deleted file mode 100644 index 211a69f..0000000 --- a/configuration.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ config, lib, pkgs, apple-fonts, ... }: - -{ - imports = [ - ./hardware-configuration.nix - ./secureboot.nix - ./maintenance.nix - ./users.nix - ./network.nix - ./desktop.nix - ./containers.nix - ]; - - boot = { - loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - plymouth.enable = true; - initrd.kernelModules = [ "amdgpu" ]; - kernelPackages = pkgs.linuxPackages_cachyos ; - kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "iommu=pt" ]; - }; - - time.timeZone = "America/Argentina/Buenos_Aires"; - i18n.defaultLocale = "es_AR.UTF-8"; - - services.hardware.deepcool-digital-linux.enable = true; - - services.udev.extraRules = '' - # Intel RAPL energy usage file - ACTION=="add", SUBSYSTEM=="powercap", KERNEL=="intel-rapl:0", RUN+="${pkgs.coreutils}/bin/chmod 444 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj" - - # DeepCool HID raw devices - SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3633", MODE="0666" - - # CH510 MESH DIGITAL - SUBSYSTEM=="hidraw", ATTRS{idVendor}=="34d3", ATTRS{idProduct}=="1100", MODE="0666" - # Elgato 4K X (all speed modes) - SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009b", MODE="0666", GROUP="plugdev" - SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009c", MODE="0666", GROUP="plugdev" - SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009d", MODE="0666", GROUP="plugdev" - - # Elgato 4K S (all speed modes) - SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="00af", MODE="0666", GROUP="plugdev" - SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="00ae", MODE="0666", GROUP="plugdev" - - # nvtop - SUBSYSTEM=="drm", KERNEL=="card*", SUBSYSTEMS=="pci", DRIVERS=="amdgpu", RUN+="/bin/sh -c 'chmod -R g+r /sys/class/drm/%k/device/'" - ''; - - nixpkgs.config.allowUnfree = true; - nix.settings = { - experimental-features = [ "nix-command" "flakes" ]; - }; - - system.stateVersion = "25.11"; -} diff --git a/desktop.nix b/desktop.nix deleted file mode 100644 index 726fb71..0000000 --- a/desktop.nix +++ /dev/null @@ -1,126 +0,0 @@ -{pkgs, apple-fonts, vscode-server, inputs, ... }: -{ - hardware.graphics = { - enable = true; - enable32Bit = true; - extraPackages = with pkgs; [ - rocmPackages.clr.icd - ]; - }; - services.desktopManager.plasma6.enable = true; - services.displayManager = { - plasma-login-manager.enable = true; - sddm = { enable = true; wayland.enable = true; }; - autoLogin = { enable = true; user = "emmatherock"; }; - }; - security.pam.services.sddm.enableKwallet = true; - security.pam.services.login.enableKwallet = true; - - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; - - services.vscode-server.enable = true; - - fonts.packages = with pkgs; [ - noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji - nerd-fonts.fira-code nerd-fonts.jetbrains-mono - apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.sf-pro - apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.sf-mono - apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.ny - ]; - - environment.systemPackages = with pkgs; [ - # --- Base y Terminal --- - vim - git - wget - curl - fastfetch - (btop.override { cudaSupport = false; rocmSupport = true; }) - nvtopPackages.full - ethtool - zsh - fish - starship - gemini-cli - rocmPackages.rocm-smi - - # --- Herramientas de Sistema --- - btrfs-progs - kdePackages.partitionmanager - kdePackages.kalk - tailscale - distrobox - steam-run - localsend - inputs.lan-mouse.packages.${pkgs.stdenv.hostPlatform.system}.default - deskflow - - # --- Trabajo y Notas --- - (vscode-with-extensions.override { - vscodeExtensions = with vscode-extensions; [ - jnoortheen.nix-ide - ms-python.python - vscode-extensions.ms-dotnettools.csharp - vscode-extensions.ms-vscode.cpptools - vscode-extensions.golang.go - vscode-extensions.rust-lang.rust-analyzer - vscode-extensions.Google.gemini-cli-vscode-ide-companion - vscode-extensions.ms-azuretools.vscode-containers - ms-vscode-remote.remote-ssh - vscode-extensions.coolbear.systemd-unit-file - ]; - }) - obsidian - - # --- Multimedia y Comunicación --- - (discord.override { - # withOpenASAR = true; # can do this here too - withVencord = true; - }) - spotify - chatterino7 - plex-desktop - cider-2 - inputs.sidra.packages.${pkgs.stdenv.hostPlatform.system}.default - telegram-desktop - - # --- Audio y Video --- - carla - haruna - qpwgraph - pipewire - (pkgs.wrapOBS { - plugins = with pkgs.obs-studio-plugins; [ - obs-pipewire-audio-capture - obs-vkcapture - obs-composite-blur - obs-aitum-multistream - obs-vertical-canvas - ]; - }) - vlc - - # --- Gaming --- - faugus-launcher - plezy - protonplus - protontricks - proton-authenticator - mangohud - gamemode - cemu - ]; - - programs = { - firefox.enable = true; - fish.enable = true; - starship.enable = true; - steam = { enable = true; remotePlay.openFirewall = true; }; - }; -} diff --git a/flake.lock b/flake.lock index 42b42be..e580de0 100644 --- a/flake.lock +++ b/flake.lock @@ -205,6 +205,26 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1781706760, + "narHash": "sha256-jkSzXcasiZZ72q5f92FLHdIGAlGhX+124xQrbbczbF0=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a2e23ee8f8699f8971b4fde86efc1b7ec1e19681", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "jovian": { "inputs": { "nix-github-actions": [ @@ -229,25 +249,6 @@ "type": "github" } }, - "lan-mouse": { - "inputs": { - "nixpkgs": "nixpkgs_3", - "rust-overlay": "rust-overlay_2" - }, - "locked": { - "lastModified": 1781517640, - "narHash": "sha256-zCFYzIGWm5ShL/dO/SxwyHCCDerWveLiWpoeGDWKLi4=", - "owner": "feschber", - "repo": "lan-mouse", - "rev": "d1f41180e3f18cbc66d69dae39917b2d705c9abc", - "type": "github" - }, - "original": { - "owner": "feschber", - "repo": "lan-mouse", - "type": "github" - } - }, "lanzaboote": { "inputs": { "crane": "crane", @@ -255,7 +256,7 @@ "nixpkgs" ], "pre-commit": "pre-commit", - "rust-overlay": "rust-overlay_3" + "rust-overlay": "rust-overlay_2" }, "locked": { "lastModified": 1765382359, @@ -330,22 +331,6 @@ } }, "nixpkgs_3": { - "locked": { - "lastModified": 1772963539, - "narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9dcb002ca1690658be4a04645215baea8b95f31d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { "locked": { "lastModified": 1781074563, "narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=", @@ -361,7 +346,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1682134069, "narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=", @@ -414,9 +399,9 @@ "inputs": { "apple-fonts": "apple-fonts", "chaotic": "chaotic", - "lan-mouse": "lan-mouse", + "home-manager": "home-manager_2", "lanzaboote": "lanzaboote", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "sidra": "sidra", "vscode-server": "vscode-server" } @@ -443,27 +428,6 @@ } }, "rust-overlay_2": { - "inputs": { - "nixpkgs": [ - "lan-mouse", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1773025773, - "narHash": "sha256-Wik8+xApNfldpUFjPmJkPdg0RrvUPSWGIZis+A/0N1w=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "3c06fdbbd36ff60386a1e590ee0cd52dcd1892bf", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_3": { "inputs": { "nixpkgs": [ "lanzaboote", @@ -606,7 +570,7 @@ "vscode-server": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1770124655, diff --git a/flake.nix b/flake.nix index f240b49..b4b40e0 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "NixOS con Kernel CachyOS (vía xddxdd)"; + description = "NixOS configuration for my homelab"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; @@ -13,31 +13,33 @@ url = "github:nix-community/lanzaboote/v1.0.0"; inputs.nixpkgs.follows = "nixpkgs"; }; - lan-mouse.url = "github:feschber/lan-mouse"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; vscode-server.url = "github:nix-community/nixos-vscode-server"; }; - outputs = { self, nixpkgs, chaotic, apple-fonts, lanzaboote, lan-mouse, sidra, vscode-server, ... }@inputs: { + outputs = { self, nixpkgs, chaotic, apple-fonts, lanzaboote, home-manager, sidra, vscode-server, ... }@inputs: { nixosConfigurations = { miku-homelab = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit apple-fonts inputs; }; modules = [ - ./configuration.nix + ./hosts/miku-homelab lanzaboote.nixosModules.lanzaboote + home-manager.nixosModules.home-manager vscode-server.nixosModules.default chaotic.nixosModules.default + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.emmatherock = import ./home/emmatherock/home.nix; + } ]; }; }; }; - nixConfig = { - extra-substituters = [ - "https://lan-mouse.cachix.org/" - ]; - extra-trusted-public-keys = [ - "lan-mouse.cachix.org-1:KlE2AEZUgkzNKM7BIzMQo8w9yJYqUpor1CAUNRY6OyM=" - ]; - }; } diff --git a/home/emmatherock/desktop-apps.nix b/home/emmatherock/desktop-apps.nix new file mode 100644 index 0000000..ab172e3 --- /dev/null +++ b/home/emmatherock/desktop-apps.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + obsidian + (discord.override { + # withOpenASAR = true; # can do this here too + withVencord = true; + }) + chatterino7 + telegram-desktop + localsend + deskflow + kdePackages.kalk + kdePackages.partitionmanager + ]; +} diff --git a/home/emmatherock/gaming.nix b/home/emmatherock/gaming.nix new file mode 100644 index 0000000..1ebe31f --- /dev/null +++ b/home/emmatherock/gaming.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + faugus-launcher + plezy + protonplus + protontricks + proton-authenticator + mangohud + cemu + ]; +} diff --git a/home/emmatherock/git.nix b/home/emmatherock/git.nix new file mode 100644 index 0000000..dd6a15c --- /dev/null +++ b/home/emmatherock/git.nix @@ -0,0 +1,3 @@ +{ + programs.git.enable = true; +} diff --git a/home/emmatherock/home.nix b/home/emmatherock/home.nix new file mode 100644 index 0000000..bfd0e98 --- /dev/null +++ b/home/emmatherock/home.nix @@ -0,0 +1,15 @@ +{ + imports = [ + ./desktop-apps.nix + ./gaming.nix + ./git.nix + ./media.nix + ./obs.nix + ./packages.nix + ./shell.nix + ./vscode.nix + ]; + + programs.home-manager.enable = true; + home.stateVersion = "25.11"; +} diff --git a/home/emmatherock/media.nix b/home/emmatherock/media.nix new file mode 100644 index 0000000..a810ea3 --- /dev/null +++ b/home/emmatherock/media.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + spotify + cider-2 + haruna + vlc + carla + qpwgraph + ]; +} diff --git a/home/emmatherock/obs.nix b/home/emmatherock/obs.nix new file mode 100644 index 0000000..b189941 --- /dev/null +++ b/home/emmatherock/obs.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: +{ + home.packages = [ + (pkgs.wrapOBS { + plugins = with pkgs.obs-studio-plugins; [ + obs-pipewire-audio-capture + obs-vkcapture + obs-composite-blur + obs-aitum-multistream + obs-vertical-canvas + ]; + }) + ]; +} diff --git a/home/emmatherock/packages.nix b/home/emmatherock/packages.nix new file mode 100644 index 0000000..9b14284 --- /dev/null +++ b/home/emmatherock/packages.nix @@ -0,0 +1,12 @@ +{ pkgs, inputs, ... }: +{ + home.packages = with pkgs; [ + # --- Base y Terminal --- + vim + fastfetch + (btop.override { cudaSupport = false; rocmSupport = true; }) + nvtopPackages.full + gemini-cli + inputs.sidra.packages.${pkgs.stdenv.hostPlatform.system}.default + ]; +} diff --git a/home/emmatherock/shell.nix b/home/emmatherock/shell.nix new file mode 100644 index 0000000..8e8f07c --- /dev/null +++ b/home/emmatherock/shell.nix @@ -0,0 +1,4 @@ +{ + programs.fish.enable = true; + programs.starship.enable = true; +} diff --git a/home/emmatherock/vscode.nix b/home/emmatherock/vscode.nix new file mode 100644 index 0000000..29f98f1 --- /dev/null +++ b/home/emmatherock/vscode.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + (vscode-with-extensions.override { + vscodeExtensions = with vscode-extensions; [ + jnoortheen.nix-ide + ms-python.python + vscode-extensions.ms-dotnettools.csharp + vscode-extensions.ms-vscode.cpptools + vscode-extensions.golang.go + vscode-extensions.rust-lang.rust-analyzer + vscode-extensions.Google.gemini-cli-vscode-ide-companion + vscode-extensions.ms-azuretools.vscode-containers + ms-vscode-remote.remote-ssh + vscode-extensions.coolbear.systemd-unit-file + ]; + }) + ]; +} diff --git a/hosts/miku-homelab/default.nix b/hosts/miku-homelab/default.nix new file mode 100644 index 0000000..cdcd062 --- /dev/null +++ b/hosts/miku-homelab/default.nix @@ -0,0 +1,66 @@ +{ pkgs, ... }: + +{ + imports = [ + ./hardware-configuration.nix + ../../modules/security/secureboot.nix + ../../modules/services/maintenance.nix + ../../modules/system/audio.nix + ../../modules/system/fonts.nix + ../../modules/system/gaming.nix + ../../modules/system/graphics.nix + ../../modules/system/packages.nix + ../../modules/system/shells.nix + ../../modules/system/users.nix + ../../modules/system/networking.nix + ../../modules/desktop/firefox.nix + ../../modules/desktop/plasma.nix + ../../modules/services/containers.nix + ../../modules/services/vscode-server.nix + ]; + + boot = { + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + plymouth.enable = true; + initrd.kernelModules = [ "amdgpu" ]; + kernelPackages = pkgs.linuxPackages_cachyos ; + kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "iommu=pt" ]; + }; + + time.timeZone = "America/Argentina/Buenos_Aires"; + i18n.defaultLocale = "es_AR.UTF-8"; + + services.hardware.deepcool-digital-linux.enable = true; + + services.udev.extraRules = '' + # Intel RAPL energy usage file + ACTION=="add", SUBSYSTEM=="powercap", KERNEL=="intel-rapl:0", RUN+="${pkgs.coreutils}/bin/chmod 444 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj" + + # DeepCool HID raw devices + SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3633", MODE="0666" + + # CH510 MESH DIGITAL + SUBSYSTEM=="hidraw", ATTRS{idVendor}=="34d3", ATTRS{idProduct}=="1100", MODE="0666" + # Elgato 4K X (all speed modes) + SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009b", MODE="0666", GROUP="plugdev" + SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009c", MODE="0666", GROUP="plugdev" + SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009d", MODE="0666", GROUP="plugdev" + + # Elgato 4K S (all speed modes) + SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="00af", MODE="0666", GROUP="plugdev" + SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="00ae", MODE="0666", GROUP="plugdev" + + # nvtop + SUBSYSTEM=="drm", KERNEL=="card*", SUBSYSTEMS=="pci", DRIVERS=="amdgpu", RUN+="/bin/sh -c 'chmod -R g+r /sys/class/drm/%k/device/'" + ''; + + nixpkgs.config.allowUnfree = true; + nix.settings = { + experimental-features = [ "nix-command" "flakes" ]; + }; + + system.stateVersion = "25.11"; +} diff --git a/hardware-configuration.nix b/hosts/miku-homelab/hardware-configuration.nix similarity index 100% rename from hardware-configuration.nix rename to hosts/miku-homelab/hardware-configuration.nix diff --git a/maintenance.nix b/maintenance.nix deleted file mode 100644 index df282d7..0000000 --- a/maintenance.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs, ... }: - -{ - # Optimización automática del storage (une archivos idénticos) - nix.settings.auto-optimise-store = true; - - # Garbage Collector automático - nix.gc = { - automatic = true; - dates = "weekly"; # Se ejecuta cada semana - options = "--delete-older-than 14d"; # Borra lo que tenga más de 2 semanas - }; - - # Opcional: Limpieza de logs de Systemd para que no crezcan infinito - services.journald.extraConfig = "SystemMaxUse=500M"; -} diff --git a/modules/desktop/firefox.nix b/modules/desktop/firefox.nix new file mode 100644 index 0000000..e3b556b --- /dev/null +++ b/modules/desktop/firefox.nix @@ -0,0 +1,3 @@ +{ + programs.firefox.enable = true; +} diff --git a/modules/desktop/plasma.nix b/modules/desktop/plasma.nix new file mode 100644 index 0000000..f180c59 --- /dev/null +++ b/modules/desktop/plasma.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + services.desktopManager.plasma6.enable = true; + services.displayManager = { + plasma-login-manager.enable = true; + autoLogin = { enable = true; user = "emmatherock"; }; + }; + security.pam.services.login.enableKwallet = true; + +} diff --git a/secureboot.nix b/modules/security/secureboot.nix similarity index 90% rename from secureboot.nix rename to modules/security/secureboot.nix index ed796bc..19528e6 100644 --- a/secureboot.nix +++ b/modules/security/secureboot.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, ... }: +{ lib, ... }: { # Lanzaboote reemplaza al systemd-boot estándar diff --git a/containers.nix b/modules/services/containers.nix similarity index 100% rename from containers.nix rename to modules/services/containers.nix diff --git a/modules/services/maintenance.nix b/modules/services/maintenance.nix new file mode 100644 index 0000000..b65c43d --- /dev/null +++ b/modules/services/maintenance.nix @@ -0,0 +1,13 @@ +{ ... }: + +{ + nix.settings.auto-optimise-store = true; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 14d"; + }; + + services.journald.extraConfig = "SystemMaxUse=500M"; +} diff --git a/modules/services/vscode-server.nix b/modules/services/vscode-server.nix new file mode 100644 index 0000000..4ff46bb --- /dev/null +++ b/modules/services/vscode-server.nix @@ -0,0 +1,3 @@ +{ + services.vscode-server.enable = true; +} diff --git a/modules/system/audio.nix b/modules/system/audio.nix new file mode 100644 index 0000000..84d615d --- /dev/null +++ b/modules/system/audio.nix @@ -0,0 +1,9 @@ +{ + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; +} diff --git a/modules/system/fonts.nix b/modules/system/fonts.nix new file mode 100644 index 0000000..8192c14 --- /dev/null +++ b/modules/system/fonts.nix @@ -0,0 +1,10 @@ +{pkgs, apple-fonts, ... }: +{ + fonts.packages = with pkgs; [ + noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji + nerd-fonts.fira-code nerd-fonts.jetbrains-mono + apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.sf-pro + apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.sf-mono + apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.ny + ]; +} diff --git a/modules/system/gaming.nix b/modules/system/gaming.nix new file mode 100644 index 0000000..dbdeb21 --- /dev/null +++ b/modules/system/gaming.nix @@ -0,0 +1,6 @@ +{ + programs = { + gamemode.enable = true; + steam = { enable = true; remotePlay.openFirewall = true; }; + }; +} diff --git a/modules/system/graphics.nix b/modules/system/graphics.nix new file mode 100644 index 0000000..4b7d671 --- /dev/null +++ b/modules/system/graphics.nix @@ -0,0 +1,10 @@ +{pkgs, ... }: +{ + hardware.graphics = { + enable = true; + enable32Bit = true; + extraPackages = with pkgs; [ + rocmPackages.clr.icd + ]; + }; +} diff --git a/network.nix b/modules/system/networking.nix similarity index 100% rename from network.nix rename to modules/system/networking.nix diff --git a/modules/system/packages.nix b/modules/system/packages.nix new file mode 100644 index 0000000..94abc6d --- /dev/null +++ b/modules/system/packages.nix @@ -0,0 +1,14 @@ +{pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + git + wget + curl + ethtool + fish + rocmPackages.rocm-smi + btrfs-progs + distrobox + steam-run + ]; +} diff --git a/modules/system/shells.nix b/modules/system/shells.nix new file mode 100644 index 0000000..cc274d1 --- /dev/null +++ b/modules/system/shells.nix @@ -0,0 +1,5 @@ +{ + programs = { + fish.enable = true; + }; +} diff --git a/users.nix b/modules/system/users.nix similarity index 100% rename from users.nix rename to modules/system/users.nix