treewide: format using nixfmt-rfc-style
This commit is contained in:
		
							parent
							
								
									dba047b845
								
							
						
					
					
						commit
						399eafe9ed
					
				
					 98 changed files with 1930 additions and 990 deletions
				
			
		| 
						 | 
				
			
			@ -1,13 +1,32 @@
 | 
			
		|||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  modulesPath,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  btrfs_options = [ "compress=zstd:3" "noatime" "x-systemd.device-timeout=0" ];
 | 
			
		||||
  btrfs_ssd = [ "ssd" "discard=async" ];
 | 
			
		||||
  btrfs_options = [
 | 
			
		||||
    "compress=zstd:3"
 | 
			
		||||
    "noatime"
 | 
			
		||||
    "x-systemd.device-timeout=0"
 | 
			
		||||
  ];
 | 
			
		||||
  btrfs_ssd = [
 | 
			
		||||
    "ssd"
 | 
			
		||||
    "discard=async"
 | 
			
		||||
  ];
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
 | 
			
		||||
 | 
			
		||||
  boot.initrd.availableKernelModules =
 | 
			
		||||
    [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
 | 
			
		||||
  boot.initrd.availableKernelModules = [
 | 
			
		||||
    "xhci_pci"
 | 
			
		||||
    "ahci"
 | 
			
		||||
    "nvme"
 | 
			
		||||
    "usb_storage"
 | 
			
		||||
    "usbhid"
 | 
			
		||||
    "sd_mod"
 | 
			
		||||
  ];
 | 
			
		||||
  boot.initrd.kernelModules = [ "i915" ];
 | 
			
		||||
  boot.kernelModules = [ "kvm-intel" ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
| 
						 | 
				
			
			@ -18,8 +37,7 @@ in
 | 
			
		|||
    options = [ "subvol=@" ] ++ btrfs_options ++ btrfs_ssd;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  boot.initrd.luks.devices."luks-d6573cf8-25f0-4ffc-8046-ac3a4db1e964".device =
 | 
			
		||||
    "/dev/disk/by-uuid/d6573cf8-25f0-4ffc-8046-ac3a4db1e964";
 | 
			
		||||
  boot.initrd.luks.devices."luks-d6573cf8-25f0-4ffc-8046-ac3a4db1e964".device = "/dev/disk/by-uuid/d6573cf8-25f0-4ffc-8046-ac3a4db1e964";
 | 
			
		||||
 | 
			
		||||
  fileSystems."/boot" = {
 | 
			
		||||
    device = "/dev/disk/by-uuid/97EB-7DB5";
 | 
			
		||||
| 
						 | 
				
			
			@ -37,8 +55,7 @@ in
 | 
			
		|||
 | 
			
		||||
  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 | 
			
		||||
  powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
 | 
			
		||||
  hardware.cpu.intel.updateMicrocode =
 | 
			
		||||
    lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
 | 
			
		||||
  networking.hostName = "double-rainbow"; # Define your hostname.
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,15 +1,30 @@
 | 
			
		|||
# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
			
		||||
# and may be overwritten by future invocations.  Please make changes
 | 
			
		||||
# to /etc/nixos/configuration.nix instead.
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  modulesPath,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  btrfs_options = [ "compress=zstd:3" "noatime" "x-systemd.device-timeout=0" ];
 | 
			
		||||
  btrfs_options = [
 | 
			
		||||
    "compress=zstd:3"
 | 
			
		||||
    "noatime"
 | 
			
		||||
    "x-systemd.device-timeout=0"
 | 
			
		||||
  ];
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
 | 
			
		||||
 | 
			
		||||
  boot.initrd.availableKernelModules =
 | 
			
		||||
    [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_usb_sdmmc" ];
 | 
			
		||||
  boot.initrd.availableKernelModules = [
 | 
			
		||||
    "xhci_pci"
 | 
			
		||||
    "ahci"
 | 
			
		||||
    "usb_storage"
 | 
			
		||||
    "sd_mod"
 | 
			
		||||
    "rtsx_usb_sdmmc"
 | 
			
		||||
  ];
 | 
			
		||||
  boot.initrd.kernelModules = [ ];
 | 
			
		||||
  boot.kernelModules = [ "kvm-intel" ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
| 
						 | 
				
			
			@ -45,10 +60,12 @@ in
 | 
			
		|||
    options = [ "subvol=@swap" ] ++ btrfs_options;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  swapDevices = [{
 | 
			
		||||
    device = "/swap/swapfile";
 | 
			
		||||
    size = (1024 * 8) + (1024 * 2); # RAM size + 2 GB
 | 
			
		||||
  }];
 | 
			
		||||
  swapDevices = [
 | 
			
		||||
    {
 | 
			
		||||
      device = "/swap/swapfile";
 | 
			
		||||
      size = (1024 * 8) + (1024 * 2); # RAM size + 2 GB
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
			
		||||
  # (the default) this is the recommended approach. When using systemd-networkd it's
 | 
			
		||||
| 
						 | 
				
			
			@ -59,7 +76,6 @@ in
 | 
			
		|||
  # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
 | 
			
		||||
 | 
			
		||||
  powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
 | 
			
		||||
  hardware.cpu.intel.updateMicrocode =
 | 
			
		||||
    lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
  networking.hostName = "i15"; # Define your hostname.
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,21 +1,38 @@
 | 
			
		|||
# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
			
		||||
# and may be overwritten by future invocations.  Please make changes
 | 
			
		||||
# to /etc/nixos/configuration.nix instead.
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  modulesPath,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  btrfs_options = [ "compress=zstd:3" "noatime" "x-systemd.device-timeout=0" ];
 | 
			
		||||
  btrfs_ssd = [ "ssd" "discard=async" ];
 | 
			
		||||
  btrfs_options = [
 | 
			
		||||
    "compress=zstd:3"
 | 
			
		||||
    "noatime"
 | 
			
		||||
    "x-systemd.device-timeout=0"
 | 
			
		||||
  ];
 | 
			
		||||
  btrfs_ssd = [
 | 
			
		||||
    "ssd"
 | 
			
		||||
    "discard=async"
 | 
			
		||||
  ];
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
 | 
			
		||||
  boot.initrd.availableKernelModules =
 | 
			
		||||
    [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
 | 
			
		||||
  boot.initrd.availableKernelModules = [
 | 
			
		||||
    "nvme"
 | 
			
		||||
    "xhci_pci"
 | 
			
		||||
    "ahci"
 | 
			
		||||
    "usb_storage"
 | 
			
		||||
    "usbhid"
 | 
			
		||||
    "sd_mod"
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  hardware.opentabletdriver.enable = true;
 | 
			
		||||
 | 
			
		||||
  boot.extraModulePackages = with config.boot.kernelPackages; [
 | 
			
		||||
    zenpower
 | 
			
		||||
  ];
 | 
			
		||||
  boot.extraModulePackages = with config.boot.kernelPackages; [ zenpower ];
 | 
			
		||||
  boot.initrd.kernelModules = [ "amdgpu" ];
 | 
			
		||||
  boot.kernelModules = [
 | 
			
		||||
    "kvm-amd"
 | 
			
		||||
| 
						 | 
				
			
			@ -88,22 +105,34 @@ in
 | 
			
		|||
  fileSystems."/home/lelgenio/Games" = {
 | 
			
		||||
    device = "/dev/disk/by-label/BTRFS_DATA";
 | 
			
		||||
    fsType = "btrfs";
 | 
			
		||||
    options = [ "subvol=@games" "nofail" ] ++ btrfs_options;
 | 
			
		||||
    options = [
 | 
			
		||||
      "subvol=@games"
 | 
			
		||||
      "nofail"
 | 
			
		||||
    ] ++ btrfs_options;
 | 
			
		||||
  };
 | 
			
		||||
  fileSystems."/home/lelgenio/Downloads/Torrents" = {
 | 
			
		||||
    device = "/dev/disk/by-label/BTRFS_DATA";
 | 
			
		||||
    fsType = "btrfs";
 | 
			
		||||
    options = [ "subvol=@torrents" "nofail" ] ++ btrfs_options;
 | 
			
		||||
    options = [
 | 
			
		||||
      "subvol=@torrents"
 | 
			
		||||
      "nofail"
 | 
			
		||||
    ] ++ btrfs_options;
 | 
			
		||||
  };
 | 
			
		||||
  fileSystems."/home/lelgenio/Música" = {
 | 
			
		||||
    device = "/dev/disk/by-label/BTRFS_DATA";
 | 
			
		||||
    fsType = "btrfs";
 | 
			
		||||
    options = [ "subvol=@music" "nofail" ] ++ btrfs_options;
 | 
			
		||||
    options = [
 | 
			
		||||
      "subvol=@music"
 | 
			
		||||
      "nofail"
 | 
			
		||||
    ] ++ btrfs_options;
 | 
			
		||||
  };
 | 
			
		||||
  fileSystems."/home/lelgenio/.local/mount/data" = {
 | 
			
		||||
    device = "/dev/disk/by-label/BTRFS_DATA";
 | 
			
		||||
    fsType = "btrfs";
 | 
			
		||||
    options = [ "subvol=@data" "nofail" ] ++ btrfs_options;
 | 
			
		||||
    options = [
 | 
			
		||||
      "subvol=@data"
 | 
			
		||||
      "nofail"
 | 
			
		||||
    ] ++ btrfs_options;
 | 
			
		||||
  };
 | 
			
		||||
  fileSystems."/home/lelgenio/.local/mount/bigboy" = {
 | 
			
		||||
    device = "/dev/disk/by-label/BTRFS_BIGBOY";
 | 
			
		||||
| 
						 | 
				
			
			@ -113,12 +142,18 @@ in
 | 
			
		|||
  fileSystems."/home/lelgenio/projects" = {
 | 
			
		||||
    device = "/dev/disk/by-label/BTRFS_BIGBOY";
 | 
			
		||||
    fsType = "btrfs";
 | 
			
		||||
    options = [ "subvol=@projects" "nofail" ] ++ btrfs_options ++ btrfs_ssd;
 | 
			
		||||
    options = [
 | 
			
		||||
      "subvol=@projects"
 | 
			
		||||
      "nofail"
 | 
			
		||||
    ] ++ btrfs_options ++ btrfs_ssd;
 | 
			
		||||
  };
 | 
			
		||||
  fileSystems."/var/lib/docker" = {
 | 
			
		||||
    device = "/dev/disk/by-label/BTRFS_BIGBOY";
 | 
			
		||||
    fsType = "btrfs";
 | 
			
		||||
    options = [ "subvol=@docker" "nofail" ] ++ btrfs_options ++ btrfs_ssd;
 | 
			
		||||
    options = [
 | 
			
		||||
      "subvol=@docker"
 | 
			
		||||
      "nofail"
 | 
			
		||||
    ] ++ btrfs_options ++ btrfs_ssd;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
			
		||||
| 
						 | 
				
			
			@ -128,8 +163,7 @@ in
 | 
			
		|||
  networking.useDHCP = lib.mkDefault true;
 | 
			
		||||
  # networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
 | 
			
		||||
  powerManagement.cpuFreqGovernor = "ondemand";
 | 
			
		||||
  hardware.cpu.amd.updateMicrocode =
 | 
			
		||||
    lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
  hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
  networking.hostName = "monolith"; # Define your hostname.
 | 
			
		||||
 | 
			
		||||
  # Fix broken suspend with Logitech USB dongle
 | 
			
		||||
| 
						 | 
				
			
			@ -146,8 +180,10 @@ in
 | 
			
		|||
    # with the exception of `"subvol=swap"`, the other options are repeated in my other `fileSystem` mounts
 | 
			
		||||
    options = [ "subvol=swap" ] ++ btrfs_options ++ btrfs_ssd;
 | 
			
		||||
  };
 | 
			
		||||
  swapDevices = [{
 | 
			
		||||
    device = "/swap/swapfile";
 | 
			
		||||
    size = (1024 * 16) + (1024 * 2); # RAM size + 2 GB
 | 
			
		||||
  }];
 | 
			
		||||
  swapDevices = [
 | 
			
		||||
    {
 | 
			
		||||
      device = "/swap/swapfile";
 | 
			
		||||
      size = (1024 * 16) + (1024 * 2); # RAM size + 2 GB
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,10 @@
 | 
			
		|||
{ config, pkgs, inputs, ... }: {
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  inputs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./vpsadminos.nix
 | 
			
		||||
    inputs.agenix.nixosModules.default
 | 
			
		||||
| 
						 | 
				
			
			@ -49,7 +55,12 @@
 | 
			
		|||
    enable = true;
 | 
			
		||||
    dates = "04:40";
 | 
			
		||||
    operation = "switch";
 | 
			
		||||
    flags = [ "--update-input" "nixpkgs" "--no-write-lock-file" "-L" ];
 | 
			
		||||
    flags = [
 | 
			
		||||
      "--update-input"
 | 
			
		||||
      "nixpkgs"
 | 
			
		||||
      "--no-write-lock-file"
 | 
			
		||||
      "-L"
 | 
			
		||||
    ];
 | 
			
		||||
    flake = "git+https://git.lelgenio.com/lelgenio/nixos-config#phantom";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -57,4 +68,3 @@
 | 
			
		|||
 | 
			
		||||
  system.stateVersion = "23.05"; # Never change this
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,14 @@
 | 
			
		|||
{ pkgs, inputs, config, ... }: {
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  inputs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  # It's important to let Digital Ocean set the hostname so we get rDNS to work
 | 
			
		||||
  networking.hostName = "";
 | 
			
		||||
 | 
			
		||||
  imports = [
 | 
			
		||||
    inputs.nixos-mailserver.nixosModules.mailserver
 | 
			
		||||
  ];
 | 
			
		||||
  imports = [ inputs.nixos-mailserver.nixosModules.mailserver ];
 | 
			
		||||
 | 
			
		||||
  mailserver = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -22,7 +26,11 @@
 | 
			
		|||
    loginAccounts = {
 | 
			
		||||
      "lelgenio@lelgenio.com" = {
 | 
			
		||||
        hashedPassword = "$2y$05$z5s7QCXcs5uTFsfyYpwNJeWzb3RmzgWxNgcPCr0zjSytkLFF/qZmS";
 | 
			
		||||
        aliases = [ "postmaster@lelgenio.com" "lelgenio@lelgenio.xyz" "lelgenio@lelgenio.xyz" ];
 | 
			
		||||
        aliases = [
 | 
			
		||||
          "postmaster@lelgenio.com"
 | 
			
		||||
          "lelgenio@lelgenio.xyz"
 | 
			
		||||
          "lelgenio@lelgenio.xyz"
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
      "noreply@git.lelgenio.com" = {
 | 
			
		||||
        hashedPassword = "$2b$05$TmR1R7ZwXfec7yrOfeBL7u3ZtyXf0up5dEO6uMWSvb/O7LPEm.j0.";
 | 
			
		||||
| 
						 | 
				
			
			@ -50,5 +58,4 @@
 | 
			
		|||
      $config['plugins'] = [ "carddav", "archive" ];
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,9 @@
 | 
			
		|||
{ lib, pkgs, config, ... }:
 | 
			
		||||
{
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  cfg = config.services.forgejo;
 | 
			
		||||
  srv = cfg.settings.server;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,14 @@
 | 
			
		|||
{ config, pkgs, inputs, ... }: {
 | 
			
		||||
  swapDevices = [{
 | 
			
		||||
    device = "/swap/swapfile";
 | 
			
		||||
    size = (1024 * 2); # 2 GB
 | 
			
		||||
  }];
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  inputs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  swapDevices = [
 | 
			
		||||
    {
 | 
			
		||||
      device = "/swap/swapfile";
 | 
			
		||||
      size = (1024 * 2); # 2 GB
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,10 @@
 | 
			
		|||
{ config, pkgs, inputs, ... }: {
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  inputs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  services.mastodon = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    configureNginx = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,10 @@
 | 
			
		|||
{ config, pkgs, inputs, ... }: {
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  inputs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  services.nextcloud = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    package = pkgs.nextcloud27;
 | 
			
		||||
| 
						 | 
				
			
			@ -22,6 +28,4 @@
 | 
			
		|||
      group = "nextcloud";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,10 @@
 | 
			
		|||
{ config, pkgs, lib, ... }: {
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  services.nginx = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    recommendedProxySettings = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -8,21 +14,33 @@
 | 
			
		|||
  };
 | 
			
		||||
 | 
			
		||||
  # Redirect *lelgenio.xyz -> *lelgenio.com
 | 
			
		||||
  services.nginx.virtualHosts = lib.mapAttrs'
 | 
			
		||||
    (key: value: lib.nameValuePair "${key}lelgenio.xyz" value)
 | 
			
		||||
    (
 | 
			
		||||
      lib.genAttrs [ "" "social." "blog." "cloud." "mail." "git." "syncthing." ] (name: {
 | 
			
		||||
        enableACME = true;
 | 
			
		||||
        forceSSL = true;
 | 
			
		||||
        locations."/".return = "301 $scheme://${name}lelgenio.com$request_uri";
 | 
			
		||||
      })
 | 
			
		||||
    );
 | 
			
		||||
  services.nginx.virtualHosts =
 | 
			
		||||
    lib.mapAttrs' (key: value: lib.nameValuePair "${key}lelgenio.xyz" value)
 | 
			
		||||
      (
 | 
			
		||||
        lib.genAttrs
 | 
			
		||||
          [
 | 
			
		||||
            ""
 | 
			
		||||
            "social."
 | 
			
		||||
            "blog."
 | 
			
		||||
            "cloud."
 | 
			
		||||
            "mail."
 | 
			
		||||
            "git."
 | 
			
		||||
            "syncthing."
 | 
			
		||||
          ]
 | 
			
		||||
          (name: {
 | 
			
		||||
            enableACME = true;
 | 
			
		||||
            forceSSL = true;
 | 
			
		||||
            locations."/".return = "301 $scheme://${name}lelgenio.com$request_uri";
 | 
			
		||||
          })
 | 
			
		||||
      );
 | 
			
		||||
 | 
			
		||||
  security.acme = {
 | 
			
		||||
    acceptTerms = true;
 | 
			
		||||
    defaults.email = "lelgenio@disroot.org";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  networking.firewall.allowedTCPPorts = [ 80 443 ];
 | 
			
		||||
  networking.firewall.allowedTCPPorts = [
 | 
			
		||||
    80
 | 
			
		||||
    443
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,10 @@
 | 
			
		|||
{ config, pkgs, inputs, ... }: {
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  inputs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  services.syncthing = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -14,11 +20,10 @@
 | 
			
		|||
      proxyPass = "http://127.0.0.1:8384";
 | 
			
		||||
      extraConfig =
 | 
			
		||||
        # required when the target is also TLS server with multiple hosts
 | 
			
		||||
        "proxy_ssl_server_name on;" +
 | 
			
		||||
        # required when the server wants to use HTTP Authentication
 | 
			
		||||
        "proxy_pass_header Authorization;"
 | 
			
		||||
      ;
 | 
			
		||||
        "proxy_ssl_server_name on;"
 | 
			
		||||
        +
 | 
			
		||||
          # required when the server wants to use HTTP Authentication
 | 
			
		||||
          "proxy_pass_header Authorization;";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,12 @@
 | 
			
		|||
{ pkgs, ... }: {
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
  security.rtkit.enable = true;
 | 
			
		||||
  services.openssh = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    ports = [ 9022 22 ];
 | 
			
		||||
    ports = [
 | 
			
		||||
      9022
 | 
			
		||||
      22
 | 
			
		||||
    ];
 | 
			
		||||
    settings = {
 | 
			
		||||
      PasswordAuthentication = false;
 | 
			
		||||
      KbdInteractiveAuthentication = false;
 | 
			
		||||
| 
						 | 
				
			
			@ -15,7 +19,15 @@
 | 
			
		|||
    isNormalUser = true;
 | 
			
		||||
    description = "Leonardo Eugênio";
 | 
			
		||||
    hashedPassword = "$y$j9T$0e/rczjOVCy7PuwC3pG0V/$gTHZhfO4wQSlFvbDyfghbCnGI2uDI0a52zSrQ/yOA5A";
 | 
			
		||||
    extraGroups = [ "networkmanager" "wheel" "docker" "adbusers" "bluetooth" "corectrl" "vboxusers" ];
 | 
			
		||||
    extraGroups = [
 | 
			
		||||
      "networkmanager"
 | 
			
		||||
      "wheel"
 | 
			
		||||
      "docker"
 | 
			
		||||
      "adbusers"
 | 
			
		||||
      "bluetooth"
 | 
			
		||||
      "corectrl"
 | 
			
		||||
      "vboxusers"
 | 
			
		||||
    ];
 | 
			
		||||
    shell = pkgs.fish;
 | 
			
		||||
    openssh.authorizedKeys.keys = [
 | 
			
		||||
      "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCxR/w+38b2lX90yNBqhq3mUmkn1WGu6GAPhN1tVp2ZjYRJNV/+5gWCnTtOWYtDx35HmK/spQ2Qy8X9ttkzORa24fysNx1Iqn/TiXhD7eIJjbGPnrOpIKTkW5/uB3SD/P5NBSa06//BaqJU4sBlG79hoXRpod052hQtdpTVDiMCIV+iboWPKqopmJJfWdBtVnHXs9rep0htPRExxGslImFk7Z6xjcaHyCpIQZPlOGf+sGsmUU7jRqzvZFV8ucIdbnAlMHrU4pepNFhuraESyZVTa/bi9sw0iozXp5Q5+5thMebEslmT1Z771kI4sieDy+O4r8c0Sx2/VY1UAzcpq1faggc3YB01MTh+tiEC6xdMvZLrQGL1NBWjHleMyL53GU5ERluC0vXJF3Hv3BGGBDfXWbrEm5n06DHr2apRVJGC0LwiQ7Woud1X4V4X1pKSusxCVMjT2lmcOwV6YhKhB2sowJc1OdMx4+tL0UWE+YKSZgBHfolwk6ml0F4EO9nnUHc= lelgenio@i15"
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +44,5 @@
 | 
			
		|||
 | 
			
		||||
  programs.fish.enable = true;
 | 
			
		||||
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    git
 | 
			
		||||
  ];
 | 
			
		||||
  environment.systemPackages = with pkgs; [ git ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,12 @@
 | 
			
		|||
#
 | 
			
		||||
#   https://github.com/vpsfreecz/vpsadminos/blob/staging/os/lib/nixos-container/vpsadminos.nix
 | 
			
		||||
 | 
			
		||||
{ config, pkgs, lib, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
with lib;
 | 
			
		||||
let
 | 
			
		||||
  nameservers = [
 | 
			
		||||
| 
						 | 
				
			
			@ -22,16 +27,19 @@ in
 | 
			
		|||
  systemd.services.systemd-sysctl.enable = false;
 | 
			
		||||
  systemd.services.systemd-oomd.enable = false;
 | 
			
		||||
  systemd.sockets."systemd-journald-audit".enable = false;
 | 
			
		||||
  systemd.mounts = [{ where = "/sys/kernel/debug"; enable = false; }];
 | 
			
		||||
  systemd.mounts = [
 | 
			
		||||
    {
 | 
			
		||||
      where = "/sys/kernel/debug";
 | 
			
		||||
      enable = false;
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
  systemd.services.rpc-gssd.enable = false;
 | 
			
		||||
 | 
			
		||||
  # Due to our restrictions in /sys, the default systemd-udev-trigger fails
 | 
			
		||||
  # on accessing PCI devices, etc. Override it to match only network devices.
 | 
			
		||||
  # In addition, boot.isContainer prevents systemd-udev-trigger.service from
 | 
			
		||||
  # being enabled at all, so add it explicitly.
 | 
			
		||||
  systemd.additionalUpstreamSystemUnits = [
 | 
			
		||||
    "systemd-udev-trigger.service"
 | 
			
		||||
  ];
 | 
			
		||||
  systemd.additionalUpstreamSystemUnits = [ "systemd-udev-trigger.service" ];
 | 
			
		||||
  systemd.services.systemd-udev-trigger.serviceConfig.ExecStart = [
 | 
			
		||||
    ""
 | 
			
		||||
    "-udevadm trigger --subsystem-match=net --action=add"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,10 @@
 | 
			
		|||
{ config, pkgs, inputs, ... }: {
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  inputs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  services.writefreely = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    acme.enable = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -22,4 +28,3 @@
 | 
			
		|||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,13 +1,25 @@
 | 
			
		|||
# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
			
		||||
# and may be overwritten by future invocations.  Please make changes
 | 
			
		||||
# to /etc/nixos/configuration.nix instead.
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  modulesPath,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
 | 
			
		||||
 | 
			
		||||
  boot.initrd.availableKernelModules =
 | 
			
		||||
    [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
 | 
			
		||||
  boot.initrd.availableKernelModules = [
 | 
			
		||||
    "nvme"
 | 
			
		||||
    "xhci_pci"
 | 
			
		||||
    "ahci"
 | 
			
		||||
    "usb_storage"
 | 
			
		||||
    "usbhid"
 | 
			
		||||
    "sd_mod"
 | 
			
		||||
  ];
 | 
			
		||||
  boot.initrd.kernelModules = [ ];
 | 
			
		||||
  boot.kernelModules = [ "kvm-amd" ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
| 
						 | 
				
			
			@ -18,8 +30,7 @@
 | 
			
		|||
    options = [ "subvol=nixos" ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  boot.initrd.luks.devices."pixie".device =
 | 
			
		||||
    "/dev/disk/by-uuid/f4ae5858-d2d6-4cd1-a054-bf5147a9a928";
 | 
			
		||||
  boot.initrd.luks.devices."pixie".device = "/dev/disk/by-uuid/f4ae5858-d2d6-4cd1-a054-bf5147a9a928";
 | 
			
		||||
 | 
			
		||||
  fileSystems."/home" = {
 | 
			
		||||
    device = "/dev/mapper/pixie";
 | 
			
		||||
| 
						 | 
				
			
			@ -46,8 +57,7 @@
 | 
			
		|||
  # networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
 | 
			
		||||
  # networking.interfaces.veth74f3ffc.useDHCP = lib.mkDefault true;
 | 
			
		||||
 | 
			
		||||
  hardware.cpu.amd.updateMicrocode =
 | 
			
		||||
    lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
  hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
 | 
			
		||||
  networking.hostName = "pixie"; # Define your hostname.
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,16 +1,34 @@
 | 
			
		|||
# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
			
		||||
# and may be overwritten by future invocations.  Please make changes
 | 
			
		||||
# to /etc/nixos/configuration.nix instead.
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  modulesPath,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  btrfs_options = [ "compress=zstd:3" "noatime" "x-systemd.device-timeout=0" ];
 | 
			
		||||
  btrfs_ssd = [ "ssd" "discard=async" ];
 | 
			
		||||
  btrfs_options = [
 | 
			
		||||
    "compress=zstd:3"
 | 
			
		||||
    "noatime"
 | 
			
		||||
    "x-systemd.device-timeout=0"
 | 
			
		||||
  ];
 | 
			
		||||
  btrfs_ssd = [
 | 
			
		||||
    "ssd"
 | 
			
		||||
    "discard=async"
 | 
			
		||||
  ];
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
 | 
			
		||||
 | 
			
		||||
  boot.initrd.availableKernelModules =
 | 
			
		||||
    [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
 | 
			
		||||
  boot.initrd.availableKernelModules = [
 | 
			
		||||
    "xhci_pci"
 | 
			
		||||
    "ahci"
 | 
			
		||||
    "usb_storage"
 | 
			
		||||
    "usbhid"
 | 
			
		||||
    "sd_mod"
 | 
			
		||||
  ];
 | 
			
		||||
  boot.initrd.kernelModules = [ "i915" ];
 | 
			
		||||
  boot.kernelModules = [ "kvm-intel" ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
| 
						 | 
				
			
			@ -46,10 +64,12 @@ in
 | 
			
		|||
    options = [ "subvol=@swap" ] ++ btrfs_ssd;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  swapDevices = [{
 | 
			
		||||
    device = "/swap/swapfile";
 | 
			
		||||
    size = (1024 * 8);
 | 
			
		||||
  }];
 | 
			
		||||
  swapDevices = [
 | 
			
		||||
    {
 | 
			
		||||
      device = "/swap/swapfile";
 | 
			
		||||
      size = (1024 * 8);
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
			
		||||
  # (the default) this is the recommended approach. When using systemd-networkd it's
 | 
			
		||||
| 
						 | 
				
			
			@ -59,8 +79,7 @@ in
 | 
			
		|||
  # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
 | 
			
		||||
 | 
			
		||||
  powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
 | 
			
		||||
  hardware.cpu.intel.updateMicrocode =
 | 
			
		||||
    lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
 | 
			
		||||
  networking.hostName = "rainbow"; # Define your hostname.
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue