move nixos modules to nixos-modules

This commit is contained in:
jopejoe1 2024-07-15 17:12:20 +02:00
parent 7394c5f317
commit 611796f02e
29 changed files with 225 additions and 7 deletions

View file

@ -1,33 +0,0 @@
{ config, lib, ... }:
let
cfg = config.jopejoe1.asf;
in
{
options.jopejoe1.asf = {
enable = lib.mkEnableOption "Enable ASF";
};
config = lib.mkIf cfg.enable {
services.archisteamfarm = {
enable = true;
web-ui.enable = true;
settings = {
LicenseID = "@asfLicenseID@";
SteamProtocols = 7;
AutoSteamSaleEvent = true;
};
bots.jopejoe1 = {
username = "jopejoe1";
enabled = true;
passwordFile = "/var/lib/asf/pw";
settings = {
AutoSteamSaleEvent = true;
FarmingOrders = 9;
OnlineStatus = 0;
RemoteCommunication = 0;
};
};
};
};
}

View file

@ -1,72 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.jopejoe1.audio;
in
{
options.jopejoe1.audio = {
enable = lib.mkEnableOption "Enable Audio";
sennheiser-hd-660s = lib.mkEnableOption "Equalizer for Sennheiser HD 660S";
};
config = lib.mkIf cfg.enable {
security.rtkit.enable = true;
services.pipewire = {
enable = true;
systemWide = false;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
jack.enable = true;
wireplumber.enable = true;
extraConfig.pipewire."30-noise-filter" = {
"context.modules" = [
{
name = "libpipewire-module-filter-chain";
args = {
"node.description" = "Noise Canceling source";
"media.name" = "Noise Canceling source";
"filter.graph" = {
nodes = [
{
type = "ladspa";
name = "rnnoise";
plugin = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
label = "noise_suppressor_mono";
control = {
"VAD Threshold (%)" = 50.0;
#"VAD Grace Period (ms)" = 0;
"Retroactive VAD Grace (ms)" = 50;
};
}
];
};
"capture.props" = {
"node.name" = "capture.rnnoise_source";
"node.passive" = true;
"audio.rate" = 48000;
};
"playback.props" = {
"node.name" = "rnnoise_source";
"media.class" = "Audio/Source";
"audio.rate" = 48000;
};
};
}
];
};
};
};
imports = [ ./sennheiser-hd660s.nix ];
}

View file

