screeps and home-manager.sharedModules
This commit is contained in:
parent
a03344046b
commit
f770305273
6 changed files with 120 additions and 81 deletions
19
flake.nix
19
flake.nix
|
@ -231,19 +231,12 @@
|
|||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.root = {
|
||||
home.stateVersion = "22.11";
|
||||
imports = [
|
||||
home-manager-utils.hmModule
|
||||
];
|
||||
};
|
||||
home-manager.users.mainUser = {
|
||||
home.stateVersion = "22.11";
|
||||
imports = [
|
||||
doom-emacs-nix.hmModule
|
||||
home-manager-utils.hmModule
|
||||
];
|
||||
};
|
||||
home-manager.sharedModules = [
|
||||
doom-emacs-nix.hmModule
|
||||
home-manager-utils.hmModule
|
||||
];
|
||||
home-manager.users.mainUser.home.stateVersion = "22.11";
|
||||
home-manager.users.root.home.stateVersion = "22.11";
|
||||
};
|
||||
|
||||
sopsModule = name: { lib, ... }: {
|
||||
|
|
|
@ -18,49 +18,9 @@ with lib;
|
|||
|
||||
home-manager.users.mainUser = {
|
||||
|
||||
# a better cat
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
config.theme = "gruvbox-light";
|
||||
};
|
||||
home.shellAliases.cat = "${pkgs.bat}/bin/bat";
|
||||
|
||||
# notify me when a command is finished
|
||||
programs.noti.enable = true;
|
||||
|
||||
# a better ls
|
||||
programs.exa = {
|
||||
enable = true;
|
||||
enableAliases = true;
|
||||
};
|
||||
home.shellAliases.llt = "${pkgs.exa}/bin/exa -a --tree";
|
||||
|
||||
# use z instead of cd
|
||||
# use zi to fuzzy search through all registered directories
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
# provide better `Ctrl+r` command in terminal
|
||||
programs.mcfly = {
|
||||
enable = true;
|
||||
keyScheme = "vim";
|
||||
fuzzySearchFactor = 3;
|
||||
enableZshIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
defaultKeymap = "viins";
|
||||
};
|
||||
|
||||
xdg.configFile."ncmpcpp/config".text = ''
|
||||
mpd_host = "pepe.private"
|
||||
mpd_port = 6600
|
||||
'';
|
||||
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
|
|
@ -79,20 +79,5 @@ in
|
|||
|
||||
};
|
||||
|
||||
home-manager.users.mainUser.home.file.".mainUser" = {
|
||||
enable = true;
|
||||
text = builtins.toJSON (
|
||||
{
|
||||
mainUser = config.users.users.mainUser.name;
|
||||
normalUser = mapAttrs (_: value: value.name)
|
||||
(filterAttrs (_: value: value.isNormalUser)
|
||||
config.users.users);
|
||||
systemUser = mapAttrs (_: value: value.name)
|
||||
(filterAttrs (_: value: value.isSystemUser)
|
||||
config.users.users);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
@ -8,19 +8,44 @@ with lib;
|
|||
|
||||
config = mkIf (config.components.terminal.zsh.enable) {
|
||||
|
||||
home-manager.users =
|
||||
let
|
||||
zshConfig = {
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
defaultKeymap = "viins";
|
||||
};
|
||||
};
|
||||
in
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
mainUser = zshConfig;
|
||||
root = zshConfig;
|
||||
};
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
defaultKeymap = "viins";
|
||||
};
|
||||
|
||||
# a better cat
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
config.theme = "gruvbox-light";
|
||||
};
|
||||
home.shellAliases.cat = "${pkgs.bat}/bin/bat";
|
||||
|
||||
# a better ls
|
||||
programs.exa = {
|
||||
enable = true;
|
||||
enableAliases = true;
|
||||
};
|
||||
home.shellAliases.llt = "${pkgs.exa}/bin/exa -a --tree";
|
||||
|
||||
# use z instead of cd
|
||||
# use zi to fuzzy search through all registered directories
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
# provide better `Ctrl+r` command in terminal
|
||||
programs.mcfly = {
|
||||
enable = true;
|
||||
keyScheme = "vim";
|
||||
fuzzySearchFactor = 3;
|
||||
enableZshIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
programs.zsh = {
|
||||
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
|
||||
./hetzner.nix
|
||||
|
||||
# ./screeps.nix
|
||||
|
||||
./borg.nix
|
||||
./codimd.nix
|
||||
./gitea.nix
|
||||
|
@ -86,7 +88,7 @@
|
|||
security.acme.defaults.email = "contact@ingolf-wagner.de";
|
||||
|
||||
sops.defaultSopsFile = ../../secrets/robi.yaml;
|
||||
virtualisation.docker.enable = false;
|
||||
# virtualisation.docker.enable = false;
|
||||
services.printing.enable = false;
|
||||
services.smartd.enable = true;
|
||||
|
||||
|
|
74
nixos/machines/robi/screeps.nix
Normal file
74
nixos/machines/robi/screeps.nix
Normal file
|
@ -0,0 +1,74 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
debug = true;
|
||||
#version = "latest";
|
||||
# version = "142c079"; # 2 years ago.
|
||||
# version = "v1.14.0"; # 2 years ago.
|
||||
version = "v1.13.2"; # 2 years ago.
|
||||
in
|
||||
{
|
||||
virtualisation.oci-containers = {
|
||||
containers.screeps = {
|
||||
volumes = [
|
||||
"/srv/screeps:/screeps"
|
||||
(optionalString debug "/srv/screeps-tmp:/tmp")
|
||||
];
|
||||
environment.TZ = "Europe/Berlin";
|
||||
image = "screepers/screeps-launcher:${version}";
|
||||
ports = [ "21025:21025" ];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services =
|
||||
let
|
||||
configuration = builtins.toJSON {
|
||||
steamKey = "keyFromStep3";
|
||||
version = "latest";
|
||||
mods = [
|
||||
#"screepsmod-auth"
|
||||
#"screepsmod-admin-utils"
|
||||
#"screepsmod-mongo"
|
||||
];
|
||||
bots = {
|
||||
simplebot = "screepsbot-zeswarm";
|
||||
};
|
||||
serverConfig = {
|
||||
welcomeText = "<h1 style=\"text-align: center;\">My Cool Server</h1>";
|
||||
constants = {
|
||||
"TEST_CONSTANT" = 123;
|
||||
};
|
||||
tickRate = 1000;
|
||||
};
|
||||
};
|
||||
|
||||
unitConfig = {
|
||||
StartLimitInterval = 200;
|
||||
StartLimitBurst = 2;
|
||||
};
|
||||
serviceConfig = {
|
||||
Restart = mkForce (if debug then "no" else "always");
|
||||
RestartSec = 30;
|
||||
ExecStartPre = [
|
||||
(toString (pkgs.writers.writeDash "create-screeps-config" ''
|
||||
mkdir -p /srv/screeps/
|
||||
chown 1000:1000 -R /srv/screeps
|
||||
${optionalString debug "mkdir -p /srv/screeps-tmp"}
|
||||
${optionalString debug "chown 1000:1000 -R /srv/screeps-tmp"}
|
||||
echo '${configuration}' > /srv/screeps/config.yaml
|
||||
''))
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
podman-screeps = { inherit serviceConfig; };
|
||||
docker-screeps = { inherit serviceConfig; };
|
||||
};
|
||||
|
||||
#networking.firewall.allowedTCPPorts = [ 8123 ];
|
||||
#networking.firewall.allowedUDPPorts = [ 8123 ];
|
||||
|
||||
#networking.firewall.interfaces.wg0.allowedTCPPorts = [ 8123 ];
|
||||
#networking.firewall.interfaces.wg0.allowedUDPPorts = [ 8123 ];
|
||||
|
||||
}
|
Loading…
Reference in a new issue