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.
This commit is contained in:
Donovan Glover 2024-10-21 09:07:43 -04:00
parent 0299a132f7
commit 049040f1e0
No known key found for this signature in database
GPG Key ID: EA7408A77AE1BE65
3 changed files with 117 additions and 122 deletions

View File

@ -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" ];
};
}

View File

@ -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 = { };
}

View File

@ -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 = { };
};
};
};
}