@ -1,191 +0,0 @@
{ config, lib, ... }:
let
cfg = config.jopejoe1.audio;
in
{
config = lib.mkIf cfg.sennheiser-hd-660s {
services.pipewire = {
extraConfig.pipewire."20-Senheiser-HD660S" = {
"context.modules" = [
{
name = "libpipewire-module-filter-chain";
args = {
"node.description" = "Senheiser HD 660 S Equaliser";
"media.name" = "Senheiser HD 660 S Equaliser";
"filter.graph" = {
nodes = [
{
type = "builtin";
name = "eq_band_1";
label = "bq_highshelf";
control = {
"Freq" = 0.0;
"Q" = 1.0;
"Gain" = -6.4;
};
}
{
type = "builtin";
name = "eq_band_2";
label = "bq_lowshelf";
control = {
"Freq" = 105.0;
"Q" = 0.7;
"Gain" = 6.5;
};
}
{
type = "builtin";
name = "eq_band_3";
label = "bq_peaking";
control = {
"Freq" = 178.0;
"Q" = 0.49;
"Gain" = -3.2;
};
}
{
type = "builtin";
name = "eq_band_4";
label = "bq_peaking";
control = {
"Freq" = 1222.0;
"Q" = 2.34;
"Gain" = -2.3;
};
}
{
type = "builtin";
name = "eq_band_5";
label = "bq_peaking";
control = {
"Freq" = 5470.0;
"Q" = 4.4;
"Gain" = -7.3;
};
}
{
type = "builtin";
name = "eq_band_6";
label = "bq_peaking";
control = {
"Freq" = 7899.0;
"Q" = 0.68;
"Gain" = 6.5;
};
}
{
type = "builtin";
name = "eq_band_7";
label = "bq_peaking";
control = {
"Freq" = 784.0;
"Q" = 3.52;
"Gain" = -0.4;
};
}
{
type = "builtin";
name = "eq_band_8";
label = "bq_peaking";
control = {
"Freq" = 2250.0;
"Q" = 3.58;
"Gain" = 1.3;
};
}
{
type = "builtin";
name = "eq_band_9";
label = "bq_peaking";
control = {
"Freq" = 3380.0;
"Q" = 2.84;
"Gain" = -0.9;
};
}
{
type = "builtin";
name = "eq_band_10";
label = "bq_peaking";
control = {
"Freq" = 6701.0;
"Q" = 6.0;
"Gain" = 1.2;
};
}
{
type = "builtin";
name = "eq_band_11";
label = "bq_highshelf";
control = {
"Freq" = 10000.0;
"Q" = 0.7;
"Gain" = -1.1;
};
}
];
links = [
{
output = "eq_band_1:Out";
input = "eq_band_2:In";
}
{
output = "eq_band_2:Out";
input = "eq_band_3:In";
}
{
output = "eq_band_3:Out";
input = "eq_band_4:In";
}
{
output = "eq_band_4:Out";
input = "eq_band_5:In";
}
{
output = "eq_band_5:Out";
input = "eq_band_6:In";
}
{
output = "eq_band_6:Out";
input = "eq_band_7:In";
}
{
output = "eq_band_7:Out";
input = "eq_band_8:In";
}
{
output = "eq_band_8:Out";
input = "eq_band_9:In";
}
{
output = "eq_band_9:Out";
input = "eq_band_10:In";
}
{
output = "eq_band_10:Out";
input = "eq_band_11:In";
}
];
};
"audio.channels" = 2;
"audio.position" = [
"FL"
"FR"
];
"capture.props" = {
"node.name" = "effect_input.eq11";
"media.class" = "Audio/Sink";
};
"playback.props" = {
"node.name" = "effect_output.eq11";
"node.passive" = true;
};
};
}
];
};
};
};
}

View file

@ -1,28 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.jopejoe1.auto-update;
in
{
options.jopejoe1.auto-update = {
enable = lib.mkEnableOption "Enable Auto-Updates";
};
config = lib.mkIf cfg.enable {
system.autoUpgrade = {
enable = true;
randomizedDelaySec = "30min";
flake =
if config.services.archisteamfarm.enable then
"$(${pkgs.coreutils}/bin/rm -rf /var/lib/update-repo && ${lib.getExe pkgs.git} clone git@codeberg.org:jopejoe1/nix-conf.git /var/lib/update-repo -q --depth=1 && ${lib.getExe pkgs.git} -C /var/lib/update-repo am /home/jopejoe1/.config/patches/0001-add-liscense.patch -q)/var/lib/update-repo"
else
"github:jopejoe1/nix-conf";
dates = "hourly";
};
};
}

View file

@ -1,15 +0,0 @@
{ config, lib, ... }:
let
cfg = config.jopejoe1.bluetooth;
in
{
options.jopejoe1.bluetooth = {
enable = lib.mkEnableOption "Enable Bluetooth";
};
config = lib.mkIf cfg.enable {
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
};
}

View file

@ -1,5 +0,0 @@
{ ... }:
{
imports = [ ./systemd ];
}

View file

@ -1,26 +0,0 @@
{ config, lib, ... }:
let
cfg = config.jopejoe1.boot.systemd;
in
{
options.jopejoe1.boot.systemd = {
enable = lib.mkEnableOption "Enable Systemd boot";
};
config = lib.mkIf cfg.enable {
boot = {
loader = {
systemd-boot = {
enable = true;
configurationLimit = 10;
editor = false;
};
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
};
};
};
}

View file

@ -1,33 +0,0 @@
{ self, ... }:
{
imports = [
./asf
./audio
./auto-update
./bluetooth
./boot
./doc
./events
./kodi
./keyboard
./local
./minecraft-server
./moodle-dl
./nix
./plasma
./printing
./repo-sync
./ssh
./steam
./sway
./users
./zerotierone
../upstream
self.inputs.disko.nixosModules.disko
self.inputs.home-manager.nixosModules.home-manager
self.inputs.nixos-generators.nixosModules.all-formats
self.inputs.sops-nix.nixosModules.sops
self.inputs.catppuccin.nixosModules.catppuccin
];
}

