A new start
This commit is contained in:
		
						commit
						f4e2368893
					
				
					 93 changed files with 7621 additions and 0 deletions
				
			
		
							
								
								
									
										22
									
								
								modules/home/tools/alacritty/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								modules/home/tools/alacritty/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
{ lib
 | 
			
		||||
, config
 | 
			
		||||
, pkgs
 | 
			
		||||
, ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  inherit (lib) mkEnableOption mkIf;
 | 
			
		||||
 | 
			
		||||
  cfg = config.metacfg.tools.alacritty;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  options.metacfg.tools.alacritty = {
 | 
			
		||||
    enable = mkEnableOption "alacritty";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = mkIf cfg.enable {
 | 
			
		||||
    home.packages = with pkgs; [
 | 
			
		||||
      alacritty
 | 
			
		||||
      (pkgs.nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "JetBrainsMono" ]; })
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								modules/home/tools/direnv/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								modules/home/tools/direnv/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
{ options, config, lib, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
with lib;
 | 
			
		||||
with lib.metacfg;
 | 
			
		||||
let cfg = config.metacfg.tools.direnv;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  options.metacfg.tools.direnv = with types; {
 | 
			
		||||
    enable = mkBoolOpt false "Whether or not to enable direnv.";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = mkIf cfg.enable {
 | 
			
		||||
    programs.direnv = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      nix-direnv = enabled;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										66
									
								
								modules/home/tools/git/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								modules/home/tools/git/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,66 @@
 | 
			
		|||
{ lib, config, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  inherit (lib) types mkEnableOption mkIf;
 | 
			
		||||
  inherit (lib.metacfg) mkOpt enabled;
 | 
			
		||||
 | 
			
		||||
  cfg = config.metacfg.tools.git;
 | 
			
		||||
  user = config.metacfg.user;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  options.metacfg.tools.git = {
 | 
			
		||||
    enable = mkEnableOption "Git";
 | 
			
		||||
    userName = mkOpt types.str user.fullName "The name to configure git with.";
 | 
			
		||||
    userEmail = mkOpt types.str user.email "The email to configure git with.";
 | 
			
		||||
    signingKey =
 | 
			
		||||
      mkOpt types.str "7F3D64824AC0B6B8009E50504BC0896FB5693595" "The key ID to sign commits with.";
 | 
			
		||||
    signByDefault = mkOpt types.bool false "Whether to sign commits by default.";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = mkIf cfg.enable {
 | 
			
		||||
    home.packages = with pkgs; [
 | 
			
		||||
      git-delete-merged-branches
 | 
			
		||||
      delta
 | 
			
		||||
    ];
 | 
			
		||||
    programs.git = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      inherit (cfg) userName userEmail;
 | 
			
		||||
      lfs = enabled;
 | 
			
		||||
      signing = {
 | 
			
		||||
        key = cfg.signingKey;
 | 
			
		||||
        inherit (cfg) signByDefault;
 | 
			
		||||
      };
 | 
			
		||||
      extraConfig = {
 | 
			
		||||
        init = { defaultBranch = "main"; };
 | 
			
		||||
        pull = { rebase = true; };
 | 
			
		||||
        push = { autoSetupRemote = true; };
 | 
			
		||||
        core = { whitespace = "trailing-space,space-before-tab"; };
 | 
			
		||||
        safe = {
 | 
			
		||||
          directory = "${user.home}/git";
 | 
			
		||||
        };
 | 
			
		||||
        "credential \"https://github.com\"" = {
 | 
			
		||||
          helper = "!gh auth git-credential";
 | 
			
		||||
        };
 | 
			
		||||
        alias = {
 | 
			
		||||
          co = "checkout";
 | 
			
		||||
          ci = "commit --signoff";
 | 
			
		||||
        };
 | 
			
		||||
        pull.ff = "only";
 | 
			
		||||
        core.pager = "${pkgs.delta}/bin/delta";
 | 
			
		||||
        delta = {
 | 
			
		||||
          features = "decorations";
 | 
			
		||||
          syntax-theme = "DarkNeon";
 | 
			
		||||
          light = "false";
 | 
			
		||||
          navigate = "true";
 | 
			
		||||
        };
 | 
			
		||||
        interactive.diffFilter = "${pkgs.delta}/bin/delta --color-only";
 | 
			
		||||
        merge.conflictStyle = "diff3";
 | 
			
		||||
        diff.colorMoved = "default";
 | 
			
		||||
        filter.rot8000 = {
 | 
			
		||||
          clean = "${pkgs.metacfg.rot8000}/bin/rot8000";
 | 
			
		||||
          smudge = "${pkgs.metacfg.rot8000}/bin/rot8000";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										21
									
								
								modules/home/tools/jetbrains/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								modules/home/tools/jetbrains/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
{ options, config, lib, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
with lib;
 | 
			
		||||
with lib.metacfg;
 | 
			
		||||
let cfg = config.metacfg.tools.jetbrains;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  options.metacfg.tools.jetbrains = with types; {
 | 
			
		||||
    enable = mkBoolOpt false "Whether or not to enable jetbrains.";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = mkIf cfg.enable {
 | 
			
		||||
    home.sessionPath = [
 | 
			
		||||
      "$HOME/.local/share/JetBrains/Toolbox/scripts"
 | 
			
		||||
    ];
 | 
			
		||||
    home.packages = with pkgs; [
 | 
			
		||||
      jetbrains-toolbox
 | 
			
		||||
      (pkgs.nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "JetBrainsMono" ]; })
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										24
									
								
								modules/home/tools/ssh/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/home/tools/ssh/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
{ lib, config, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  inherit (lib) types mkEnableOption mkIf;
 | 
			
		||||
  cfg = config.metacfg.tools.ssh;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  options.metacfg.tools.ssh = {
 | 
			
		||||
    enable = mkEnableOption "SSH";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = mkIf cfg.enable {
 | 
			
		||||
    home.packages = with pkgs; [
 | 
			
		||||
      mosh
 | 
			
		||||
    ];
 | 
			
		||||
    programs.ssh = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      extraConfig = ''
 | 
			
		||||
        Host *
 | 
			
		||||
          HostKeyAlgorithms +ssh-rsa
 | 
			
		||||
      '';
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue