mirror of
https://github.com/oqyude/nixos.git
synced 2026-06-11 04:30:41 +03:00
123
This commit is contained in:
Regular → Executable
+59
-129
@@ -2,6 +2,7 @@
|
|||||||
let
|
let
|
||||||
nixosModule =
|
nixosModule =
|
||||||
{
|
{
|
||||||
|
modulesPath,
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
@@ -9,32 +10,32 @@ let
|
|||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = with inputs; [
|
imports = with inputs; [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
|
||||||
#./hardware/vds.nix
|
#./hardware/vds.nix
|
||||||
self.nixosModules.default
|
self.nixosModules.default
|
||||||
|
|
||||||
#self.nixosModules.desktop
|
|
||||||
# self.nixosModules.server.cloudflared
|
|
||||||
# self.nixosModules.server.immich
|
|
||||||
# self.nixosModules.server.nextcloud
|
|
||||||
# self.nixosModules.server.nginx
|
|
||||||
# self.nixosModules.server.zerotier
|
|
||||||
# self.nixosModules.software.beets
|
|
||||||
#self.nixosModules.extra.self.zapret
|
|
||||||
|
|
||||||
#self.homeConfigurations.server.nixosModule # home-manager configuration module
|
#self.homeConfigurations.server.nixosModule # home-manager configuration module
|
||||||
];
|
];
|
||||||
|
|
||||||
#boot = {
|
environment.systemPackages = map lib.lowPrio [
|
||||||
#kernelPackages = pkgs.linuxPackages_xanmod_stable; # pkgs.linuxPackages_xanmod_stable
|
pkgs.curl
|
||||||
#hardwareScan = true;
|
pkgs.gitMinimal
|
||||||
#loader = {
|
];
|
||||||
# systemd-boot.enable = lib.mkDefault true;
|
|
||||||
# efi.canTouchEfiVariables = lib.mkDefault true;
|
|
||||||
#};
|
|
||||||
#};
|
|
||||||
|
|
||||||
#hardware = {
|
boot.loader.grub = {
|
||||||
# bluetooth.enable = true;
|
# no need to set devices, disko will add all devices that have a EF02 partition to the list already
|
||||||
|
# devices = [ ];
|
||||||
|
efiSupport = true;
|
||||||
|
efiInstallAsRemovable = true;
|
||||||
|
};
|
||||||
|
#boot = {
|
||||||
|
#kernelPackages = pkgs.linuxPackages_xanmod_stable; # pkgs.linuxPackages_xanmod_stable
|
||||||
|
#hardwareScan = true;
|
||||||
|
#loader = {
|
||||||
|
# systemd-boot.enable = lib.mkDefault true;
|
||||||
|
# efi.canTouchEfiVariables = lib.mkDefault true;
|
||||||
|
#};
|
||||||
#};
|
#};
|
||||||
|
|
||||||
#swapDevices =
|
#swapDevices =
|
||||||
@@ -43,6 +44,13 @@ let
|
|||||||
|
|
||||||
users = {
|
users = {
|
||||||
users = {
|
users = {
|
||||||
|
root = {
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
# change this to your ssh key
|
||||||
|
"# CHANGE"
|
||||||
|
]
|
||||||
|
++ (args.extraPublicKeys or [ ]); # this is used for unit-testing this module and can be removed if not needed
|
||||||
|
};
|
||||||
"${inputs.zeroq.devices.admin}" = {
|
"${inputs.zeroq.devices.admin}" = {
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKduJia+unaQQdN6X5syaHvnpIutO+yZwvfiCP4qKQ/P"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKduJia+unaQQdN6X5syaHvnpIutO+yZwvfiCP4qKQ/P"
|
||||||
@@ -51,104 +59,52 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# fileSystems = {
|
|
||||||
# # External drive
|
|
||||||
# "${inputs.zeroq.dirs.server-home}" = {
|
|
||||||
# device = "/dev/disk/by-uuid/37e53ebc-5343-a94d-9fe2-0ca39e13a8de";
|
|
||||||
# fsType = "ext4";
|
|
||||||
# options = [
|
|
||||||
# #"nofail"
|
|
||||||
# "x-systemd.device-timeout=0"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
# # Archive drive
|
|
||||||
# "/mnt/archive" = {
|
|
||||||
# device = "/dev/disk/by-label/archive";
|
|
||||||
# fsType = "exfat";
|
|
||||||
# options = [
|
|
||||||
# "nofail"
|
|
||||||
# "x-systemd.device-timeout=0"
|
|
||||||
# "uid=1000"
|
|
||||||
# "gid=1000"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
# # beets
|
|
||||||
# "/mnt/beets/music" = {
|
|
||||||
# device = "${inputs.zeroq.dirs.server-home}/Music";
|
|
||||||
# options = [
|
|
||||||
# "bind"
|
|
||||||
# "uid=1000"
|
|
||||||
# "gid=1000"
|
|
||||||
# "fmask=0007"
|
|
||||||
# "dmask=0007"
|
|
||||||
# "nofail"
|
|
||||||
# "x-systemd.device-timeout=0"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
#power-profiles-daemon.enable = lib.mkForce false;
|
|
||||||
earlyoom.enable = true;
|
earlyoom.enable = true;
|
||||||
preload.enable = true;
|
preload.enable = true;
|
||||||
#auto-cpufreq.enable = true;
|
|
||||||
throttled.enable = true;
|
throttled.enable = true;
|
||||||
journald = {
|
journald = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
SystemMaxUse=128M
|
SystemMaxUse=128M
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
samba = {
|
# samba = {
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
"invalid users" = [ ];
|
|
||||||
"passwd program" = "/run/wrappers/bin/passwd %u";
|
|
||||||
security = "user";
|
|
||||||
};
|
|
||||||
nixos = {
|
|
||||||
"path" = "/etc/nixos";
|
|
||||||
"browseable" = "yes";
|
|
||||||
"read only" = "no";
|
|
||||||
"valid users" = "${inputs.zeroq.devices.admin}";
|
|
||||||
"guest ok" = "no";
|
|
||||||
"writable" = "yes";
|
|
||||||
"create mask" = 644;
|
|
||||||
"directory mask" = 644;
|
|
||||||
"force user" = "${inputs.zeroq.devices.admin}";
|
|
||||||
"force group" = "users";
|
|
||||||
};
|
|
||||||
root = {
|
|
||||||
"path" = "/";
|
|
||||||
"browseable" = "yes";
|
|
||||||
"read only" = "no";
|
|
||||||
"valid users" = "${inputs.zeroq.devices.admin}";
|
|
||||||
"guest ok" = "no";
|
|
||||||
"writable" = "yes";
|
|
||||||
#"create mask" = 0644;
|
|
||||||
#"directory mask" = 0644;
|
|
||||||
"force user" = "root";
|
|
||||||
"force group" = "root";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# calibre-web = {
|
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# group = "users";
|
# settings = {
|
||||||
# user = "${inputs.zeroq.devices.admin}";
|
# global = {
|
||||||
# options = {
|
# "invalid users" = [ ];
|
||||||
# calibreLibrary = "${inputs.zeroq.dirs.calibre-library}";
|
# "passwd program" = "/run/wrappers/bin/passwd %u";
|
||||||
# enableBookUploading = true;
|
# security = "user";
|
||||||
# enableKepubify = false;
|
# };
|
||||||
|
# nixos = {
|
||||||
|
# "path" = "/etc/nixos";
|
||||||
|
# "browseable" = "yes";
|
||||||
|
# "read only" = "no";
|
||||||
|
# "valid users" = "${inputs.zeroq.devices.admin}";
|
||||||
|
# "guest ok" = "no";
|
||||||
|
# "writable" = "yes";
|
||||||
|
# "create mask" = 644;
|
||||||
|
# "directory mask" = 644;
|
||||||
|
# "force user" = "${inputs.zeroq.devices.admin}";
|
||||||
|
# "force group" = "users";
|
||||||
|
# };
|
||||||
|
# root = {
|
||||||
|
# "path" = "/";
|
||||||
|
# "browseable" = "yes";
|
||||||
|
# "read only" = "no";
|
||||||
|
# "valid users" = "${inputs.zeroq.devices.admin}";
|
||||||
|
# "guest ok" = "no";
|
||||||
|
# "writable" = "yes";
|
||||||
|
# #"create mask" = 0644;
|
||||||
|
# #"directory mask" = 0644;
|
||||||
|
# "force user" = "root";
|
||||||
|
# "force group" = "root";
|
||||||
|
# };
|
||||||
# };
|
# };
|
||||||
# listen.ip = "0.0.0.0";
|
|
||||||
# listen.port = 8083;
|
|
||||||
# openFirewall = true;
|
|
||||||
# };
|
# };
|
||||||
openssh = {
|
openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowSFTP = true;
|
allowSFTP = true;
|
||||||
#knownHosts.otreca.publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJpMaD143EZqhRlpAgNINLrH/qXkN3zXmKgFJlhbhGwg";
|
|
||||||
hostKeys = [
|
hostKeys = [
|
||||||
{
|
{
|
||||||
path = "/etc/ssh/id_ed25519";
|
path = "/etc/ssh/id_ed25519";
|
||||||
@@ -161,32 +117,6 @@ let
|
|||||||
UsePAM = true;
|
UsePAM = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# transmission = {
|
|
||||||
# enable = false;
|
|
||||||
# credentialsFile = "${inputs.zeroq.dirs.server-home}/server/transmission/settings.json";
|
|
||||||
# openRPCPort = true;
|
|
||||||
# package = pkgs.transmission_4;
|
|
||||||
# user = "${inputs.zeroq.devices.admin}";
|
|
||||||
# group = "users";
|
|
||||||
# settings = {
|
|
||||||
# download-dir = "${inputs.zeroq.dirs.server-home}/Downloads";
|
|
||||||
# incomplete-dir = "${inputs.zeroq.dirs.server-home}/Downloads/Temp";
|
|
||||||
# incomplete-dir-enabled = true;
|
|
||||||
# rpc-bind-address = "0.0.0.0";
|
|
||||||
# rpc-port = 9091;
|
|
||||||
# rpc-whitelist-enabled = false;
|
|
||||||
# umask = 0;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# syncthing = {
|
|
||||||
# enable = true;
|
|
||||||
# systemService = true;
|
|
||||||
# guiAddress = "0.0.0.0:8384";
|
|
||||||
# configDir = "${inputs.zeroq.dirs.storage}/Syncthing/${inputs.zeroq.devices.server.hostname}";
|
|
||||||
# dataDir = "${inputs.zeroq.dirs.server-home}";
|
|
||||||
# group = "users";
|
|
||||||
# user = "${inputs.zeroq.devices.admin}";
|
|
||||||
# };
|
|
||||||
tailscale.enable = true;
|
tailscale.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user