View file

@ -1,39 +0,0 @@
{
config,
lib,
pkgs,
self,
...
}:
let
cfg = config.jopejoe1.doc;
in
{
options.jopejoe1.doc = {
enable = lib.mkEnableOption "Enable Documentation";
};
config = lib.mkIf cfg.enable {
documentation = {
enable = true;
doc.enable = true;
dev.enable = true;
info.enable = true;
nixos = {
enable = true;
includeAllModules = true;
options.warningsAreErrors = false;
};
man = {
enable = true;
generateCaches = false;
};
};
environment.systemPackages = with pkgs; [
man-pages
man-pages-posix
linux-manual
];
};
}

View file

@ -1,58 +0,0 @@
{ config, lib, ... }:
let
cfg = config.events."37c3";
in
{
options.events."37c3" = {
enable = lib.mkEnableOption "Enable settings for the 37c3 event";
};
config = lib.mkIf cfg.enable {
networking.networkmanager.ensureProfiles.profiles = {
"37C3" = {
connection = {
id = "37C3";
type = "wifi";
interface-name = "wlan0";
};
wifi = {
mode = "infrastructure";
ssid = "37C3";
};
wifi-security = {
auth-alg = "open";
key-mgmt = "wpa-eap";
};
"802-1x" = {
anonymous-identity = "37C3";
eap = "ttls;";
identity = "37C3";
password = "37C3";
phase2-auth = "mschapv2";
};
ipv4 = {
method = "auto";
};
ipv6 = {
addr-gen-mode = "default";
method = "auto";
};
};
networking.wireless.networks."37C3".auth = ''
key_mgmt=WPA-EAP
eap=TTLS
identity="37C3"
password="37C3"
ca_cert="${
builtins.fetchurl {
url = "https://letsencrypt.org/certs/isrgrootx1.pem";
sha256 = "sha256:1la36n2f31j9s03v847ig6ny9lr875q3g7smnq33dcsmf2i5gd92";
}
}"
altsubject_match="DNS:radius.c3noc.net"
phase2="auth=PAP"
'';
};
};
}

View file

@ -1,5 +0,0 @@
{ ... }:
{
imports = [ ./37c3 ];
}

View file

@ -1,32 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.jopejoe1.keyboard;
in
{
options.jopejoe1.keyboard = {
enable = lib.mkEnableOption "Enable Keyboard";
layout = lib.mkOption {
type = lib.types.str;
default = "us";
description = lib.mdDoc "Keyboard Layout.";
};
};
config = lib.mkIf cfg.enable {
services = {
xserver = {
xkb.layout = cfg.layout;
};
};
console = {
enable = true;
keyMap = cfg.layout;
};
};
}

View file

@ -1,40 +0,0 @@
{
config,
lib,
pkgs,
self,
...
}:
let
cfg = config.jopejoe1.kodi;
in
{
options.jopejoe1.kodi = {
enable = lib.mkEnableOption "Enable Kodi";
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ pkgs.kodi-wayland ];
services.xserver = {
enable = true;
desktopManager.kodi = {
enable = false;
package = pkgs.kodi-wayland;
};
displayManager = {
lightdm = {
enable = true;
autoLogin.timeout = 3;
};
};
};
services.displayManager = {
autoLogin = {
enable = true;
user = "jopejoe1";
};
sddm.enable = lib.mkForce false;
};
};
}

View file

@ -1,53 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.jopejoe1.local;
in
{
options.jopejoe1.local = {
enable = lib.mkEnableOption "Enable Locals";
};
config = lib.mkIf cfg.enable {
xdg = {
sounds.enable = config.jopejoe1.gui.enable;
mime.enable = true;
menus.enable = config.jopejoe1.gui.enable;
icons.enable = config.jopejoe1.gui.enable;
autostart.enable = true;
portal = {
enable = config.jopejoe1.gui.enable;
extraPortals = with pkgs; [ xdg-desktop-portal ];
};
};
i18n = {
defaultLocale = "en_NZ.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
LC_CTYPE = "de_DE.UTF-8";
LC_COLLATE = "de_DE.UTF-8";
LC_MESSAGES = "en_NZ.UTF-8";
};
};
environment.variables = {
LOG_ICONS = "true";
};
fonts.fontDir.enable = true;
};
}

