Compare commits
4 Commits
nix-overri
...
hm-standal
| Author | SHA1 | Date | |
|---|---|---|---|
| 717e8c452d | |||
| 8fd3ca8c9a | |||
| a73194fed9 | |||
| e1d13065f8 |
0
defaults/k9s/catppuccin-mocha.yaml
Normal file
0
defaults/k9s/catppuccin-mocha.yaml
Normal file
28
flake.nix
28
flake.nix
@@ -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
|
||||||
@@ -61,7 +60,8 @@
|
|||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = extraSpecialArgs;
|
home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = false; };
|
||||||
|
# home-manager.extraSpecialArgs = extraSpecialArgs;
|
||||||
home-manager.backupFileExtension = "bak";
|
home-manager.backupFileExtension = "bak";
|
||||||
home-manager.users.${userName} = import ./home;
|
home-manager.users.${userName} = import ./home;
|
||||||
}
|
}
|
||||||
@@ -74,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
|
||||||
@@ -150,5 +150,23 @@
|
|||||||
# }
|
# }
|
||||||
# ];
|
# ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# generic non-NixOS Linux machine
|
||||||
|
homeConfigurations."generic" = let
|
||||||
|
hostname = builtins.getEnv "HOSTNAME";
|
||||||
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
in home-manager.lib.homeManagerConfiguration {
|
||||||
|
inherit pkgs;
|
||||||
|
# system = "x86_64-linux";
|
||||||
|
extraSpecialArgs = extraSpecialArgs // {
|
||||||
|
isNixOS = false;
|
||||||
|
hostname = hostname;
|
||||||
|
role = "workstation";
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
myOverlays
|
||||||
|
./home
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
|
isNixOS,
|
||||||
|
role,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
@@ -9,7 +11,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs.chromium = {
|
programs.chromium = {
|
||||||
enable = pkgs.stdenv.isLinux;
|
enable = pkgs.stdenv.isLinux && isNixOS;
|
||||||
package = pkgs.ungoogled-chromium.override {
|
package = pkgs.ungoogled-chromium.override {
|
||||||
enableWideVine = true;
|
enableWideVine = true;
|
||||||
commandLineArgs = [
|
commandLineArgs = [
|
||||||
|
|||||||
@@ -1,64 +1,57 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, userName
|
||||||
userName,
|
, userEmail
|
||||||
userEmail,
|
, ghostty
|
||||||
ghostty,
|
, isNixOS ? true
|
||||||
...
|
, role
|
||||||
}: let
|
, ...
|
||||||
# Have a file sturcture that holds all the configuration files that can't be configured by Nix
|
}:
|
||||||
# or maybe I'm too lazy to do anything about it? I dunno
|
let
|
||||||
|
# Have a file structure that holds all the configuration files that can't be configured by Nix
|
||||||
dirs = {
|
dirs = {
|
||||||
defaults = ../defaults;
|
defaults = ../defaults;
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
# Import sub modules
|
# Import sub modules
|
||||||
imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty;}) [
|
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
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Home Manager needs a bit of information about you and the
|
home = lib.mkMerge [
|
||||||
# paths it should manage.
|
{
|
||||||
home = {
|
|
||||||
username = userName;
|
username = userName;
|
||||||
homeDirectory =
|
homeDirectory =
|
||||||
if pkgs.stdenv.isDarwin
|
if pkgs.stdenv.isDarwin
|
||||||
then "/Users/${userName}"
|
then "/Users/${userName}"
|
||||||
else "/home/${userName}";
|
else "/home/${userName}";
|
||||||
|
|
||||||
|
stateVersion = "24.11";
|
||||||
|
}
|
||||||
|
|
||||||
|
(lib.mkIf isNixOS {
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
XDG_CURRENT_DESKTOP = "sway";
|
XDG_CURRENT_DESKTOP = "sway";
|
||||||
XDG_SESSION_TYPE = "wayland";
|
XDG_SESSION_TYPE = "wayland";
|
||||||
XDG_SESSION_DESKTOP="sway";
|
XDG_SESSION_DESKTOP = "sway";
|
||||||
XDG_CONFIG_HOME = "$HOME/.config";
|
XDG_CONFIG_HOME = "$HOME/.config";
|
||||||
XDG_CACHE_HOME = "$HOME/.cache";
|
XDG_CACHE_HOME = "$HOME/.cache";
|
||||||
XDG_DATA_HOME = "$HOME/.local/share";
|
XDG_DATA_HOME = "$HOME/.local/share";
|
||||||
XDG_STATE_HOME = "$HOME/.local/state";
|
XDG_STATE_HOME = "$HOME/.local/state";
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
};
|
};
|
||||||
|
})
|
||||||
|
|
||||||
pointerCursor = lib.mkIf pkgs.stdenv.isLinux {
|
(lib.mkIf pkgs.stdenv.isLinux {
|
||||||
|
pointerCursor = {
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
package = pkgs.catppuccin-cursors.mochaDark;
|
package = pkgs.catppuccin-cursors.mochaDark;
|
||||||
name = "catppuccin-mocha-dark-cursors";
|
name = "catppuccin-mocha-dark-cursors";
|
||||||
size = 22;
|
size = 22;
|
||||||
};
|
};
|
||||||
|
})
|
||||||
stateVersion = "24.11";
|
];
|
||||||
};
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|||||||
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,10 +1,19 @@
|
|||||||
{
|
{
|
||||||
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [
|
imports = [
|
||||||
yazi # terminal file manager
|
../atuin.nix
|
||||||
|
../shell.nix
|
||||||
|
../git.nix
|
||||||
|
../starship.nix
|
||||||
|
../eza.nix
|
||||||
|
../neovim.nix
|
||||||
|
../bat.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
# archives
|
# archives
|
||||||
zip
|
zip
|
||||||
xz
|
xz
|
||||||
@@ -12,39 +21,22 @@
|
|||||||
p7zip
|
p7zip
|
||||||
|
|
||||||
# utils
|
# utils
|
||||||
|
yazi
|
||||||
tmux
|
tmux
|
||||||
bottom
|
bottom
|
||||||
ripgrep
|
ripgrep
|
||||||
jq
|
jq
|
||||||
yq-go
|
yq-go
|
||||||
fzf
|
fzf
|
||||||
fh
|
|
||||||
aria2
|
aria2
|
||||||
yt-dlp
|
gnupg
|
||||||
obsidian
|
|
||||||
vscode
|
|
||||||
weechat
|
|
||||||
inetutils
|
inetutils
|
||||||
|
|
||||||
# misc
|
# misc
|
||||||
cowsay
|
|
||||||
file
|
file
|
||||||
which
|
which
|
||||||
tree
|
tree
|
||||||
gnutar
|
gnutar
|
||||||
gnupg
|
|
||||||
zoxide
|
|
||||||
babelfish
|
babelfish
|
||||||
|
|
||||||
# language-specific package managers
|
|
||||||
nodejs
|
|
||||||
cargo
|
|
||||||
python3
|
|
||||||
|
|
||||||
# nix specific stuff
|
|
||||||
nixd
|
|
||||||
deadnix
|
|
||||||
alejandra
|
|
||||||
statix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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; [
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
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; [
|
||||||
|
fh
|
||||||
|
kubectl # kube config is deliberately not included
|
||||||
|
kubectx
|
||||||
|
obsidian
|
||||||
|
vscode
|
||||||
|
yt-dlp
|
||||||
|
weechat
|
||||||
|
nodejs
|
||||||
|
cargo
|
||||||
|
python3
|
||||||
|
nixd
|
||||||
|
deadnix
|
||||||
|
alejandra
|
||||||
|
statix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|||||||
@@ -43,7 +43,25 @@
|
|||||||
"Can I get a waffle? Can I please get a waffle?" \
|
"Can I get a waffle? Can I please get a waffle?" \
|
||||||
"I'm lesbian. I thought you were American." \
|
"I'm lesbian. I thought you were American." \
|
||||||
"You gotta give 'em that 'hawk tuah' and spit on that thang!" \
|
"You gotta give 'em that 'hawk tuah' and spit on that thang!" \
|
||||||
"We don't do that here..."
|
"We don't do that here..." \
|
||||||
|
"What are those?! They are my crocs..." \
|
||||||
|
"It's an avocado... Thanks!" \
|
||||||
|
"I am once again asking for your financial support" \
|
||||||
|
"Is that a weed?" \
|
||||||
|
"No, this is Patrick!" \
|
||||||
|
"Come ride, heroes, ride" \
|
||||||
|
"Away with the tide" \
|
||||||
|
"Concede your mind unto the fiend" \
|
||||||
|
"Darkness come, rend the shield of light" \
|
||||||
|
"The sun is setting, darkness taking over - a date with chaos and you're dressed to the nines" \
|
||||||
|
"Now kneel overdweller, your lord commands, there's no salvation for the sons of man" \
|
||||||
|
"Snap click clank whirr whizz wham boom!" \
|
||||||
|
"Rohs an kyn ala na" \
|
||||||
|
"If you’ve brought your ivory standard, I’ll be happy to tell you where you can stick it" \
|
||||||
|
"Speeches? Oh, yes, I love them. There's nothing like a good exposition when you're having trouble sleeping!" \
|
||||||
|
"Somehow, the boy just isn't very buoyant" \
|
||||||
|
"I am...not interested, little sun. Try again when you have become a man"
|
||||||
|
|
||||||
|
|
||||||
set choose_meme (random)"%"(count $memes)
|
set choose_meme (random)"%"(count $memes)
|
||||||
set choose_meme $memes[(math $choose_meme"+1")]
|
set choose_meme $memes[(math $choose_meme"+1")]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ lib, pkgs, ghostty, ... }: {
|
{ pkgs, ghostty, ... }: {
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = pkgs.stdenv.isLinux;
|
enable = pkgs.stdenv.isLinux;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
0
lib/checkSystem.nix
Normal file
0
lib/checkSystem.nix
Normal 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"
|
||||||
|
];
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user