@@ -1,10 +1,10 @@
 | 
				
			|||||||
{ config, colors, ... }:
 | 
					{ config, lib', ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  services = {
 | 
					  services = {
 | 
				
			||||||
    dunst = {
 | 
					    dunst = {
 | 
				
			||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
      iconTheme = with config.gtk.iconTheme; { inherit name package; };
 | 
					      iconTheme = with config.gtk.iconTheme; { inherit name package; };
 | 
				
			||||||
      settings = with colors.hex; {
 | 
					      settings = with lib'.colors.hex; {
 | 
				
			||||||
        global = {
 | 
					        global = {
 | 
				
			||||||
          mouse_left_click = "close_current";
 | 
					          mouse_left_click = "close_current";
 | 
				
			||||||
          mouse_right_click = "do_action";
 | 
					          mouse_right_click = "do_action";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ pkgs, config, colors, ... }:
 | 
					{ pkgs, config, lib', ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  programs = {
 | 
					  programs = {
 | 
				
			||||||
    firefox = {
 | 
					    firefox = {
 | 
				
			||||||
@@ -29,7 +29,7 @@
 | 
				
			|||||||
          font-bold = "Fira Mono:style=Bold:pixelsize=18";
 | 
					          font-bold = "Fira Mono:style=Bold:pixelsize=18";
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        scrollback.lines = 4000;
 | 
					        scrollback.lines = 4000;
 | 
				
			||||||
        colors = with colors.default; {
 | 
					        colors = with lib'.colors.default; {
 | 
				
			||||||
          inherit foreground background;
 | 
					          inherit foreground background;
 | 
				
			||||||
          regular0 = surface1;
 | 
					          regular0 = surface1;
 | 
				
			||||||
          regular1 = red;
 | 
					          regular1 = red;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ pkgs, config, colors, inputs, ... }:
 | 
					{ pkgs, config, lib', inputs, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  wayland = {
 | 
					  wayland = {
 | 
				
			||||||
    windowManager = {
 | 
					    windowManager = {
 | 
				
			||||||
@@ -16,7 +16,7 @@
 | 
				
			|||||||
          + (with config.home.pointerCursor; ''
 | 
					          + (with config.home.pointerCursor; ''
 | 
				
			||||||
          exec-once=hyprctl setcursor ${name} ${toString size}
 | 
					          exec-once=hyprctl setcursor ${name} ${toString size}
 | 
				
			||||||
        '')
 | 
					        '')
 | 
				
			||||||
          + (with colors.argb { a = "ee"; };''
 | 
					          + (with lib'.colors.argb { a = "ee"; };''
 | 
				
			||||||
          general {
 | 
					          general {
 | 
				
			||||||
            col.active_border = 0x${mauve} 0x${flamingo} 135deg
 | 
					            col.active_border = 0x${mauve} 0x${flamingo} 135deg
 | 
				
			||||||
            col.inactive_border = 0x${surface0}
 | 
					            col.inactive_border = 0x${surface0}
 | 
				
			||||||
@@ -27,7 +27,7 @@
 | 
				
			|||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home.file.tofi = {
 | 
					  home.file.tofi = {
 | 
				
			||||||
    source = pkgs.writeText "tofi-config" (pkgs.lib.generators.toKeyValue { } (with colors.default; {
 | 
					    source = pkgs.writeText "tofi-config" (pkgs.lib.generators.toKeyValue { } (with lib'.colors.default; {
 | 
				
			||||||
      # https://github.com/philj56/tofi/blob/master/themes/fullscreen
 | 
					      # https://github.com/philj56/tofi/blob/master/themes/fullscreen
 | 
				
			||||||
      width = "100%";
 | 
					      width = "100%";
 | 
				
			||||||
      height = "100%";
 | 
					      height = "100%";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ config, pkgs, network, ... }:
 | 
					{ config, pkgs, lib', ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./networking.nix
 | 
					    ./networking.nix
 | 
				
			||||||
@@ -12,7 +12,7 @@
 | 
				
			|||||||
    shell = pkgs.zsh;
 | 
					    shell = pkgs.zsh;
 | 
				
			||||||
    home = "/home/spark";
 | 
					    home = "/home/spark";
 | 
				
			||||||
    extraGroups = [ "wheel" ];
 | 
					    extraGroups = [ "wheel" ];
 | 
				
			||||||
    openssh.authorizedKeys.keys = network.commonSSHKeys;
 | 
					    openssh.authorizedKeys.keys = lib'.network.commonSSHKeys;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  time.timeZone = "Asia/Kolkata";
 | 
					  time.timeZone = "Asia/Kolkata";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ config, pkgs, network, ... }:
 | 
					{ config, pkgs, lib', ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  networking = {
 | 
					  networking = {
 | 
				
			||||||
    hostName = "marisa";
 | 
					    hostName = "marisa";
 | 
				
			||||||
@@ -41,7 +41,7 @@
 | 
				
			|||||||
        }];
 | 
					        }];
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    wireguard.interfaces.wg0 = with network.addresses.wireguard.ips; {
 | 
					    wireguard.interfaces.wg0 = with lib'.network.addresses.wireguard.ips; {
 | 
				
			||||||
      ips = [ marisa ];
 | 
					      ips = [ marisa ];
 | 
				
			||||||
      listenPort = 17840;
 | 
					      listenPort = 17840;
 | 
				
			||||||
      privateKeyFile = "/var/secrets/wg.key";
 | 
					      privateKeyFile = "/var/secrets/wg.key";
 | 
				
			||||||
@@ -50,7 +50,7 @@
 | 
				
			|||||||
          #Oracle VM1
 | 
					          #Oracle VM1
 | 
				
			||||||
          publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM=";
 | 
					          publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM=";
 | 
				
			||||||
          allowedIPs = [ remilia ];
 | 
					          allowedIPs = [ remilia ];
 | 
				
			||||||
          endpoint = "${network.addresses.domain.natto}:17840";
 | 
					          endpoint = "${lib'.network.addresses.domain.natto}:17840";
 | 
				
			||||||
          persistentKeepalive = 25;
 | 
					          persistentKeepalive = 25;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ config, pkgs, network, ... }:
 | 
					{ config, pkgs, lib', ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./networking.nix
 | 
					    ./networking.nix
 | 
				
			||||||
@@ -15,7 +15,7 @@
 | 
				
			|||||||
    shell = pkgs.zsh;
 | 
					    shell = pkgs.zsh;
 | 
				
			||||||
    home = "/home/bat";
 | 
					    home = "/home/bat";
 | 
				
			||||||
    extraGroups = [ "wheel" ];
 | 
					    extraGroups = [ "wheel" ];
 | 
				
			||||||
    openssh.authorizedKeys.keys = network.commonSSHKeys;
 | 
					    openssh.authorizedKeys.keys = lib'.network.commonSSHKeys;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  system.stateVersion = "21.11";
 | 
					  system.stateVersion = "21.11";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
{ config, pkgs, lib, network, ... }:
 | 
					{ config, pkgs, lib', network, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  mailserver =
 | 
					  mailserver =
 | 
				
			||||||
    let domain = network.addresses.domain.natto; in
 | 
					    let domain = lib'.network.addresses.domain.natto; in
 | 
				
			||||||
    rec {
 | 
					    rec {
 | 
				
			||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
      fqdn = "mail.${domain}";
 | 
					      fqdn = "mail.${domain}";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ lib, config, network, pkgs, ... }:
 | 
					{ lib, config, lib', pkgs, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  networking = {
 | 
					  networking = {
 | 
				
			||||||
    useDHCP = false;
 | 
					    useDHCP = false;
 | 
				
			||||||
@@ -27,7 +27,7 @@
 | 
				
			|||||||
        useDHCP = true;
 | 
					        useDHCP = true;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    nat = with network.addresses.wireguard.ips; {
 | 
					    nat = with lib'.network.addresses.wireguard.ips; {
 | 
				
			||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
      externalInterface = "ens3";
 | 
					      externalInterface = "ens3";
 | 
				
			||||||
      internalInterfaces = [ "wg0" ];
 | 
					      internalInterfaces = [ "wg0" ];
 | 
				
			||||||
@@ -46,7 +46,7 @@
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    wireguard.interfaces = with network.addresses.wireguard; {
 | 
					    wireguard.interfaces = with lib'.network.addresses.wireguard; {
 | 
				
			||||||
      wg0 = {
 | 
					      wg0 = {
 | 
				
			||||||
        ips = [ ips.remilia ];
 | 
					        ips = [ ips.remilia ];
 | 
				
			||||||
        listenPort = 17840;
 | 
					        listenPort = 17840;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{ config, pkgs, lib, network, ... }:
 | 
					{ config, pkgs, lib, lib', ... }:
 | 
				
			||||||
let
 | 
					let
 | 
				
			||||||
  domain = network.addresses.domain.natto;
 | 
					  domain = lib'.network.addresses.domain.natto;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  services = {
 | 
					  services = {
 | 
				
			||||||
@@ -40,7 +40,7 @@ in
 | 
				
			|||||||
            };
 | 
					            };
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
        in
 | 
					        in
 | 
				
			||||||
        with network.addresses.wireguard.ips; {
 | 
					        with lib'.network.addresses.wireguard.ips; {
 | 
				
			||||||
          "${domain}" = {
 | 
					          "${domain}" = {
 | 
				
			||||||
            addSSL = true;
 | 
					            addSSL = true;
 | 
				
			||||||
            enableACME = true;
 | 
					            enableACME = true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ config, pkgs, network, ... }:
 | 
					{ config, pkgs, lib', ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  networking = {
 | 
					  networking = {
 | 
				
			||||||
@@ -18,7 +18,7 @@
 | 
				
			|||||||
      trustedInterfaces = [ "docker0" ];
 | 
					      trustedInterfaces = [ "docker0" ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    wireguard.interfaces.wg0 = with network.addresses.wireguard.ips; {
 | 
					    wireguard.interfaces.wg0 = with lib'.network.addresses.wireguard.ips; {
 | 
				
			||||||
      ips = [ satori ];
 | 
					      ips = [ satori ];
 | 
				
			||||||
      listenPort = 17840;
 | 
					      listenPort = 17840;
 | 
				
			||||||
      privateKeyFile = "/var/secrets/wg.key";
 | 
					      privateKeyFile = "/var/secrets/wg.key";
 | 
				
			||||||
@@ -27,7 +27,7 @@
 | 
				
			|||||||
          #Oracle VM1
 | 
					          #Oracle VM1
 | 
				
			||||||
          publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM=";
 | 
					          publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM=";
 | 
				
			||||||
          allowedIPs = [ remilia ];
 | 
					          allowedIPs = [ remilia ];
 | 
				
			||||||
          endpoint = "${network.addresses.domain.natto}:17840";
 | 
					          endpoint = "${lib'.network.addresses.domain.natto}:17840";
 | 
				
			||||||
          persistentKeepalive = 25;
 | 
					          persistentKeepalive = 25;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,10 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  services = {
 | 
					  services = {
 | 
				
			||||||
    tor.enable = true;
 | 
					    tor.enable = true;
 | 
				
			||||||
    openssh.enable = true;
 | 
					    openssh = {
 | 
				
			||||||
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      settings.permitRootLogin = "yes";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
    ratbagd.enable = true;
 | 
					    ratbagd.enable = true;
 | 
				
			||||||
    btrfs.autoScrub.enable = true;
 | 
					    btrfs.autoScrub.enable = true;
 | 
				
			||||||
    zfs.autoScrub.enable = true;
 | 
					    zfs.autoScrub.enable = true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,8 +6,10 @@
 | 
				
			|||||||
        _module.args = {
 | 
					        _module.args = {
 | 
				
			||||||
          inherit inputs self;
 | 
					          inherit inputs self;
 | 
				
			||||||
          flake = self;
 | 
					          flake = self;
 | 
				
			||||||
          colors = import ./colors.nix;
 | 
					          lib' = {
 | 
				
			||||||
          network = import ./network.nix;
 | 
					            colors = import ./colors.nix;
 | 
				
			||||||
 | 
					            network = import ./network.nix;
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user