View file

@ -1,28 +0,0 @@
{ config, lib, ... }:
let
cfg = config.jopejoe1.minecraft-server;
in
{
options.jopejoe1.minecraft-server = {
enable = lib.mkEnableOption "Enable Bluetooth";
};
config = lib.mkIf cfg.enable {
services.minecraft-server = {
enable = true;
eula = true;
openFirewall = true;
declarative = true;
serverProperties = {
difficulty = 3;
enable-rcon = true;
"rcon.password" = "test";
motd = "\\u00A7cWake up to reality! Nothing ever goes as planned in this accursed world.";
spawn-protection = 0;
level-type = "minecraft:amplified";
level-name = "amplified_world";
};
};
};
}

View file

@ -1,44 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.jopejoe1.moodle-dl;
in
{
options.jopejoe1.moodle-dl = {
enable = lib.mkEnableOption "Enable moodle-dl";
};
config = lib.mkIf cfg.enable {
systemd.timers."moodle-dl" = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "5m";
OnUnitActiveSec = "1h";
Unit = "moodle-dl.service";
};
};
systemd.services."moodle-dl" = {
script = ''
moodle-dl --path /var/lib/moodle-dl
git -C /var/lib/moodle-dl add .
git -C /var/lib/moodle-dl commit -m "moodle-dl updated on `$(date)`"
'';
path = with pkgs; [
openssh
moodle-dl
git
coreutils
];
serviceConfig = {
Type = "oneshot";
User = "root";
};
};
};
}

View file

@ -1,102 +0,0 @@
{
config,
lib,
pkgs,
self,
...
}:
let
cfg = config.jopejoe1.nix;
in
{
options.jopejoe1.nix = {
enable = lib.mkEnableOption "Enable Nix";
};
options.jopejoe1.gui = {
enable = lib.mkEnableOption "Enable GUI";
};
config = lib.mkIf cfg.enable {
nix = {
settings = {
substituters = lib.mkForce [
"https://cache.nixos.org"
"https://nix-community.cachix.org"
];
trusted-public-keys = lib.mkForce [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
trusted-users = [ "root" ];
sandbox = true;
require-sigs = true;
max-jobs = "auto";
auto-optimise-store = true;
allowed-users = [ "*" ];
experimental-features = [
"nix-command"
"flakes"
];
warn-dirty = true;
use-xdg-base-directories = true;
keep-going = true;
builders-use-substitutes = true;
};
distributedBuilds = true;
package = pkgs.lix;
registry = lib.mkForce (
(lib.mapAttrs (_: flake: { inherit flake; })) (
(lib.filterAttrs (_: lib.isType "flake")) self.inputs
)
// {
self.flake = self;
}
);
nixPath = lib.mkForce [ "/etc/nix/path" ];
};
nixpkgs = {
config = {
allowUnfree = true;
nvidia.acceptLicense = true;
};
overlays = [
(_self: super: rec {
firefox-addons = self.inputs.firefox-addons.packages.${config.nixpkgs.hostPlatform.system};
localPkgs = self.outputs.packages.${config.nixpkgs.hostPlatform.system};
})
];
};
environment.etc = lib.mapAttrs' (name: value: {
name = "nix/path/${name}";
value.source = value.flake;
}) config.nix.registry;
environment.systemPackages = with pkgs; [
nix-index
nix-prefetch-git
nixpkgs-review
];
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
backupFileExtension = "backup";
sharedModules = [
self.outputs.homeManagerModules.default
self.inputs.catppuccin.homeManagerModules.catppuccin
];
};
systemd.services.nix-daemon.serviceConfig.LimitNOFILE = lib.mkForce 1048576000;
networking.hosts = {
"192.168.191.46" = [ "zap" ];
"192.168.191.142" = [ "kuraokami" ];
};
users.mutableUsers = false;
};
}

