From 049040f1e0ee41501d6e9d0c889854a81aa15f78 Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Mon, 21 Oct 2024 09:07:43 -0400 Subject: [PATCH] meta: move container configs into containers module This is part of making the config easier to understand for users by only having directories that directly map to flake outputs. This also simplifies using the config a bit since it's possible to remove containers entirely by simply deleting the containers.nix file. --- containers/wine.nix | 87 ---------------------------- containers/wordpress.nix | 33 ----------- modules/containers.nix | 119 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 117 insertions(+), 122 deletions(-) delete mode 100644 containers/wine.nix delete mode 100644 containers/wordpress.nix diff --git a/containers/wine.nix b/containers/wine.nix deleted file mode 100644 index 23157262..00000000 --- a/containers/wine.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ - nix-config, - config, - lib, - pkgs, - ... -}: - -let - inherit (nix-config.inputs.sakaya.packages.${pkgs.system}) sakaya; - inherit (config.modules.system) username; - inherit (lib) getExe; - - sakayaPort = 39493; -in -{ - imports = with nix-config.nixosModules; [ - shell - desktop - system - stylix - fonts - ]; - - home-manager.sharedModules = with nix-config.homeModules; [ - fish - git - gtk - kitty - neovim - xresources - yazi - ]; - - nixpkgs.overlays = builtins.attrValues nix-config.overlays; - - environment = { - systemPackages = - (with pkgs; [ - wineWowPackages.waylandFull - winetricks - ]) - ++ [ sakaya ]; - - variables = { - TERM = "xterm-kitty"; - }; - - sessionVariables = { - WAYLAND_DISPLAY = "wayland-1"; - QT_QPA_PLATFORM = "wayland"; - QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; - SDL_VIDEODRIVER = "wayland"; - CLUTTER_BACKEND = "wayland"; - MOZ_ENABLE_WAYLAND = "1"; - XDG_RUNTIME_DIR = "/run/user/1000"; - DISPLAY = ":0"; - QT_IM_MODULE = "fcitx"; - XMODIFIERS = "@im=fcitx"; - SDL_IM_MODULE = "fcitx"; - GLFW_IM_MODULE = "ibus"; - LC_ALL = "ja_JP.UTF-8"; - TZ = "Asia/Tokyo"; - }; - }; - - hardware.graphics.enable = true; - - networking.firewall.allowedTCPPorts = [ sakayaPort ]; - - systemd.services.sakaya = { - enable = true; - description = "sakaya server"; - - unitConfig = { - Type = "simple"; - }; - - path = with pkgs; [ su ]; - - serviceConfig = { - ExecStart = "/usr/bin/env su ${username} --command=${getExe sakaya}"; - }; - - wantedBy = [ "multi-user.target" ]; - }; -} diff --git a/containers/wordpress.nix b/containers/wordpress.nix deleted file mode 100644 index 226d6bc7..00000000 --- a/containers/wordpress.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - nix-config, - pkgs, - ... -}: - -{ - imports = with nix-config.nixosModules; [ - system - ]; - - users.defaultUserShell = pkgs.fish; - - programs = { - fish.enable = true; - neovim.enable = true; - }; - - environment = { - systemPackages = with pkgs; [ kitty ]; - shells = with pkgs; [ fish ]; - - variables = { - TERM = "xterm-kitty"; - }; - }; - - networking = { - firewall.allowedTCPPorts = [ 80 ]; - }; - - services.wordpress.sites.localhost = { }; -} diff --git a/modules/containers.nix b/modules/containers.nix index d9b3c31e..d1d01727 100644 --- a/modules/containers.nix +++ b/modules/containers.nix @@ -59,7 +59,94 @@ in wine = template // { hostAddress = "192.168.100.34"; localAddress = "192.168.100.49"; - config = ../containers/wine.nix; + config = + { + nix-config, + config, + lib, + pkgs, + ... + }: + + let + inherit (nix-config.inputs.sakaya.packages.${pkgs.system}) sakaya; + inherit (config.modules.system) username; + inherit (lib) getExe; + + sakayaPort = 39493; + in + { + imports = with nix-config.nixosModules; [ + shell + desktop + system + stylix + fonts + ]; + + home-manager.sharedModules = with nix-config.homeModules; [ + fish + git + gtk + kitty + neovim + xresources + yazi + ]; + + nixpkgs.overlays = builtins.attrValues nix-config.overlays; + + environment = { + systemPackages = + (with pkgs; [ + wineWowPackages.waylandFull + winetricks + ]) + ++ [ sakaya ]; + + variables = { + TERM = "xterm-kitty"; + }; + + sessionVariables = { + WAYLAND_DISPLAY = "wayland-1"; + QT_QPA_PLATFORM = "wayland"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + SDL_VIDEODRIVER = "wayland"; + CLUTTER_BACKEND = "wayland"; + MOZ_ENABLE_WAYLAND = "1"; + XDG_RUNTIME_DIR = "/run/user/1000"; + DISPLAY = ":0"; + QT_IM_MODULE = "fcitx"; + XMODIFIERS = "@im=fcitx"; + SDL_IM_MODULE = "fcitx"; + GLFW_IM_MODULE = "ibus"; + LC_ALL = "ja_JP.UTF-8"; + TZ = "Asia/Tokyo"; + }; + }; + + hardware.graphics.enable = true; + + networking.firewall.allowedTCPPorts = [ sakayaPort ]; + + systemd.services.sakaya = { + enable = true; + description = "sakaya server"; + + unitConfig = { + Type = "simple"; + }; + + path = with pkgs; [ su ]; + + serviceConfig = { + ExecStart = "/usr/bin/env su ${username} --command=${getExe sakaya}"; + }; + + wantedBy = [ "multi-user.target" ]; + }; + }; }; wordpress = { @@ -74,7 +161,35 @@ in inherit nix-config; }; - config = ../containers/wordpress.nix; + config = + { nix-config, pkgs, ... }: + { + imports = with nix-config.nixosModules; [ + system + ]; + + users.defaultUserShell = pkgs.fish; + + programs = { + fish.enable = true; + neovim.enable = true; + }; + + environment = { + systemPackages = with pkgs; [ kitty ]; + shells = with pkgs; [ fish ]; + + variables = { + TERM = "xterm-kitty"; + }; + }; + + networking = { + firewall.allowedTCPPorts = [ 80 ]; + }; + + services.wordpress.sites.localhost = { }; + }; }; }; }