wip: broken, still working on it'
This commit is contained in:
		
							
								
								
									
										0
									
								
								defaults/k9s/catppuccin-mocha.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								defaults/k9s/catppuccin-mocha.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -34,8 +34,7 @@
 | 
				
			|||||||
    myOverlays = { ... }: {
 | 
					    myOverlays = { ... }: {
 | 
				
			||||||
      nixpkgs.overlays = [
 | 
					      nixpkgs.overlays = [
 | 
				
			||||||
        rust-overlay.overlays.default
 | 
					        rust-overlay.overlays.default
 | 
				
			||||||
        self.common.overlays
 | 
					      ] ++ (nixpkgs.lib.attrValues self.common.overlays);
 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  in {
 | 
					  in {
 | 
				
			||||||
    meta = import ./meta;
 | 
					    meta = import ./meta;
 | 
				
			||||||
@@ -50,7 +49,7 @@
 | 
				
			|||||||
      specialArgs = {
 | 
					      specialArgs = {
 | 
				
			||||||
        inherit userName userEmail ghostty;
 | 
					        inherit userName userEmail ghostty;
 | 
				
			||||||
        hostname = "sephiroth";
 | 
					        hostname = "sephiroth";
 | 
				
			||||||
        role = "devel";
 | 
					        role = "workstation";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      modules = [
 | 
					      modules = [
 | 
				
			||||||
        myOverlays
 | 
					        myOverlays
 | 
				
			||||||
@@ -75,7 +74,7 @@
 | 
				
			|||||||
      specialArgs = {
 | 
					      specialArgs = {
 | 
				
			||||||
        inherit userName userEmail ghostty;
 | 
					        inherit userName userEmail ghostty;
 | 
				
			||||||
        hostname = "cloud";
 | 
					        hostname = "cloud";
 | 
				
			||||||
        role = "devel";
 | 
					        role = "workstation";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      modules = [
 | 
					      modules = [
 | 
				
			||||||
        myOverlays
 | 
					        myOverlays
 | 
				
			||||||
@@ -162,10 +161,10 @@
 | 
				
			|||||||
      extraSpecialArgs = extraSpecialArgs // { 
 | 
					      extraSpecialArgs = extraSpecialArgs // { 
 | 
				
			||||||
        isNixOS = false; 
 | 
					        isNixOS = false; 
 | 
				
			||||||
        hostname = hostname;
 | 
					        hostname = hostname;
 | 
				
			||||||
 | 
					        role = "workstation";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      modules = [
 | 
					      modules = [
 | 
				
			||||||
        myOverlays
 | 
					        myOverlays
 | 
				
			||||||
        ./modules/common/core
 | 
					 | 
				
			||||||
        ./home
 | 
					        ./home
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,7 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  lib,
 | 
					  lib,
 | 
				
			||||||
  isNixOS,
 | 
					  isNixOS,
 | 
				
			||||||
 | 
					  role,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
  programs.firefox = {
 | 
					  programs.firefox = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,7 @@
 | 
				
			|||||||
, userEmail
 | 
					, userEmail
 | 
				
			||||||
, ghostty
 | 
					, ghostty
 | 
				
			||||||
, isNixOS ? true
 | 
					, isNixOS ? true
 | 
				
			||||||
 | 
					, role
 | 
				
			||||||
, ...
 | 
					, ...
 | 
				
			||||||
}:
 | 
					}:
 | 
				
			||||||
let
 | 
					let
 | 
				
			||||||
@@ -14,23 +15,8 @@ let
 | 
				
			|||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  # Import sub modules
 | 
					  # Import sub modules
 | 
				
			||||||
  imports = map (module: import module { inherit lib pkgs dirs userName userEmail ghostty isNixOS; }) [
 | 
					  imports = [
 | 
				
			||||||
    ./atuin.nix
 | 
					 | 
				
			||||||
    ./shell.nix
 | 
					 | 
				
			||||||
    ./packages
 | 
					    ./packages
 | 
				
			||||||
    ./git.nix
 | 
					 | 
				
			||||||
    ./starship.nix
 | 
					 | 
				
			||||||
    ./eza.nix
 | 
					 | 
				
			||||||
    ./neovim.nix
 | 
					 | 
				
			||||||
    ./direnv.nix
 | 
					 | 
				
			||||||
    # ./sway.nix
 | 
					 | 
				
			||||||
    ./terminal.nix
 | 
					 | 
				
			||||||
    ./browser.nix
 | 
					 | 
				
			||||||
    ./zellij.nix
 | 
					 | 
				
			||||||
    ./bat.nix
 | 
					 | 
				
			||||||
    ./lazygit.nix
 | 
					 | 
				
			||||||
  ] ++ lib.optionalattrs isNixOS [
 | 
					 | 
				
			||||||
    ./sway.nix
 | 
					 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home = lib.mkMerge [
 | 
					  home = lib.mkMerge [
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										32
									
								
								home/k9s.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								home/k9s.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }: {
 | 
				
			||||||
 | 
					  programs.k9s = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    package = pkgs.k9sLatest;
 | 
				
			||||||
 | 
					    settings.k9s = {
 | 
				
			||||||
 | 
					      refreshRate = "2s";
 | 
				
			||||||
 | 
					      liveViewAutoRefresh = false;
 | 
				
			||||||
 | 
					      apiServerTimeout = "30s";
 | 
				
			||||||
 | 
					      maxConnRetry = 5;
 | 
				
			||||||
 | 
					      readOnly = true;
 | 
				
			||||||
 | 
					      noExitOnCtrlC = false;
 | 
				
			||||||
 | 
					      portForwardAddress = "localhost";
 | 
				
			||||||
 | 
					      skipLatestRevCheck = false;
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      skin = {
 | 
				
			||||||
 | 
					        catppuccin-mocha = ./defaults/k9s/catppuccin-mocha.yml;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      ui = {
 | 
				
			||||||
 | 
					        skin = "catppuccin-mocha";
 | 
				
			||||||
 | 
					        enableMouse = true;
 | 
				
			||||||
 | 
					        headless = false;
 | 
				
			||||||
 | 
					        logoless = true;
 | 
				
			||||||
 | 
					        crumbsless = false;
 | 
				
			||||||
 | 
					        splashless = true;
 | 
				
			||||||
 | 
					        reactive = false;
 | 
				
			||||||
 | 
					        noIcons = false;
 | 
				
			||||||
 | 
					        defaultsToFullscreen = false;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								home/krew.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								home/krew.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					{ pkgs, lib, ... }:
 | 
				
			||||||
 | 
					with pkgs;
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					  plugins = writeText "plugins" ''
 | 
				
			||||||
 | 
					    krew
 | 
				
			||||||
 | 
					    oidc-login
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					in {
 | 
				
			||||||
 | 
					  home.activation.krew = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
 | 
				
			||||||
 | 
					    $DRY_RUN_CMD ${krewfile}/bin/krewfile -command ${krew}/bin/krew -file ${plugins}
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,7 +1,18 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
 | 
					  imports = [
 | 
				
			||||||
 | 
					    ../atuin.nix
 | 
				
			||||||
 | 
					    ../shell.nix
 | 
				
			||||||
 | 
					    ../git.nix
 | 
				
			||||||
 | 
					    ../starship.nix
 | 
				
			||||||
 | 
					    ../eza.nix
 | 
				
			||||||
 | 
					    ../neovim.nix
 | 
				
			||||||
 | 
					    ../bat.nix
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    # archives
 | 
					    # archives
 | 
				
			||||||
    zip
 | 
					    zip
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,9 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  lib,
 | 
					 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
  home.packages = lib.mkIf pkgs.stdenv.isDarwin (with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    discord
 | 
					    discord
 | 
				
			||||||
    ollama
 | 
					    ollama
 | 
				
			||||||
  ]);
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,9 @@
 | 
				
			|||||||
 | 
					{ pkgs, lib, role, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					  imports =
 | 
				
			||||||
  lib,
 | 
					    [ ./common.nix ]
 | 
				
			||||||
  ...
 | 
					    ++ lib.optional pkgs.stdenv.isDarwin ./darwin.nix
 | 
				
			||||||
}: {
 | 
					    ++ lib.optional pkgs.stdenv.isLinux ./linux.nix
 | 
				
			||||||
  imports = [
 | 
					    ++ lib.optional (role == "workstation") ./workstation.nix
 | 
				
			||||||
    ./common.nix
 | 
					    ++ lib.optional (role == "server") ./server.nix;
 | 
				
			||||||
    ./darwin.nix
 | 
					 | 
				
			||||||
    ./linux.nix
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -1,9 +1,8 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  lib,
 | 
					 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
  home.packages = lib.mkIf pkgs.stdenv.isLinux (with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    imv
 | 
					    imv
 | 
				
			||||||
    betterdiscordctl
 | 
					    betterdiscordctl
 | 
				
			||||||
    vesktop
 | 
					    vesktop
 | 
				
			||||||
@@ -16,5 +15,5 @@
 | 
				
			|||||||
    gpu-screen-recorder
 | 
					    gpu-screen-recorder
 | 
				
			||||||
    gpu-screen-recorder-gtk
 | 
					    gpu-screen-recorder-gtk
 | 
				
			||||||
    # ungoogled-chromium
 | 
					    # ungoogled-chromium
 | 
				
			||||||
  ]);
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }: {
 | 
				
			||||||
 | 
					    home.packages = with pkgs; [
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,29 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  dirs,
 | 
				
			||||||
 | 
					  userName,
 | 
				
			||||||
 | 
					  userEmail,
 | 
				
			||||||
 | 
					  ghostty,
 | 
				
			||||||
 | 
					  isNixOS,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
 | 
					  imports = map (module: import module { inherit lib pkgs dirs userName userEmail ghostty isNixOS; }) [
 | 
				
			||||||
 | 
					    ../terminal.nix
 | 
				
			||||||
 | 
					    ../broswer.nix
 | 
				
			||||||
 | 
					    ../zellij.nix
 | 
				
			||||||
 | 
					    ../lazygit.nix
 | 
				
			||||||
 | 
					    ../k9s.nix
 | 
				
			||||||
 | 
					    ../krew.nix
 | 
				
			||||||
 | 
					    ../direnv.nix
 | 
				
			||||||
 | 
					  ] ++ lib.optional isNixOS [
 | 
				
			||||||
 | 
					    ../sway.nix
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    fh
 | 
					    fh
 | 
				
			||||||
 | 
					    kubectl # kube config is deliberately not included
 | 
				
			||||||
 | 
					    kubectx
 | 
				
			||||||
    obsidian
 | 
					    obsidian
 | 
				
			||||||
    vscode
 | 
					    vscode
 | 
				
			||||||
    yt-dlp
 | 
					    yt-dlp
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ lib, pkgs, ghostty, ... }: {
 | 
					{ pkgs, ghostty, ... }: {
 | 
				
			||||||
  programs.alacritty = {
 | 
					  programs.alacritty = {
 | 
				
			||||||
    enable = pkgs.stdenv.isLinux;
 | 
					    enable = pkgs.stdenv.isLinux;
 | 
				
			||||||
    settings = {
 | 
					    settings = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -47,4 +47,18 @@ in {
 | 
				
			|||||||
      mkdir -p "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME"
 | 
					      mkdir -p "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME"
 | 
				
			||||||
    '';
 | 
					    '';
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  k9sLatest = prev.k9s.overrideAttrs (oldAttrs: rec {
 | 
				
			||||||
 | 
					    version = "0.30.16";
 | 
				
			||||||
 | 
					    src = prev.fetchFromGitHub {
 | 
				
			||||||
 | 
					      owner = "derailed";
 | 
				
			||||||
 | 
					      repo = "k9s";
 | 
				
			||||||
 | 
					      rev = "v${version}";
 | 
				
			||||||
 | 
					      hash = "sha256-1z6r6v3n1p6vd2q6n4pl5q3f7q3q7q1p7j5j1k3l4m5n6o7p8q9r";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    ldflags = [
 | 
				
			||||||
 | 
					      "-X github.com/derailed/k9s/version.Version=${version}"
 | 
				
			||||||
 | 
					      "-X github.com/derailed/k9s/version.BuildSource=nix"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user