View file

@ -1,35 +0,0 @@
{ config, lib, ... }:
let
cfg = config.jopejoe1.plasma;
in
{
options.jopejoe1.plasma = {
enable = lib.mkEnableOption "Enable KDE Plasma";
};
config = lib.mkIf cfg.enable {
services = {
xserver = {
enable = true;
};
libinput.enable = true;
displayManager.sddm = {
enable = true;
enableHidpi = true;
};
desktopManager.plasma6 = {
enable = true;
enableQt5Integration = true;
};
};
programs.kdeconnect = {
enable = true;
};
networking.networkmanager.enable = true;
};
}

View file

@ -1,36 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.jopejoe1.printing;
in
{
options.jopejoe1.printing = {
enable = lib.mkEnableOption "Enable Printing";
};
config = lib.mkIf cfg.enable {
services.printing = {
enable = true;
webInterface = true;
drivers = with pkgs; [ ];
};
hardware = {
sane = {
enable = true;
extraBackends = with pkgs; [ sane-airscan ];
};
};
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
};
}

View file

@ -1,52 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.jopejoe1.repo-sync;
in
{
options.jopejoe1.repo-sync = {
enable = lib.mkEnableOption "Enable Repo Sync";
};
config = lib.mkIf cfg.enable {
systemd.timers."repo-sync" = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "5m";
OnUnitActiveSec = "15m";
Unit = "repo-sync.service";
};
};
systemd.services."repo-sync" = {
script = ''
git clone git@codeberg.org:jopejoe1/nix-conf.git /var/lib/repo-sync
git -C /var/lib/repo-sync remote add github git@github.com:jopejoe1/nix-conf.git
git -C /var/lib/repo-sync remote add gitlab git@gitlab.com:jopejoe1/nix-conf.git
git -C /var/lib/repo-sync pull -r github main
git -C /var/lib/repo-sync pull -r gitlab main
nix flake update /var/lib/repo-sync
git -C /var/lib/repo-sync commit -m "flack.lock updated on `$(date)`"
git -C /var/lib/repo-sync push origin
git -C /var/lib/repo-sync push github
git -C /var/lib/repo-sync push gitlab
rm -r /var/lib/repo-sync
'';
path = [
pkgs.openssh
pkgs.git
pkgs.coreutils
pkgs.nix
];
serviceConfig = {
Type = "oneshot";
User = "root";
};
};
};
}

View file

@ -1,27 +0,0 @@
{
config,
lib,
pkgs,
self,
...
}:
let
cfg = config.jopejoe1.ssh;
in
{
options.jopejoe1.ssh = {
enable = lib.mkEnableOption "Enable ssh";
};
config = lib.mkIf cfg.enable {
services.openssh = {
enable = true;
banner = "Hackers are in Your System!!!\n";
settings = {
PasswordAuthentication = false;
PermitRootLogin = "prohibit-password";
};
};
};
}

View file

@ -1,29 +0,0 @@
{
pkgs,
config,
lib,
...
}:
let
cfg = config.jopejoe1.steam;
in
{
options.jopejoe1.steam = {
enable = lib.mkEnableOption "Enable Steam";
};
config = lib.mkIf cfg.enable {
hardware.steam-hardware.enable = true;
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
gamescopeSession.enable = true;
extest.enable = true;
extraCompatPackages = with pkgs; [ proton-ge-bin ];
};
};
}

View file

@ -1,16 +0,0 @@
{ config, lib, ... }:
let
cfg = config.jopejoe1.sway;
in
{
options.jopejoe1.sway = {
enable = lib.mkEnableOption "Enable Sway";
};
config = lib.mkIf cfg.enable {
programs.sway = {
enable = true;
};
};
}

View file

@ -1,8 +0,0 @@
{ ... }:
{
imports = [
./root
./jopejoe1
];
}

View file

