wip: broken, still working on it'

This commit is contained in:
2025-10-31 17:07:59 -04:00
parent 8fd3ca8c9a
commit 717e8c452d
14 changed files with 113 additions and 38 deletions

View File

View 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
]; ];
}; };

View File

@@ -2,6 +2,7 @@
pkgs, pkgs,
lib, lib,
isNixOS, isNixOS,
role,
... ...
}: { }: {
programs.firefox = { programs.firefox = {

View File

@@ -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
View 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
View 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}
'';
}

View File

@@ -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

View File

@@ -1,10 +1,9 @@
{ {
pkgs, pkgs,
lib,
... ...
}: { }: {
home.packages = lib.mkIf pkgs.stdenv.isDarwin (with pkgs; [ home.packages = with pkgs; [
discord discord
ollama ollama
]); ];
} }

View File

@@ -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
];
}

View File

@@ -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
]); ];
} }

View File

@@ -0,0 +1,4 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
];
}

View File

@@ -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

View File

@@ -1,4 +1,4 @@
{ lib, pkgs, ghostty, ... }: { { pkgs, ghostty, ... }: {
programs.alacritty = { programs.alacritty = {
enable = pkgs.stdenv.isLinux; enable = pkgs.stdenv.isLinux;
settings = { settings = {

View File

@@ -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"
];
});
} }