hosts: add maia

This commit is contained in:
Gabriel Fontes
2022-08-22 03:45:19 -03:00
parent d01eb5f002
commit fa93e4fd08
24 changed files with 246 additions and 121 deletions
+4 -2
View File
@@ -8,6 +8,7 @@ keys:
- &merope age1709qfrwglm75v5x8lpuhryt83k6p6c90npplzzec6a5w8ct93ejscpqpc3
- &pleione age1j9ld6ey62hqd33xkyd2fg9362k6xhm5gavsrpsfalwpcs8smxfdqpk84a2
- &electra age1mddne5mfm78n5td59nu35lh0fxfe28a0575kcjrmtyxl8hn9xpfsnmgvat
- &maia age1dn7pkareh83k8el2yt4dmdfdzn7f45fuc785cnnxgzf3h4r5gqhqd4l93h
creation_rules:
- path_regex: hosts/merope/secrets.ya?ml$
@@ -26,9 +27,10 @@ creation_rules:
- path_regex: hosts/common/secrets.ya?ml$
key_groups:
- age:
- *electra
- *merope
- *atlas
- *merope
- *pleione
- *electra
- *maia
pgp:
- *misterio
Generated
+3 -3
View File
@@ -529,11 +529,11 @@
"utils": "utils_5"
},
"locked": {
"lastModified": 1661062745,
"narHash": "sha256-1Sl10D3u9W+Vj4309d3qwEV/GjCj9ej6qz0UOdoanyg=",
"lastModified": 1661144001,
"narHash": "sha256-r3FpJA8pixW6BZRNDs+QNA1YsVl0JLaTdKTUvmpCCcw=",
"owner": "~misterio",
"repo": "website",
"rev": "79cc5e46888fcc05ed6a11d1d3845a1ad21a1285",
"rev": "c3d250a074949a63d093f725f13586a62269a40c",
"type": "sourcehut"
},
"original": {
+21 -2
View File
@@ -108,6 +108,12 @@
pkgs = legacyPackages."x86_64-linux";
persistence = true;
};
# Secondary Desktop
maia = mkSystem {
hostname = "maia";
pkgs = legacyPackages."x86_64-linux";
persistence = true;
};
# Raspi 4
merope = mkSystem {
hostname = "merope";
@@ -123,6 +129,7 @@
};
homeConfigurations = {
# Desktop
"misterio@atlas" = mkHome {
username = "misterio";
hostname = "atlas";
@@ -138,6 +145,7 @@
wallpaper = "aurora-borealis-water-mountain";
colorscheme = "nebula";
};
# Laptop
"misterio@pleione" = mkHome {
username = "misterio";
hostname = "pleione";
@@ -152,6 +160,15 @@
colorscheme = "paraiso";
wallpaper = "plains-gold-field";
};
# Secondary Desktop
"misterio@maia" = mkHome {
username = "misterio";
hostname = "maia";
persistence = true;
colorscheme = "dracula";
};
# Raspi 4
"misterio@merope" = mkHome {
username = "misterio";
hostname = "merope";
@@ -159,6 +176,7 @@
colorscheme = "nord";
};
# VPS
"misterio@electra" = mkHome {
username = "misterio";
hostname = "electra";
@@ -166,6 +184,7 @@
colorscheme = "solarflare";
};
# For easy bootstraping from a nixos live usb
"nixos@nixos" = mkHome {
username = "nixos";
hostname = "nixos";
@@ -177,8 +196,8 @@
deploy = {
nodes = mkDeploys nixosConfigurations homeConfigurations;
magicRollback = false;
autoRollback = false;
magicRollback = true;
autoRollback = true;
};
deployChecks = { };
@@ -136,6 +136,7 @@ in
electra = { host = "electra"; icon = " "; };
merope = { host = "merope"; icon = " "; };
atlas = { host = "atlas"; icon = " "; };
maia = { host = "maia"; icon = " "; };
pleione = { host = "pleione"; icon = " "; };
};
targets' = builtins.filter (x: x.host != hostname) (builtins.attrValues targets);
+2 -1
View File
@@ -6,9 +6,10 @@
inputs.hardware.nixosModules.common-pc-ssd
./hardware-configuration.nix
./services/minecraft.nix
../common/global
../common/users/misterio.nix
../common/optional/ckb-next.nix
../common/optional/misterio-greetd.nix
../common/optional/pipewire.nix
+1 -1
View File
@@ -26,5 +26,5 @@
};
nixpkgs.hostPlatform.system = "x86_64-linux";
hardware.cpu.amd.updateMicrocode = true;
}
+1 -14
View File
@@ -1,5 +1,5 @@
# This file (and the global directory) holds config that i use on all hosts
{ lib, inputs, hostname, persistence, config, ... }:
{ lib, inputs, hostname, persistence, ... }:
{
imports = [
inputs.impermanence.nixosModules.impermanence
@@ -9,7 +9,6 @@
./openssh.nix
./peerix.nix
./sops.nix
./users.nix
];
networking = {
@@ -17,16 +16,6 @@
domain = "fontes.dev.br";
};
nix = {
# Add each flake input as a registry
# To make nix3 commands consistent with your flake
registry = lib.mapAttrs (_: value: { flake = value; }) inputs;
# Map registries to channels
# Very useful when using legacy commands
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
};
environment = {
loginShellInit = ''
# Activate home-manager environment, if not already
@@ -62,6 +51,4 @@
value = "1048576";
}
];
system.stateVersion = lib.mkDefault "22.05";
}
+3 -3
View File
@@ -1,10 +1,10 @@
{ lib, ... }: {
i18n = {
defaultLocale = "en_US.UTF-8";
defaultLocale = lib.mkDefault "en_US.UTF-8";
extraLocaleSettings = {
LC_TIME = "pt_BR.UTF-8";
LC_TIME = lib.mkDefault "pt_BR.UTF-8";
};
supportedLocales = [
supportedLocales = lib.mkDefault [
"en_US.UTF-8/UTF-8"
"pt_BR.UTF-8/UTF-8"
];
+9 -7
View File
@@ -1,8 +1,4 @@
{ pkgs, inputs, lib, ... }:
let
inherit (lib) mapAttrs' nameValuePair;
toRegistry = mapAttrs' (n: v: nameValuePair n { flake = v; });
in
{ pkgs, inputs, lib, config, ... }:
{
nix = {
settings = {
@@ -27,7 +23,13 @@ in
automatic = true;
dates = "weekly";
};
# Map flake inputs to system registries
registry = toRegistry inputs;
# Add each flake input as a registry
# To make nix3 commands consistent with the flake
registry = lib.mapAttrs (_: value: { flake = value; }) inputs;
# Map registries to channels
# Very useful when using legacy commands
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
};
}
-46
View File
@@ -1,46 +0,0 @@
{ pkgs, config, lib, hostname, outputs, ... }:
let
homeConfig = outputs.homeConfigurations."misterio@${hostname}".config;
in
{
users.mutableUsers = false;
users.users = {
misterio = {
isNormalUser = true;
shell = pkgs.fish;
extraGroups = [
"wheel"
"video"
"audio"
]
++ (lib.optional config.networking.wireless.userControlled.enable config.networking.wireless.userControlled.group)
++ (lib.optional config.programs.wireshark.enable "wireshark")
++ (lib.optional config.hardware.i2c.enable "i2c")
++ (lib.optional config.services.minecraft-server.enable "minecraft")
++ (lib.optional (config.systemd.services.minecraft-modpack or { enable = false; }).enable "minecraft-modpack")
++ (lib.optional config.services.mysql.enable "mysql")
++ (lib.optional config.virtualisation.docker.enable "docker")
++ (lib.optional config.virtualisation.podman.enable "podman")
++ (lib.optional config.virtualisation.libvirtd.enable "libvirtd");
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDci4wJghnRRSqQuX1z2xeaUR+p/muKzac0jw0mgpXE2T/3iVlMJJ3UXJ+tIbySP6ezt0GVmzejNOvUarPAm0tOcW6W0Ejys2Tj+HBRU19rcnUtf4vsKk8r5PW5MnwS8DqZonP5eEbhW2OrX5ZsVyDT+Bqrf39p3kOyWYLXT2wA7y928g8FcXOZjwjTaWGWtA+BxAvbJgXhU9cl/y45kF69rfmc3uOQmeXpKNyOlTk6ipSrOfJkcHgNFFeLnxhJ7rYxpoXnxbObGhaNqn7gc5mt+ek+fwFzZ8j6QSKFsPr0NzwTFG80IbyiyrnC/MeRNh7SQFPAESIEP8LK3PoNx2l1M+MjCQXsb4oIG2oYYMRa2yx8qZ3npUOzMYOkJFY1uI/UEE/j/PlQSzMHfpmWus4o2sijfr8OmVPGeoU/UnVPyINqHhyAd1d3Iji3y3LMVemHtp5wVcuswABC7IRVVKZYrMCXMiycY5n00ch6XTaXBwCY00y8B3Mzkd7Ofq98YHc= (none)"
];
passwordFile = config.sops.secrets.misterio-password.path;
};
};
sops.secrets.misterio-password = {
sopsFile = ../secrets.yaml;
neededForUsers = true;
};
services.geoclue2.enable = lib.mkDefault (
(homeConfig.services.gammastep.enable or false) &&
(homeConfig.services.gammastep.provider == "geoclue2")
);
security.pam.services = {
swaylock = lib.mkIf homeConfig.programs.swaylock.enable { };
};
}
+20
View File
@@ -0,0 +1,20 @@
{
services = {
xserver = {
desktopManager.gnome = {
enable = true;
};
displayManager.gdm = {
enable = true;
autoSuspend = false;
};
};
geoclue2.enable = true;
gnome.games.enable = true;
};
# Fix broken stuff
services.avahi.enable = false;
networking.networkmanager.enable = false;
i18n.defaultLocale = "pt_BR.UTF-8";
}
+1
View File
@@ -1,5 +1,6 @@
{
security.rtkit.enable = true;
hardware.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
+50 -40
View File
@@ -1,4 +1,5 @@
misterio-password: ENC[AES256_GCM,data:bQR9UtCNRl9S/anjqwO8Ssnbx8v+sx1YMKgNeL2lvHQ0JB0vXcyQuUHnvKF0qZU3h8G/zJBJ06oDSwd0xH6wghExC3LQGkqG4uuPxj2JZTbZMgaCYawq2clo45D1p/7UYkm1d+5iHGO1Ag==,iv:SYGY0leQkFniuxiG/V4EsBPF4saSctoQ9Yke9cg5QzA=,tag:5Gzj98eaop9nfSUu0x70hQ==,type:str]
layla-password: ENC[AES256_GCM,data:dE83+HB3RHl1g95mAtO7DjETyibWuJTgSAJBksYkUeG97bsXbP3YAgEdZ6NJ3YQ6/AAqVNqvhmL/GYt8B1E4cvBls8cL5YlNjvDRrp+15uDpQ8mRNF49xGciRfDsn2GQqkCLpZdHaEqowg==,iv:F2gOedMcFce/JFEY2RPAWEqQxSFsSGU4cmcTRU1+5R4=,tag:CzgiefLAzg0TwB6rRA0YDA==,type:str]
peerix-key: ENC[AES256_GCM,data:J5jL+70oUpGTyyIPpXUL6wWd4Du6VZkgiNCkOOFDpmmzNKJf4YaSPl0NQJdDD8S/j/gO252LytCvjjViSS3HmKbqJm18prvBX88w5SQvoXsTQQE2pHHpZE0GSfHn6Ok=,iv:i/lntRB+iZFdGNNk1H+0OmZA3HrCLMYTP5lvjW1scNY=,tag:BTKsEyHnSFwiQ7iSME2n3A==,type:str]
wireless: ENC[AES256_GCM,data:84U0iOG1tX9AsLkcFp+enpSZa7fTMpjpIT/LoHr2wRL8ayKzczLpMwPOmmtOG7VQjdhmFWz74c5YTojDmE3OVXk+bDk99etYCy3I8EDg/g8N0UudUUpE9k4WYCQZJ4Rj2YPqxJUZ3/i89/DFUhDMpu5Kw0MUefNcX52Pk2ZQqVP+uyPzXQuYrPtycT8oKzuLPzRvtfrVoxPDEeMHK3bQSnP7CdVPAqFLp+AWK34vfPx/JkhitEUclXlrfIdt6sUfMu3a7q/daJ6yINBdeRIaYsFQ/Jr8Hu3EEl57dHXWMFg=,iv:g/9B2pY57Ze7w+6VFskYjRCmPPU8TS9GYdIK7I03GC0=,tag:pqWrj7gCozhlKVFPn5S3+g==,type:str]
sops:
@@ -7,61 +8,70 @@ sops:
azure_kv: []
hc_vault: []
age:
- recipient: age1mddne5mfm78n5td59nu35lh0fxfe28a0575kcjrmtyxl8hn9xpfsnmgvat
- recipient: age1hm5lf4qk84r4wh00atn6hpts7mpdx80adq26wht2e5qh9ewvhyaszfv82d
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUKzZSbEpRSmZTbTdCbStV
OTh4aStEdUxzR1JTM1hKVkJ6cEU4RkVHeWhBCnNPN2hhN3h0YWhaY3dVM0FCV1BS
Vm1sMU5UYUpjclpYOUsvRjdrZzNod0EKLS0tIGF1VGNJNjI4N1RQckM3K29IK0lm
YW1rYkFJUTVubU1iSEFJWnNubXBaa0EKdb7nFsQN5hZ0hXMQ/QjAX0qXjU0w6pnR
bUBYqHTJHwZQnlbvFJLlFKd2JqC7NJGcJ4m0Kv419QelVLPTCE9OhA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIbUFMVTMrZzBxb0t6aVNS
SnIvYXk2dlQxOGlkNFJ0cGdBSEozUHFDK1RVCnNtZ2RhNFlzN0hQQmx5Y24rUmJN
TEEzSmF2cTl4OVNVWkFNN21XcmZpS3cKLS0tIGZJN3AvM3VuczdHZnFNZ1dvTkxh
dm9lWlhZMWFtYzE5VGFFOXRpR2Q3R3MKcN/SE0GTuIg9/4hZO/BHQxyTk5HUt9L7
JxcJO6BrJJg7NhlydhW6O0MswY1LOHTVDJ8a1PsIAsW627DPA85/vw==
-----END AGE ENCRYPTED FILE-----
- recipient: age1709qfrwglm75v5x8lpuhryt83k6p6c90npplzzec6a5w8ct93ejscpqpc3
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzVEVSc1RMaUhHaWM1b2xZ
ZGlpSDFWais1YzNNN1ptaDFaMVhyTm4rakV3CmNJRnFpQVpOUzViWXFDdWRsRkhB
Nk9LVDRtUmExQ3dRTHpSR1VZQ1lHUXcKLS0tIEsrUVo3dG12NGJDMVNCb2xqNjh2
bUthd3NmYzhEZlA0ZnRLaDM4aUcvMU0KfObnuEjk0O/qSpTeeZ3/mGemOutsKo3j
jcP1Qe5QoftGxotT8vs7aybv6w8ffFGFOtnNWmrs6c53s/hEZS8Ytg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1hm5lf4qk84r4wh00atn6hpts7mpdx80adq26wht2e5qh9ewvhyaszfv82d
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZVDlJNXJjZng4ZHdtWTNC
YUFGZ29XT29RSC9STC94VC9IVE5KbWFjNUMwCjJkbUVVS3E1dy8wcmV5VU1kUW9w
TlZHWW9ZTjlyZnVpTTFMYTU0ZzNXODgKLS0tIFV3VUxsejArOCs4T1FSTGszaW8v
RkZxYXlZMWI0aGdsKzRqbDVSdjBkZG8K4rO1Rw1PdWYRZYuvAu1LUDnbT4cm7Dd0
FzsbmMn6NEXBLa9yJbP/o5QrihCQ1KuhjGnriXRqMMNK2k+NWBOiqg==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5bkh4aGZRRzZNcFhhYmFT
WG14VGd5b3NBV0xkbm1EZUdNVFpoNDF2dmdJCng0YktNVTNuVWh5UVpabzNJaHBO
eWZQaUVZdTBpY3hHUkQ3VlBqNjNkczQKLS0tIFd3T3p6ZXBrV0MzRjZKTFJlaVRV
YzJYVkZWdWZhMWJFZ3JieUNhL0hpb0EKf8Wogw+ii1wRYbxuhHbhY7DGzmZXHh55
bfVU918ZrrCNw4aFvHbI4YydZWLZFIo0KZi/L3bhDdRUXa5+IVIHgA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1j9ld6ey62hqd33xkyd2fg9362k6xhm5gavsrpsfalwpcs8smxfdqpk84a2
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZY3RIV3dRMDRwRmFxemlp
VzVONFBQQnFmRVBGOEhxNnozcktWYnZIU3lJCk15eXBWdExBakdEQjh5dmN0V0w2
RzVjd3h0YS8xUEo0czhLTTRZblNaekEKLS0tIDlRZCt2T3hLRnpCRGVFdzJWMW55
bkRjMnZZM3hYSzBNN2lJbTVqNWh0SkEKXZUYG+wof+ZzcR8KXp6i4QIuj2uhmkYP
gU4S0snWYCDHGciLSPXz/BPL6AvfGYdPoSPLdYKmnwFW9ClfCHBrsg==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWRUlSTUtNWENxMXJXNTlZ
ZlVtWlFZMFpkcU9iZitMZitIN1JhZzVsSzNnCkFaRC9sNVJNK040RXJxajhQd3NI
YWxOQ25DbXdQUVI1d1FISzJsSWhDU3MKLS0tIDN4b0RKOWdzQkVEenpNWnVzWlZB
eEZ0K25pRXB1bHd1ZUhWWHRzVG9rUVkK+9u+dHvark6YJNM1af2TNqvvM+Wt8CN2
/3zDRqQxvROTb8tXpuAtL80qlU1VYjdwN5HneHwUJ05pVa+iFYWu3w==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2022-08-06T23:40:25Z"
mac: ENC[AES256_GCM,data:u3wnHqBzszRVsZXXrlxBAAsPdcke0hNMuymChjurlsPDl+L0nkT9ppj+vvSRlr3dc5T3MQ4qxabIOJ9sdfgcwJxB+lNQEtDnYxGKJDio7TuHfS1qZ95OO/xVQ3aut333ZKmM4n8fseaYsNx78dZWVTeFtSmpLPnODDF5TplSTic=,iv:BCq1EI6W8vYoWJKWIKi8NvhElFf/ud6F82giX7ESm5E=,tag:NPRFsXBLR72htZjddye5hg==,type:str]
- recipient: age1mddne5mfm78n5td59nu35lh0fxfe28a0575kcjrmtyxl8hn9xpfsnmgvat
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0elREN1FVSjNqRlVQcG9v
QW5qd2FpSVlWb0dwMUhvd2owbTI3clVPL1JJCllZUWQyaVdFL1M1dC90R056cmJF
eURNL2JLVWU3NFVBcVhBM2lnT0pYUUEKLS0tIEdMbzJQbGNEZXMyb2dGWnVHRWpu
WkVkTnJjRmFuSjNnSzVaODFyOGV4aEEKR7PE+xPGygwdJhsRzRHyC8RZoG/tI5b6
OsUT/E6QFNHc8S1iF30q2Kw5/Ml2vREQd6BWA78rTHnAo+KF7vAIoQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age1dn7pkareh83k8el2yt4dmdfdzn7f45fuc785cnnxgzf3h4r5gqhqd4l93h
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3cTU5OC9vODJ5NUdRYjg0
UHJ2TnhRUnVLd3RnMFUyYy9XcTNRTS96OVF3CkU4UVNVRkRqRGZsaFk0SUtBSU4r
R2xpRTBteVk2dXNzL3JDdGlQMVBCcVUKLS0tIFVlV1k5eERQakplS09ZV0dOam43
K1k4NU5oN0tHZTBxT3htL2pKOVZ3TzQKTIBUeW6/gjtp5Ta35MeI/3o77edeQrDW
CtlNpLTJokT5XgXBtoZNh6EA9GIVxFasCerntlYhFdLHcyJPl6CDzw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2022-08-22T04:08:02Z"
mac: ENC[AES256_GCM,data:q2dHgY+Blf72uLp33Q3VzFBTscnoII/fLWK1hlpG1227BHC8BmNer/10TcTU5K/tVg74tS2rLMDM1hM7U0nUW0FadD5qOQWpSE5wCR/kV0q/iH++7iwe2Xlfn5UwzbGJHDDb1QgPgIRmwJvOtLWddIYtifKfuOL2o+VUK+GmZC4=,iv:Yu5W0eHw02UVfSakRS7xlzbCqRPbNl8ikgp3/D9oTUI=,tag:nT/UnwfVFYfPt9how2ZkmQ==,type:str]
pgp:
- created_at: "2022-08-05T06:10:53Z"
- created_at: "2022-08-22T05:31:03Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcDMAwa9kVfiDH1CAQv/Vd/5mQrisM9EsJ6bx0sVAd6ZzfLleCTf5BFfXdpHFJWS
pKsKt0zf8zMh2gj3DYBVaiqlHlinLPUmYfxICvqijDt0ABq+4QqU2zcfRZFBG/eo
aakmA+bvAHq6rj6WZqwozD1d22uSZo2fqB6eXqNgoZDmzPcO1BTLBdMdzKmegSdN
i0T/Z7QTveCUGTBDp1+cx09hJQD0sJln0yqSGlhQx6ufHbTGdHS3Cj51TFchJO2n
dONw684wZThq97a+OcJ74jod6k5lCaX//iPopYsK+LDc+7GTJftB8bE1v5sl5Zdv
DbwxBSUco3BKFGKP7/+tZYdixom96jvqtXxK0fUJTovSbf5gAGpNSeW8fYenvsNl
O+lWbaGJQluWT6WBZQ/9VF9tWD/zI/dJJdFeZ2TTuPRyFSk2YH22SmrTvwnaz7XT
hSUGvqlRMOkdQQjIPd/bB6pvAddtlZarDcj8qmNPRp8ZMOF+CLT06QDIkAO3ZmvW
mOXTZunjYcI77kk8qVdJ0lEBnaER6V/MDUGHIt1yQtIwveyaF6NsYk6LW7eDp2f5
zgYqUBbV8UedMdSCBlOcHbwLNify7yfONGLJch5SxRuS/tqUNcpyCR4Bb1QEREm3
3us=
=+Ha0
wcDMAwa9kVfiDH1CAQv/Wrw2IRNzSapx3a+bkdEujXCLQJ+TqFDbs+i2oX1xfelv
3XAyEFkVo51zgt3y70GKpDIXnPPCLjemxjPi4FvmxTSNra2ALkEHipeGNXagrnmp
rOEtNztkzUuiWQ8X3Z2r0rVNM7dCyDGOQ3jVJXdSAadcbLMQt8KaeDd3uFfG4/vt
stjfzADiRoJcd00WGhfP8wKRWz49kKuLzCtGlePz9ZSWk869yGw89YG31GOvu+w+
KTFenl9uC/UwRyb0AyorQuiZHUUV2FpnBc3bSBBlEtVSoKphiT3Jgt1N7fd9pYdF
ZbQouSLVBdfYG2BruuVRlWMG5wxmMVQTd+GOk9g08s7ydYNHHfD6bUxE0QlsLE4b
IpH9tNR55ukoMaY/vvw4PL8Niu/Qyyo9XEM4YvKV5Iwo78iQpXGhz4Thfiu8jpWR
jSj669/yyj0POkFyYABlJXHjYDIx9NmpH8LjXIaklyvfs2TJKwdFou3gHcoWtXpT
J5onTvnMy171AAKOCxkc0lEByYf+1ipBNkzQAqFfQsQSLNoD6rDSa/5AAe+7xPqG
FGnEs6bxs1fn0WSoxJmN3JInxz8+P/ddxZvIrTveBXES6KIWhYX5trOjKMGS/ru0
8l8=
=25sk
-----END PGP MESSAGE-----
fp: 7088C7421873E0DB97FF17C2245CAB70B4C225E9
unencrypted_suffix: _unencrypted
+20
View File
@@ -0,0 +1,20 @@
{ pkgs, config, ... }:
{
users.mutableUsers = false;
users.users.layla = {
isNormalUser = true;
shell = pkgs.fish;
extraGroups = [
"wheel"
"video"
"audio"
];
passwordFile = config.sops.secrets.layla-password.path;
};
sops.secrets.layla-password = {
sopsFile = ../secrets.yaml;
neededForUsers = true;
};
}
+44
View File
@@ -0,0 +1,44 @@
{ pkgs, config, lib, hostname, outputs, ... }:
let
homeConfig = outputs.homeConfigurations."misterio@${hostname}".config;
in
{
users.mutableUsers = false;
users.users.misterio = {
isNormalUser = true;
shell = pkgs.fish;
extraGroups = [
"wheel"
"video"
"audio"
]
++ (lib.optional config.networking.wireless.userControlled.enable config.networking.wireless.userControlled.group)
++ (lib.optional config.programs.wireshark.enable "wireshark")
++ (lib.optional config.hardware.i2c.enable "i2c")
++ (lib.optional config.services.minecraft-server.enable "minecraft")
++ (lib.optional (config.systemd.services.minecraft-modpack or { enable = false; }).enable "minecraft-modpack")
++ (lib.optional config.services.mysql.enable "mysql")
++ (lib.optional config.virtualisation.docker.enable "docker")
++ (lib.optional config.virtualisation.podman.enable "podman")
++ (lib.optional config.virtualisation.libvirtd.enable "libvirtd");
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDci4wJghnRRSqQuX1z2xeaUR+p/muKzac0jw0mgpXE2T/3iVlMJJ3UXJ+tIbySP6ezt0GVmzejNOvUarPAm0tOcW6W0Ejys2Tj+HBRU19rcnUtf4vsKk8r5PW5MnwS8DqZonP5eEbhW2OrX5ZsVyDT+Bqrf39p3kOyWYLXT2wA7y928g8FcXOZjwjTaWGWtA+BxAvbJgXhU9cl/y45kF69rfmc3uOQmeXpKNyOlTk6ipSrOfJkcHgNFFeLnxhJ7rYxpoXnxbObGhaNqn7gc5mt+ek+fwFzZ8j6QSKFsPr0NzwTFG80IbyiyrnC/MeRNh7SQFPAESIEP8LK3PoNx2l1M+MjCQXsb4oIG2oYYMRa2yx8qZ3npUOzMYOkJFY1uI/UEE/j/PlQSzMHfpmWus4o2sijfr8OmVPGeoU/UnVPyINqHhyAd1d3Iji3y3LMVemHtp5wVcuswABC7IRVVKZYrMCXMiycY5n00ch6XTaXBwCY00y8B3Mzkd7Ofq98YHc= (none)"
];
passwordFile = config.sops.secrets.misterio-password.path;
};
sops.secrets.misterio-password = {
sopsFile = ../secrets.yaml;
neededForUsers = true;
};
services.geoclue2.enable = lib.mkDefault (
(homeConfig.services.gammastep.enable or false) &&
(homeConfig.services.gammastep.provider == "geoclue2")
);
security.pam.services = {
swaylock = lib.mkIf homeConfig.programs.swaylock.enable { };
};
}
+3
View File
@@ -1,7 +1,10 @@
{
imports = [
./hardware-configuration.nix
../common/global
../common/users/misterio.nix
../common/optional/acme.nix
../common/optional/podman.nix
../common/optional/tailscale.nix
+1 -1
View File
@@ -3,7 +3,7 @@ let
java = "${pkgs.openjdk}/bin/java";
ram = "2760M";
pack = "https://git.sr.ht/~misterio/Modpack/blob/main/pack.toml";
jar = "fabric-server-mc.1.18.2-loader.0.14.8-launcher.0.11.0.jar";
jar = "server.jar";
in
{
systemd.services.minecraft-modpack = {
+25
View File
@@ -0,0 +1,25 @@
{ pkgs, inputs, ... }: {
imports = [
inputs.hardware.nixosModules.common-cpu-intel
inputs.hardware.nixosModules.common-gpu-nvidia
inputs.hardware.nixosModules.common-pc-ssd
./hardware-configuration.nix
../common/global
../common/users/misterio.nix
../common/users/layla.nix
../common/optional/quietboot.nix
../common/optional/tailscale.nix
];
boot = {
kernelPackages = pkgs.linuxKernel.packages.linux_zen;
};
hardware.nvidia.prime.offload.enable = false;
system.stateVersion = "22.05";
# TODO: Add graphical stuff
# GNOME seems broken
}
+29
View File
@@ -0,0 +1,29 @@
{
imports = [
../common/optional/btrfs-optin-persistence.nix
../common/optional/encrypted-root.nix
];
boot = {
initrd = {
availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" ];
kernelModules = [ "kvm-intel" ];
};
loader = {
systemd-boot = {
enable = true;
consoleMode = "max";
};
efi.canTouchEfiVariables = true;
};
};
fileSystems = {
"/boot" = {
device = "/dev/disk/by-label/ESP";
fsType = "vfat";
};
};
nixpkgs.hostPlatform.system = "x86_64-linux";
hardware.cpu.intel.updateMicrocode = true;
}
+1
View File
@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHn/vPDRhCENb7zD0Szye7BrN++2G4k1aDvKuIAWLhKg root@maia
+1
View File
@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDC1DJKymL4HmDpnon+uopjThGT6cuLxeQniMl8I6Nr4lz6TgMnguWDJUvQu1at1dx8Ijmzm0dAUelAoqnqwR67lBNUq07hfpHEEa6URnS1y9C6+JG3MmqTxsIx1YkoRROL+K/jIG2SwTEOQR7LdjjNqiZQYUO39tgRk5bpVBdTX2Xv3vfIRgE6k0K+rrHye3M/0Dvs2PJASVgISvnEgL29gHHbG1XsPl5LMgmyMp4+KxTr/mhH/LUUjFFmhicpch5Ui1w8wjZmn8OI1siH+opF5cp4IGjIU4Ta/52dW2LbVgXJkrg6+8YlFMoXCl9X6UFTLb1RpsixfeTiKPuW5AbQF34h5kM69m8qUf4kWHUIgI1HIBzUH/UaoQ81u3/gnZySMfAY6AYrsuOgmb14dyHivlfA4q9ADYMlhPM0oEULZ8oEHFEYoTDVzfqYRgjSwMum2P0lgEGMhXRo788fKImE6JRU+ZqK1kZWP0RZGeUXzTcAjBDYK5dgMLN0ghW75wSEctIF+Ojp0NUwuE9iafobQoGqglF45IZN2tanKZEmjq6ZySevr7rZfCOIU+wOQJCiBgt4Gt+ecTFmOBB0fCj+oeRRX+Xz1A9yDvc7venuGC688HEFa2FFexcatiH6+CKdVoQ65HOMs3N+9kuwW3+dCmfqlkqTr1cYWVEExxpYbw== root@maia
+2
View File
@@ -5,6 +5,8 @@
./hardware-configuration.nix
../common/global
../common/users/misterio.nix
../common/optional/acme.nix
../common/optional/podman.nix
../common/optional/postgres.nix
+3
View File
@@ -6,7 +6,10 @@
inputs.hardware.nixosModules.common-pc-ssd
./hardware-configuration.nix
../common/global
../common/users/misterio.nix
../common/optional/wireless.nix
../common/optional/misterio-greetd.nix
../common/optional/pipewire.nix
+1 -1
View File
@@ -26,6 +26,6 @@
};
nixpkgs.hostPlatform.system = "x86_64-linux";
hardware.cpu.amd.updateMicrocode = true;
powerManagement.cpuFreqGovernor = "powersave";
}