@ -1,88 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.jopejoe1.user.jopejoe1;
in
{
options.jopejoe1.user.jopejoe1 = {
enable = lib.mkEnableOption "Enable jopejoe1 user";
};
config = lib.mkIf cfg.enable {
users.users.jopejoe1 = {
isNormalUser = true;
shell = pkgs.nushell;
description = "Johannes Jöns";
hashedPassword = "$2b$05$Uk84TY/RHlH8DIigUlFYjeorjTlCMEY9wN2pAcw5BLaPoc7dKiSsC";
extraGroups = [
"wheel"
"networkmanager"
"pipewire"
"audio"
"adbusers"
];
uid = 1000;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB8oyMpS2hK3gQXyHIIVS6oilgMpemLmfhKKJ6RBMwUh johannes@joens.email"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP3pKtvhOOjG1pGJq7cVHS5uWy5IP8y1Ra/ENpmJcqOe root@zap"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFEcNAVRN66mfKmaCpxs++0094Eh4mqXkUwDPZPkIIBB johannes@joens.email"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFZDUoC+1lNR2JTY1Q+vhXpuLmKMdVl2OMFLVbQ3cGkw jopejoe1@kuraokami"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKm2igbJ+Ke+dJO3r7wp5ZTreHqC39Sjctca119Bl2yc jopejoe1@zap"
];
packages =
with pkgs;
[ ]
++ lib.optionals config.jopejoe1.gui.enable [
libsForQt5.kate
libsForQt5.ark
element-desktop
mumble
libreoffice-qt-fresh
# Theming
catppuccin-kvantum
catppuccin-kde
#catppuccin-gtk
tela-icon-theme
vesktop
];
};
home-manager.users.jopejoe1 = {
home = {
username = config.users.users.jopejoe1.name;
homeDirectory = config.users.users.jopejoe1.home;
stateVersion = config.system.stateVersion;
};
programs.nushell = {
enable = true;
};
jopejoe1 = {
common = {
enable = true;
gui.enable = config.jopejoe1.gui.enable;
fonts = {
serif = config.fonts.fontconfig.defaultFonts.serif;
sansSerif = config.fonts.fontconfig.defaultFonts.sansSerif;
monospace = config.fonts.fontconfig.defaultFonts.monospace;
emoji = config.fonts.fontconfig.defaultFonts.emoji;
};
};
nushell.enable = true;
git.enable = true;
direnv.enable = true;
sway.enable = true;
firefox.enable = config.jopejoe1.gui.enable;
};
catppuccin = {
enable = true;
flavor = "frappe";
accent = "mauve";
};
};
};
}

View file

@ -1,40 +0,0 @@
{ config, lib, ... }:
let
cfg = config.jopejoe1.user.root;
in
{
options.jopejoe1.user.root = {
enable = lib.mkEnableOption "Enable root user";
};
config = lib.mkIf cfg.enable {
users.users.root = {
hashedPassword = "$2b$05$Uk84TY/RHlH8DIigUlFYjeorjTlCMEY9wN2pAcw5BLaPoc7dKiSsC";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB8oyMpS2hK3gQXyHIIVS6oilgMpemLmfhKKJ6RBMwUh johannes@joens.email"
];
};
home-manager.users.root = {
home = {
username = config.users.users.root.name;
homeDirectory = config.users.users.root.home;
stateVersion = config.system.stateVersion;
};
jopejoe1 = {
common = {
enable = true;
gui.enable = config.jopejoe1.gui.enable;
fonts = {
serif = config.fonts.fontconfig.defaultFonts.serif;
sansSerif = config.fonts.fontconfig.defaultFonts.sansSerif;
monospace = config.fonts.fontconfig.defaultFonts.monospace;
emoji = config.fonts.fontconfig.defaultFonts.emoji;
};
};
git.enable = true;
direnv.enable = true;
};
};
};
}

View file

@ -1,24 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.jopejoe1.zerotierone;
in
{
options.jopejoe1.zerotierone = {
enable = lib.mkEnableOption "Enable zerotierone";
};
config = lib.mkIf cfg.enable {
services.zerotierone.enable = true;
services.zerotierone.joinNetworks = [
"9e1948db638e9f93"
] ++ lib.optional (config.networking.hostName == "kuraokami") "7c31a21e86f9a75c";
services.zerotierone.port = 9993;
environment.systemPackages = with pkgs; lib.optional config.jopejoe1.gui.enable moonlight-qt;
};
}