added enable options to termina modules.
This commit is contained in:
		
							parent
							
								
									6f0e167087
								
							
						
					
					
						commit
						3eee4e105d
					
				
					 16 changed files with 358 additions and 298 deletions
				
			
		| 
						 | 
				
			
			@ -4,10 +4,13 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.btop.enable = lib.mkEnableOption "enable btop";
 | 
			
		||||
  config = lib.mkIf config.user.btop.enable {
 | 
			
		||||
    programs.btop = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      settings = {
 | 
			
		||||
        vim_keys = true;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										22
									
								
								modules/home-manager/terminal/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								modules/home-manager/terminal/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  imports=[
 | 
			
		||||
  ./nushell
 | 
			
		||||
  ./zellij
 | 
			
		||||
  ./btop.nix
 | 
			
		||||
  ./direnv.nix
 | 
			
		||||
  ./git.nix
 | 
			
		||||
  ./gpg.nix
 | 
			
		||||
  ./irssi.nix
 | 
			
		||||
  ./pass.nix
 | 
			
		||||
  ./ssh-agent.nix
 | 
			
		||||
  ./starship.nix
 | 
			
		||||
  ./tiny-irc.nix
 | 
			
		||||
  ./voice.nix
 | 
			
		||||
  ./zsh.nix
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -4,8 +4,11 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.direnv.enable = lib.mkEnableOption "enable direnv";
 | 
			
		||||
  config= lib.mkIf config.user.direnv.enable{
 | 
			
		||||
  programs.direnv = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    nix-direnv.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,6 +6,7 @@
 | 
			
		|||
}: {
 | 
			
		||||
  options = {
 | 
			
		||||
    user.git = {
 | 
			
		||||
      enable= lib.mkEnableOption "enable git";
 | 
			
		||||
      workProfile = {
 | 
			
		||||
        enable = lib.mkEnableOption "git work profile";
 | 
			
		||||
        email = lib.mkOption {
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +27,7 @@
 | 
			
		|||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = {
 | 
			
		||||
  config = lib.mkIf config.user.git.enable {
 | 
			
		||||
    programs.git = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      aliases = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,8 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.gpg.enable = lib.mkEnableOption "enable gpg";
 | 
			
		||||
  config = lib.mkIf config.user.gpg.enable {
 | 
			
		||||
    programs.gpg.enable = true;
 | 
			
		||||
 | 
			
		||||
    services.gpg-agent = {
 | 
			
		||||
| 
						 | 
				
			
			@ -11,4 +13,5 @@
 | 
			
		|||
      enableSshSupport = true;
 | 
			
		||||
      pinentryPackage = lib.mkDefault pkgs.pinentry-tty;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,8 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.irssi.enable = lib.mkEnableOption "enable irssi";
 | 
			
		||||
  config = lib.mkIf config.user.irssi.enable {
 | 
			
		||||
    programs.irssi = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      networks = {
 | 
			
		||||
| 
						 | 
				
			
			@ -35,4 +37,5 @@
 | 
			
		|||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,30 +1,36 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.nushell.enable = lib.mkEnableOption "enable nushell";
 | 
			
		||||
  config = lib.mkIf config.user.nushell.enable {
 | 
			
		||||
    home.file = {
 | 
			
		||||
      ".config/nushell/completions".source = ./completions;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    programs = {
 | 
			
		||||
      #sessionVariables, sessionPath and shellAliases are not applied to nushell.
 | 
			
		||||
  programs.nushell = {
 | 
			
		||||
      nushell = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        configFile.source = ./config.nu;
 | 
			
		||||
        envFile.source = ./env.nu;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
  home.file = {
 | 
			
		||||
    ".config/nushell/completions".source = ./completions;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  programs.yazi.enableNushellIntegration = true;
 | 
			
		||||
  programs.zoxide.enableNushellIntegration = true;
 | 
			
		||||
  programs.starship.enableNushellIntegration = true;
 | 
			
		||||
  programs.carapace = {
 | 
			
		||||
      yazi.enableNushellIntegration = true;
 | 
			
		||||
      zoxide.enableNushellIntegration = true;
 | 
			
		||||
      starship.enableNushellIntegration = true;
 | 
			
		||||
      eza.enableNushellIntegration = true;
 | 
			
		||||
      carapace = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        enableNushellIntegration = true;
 | 
			
		||||
      };
 | 
			
		||||
  programs.direnv.enableNushellIntegration = true;
 | 
			
		||||
  services.gpg-agent.enableNushellIntegration = true;
 | 
			
		||||
 | 
			
		||||
  services.pueue = {
 | 
			
		||||
      direnv.enableNushellIntegration = true;
 | 
			
		||||
    };
 | 
			
		||||
    services = {
 | 
			
		||||
      gpg-agent.enableNushellIntegration = true;
 | 
			
		||||
      pueue = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        settings = {
 | 
			
		||||
          daemon = {
 | 
			
		||||
| 
						 | 
				
			
			@ -32,4 +38,6 @@
 | 
			
		|||
          };
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,8 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.pass.enable = lib.mkEnableOption "enable pass password manager";
 | 
			
		||||
  config = lib.mkIf config.user.pass.enable {
 | 
			
		||||
    programs.password-store = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      settings = {
 | 
			
		||||
| 
						 | 
				
			
			@ -14,4 +16,5 @@
 | 
			
		|||
    programs.nushell.extraEnv = ''
 | 
			
		||||
      $env.PASSWORD_STORE_DIR = ($env.HOME | path join "keys" "password-store")
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,8 +4,11 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.ssh-agent.enable = lib.mkEnableOption "enable ssh-agent";
 | 
			
		||||
  config = lib.mkIf config.user.ssh-agent.enable {
 | 
			
		||||
    services.ssh-agent.enable = true;
 | 
			
		||||
    programs.nushell.extraEnv = ''
 | 
			
		||||
      $env.SSH_AUTH_SOCK = $"($env.XDG_RUNTIME_DIR)/ssh-agent"
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,8 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.starship.enable = lib.mkEnableOption "enable starship prompt";
 | 
			
		||||
  config = lib.mkIf config.user.starship.enable {
 | 
			
		||||
    programs.starship = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      settings = {
 | 
			
		||||
| 
						 | 
				
			
			@ -106,4 +108,5 @@
 | 
			
		|||
        character.disabled = false;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,8 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.tiny.enable=lib.mkEnableOption "enable tiny irc client";
 | 
			
		||||
  config=lib.mkIf config.user.tiny.enable {
 | 
			
		||||
  programs.tiny = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    settings = {
 | 
			
		||||
| 
						 | 
				
			
			@ -31,9 +33,6 @@
 | 
			
		|||
          ];
 | 
			
		||||
          sasl = {
 | 
			
		||||
            username = "toric";
 | 
			
		||||
            # password = {
 | 
			
		||||
            #   command = "pass show libera";
 | 
			
		||||
            # };
 | 
			
		||||
            pem = "${config.home.homeDirectory}/keys/certs/irc.pem";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -47,4 +46,4 @@
 | 
			
		|||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
};}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,13 +4,9 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options = {
 | 
			
		||||
    user.enable-speech = lib.mkEnableOption "espeak";
 | 
			
		||||
  };
 | 
			
		||||
  options.user.enable-speech = lib.mkEnableOption "espeak";
 | 
			
		||||
 | 
			
		||||
  config =
 | 
			
		||||
    lib.mkIf config.user.enable-speech
 | 
			
		||||
    {
 | 
			
		||||
  config = lib.mkIf config.user.enable-speech {
 | 
			
		||||
    home.shellAliases = {
 | 
			
		||||
      say = "espeak -p 10 -s 150 -a 200";
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,14 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.zellij.enable = lib.mkEnableOption "enable zellij";
 | 
			
		||||
  config = lib.mkIf config.user.zellij.enable {
 | 
			
		||||
    programs.zellij.enable = true;
 | 
			
		||||
    home.file = {
 | 
			
		||||
      ".config/zellij/config.kdl".source = ./config.kdl;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,18 +4,18 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  programs.starship.enableZshIntegration = true;
 | 
			
		||||
  programs.fzf.enableZshIntegration = true;
 | 
			
		||||
  programs.zoxide.enableZshIntegration = true;
 | 
			
		||||
  programs.yazi.enableZshIntegration = true;
 | 
			
		||||
  programs.direnv.enableZshIntegration = true;
 | 
			
		||||
  programs.kitty.shellIntegration.enableZshIntegration = true;
 | 
			
		||||
  services.gpg-agent.enableZshIntegration = true;
 | 
			
		||||
  programs.carapace.enableZshIntegration = false;
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    curl
 | 
			
		||||
  ];
 | 
			
		||||
  programs.zsh = {
 | 
			
		||||
  options.user.zsh.enable = lib.mkEnableOption "enable zsh";
 | 
			
		||||
  config = lib.mkIf config.user.zsh.enable {
 | 
			
		||||
    programs = {
 | 
			
		||||
      starship.enableZshIntegration = true;
 | 
			
		||||
      fzf.enableZshIntegration = true;
 | 
			
		||||
      zoxide.enableZshIntegration = true;
 | 
			
		||||
      yazi.enableZshIntegration = true;
 | 
			
		||||
      eza.enableZshIntegration = true;
 | 
			
		||||
      direnv.enableZshIntegration = true;
 | 
			
		||||
      kitty.shellIntegration.enableZshIntegration = true;
 | 
			
		||||
      carapace.enableZshIntegration = false;
 | 
			
		||||
      zsh = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        enableCompletion = true;
 | 
			
		||||
        initExtra = lib.mkMerge [
 | 
			
		||||
| 
						 | 
				
			
			@ -101,4 +101,10 @@
 | 
			
		|||
          ];
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
    services.gpg-agent.enableZshIntegration = true;
 | 
			
		||||
    home.packages = with pkgs; [
 | 
			
		||||
      curl
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,16 +5,18 @@
 | 
			
		|||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  imports = [
 | 
			
		||||
    ../../modules/home-manager/terminal/zsh.nix
 | 
			
		||||
    ../../modules/home-manager/terminal/git.nix
 | 
			
		||||
    ../../modules/home-manager/terminal/zellij
 | 
			
		||||
    ../../modules/home-manager/terminal/ssh-agent.nix
 | 
			
		||||
    ../../modules/home-manager/terminal/direnv.nix
 | 
			
		||||
    ../../modules/home-manager/terminal/btop.nix
 | 
			
		||||
    ../../modules/home-manager/terminal
 | 
			
		||||
    ../../modules/home-manager/nvim
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  user.nvim.enable = true;
 | 
			
		||||
  user = {
 | 
			
		||||
    btop.enable = true;
 | 
			
		||||
    direnv.enable = true;
 | 
			
		||||
    git.enable = true;
 | 
			
		||||
    ssh-agent.enable = true;
 | 
			
		||||
    zsh.enable = true;
 | 
			
		||||
    nvim.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    sshfs
 | 
			
		||||
| 
						 | 
				
			
			@ -44,6 +46,7 @@
 | 
			
		|||
  programs = {
 | 
			
		||||
    yazi.enable = true;
 | 
			
		||||
    fzf.enable = true;
 | 
			
		||||
    eza.enable = true;
 | 
			
		||||
    ripgrep.enable = true;
 | 
			
		||||
    bat.enable = true;
 | 
			
		||||
    man.enable = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,10 +11,15 @@
 | 
			
		|||
    ../../modules/home-manager/terminal/tiny-irc.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  user.nvim = {
 | 
			
		||||
  user = {
 | 
			
		||||
    nushell.enable = true;
 | 
			
		||||
    starship.enable = true;
 | 
			
		||||
    tiny.enable = true;
 | 
			
		||||
    nvim = {
 | 
			
		||||
      enable-lsp = true;
 | 
			
		||||
      enable-treesitter = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    tre-command
 | 
			
		||||
| 
						 | 
				
			
			@ -22,11 +27,6 @@
 | 
			
		|||
    hyperfine
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  home.sessionVariables = {
 | 
			
		||||
    PIPENV_VENV_IN_PROJECT = 1;
 | 
			
		||||
    POETRY_VIRTUALENVS_IN_PROJECT = 1;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  programs = {
 | 
			
		||||
    zoxide.enable = true;
 | 
			
		||||
    tealdeer.enable = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue