From 0516ff439dbf85cab65fc9b3425c3e0800fd1c08 Mon Sep 17 00:00:00 2001 From: Sky Hearn Date: Tue, 5 Mar 2024 18:48:24 -0800 Subject: [PATCH] make it so podman can be logged into, and fix arion compose being the same file as --- configuration.nix | 8 +++++++- flake.nix | 1 + users/arion-compose.nix | 27 +++++++++++++-------------- users/podman.nix | 20 ++++++++++++++++++++ users/users.nix | 28 +++++----------------------- 5 files changed, 46 insertions(+), 38 deletions(-) create mode 100644 users/podman.nix diff --git a/configuration.nix b/configuration.nix index 7a3fe3b..ff47366 100644 --- a/configuration.nix +++ b/configuration.nix @@ -21,7 +21,12 @@ boot.loader.efi.canTouchEfiVariables = true; # set hostname - networking.hostName = "rackserver"; + networking.hostName = "rackserver"; + + # fix nixpkgs warning + nix.nixPath = [ + "nixpkgs=${pkgs.path}" + ]; # wireguard server setup # enable NAT @@ -90,6 +95,7 @@ environment.systemPackages = [ pkgs.wget + pkgs.vim pkgs.arion diff --git a/flake.nix b/flake.nix index 54d92e4..9c7ddba 100644 --- a/flake.nix +++ b/flake.nix @@ -24,6 +24,7 @@ home-manager.users.nub = import ./users/nub.nix; home-manager.users.jas = import ./users/jas.nix; home-manager.users.sky = import ./users/sky.nix; + home-manager.users.podman = import ./users/podman.nix; # Optionally, use home-manager.extraSpecialArgs to pass # arguments to home.nix diff --git a/users/arion-compose.nix b/users/arion-compose.nix index c27a07f..daca6bf 100644 --- a/users/arion-compose.nix +++ b/users/arion-compose.nix @@ -1,20 +1,19 @@ { pkgs, ... }: { - project.name = "webapp"; + project.name = "minecraft"; services = { - - webserver = { - image.enableRecommendedContents = true; - service.useHostStore = true; - service.command = [ "sh" "-c" '' - cd "$$WEB_ROOT" - ${pkgs.python3}/bin/python -m http.server - '' ]; - service.ports = [ - "8000:8000" # host:container - ]; - service.environment.WEB_ROOT = "${pkgs.nix.doc}/share/doc/nix/manual"; - service.stop_signal = "SIGINT"; + mc = { + service.image = "itzg/minecraft-server"; + service.volumes = [ "${toString ./.}/data:/data" ]; + service.ports = [ "25564:25565" ]; + service.environment = { + EULA = "true"; + MOD_PLATFORM = "AUTO_CURSEFORGE"; + CF_API_KEY = "$2a$10$BiefeMHCHbPFjXkIwpHk/.LvfbKaohRF7HcB3PF8oJtVAI/PfMpwe"; # free API key <3 + CF_FORCE_SYNCHRONIZE = "true"; + CF_PAGE_URL = "https://www.curseforge.com/minecraft/modpacks/valhelsia-6/files/5135030"; + MEMORY = "16G"; + }; }; }; } diff --git a/users/podman.nix b/users/podman.nix new file mode 100644 index 0000000..9677964 --- /dev/null +++ b/users/podman.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: { + home.username = "podman"; + home.homeDirectory = pkgs.lib.mkForce "/home/podman"; + + home.packages = [ ]; + programs.bash.enable = true; + + home.file = { + "arion-pkgs.nix" = { + source = ./arion-pkgs.nix; + }; + "arion-compose.nix" = { + source = ./arion-compose.nix; + }; + }; + + # The state version is required and should stay at the version you + # originally installed. + home.stateVersion = "23.11"; +} diff --git a/users/users.nix b/users/users.nix index 03c9925..0baeae8 100644 --- a/users/users.nix +++ b/users/users.nix @@ -5,32 +5,14 @@ users.users.ku.isNormalUser = true; users.users.nub.isNormalUser = true; users.users.jas.isNormalUser = true; - - users.users.podman.isSystemUser = true; + + users.extraUsers.podman.hashedPassword = ""; + users.users.podman.isNormalUser = true; users.users.gitea.isSystemUser = true; users.extraUsers.sky.hashedPassword = ""; users.groups.wheel.members=["sky"]; - + + users.groups.podman = {}; users.users.podman.group = "podman"; - home-manager.users.podman = { pkgs, ... }: { - home.username = "podman"; - home.homeDirectory = pkgs.lib.mkForce "/home/podman"; - - home.packages = [ ]; - programs.bash.enable = true; - - home.file = { - "arion-pkgs.nix" = { - source = ./arion-pkgs.nix; - }; - "arion-compose.nix" = { - source = ./arion-pkgs.nix; - }; - }; - - # The state version is required and should stay at the version you - # originally installed. - home.stateVersion = "23.11"; - }; }