@@ -37,12 +37,12 @@ let
 | 
				
			|||||||
        '';
 | 
					        '';
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      path = mkOption {
 | 
					      path = mkOption {
 | 
				
			||||||
          type = types.str;
 | 
					        type = types.str;
 | 
				
			||||||
          default = "${home_}/.secrets/${config.name}";
 | 
					        default = "${home_}/.secrets/${config.name}";
 | 
				
			||||||
          description = ''
 | 
					        description = ''
 | 
				
			||||||
            Path where the decrypted secret is installed.
 | 
					          Path where the decrypted secret is installed.
 | 
				
			||||||
          '';
 | 
					        '';
 | 
				
			||||||
        };
 | 
					      };
 | 
				
			||||||
      mode = mkOption {
 | 
					      mode = mkOption {
 | 
				
			||||||
        type = types.str;
 | 
					        type = types.str;
 | 
				
			||||||
        default = "0400";
 | 
					        default = "0400";
 | 
				
			||||||
@@ -59,12 +59,13 @@ let
 | 
				
			|||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
in {
 | 
					in
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  options.age = {
 | 
					  options.age = {
 | 
				
			||||||
    secrets = mkOption {
 | 
					    secrets = mkOption {
 | 
				
			||||||
      type = types.attrsOf secretType;
 | 
					      type = types.attrsOf secretType;
 | 
				
			||||||
      default = {};
 | 
					      default = { };
 | 
				
			||||||
      description = ''
 | 
					      description = ''
 | 
				
			||||||
        Attrset of secrets.
 | 
					        Attrset of secrets.
 | 
				
			||||||
      '';
 | 
					      '';
 | 
				
			||||||
@@ -72,15 +73,15 @@ in {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    sshKeyPaths = mkOption {
 | 
					    sshKeyPaths = mkOption {
 | 
				
			||||||
      type = types.listOf types.path;
 | 
					      type = types.listOf types.path;
 | 
				
			||||||
      default = [  ];
 | 
					      default = [ ];
 | 
				
			||||||
      description = ''
 | 
					      description = ''
 | 
				
			||||||
        Path to SSH keys to be used as identities in age decryption.
 | 
					        Path to SSH keys to be used as identities in age decryption.
 | 
				
			||||||
      '';
 | 
					      '';
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  config = mkIf (cfg.secrets != {}) {
 | 
					  config = mkIf (cfg.secrets != { }) {
 | 
				
			||||||
    assertions = [{
 | 
					    assertions = [{
 | 
				
			||||||
      assertion = cfg.sshKeyPaths != [];
 | 
					      assertion = cfg.sshKeyPaths != [ ];
 | 
				
			||||||
      message = "age.sshKeyPaths must be set.";
 | 
					      message = "age.sshKeyPaths must be set.";
 | 
				
			||||||
    }];
 | 
					    }];
 | 
				
			||||||
    home.activation = {
 | 
					    home.activation = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,11 +24,13 @@
 | 
				
			|||||||
        target = "${xdg.configHome}/mpv/mpv.conf";
 | 
					        target = "${xdg.configHome}/mpv/mpv.conf";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      packages = {
 | 
					      packages = {
 | 
				
			||||||
        text = let
 | 
					        text =
 | 
				
			||||||
          packages = builtins.map (p: "${p.name}") config.home.packages;
 | 
					          let
 | 
				
			||||||
          sortedUnique = builtins.sort builtins.lessThan (lib.unique packages);
 | 
					            packages = builtins.map (p: "${p.name}") config.home.packages;
 | 
				
			||||||
          formatted = builtins.concatStringsSep "\n" sortedUnique;
 | 
					            sortedUnique = builtins.sort builtins.lessThan (lib.unique packages);
 | 
				
			||||||
          in formatted;
 | 
					            formatted = builtins.concatStringsSep "\n" sortedUnique;
 | 
				
			||||||
 | 
					          in
 | 
				
			||||||
 | 
					          formatted;
 | 
				
			||||||
        target = "${xdg.configHome}/${config.home.username}-packages";
 | 
					        target = "${xdg.configHome}/${config.home.username}-packages";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
    loader = {
 | 
					    loader = {
 | 
				
			||||||
      grub.enable = false;
 | 
					      grub.enable = false;
 | 
				
			||||||
      generic-extlinux-compatible.enable = true;
 | 
					      generic-extlinux-compatible.enable = true;
 | 
				
			||||||
     /* raspberryPi= {
 | 
					      /* raspberryPi= {
 | 
				
			||||||
        version = 4;
 | 
					        version = 4;
 | 
				
			||||||
        firmwareConfig = "dtparam=sd_poll_once=on";
 | 
					        firmwareConfig = "dtparam=sd_poll_once=on";
 | 
				
			||||||
        enable = true;  
 | 
					        enable = true;  
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,12 @@
 | 
				
			|||||||
{config, pkgs, ...}:
 | 
					{ config, pkgs, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports =
 | 
					  imports =
 | 
				
			||||||
  [
 | 
					    [
 | 
				
			||||||
    ./networking.nix
 | 
					      ./networking.nix
 | 
				
			||||||
    ./hardware.nix
 | 
					      ./hardware.nix
 | 
				
			||||||
    ./boot.nix
 | 
					      ./boot.nix
 | 
				
			||||||
    ./services.nix
 | 
					      ./services.nix
 | 
				
			||||||
    ./stuff.nix
 | 
					      ./stuff.nix
 | 
				
			||||||
  ];
 | 
					    ];
 | 
				
			||||||
  system.stateVersion = "21.05";
 | 
					  system.stateVersion = "21.05";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,12 +5,14 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  fileSystems."/" =
 | 
					  fileSystems."/" =
 | 
				
			||||||
    { device = "/dev/disk/by-label/NIXOS_SD";
 | 
					    {
 | 
				
			||||||
 | 
					      device = "/dev/disk/by-label/NIXOS_SD";
 | 
				
			||||||
      fsType = "ext4";
 | 
					      fsType = "ext4";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/nix/store" =
 | 
					  fileSystems."/nix/store" =
 | 
				
			||||||
    { device = "/nix/store";
 | 
					    {
 | 
				
			||||||
 | 
					      device = "/nix/store";
 | 
				
			||||||
      fsType = "none";
 | 
					      fsType = "none";
 | 
				
			||||||
      options = [ "bind" ];
 | 
					      options = [ "bind" ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,9 +6,14 @@
 | 
				
			|||||||
      allowedTCPPorts = [
 | 
					      allowedTCPPorts = [
 | 
				
			||||||
        22 # ssh
 | 
					        22 # ssh
 | 
				
			||||||
        80 # http
 | 
					        80 # http
 | 
				
			||||||
        6060 4444 5454 8080 #????
 | 
					        6060
 | 
				
			||||||
 | 
					        4444
 | 
				
			||||||
 | 
					        5454
 | 
				
			||||||
 | 
					        8080 #????
 | 
				
			||||||
        5001 #gitea
 | 
					        5001 #gitea
 | 
				
			||||||
        8800 4646 8500 #vault nomad consul
 | 
					        8800
 | 
				
			||||||
 | 
					        4646
 | 
				
			||||||
 | 
					        8500 #vault nomad consul
 | 
				
			||||||
        8888 #simpler-filehost1
 | 
					        8888 #simpler-filehost1
 | 
				
			||||||
        6666 #concourse
 | 
					        6666 #concourse
 | 
				
			||||||
        202 #gitea-ssh
 | 
					        202 #gitea-ssh
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{inputs, config, pkgs, ... }:
 | 
					{ inputs, config, pkgs, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  programs.neovim = {
 | 
					  programs.neovim = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@
 | 
				
			|||||||
with lib;
 | 
					with lib;
 | 
				
			||||||
let
 | 
					let
 | 
				
			||||||
  cfg = config.services.vault-agent;
 | 
					  cfg = config.services.vault-agent;
 | 
				
			||||||
  json = pkgs.formats.json {};
 | 
					  json = pkgs.formats.json { };
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  options = {
 | 
					  options = {
 | 
				
			||||||
@@ -20,7 +20,7 @@ in
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      settings = mkOption {
 | 
					      settings = mkOption {
 | 
				
			||||||
        type = json.type;
 | 
					        type = json.type;
 | 
				
			||||||
        default = {};
 | 
					        default = { };
 | 
				
			||||||
        description = ''
 | 
					        description = ''
 | 
				
			||||||
          Settings for the agent
 | 
					          Settings for the agent
 | 
				
			||||||
        '';
 | 
					        '';
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,14 +1,14 @@
 | 
				
			|||||||
{config, ...}:
 | 
					{ config, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nix.buildMachines = [ {
 | 
					  nix.buildMachines = [{
 | 
				
			||||||
	 hostName = "satori";
 | 
					    hostName = "satori";
 | 
				
			||||||
	 systems = ["x86_64-linux" "aarch64-linux"];
 | 
					    systems = [ "x86_64-linux" "aarch64-linux" ];
 | 
				
			||||||
	 maxJobs = 4;
 | 
					    maxJobs = 4;
 | 
				
			||||||
	 speedFactor = 2;
 | 
					    speedFactor = 2;
 | 
				
			||||||
	 supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
 | 
					    supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
 | 
				
			||||||
	}] ;
 | 
					  }];
 | 
				
			||||||
	nix.distributedBuilds = true;
 | 
					  nix.distributedBuilds = true;
 | 
				
			||||||
	nix.extraOptions = ''
 | 
					  nix.extraOptions = ''
 | 
				
			||||||
		builders-use-substitutes = true
 | 
					    builders-use-substitutes = true
 | 
				
			||||||
	'';
 | 
					  '';
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{config, ...}:
 | 
					{ config, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  boot = {
 | 
					  boot = {
 | 
				
			||||||
    kernel.sysctl."net.ipv4.ip_forward" = 1;
 | 
					    kernel.sysctl."net.ipv4.ip_forward" = 1;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,14 +1,14 @@
 | 
				
			|||||||
{lib, config, ...}:
 | 
					{ lib, config, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports =
 | 
					  imports =
 | 
				
			||||||
  [
 | 
					    [
 | 
				
			||||||
    ./networking.nix
 | 
					      ./networking.nix
 | 
				
			||||||
    ./hardware.nix
 | 
					      ./hardware.nix
 | 
				
			||||||
    ./boot.nix
 | 
					      ./boot.nix
 | 
				
			||||||
    ./services.nix
 | 
					      ./services.nix
 | 
				
			||||||
    ./mailserver.nix
 | 
					      ./mailserver.nix
 | 
				
			||||||
    ./stuff.nix
 | 
					      ./stuff.nix
 | 
				
			||||||
  ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  system.stateVersion = "21.11";
 | 
					  system.stateVersion = "21.11";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,17 +2,19 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports =
 | 
					  imports =
 | 
				
			||||||
    [ (modulesPath + "/profiles/qemu-guest.nix")
 | 
					    [
 | 
				
			||||||
 | 
					      (modulesPath + "/profiles/qemu-guest.nix")
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/" =
 | 
					  fileSystems."/" =
 | 
				
			||||||
    { device = "/dev/disk/by-uuid/d91adce2-9059-4a8a-86e7-dee6ecc85b2b";
 | 
					    {
 | 
				
			||||||
 | 
					      device = "/dev/disk/by-uuid/d91adce2-9059-4a8a-86e7-dee6ecc85b2b";
 | 
				
			||||||
      fsType = "ext4";
 | 
					      fsType = "ext4";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  swapDevices = [
 | 
					  swapDevices = [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      device="/swapfile";
 | 
					      device = "/swapfile";
 | 
				
			||||||
      size = 7168;
 | 
					      size = 7168;
 | 
				
			||||||
      priority = 0;
 | 
					      priority = 0;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ lib, config, ...}:
 | 
					{ lib, config, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports =
 | 
					  imports =
 | 
				
			||||||
    [
 | 
					    [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,3 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
{ config, lib, ... }:
 | 
					{ config, lib, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#let
 | 
					#let
 | 
				
			||||||
@@ -11,17 +10,17 @@
 | 
				
			|||||||
  services = {
 | 
					  services = {
 | 
				
			||||||
    xserver = {
 | 
					    xserver = {
 | 
				
			||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
      libinput= {
 | 
					      libinput = {
 | 
				
			||||||
        enable = true;
 | 
					        enable = true;
 | 
				
			||||||
        mouse = {
 | 
					        mouse = {
 | 
				
			||||||
          accelSpeed = "0";
 | 
					          accelSpeed = "0";
 | 
				
			||||||
 #         accelProfile = "flat";
 | 
					          #         accelProfile = "flat";
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        touchpad = {
 | 
					        touchpad = {
 | 
				
			||||||
          middleEmulation = false;
 | 
					          middleEmulation = false;
 | 
				
			||||||
          clickMethod = "buttonareas";
 | 
					          clickMethod = "buttonareas";
 | 
				
			||||||
          tapping = true;
 | 
					          tapping = true;
 | 
				
			||||||
          naturalScrolling =true;
 | 
					          naturalScrolling = true;
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      displayManager = {
 | 
					      displayManager = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{lib, stdenvNoCC, fetchFromGitHub}:
 | 
					{ lib, stdenvNoCC, fetchFromGitHub }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
stdenvNoCC.mkDerivation {
 | 
					stdenvNoCC.mkDerivation {
 | 
				
			||||||
  name = "customscripts";
 | 
					  name = "customscripts";
 | 
				
			||||||
@@ -8,5 +8,5 @@ stdenvNoCC.mkDerivation {
 | 
				
			|||||||
    mkdir -p $out/bin
 | 
					    mkdir -p $out/bin
 | 
				
			||||||
    cp -r $src/* $out/bin
 | 
					    cp -r $src/* $out/bin
 | 
				
			||||||
    chmod -R +x $out/bin/*
 | 
					    chmod -R +x $out/bin/*
 | 
				
			||||||
'';
 | 
					  '';
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
final: prev:
 | 
					final: prev:
 | 
				
			||||||
let
 | 
					let
 | 
				
			||||||
  call = prev.callPackage; in
 | 
					  call = prev.callPackage;
 | 
				
			||||||
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  customscripts = call ./customscripts { };
 | 
					  customscripts = call ./customscripts { };
 | 
				
			||||||
  tlauncher = call ./tlauncher { };
 | 
					  tlauncher = call ./tlauncher { };
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user