refactor: organize hosts configs into dedicated directory
- Move and rename host-specific configurations (e.g., wsl to hosts/wsl) - Add home.nix files for mbp and wsl, importing common modules - Update mbp flake.nix path to new hosts/mbp/configuration.nix - Integrate home-manager for user environments on macOS/WSL - Update flake.lock inputs (nixpkgs, home-manager, homebrew) for latest versions - Add README.md with project overview and setup instructions This restructures the repo for multi-host support, improves modularity, and ensures reproducible builds with updated dependencies.
This commit is contained in:
parent
42b2706505
commit
665a701aaa
21 changed files with 331 additions and 418 deletions
BIN
.DS_Store
vendored
BIN
.DS_Store
vendored
Binary file not shown.
7
README.md
Normal file
7
README.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Nix Flake Config
|
||||
This repo contains personal nix flake config for macbook / wsl with home-manager.
|
||||
|
||||
# Getting started
|
||||
If you want to use my config on macbook, make sure you're using nix-determinate. It's the best for MacOS.
|
||||
|
||||
Clone this repo to the folder of your liking,
|
||||
24
flake.lock
generated
24
flake.lock
generated
|
|
@ -40,11 +40,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759853171,
|
||||
"narHash": "sha256-uqbhyXtqMbYIiMqVqUhNdSuh9AEEkiasoK3mIPIVRhk=",
|
||||
"lastModified": 1760130406,
|
||||
"narHash": "sha256-GKMwBaFRw/C1p1VtjDz4DyhyzjKUWyi1K50bh8lgA2E=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "1a09eb84fa9e33748432a5253102d01251f72d6d",
|
||||
"rev": "d305eece827a3fe317a2d70138f53feccaf890a1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -72,11 +72,11 @@
|
|||
"homebrew-cask": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1759948268,
|
||||
"narHash": "sha256-PKfR49kBk6QWICMiiAZ1gTA6ns2AgJ4PR54POhApPEQ=",
|
||||
"lastModified": 1760211302,
|
||||
"narHash": "sha256-HVl2Z625D3Y7Bh9fPbj0oFt1vGjVWt7ZCaoV1n08ojc=",
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-cask",
|
||||
"rev": "5fd3508b3552a5c0c28fb4a625b94c6e16253f45",
|
||||
"rev": "f87e2b258ef5fbe8900380227a7215d54de104fd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -88,11 +88,11 @@
|
|||
"homebrew-core": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1759949937,
|
||||
"narHash": "sha256-XWl8nOFNrjJlYE7MjI1kI3u4X58cV+4JZ8KJr32E3RM=",
|
||||
"lastModified": 1760212566,
|
||||
"narHash": "sha256-AqJpqsm1+WXonanloEoivHhb9WqvFvO38l2Y3Ze0E1Q=",
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-core",
|
||||
"rev": "b6adad21707caea42597e617f676d19a83f05bb9",
|
||||
"rev": "49d48a960dc89c6282a903a8776c946d5c6be362",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -164,11 +164,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1759831965,
|
||||
"narHash": "sha256-vgPm2xjOmKdZ0xKA6yLXPJpjOtQPHfaZDRtH+47XEBo=",
|
||||
"lastModified": 1760038930,
|
||||
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c9b6fb798541223bbb396d287d16f43520250518",
|
||||
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
darwinConfigurations."Dens-MacBook" = nix-darwin.lib.darwinSystem {
|
||||
system = "aarch64-darwin";
|
||||
modules = [
|
||||
./mbp/configuration.nix
|
||||
./hosts/mbp/configuration.nix
|
||||
sops-nix.darwinModules.sops
|
||||
|
||||
nix-homebrew.darwinModules.nix-homebrew {
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
home-manager.darwinModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.duumxh = import ./mbp/home.nix;
|
||||
home-manager.users.duumxh = import ./hosts/mbp/home.nix;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
#Disable nix managment, since we use nix-determinate
|
||||
nix.enable = false;
|
||||
|
||||
|
||||
imports = [
|
||||
../../modules/homebrew.nix
|
||||
];
|
||||
homebrew = {
|
||||
enable = true;
|
||||
|
||||
|
|
@ -67,5 +70,4 @@
|
|||
};
|
||||
|
||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
}
|
||||
22
hosts/mbp/home.nix
Executable file
22
hosts/mbp/home.nix
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../modules/common.nix
|
||||
../../modules/programs/bat.nix
|
||||
../../modules/programs/eza.nix
|
||||
../../modules/programs/fzf.nix
|
||||
../../modules/programs/git.nix
|
||||
../../modules/programs/k9s.nix
|
||||
../../modules/programs/micro.nix
|
||||
../../modules/programs/ssh.nix
|
||||
../../modules/programs/zoxide.nix
|
||||
../../modules/programs/zsh.nix
|
||||
];
|
||||
|
||||
programs.zsh = {
|
||||
localVariables = {
|
||||
SSH_AUTH_SOCK = "/Users/duumxh/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh";
|
||||
};
|
||||
};
|
||||
}
|
||||
21
hosts/wsl/home.nix
Executable file
21
hosts/wsl/home.nix
Executable file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../modules/common.nix
|
||||
../../modules/programs/bat.nix
|
||||
../../modules/programs/eza.nix
|
||||
../../modules/programs/fzf.nix
|
||||
../../modules/programs/git.nix
|
||||
../../modules/programs/k9s.nix
|
||||
../../modules/programs/micro.nix
|
||||
../../modules/programs/ssh.nix
|
||||
../../modules/programs/zoxide.nix
|
||||
../../modules/programs/zsh.nix
|
||||
];
|
||||
}
|
||||
206
mbp/home.nix
206
mbp/home.nix
|
|
@ -1,206 +0,0 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
rclone
|
||||
talosctl
|
||||
bat
|
||||
teleport
|
||||
ansible
|
||||
kubectl
|
||||
opentofu
|
||||
nerd-fonts.jetbrains-mono
|
||||
age
|
||||
sops
|
||||
deploy-rs
|
||||
kubernetes-helm
|
||||
kubectx
|
||||
fzf-preview
|
||||
zsh-fzf-tab
|
||||
zsh-forgit
|
||||
zsh-fzf-history-search
|
||||
];
|
||||
#sessionVariables = {
|
||||
# SOPS_AGE_KEY_FILE = "/Users/duumxh/.config/sops/age/keys.txt";
|
||||
#};
|
||||
stateVersion = "25.11";
|
||||
};
|
||||
|
||||
programs = {
|
||||
|
||||
ssh = {
|
||||
matchBlocks."*" = { identityAgent = "/Users/duumxh/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh"; };
|
||||
enableDefaultConfig = false;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "Den Afanasyev";
|
||||
userEmail = "ceo@furry.industries";
|
||||
};
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
|
||||
prezto = {
|
||||
prompt = {
|
||||
theme = "powerlevel10k";
|
||||
};
|
||||
enable = true;
|
||||
};
|
||||
|
||||
autosuggestion = {
|
||||
#highlight = "fg=#ff00ff,bg=cyan,bold,underline";
|
||||
#strategy = [ "completion" "history" ];
|
||||
enable = true;
|
||||
};
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "fzf-tab";
|
||||
src = "${pkgs.zsh-fzf-tab}/share/fzf-tab";
|
||||
}
|
||||
];
|
||||
|
||||
history = {
|
||||
append = true;
|
||||
expireDuplicatesFirst = true;
|
||||
};
|
||||
initContent = lib.mkOrder 500 ''
|
||||
source ~/.p10k.zsh
|
||||
export PURE_GIT_PULL=0
|
||||
export SSH_AUTH_SOCK=/Users/duumxh/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh
|
||||
export TELEPORT_ADD_KEYS_TO_AGENT=no
|
||||
export K9S_SKIN="transparent"
|
||||
echo "Hey there raccoon! 🦝🍁"
|
||||
'';
|
||||
#localVariables = {};
|
||||
|
||||
shellAliases = {
|
||||
drwn-upd = "sudo darwin-rebuild switch --flake ~/Nix";
|
||||
ls = "eza";
|
||||
cd = "z";
|
||||
cat = "bat";
|
||||
k = "kubectl";
|
||||
m = "micro";
|
||||
h = "helm";
|
||||
t = "teleport";
|
||||
tctl = "talosctl";
|
||||
};
|
||||
};
|
||||
|
||||
fzf = {
|
||||
colors = {
|
||||
fg = "-1";
|
||||
"fg+" = "#d0d0d0";
|
||||
bg = "-1";
|
||||
"bg+" = "#262626";
|
||||
hl = "#5f87af";
|
||||
"hl+" = "#5fd7ff";
|
||||
info = "#afaf87";
|
||||
marker = "#87ff00";
|
||||
prompt = "#d7005f";
|
||||
spinner = "#af5fff";
|
||||
pointer = "#af5fff";
|
||||
header = "#87afaf";
|
||||
border = "#262626";
|
||||
label = "#aeaeae";
|
||||
query = "#d9d9d9";
|
||||
};
|
||||
defaultOptions = [
|
||||
"--border=rounded"
|
||||
"--border-label"
|
||||
"--preview-window=border-rounded"
|
||||
"--prompt=> "
|
||||
"--marker=>"
|
||||
"--pointer=◆"
|
||||
"--separator=─"
|
||||
"--scrollbar=│"
|
||||
];
|
||||
enableZshIntegration = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
eza = {
|
||||
enableZshIntegration = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
bat = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
zoxide = {
|
||||
enableZshIntegration = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
micro = {
|
||||
settings = {
|
||||
colorscheme = "simple";
|
||||
scrollbar = true;
|
||||
};
|
||||
enable = true;
|
||||
};
|
||||
|
||||
k9s = {
|
||||
skins = {
|
||||
transparent = {
|
||||
k9s = {
|
||||
body.bgColor = "default";
|
||||
prompt.bgColor = "default";
|
||||
info.sectionColor = "default";
|
||||
dialog = {
|
||||
bgColor = "default";
|
||||
labelFgColor = "default";
|
||||
fieldFgColor = "default";
|
||||
};
|
||||
frame = {
|
||||
crumbs.bgColor = "default";
|
||||
title = {
|
||||
bgColor = "default";
|
||||
counterColor = "default";
|
||||
};
|
||||
menu.fgColor = "default";
|
||||
};
|
||||
views = {
|
||||
charts.bgColor = "default";
|
||||
table = {
|
||||
bgColor = "default";
|
||||
header = {
|
||||
fgColor = "default";
|
||||
bgColor = "default";
|
||||
};
|
||||
};
|
||||
xray.bgColor = "default";
|
||||
logs = {
|
||||
bgColor = "default";
|
||||
indicator = {
|
||||
bgColor = "default";
|
||||
toggleOnColor = "default";
|
||||
toggleOffColor = "default";
|
||||
};
|
||||
};
|
||||
yaml = {
|
||||
colonColor = "default";
|
||||
valueColor = "default";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
enable = true;
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
home-manager.enable = true;
|
||||
};
|
||||
|
||||
}
|
||||
31
modules/common.nix
Normal file
31
modules/common.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
# Define home options directly if this is a standalone home.nix
|
||||
# or within config if it's a module
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
age
|
||||
ansible
|
||||
bat
|
||||
deploy-rs
|
||||
fzf-preview
|
||||
kubectl
|
||||
kubectx
|
||||
kubernetes-helm
|
||||
nerd-fonts.jetbrains-mono
|
||||
nixfmt-rfc-style
|
||||
opentofu
|
||||
sops
|
||||
talosctl
|
||||
teleport
|
||||
zsh-forgit
|
||||
zsh-fzf-history-search
|
||||
zsh-fzf-tab
|
||||
rclone
|
||||
];
|
||||
stateVersion = "25.11";
|
||||
};
|
||||
|
||||
#nixpkgs.config.allowUnfree = true; # It's better to put this in configuration.nix or a more specific place if it's only meant for certain hosts.
|
||||
}
|
||||
40
modules/homebrew.nix
Normal file
40
modules/homebrew.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
homebrew = {
|
||||
enable = true;
|
||||
|
||||
onActivation.autoUpdate = true;
|
||||
onActivation.upgrade = true;
|
||||
#onActivation.cleanup = "zap";
|
||||
|
||||
casks = [
|
||||
"arc"
|
||||
"bettermouse"
|
||||
"blender"
|
||||
"citrix-workspace"
|
||||
"cryptomator"
|
||||
"Discord"
|
||||
"Element"
|
||||
"ghostty"
|
||||
"IINA"
|
||||
"Keka"
|
||||
"meta"
|
||||
"mullvad-vpn"
|
||||
"obs"
|
||||
"Obsidian"
|
||||
"orion"
|
||||
"Secretive"
|
||||
"tailscale-app"
|
||||
"telegram"
|
||||
"UTM"
|
||||
"vscodium"
|
||||
];
|
||||
|
||||
masApps = {
|
||||
"Bitwarden" = 1352778147;
|
||||
"DropOver" = 1355679052;
|
||||
"Yubico Authenticator" = 1497506650;
|
||||
};
|
||||
};
|
||||
}
|
||||
7
modules/programs/bat.nix
Normal file
7
modules/programs/bat.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
8
modules/programs/eza.nix
Normal file
8
modules/programs/eza.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.eza = {
|
||||
enableZshIntegration = true;
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
35
modules/programs/fzf.nix
Normal file
35
modules/programs/fzf.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.fzf = {
|
||||
colors = {
|
||||
fg = "-1";
|
||||
"fg+" = "#d0d0d0";
|
||||
bg = "-1";
|
||||
"bg+" = "#262626";
|
||||
hl = "#5f87af";
|
||||
"hl+" = "#5fd7ff";
|
||||
info = "#afaf87";
|
||||
marker = "#87ff00";
|
||||
prompt = "#d7005f";
|
||||
spinner = "#af5fff";
|
||||
pointer = "#af5fff";
|
||||
header = "#87afaf";
|
||||
border = "#262626";
|
||||
label = "#aeaeae";
|
||||
query = "#d9d9d9";
|
||||
};
|
||||
defaultOptions = [
|
||||
"--border=rounded"
|
||||
"--border-label"
|
||||
"--preview-window=border-rounded"
|
||||
"--prompt=> "
|
||||
"--marker=>"
|
||||
"--pointer=◆"
|
||||
"--separator=─"
|
||||
"--scrollbar=│"
|
||||
];
|
||||
enableZshIntegration = true;
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
9
modules/programs/git.nix
Normal file
9
modules/programs/git.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Den Afanasyev";
|
||||
userEmail = "ceo@furry.industries";
|
||||
};
|
||||
}
|
||||
52
modules/programs/k9s.nix
Normal file
52
modules/programs/k9s.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
programs.k9s = {
|
||||
skins = {
|
||||
transparent = {
|
||||
k9s = {
|
||||
body.bgColor = "default";
|
||||
prompt.bgColor = "default";
|
||||
info.sectionColor = "default";
|
||||
dialog = {
|
||||
bgColor = "default";
|
||||
labelFgColor = "default";
|
||||
fieldFgColor = "default";
|
||||
};
|
||||
frame = {
|
||||
crumbs.bgColor = "default";
|
||||
title = {
|
||||
bgColor = "default";
|
||||
counterColor = "default";
|
||||
};
|
||||
menu.fgColor = "default";
|
||||
};
|
||||
views = {
|
||||
charts.bgColor = "default";
|
||||
table = {
|
||||
bgColor = "default";
|
||||
header = {
|
||||
fgColor = "default";
|
||||
bgColor = "default";
|
||||
};
|
||||
};
|
||||
xray.bgColor = "default";
|
||||
logs = {
|
||||
bgColor = "default";
|
||||
indicator = {
|
||||
bgColor = "default";
|
||||
toggleOnColor = "default";
|
||||
toggleOffColor = "default";
|
||||
};
|
||||
};
|
||||
yaml = {
|
||||
colonColor = "default";
|
||||
valueColor = "default";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
enable = true;
|
||||
|
||||
};
|
||||
}
|
||||
11
modules/programs/micro.nix
Normal file
11
modules/programs/micro.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.micro = {
|
||||
settings = {
|
||||
colorscheme = "simple";
|
||||
scrollbar = true;
|
||||
};
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
8
modules/programs/ssh.nix
Normal file
8
modules/programs/ssh.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
enableDefaultConfig = false;
|
||||
};
|
||||
}
|
||||
8
modules/programs/zoxide.nix
Normal file
8
modules/programs/zoxide.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.zoxide = {
|
||||
enableZshIntegration = true;
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
53
modules/programs/zsh.nix
Normal file
53
modules/programs/zsh.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
|
||||
prezto = {
|
||||
prompt = { theme = "powerlevel10k"; };
|
||||
enable = true;
|
||||
};
|
||||
|
||||
autosuggestion = {
|
||||
#highlight = "fg=#ff00ff,bg=cyan,bold,underline";
|
||||
#strategy = [ "completion" "history" ];
|
||||
enable = true;
|
||||
};
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "fzf-tab";
|
||||
src = "${pkgs.zsh-fzf-tab}/share/fzf-tab";
|
||||
}
|
||||
];
|
||||
|
||||
history = {
|
||||
append = true;
|
||||
expireDuplicatesFirst = true;
|
||||
};
|
||||
|
||||
initContent = lib.mkOrder 500 ''
|
||||
source ~/.p10k.zsh
|
||||
echo "Hey there raccoon! 🦝🍁"
|
||||
'';
|
||||
localVariables = {
|
||||
PURE_GIT_PULL = "0";
|
||||
TELEPORT_ADD_KEYS_TO_AGENT = "no";
|
||||
K9S_SKIN = "transparent";
|
||||
};
|
||||
|
||||
shellAliases = {
|
||||
ls = "eza";
|
||||
cd = "z";
|
||||
cat = "bat";
|
||||
k = "kubectl";
|
||||
m = "micro";
|
||||
h = "helm";
|
||||
tp = "teleport";
|
||||
t = "talosctl";
|
||||
};
|
||||
};
|
||||
}
|
||||
195
wsl/home.nix
195
wsl/home.nix
|
|
@ -1,195 +0,0 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
rclone
|
||||
talosctl
|
||||
bat
|
||||
teleport
|
||||
ansible
|
||||
kubectl
|
||||
opentofu
|
||||
nerd-fonts.jetbrains-mono
|
||||
age
|
||||
sops
|
||||
deploy-rs
|
||||
kubernetes-helm
|
||||
kubectx
|
||||
fzf-preview
|
||||
zsh-fzf-tab
|
||||
zsh-forgit
|
||||
zsh-fzf-history-search
|
||||
];
|
||||
#sessionVariables = {
|
||||
# SOPS_AGE_KEY_FILE = "/Users/duumxh/.config/sops/age/keys.txt";
|
||||
#};
|
||||
stateVersion = "25.11";
|
||||
};
|
||||
|
||||
programs = {
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "Den Afanasyev";
|
||||
userEmail = "ceo@furry.industries";
|
||||
extraConfig = { core.sshCommand = "ssh.exe"; };
|
||||
};
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
|
||||
prezto = {
|
||||
prompt = {
|
||||
theme = "powerlevel10k";
|
||||
};
|
||||
enable = true;
|
||||
};
|
||||
|
||||
autosuggestion = {
|
||||
#highlight = "fg=#ff00ff,bg=cyan,bold,underline";
|
||||
#strategy = [ "completion" "history" ];
|
||||
enable = true;
|
||||
};
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "fzf-tab";
|
||||
src = "${pkgs.zsh-fzf-tab}/share/fzf-tab";
|
||||
}
|
||||
];
|
||||
|
||||
history = {
|
||||
append = true;
|
||||
expireDuplicatesFirst = true;
|
||||
};
|
||||
initContent = lib.mkOrder 500 ''
|
||||
source ~/.p10k.zsh
|
||||
export TELEPORT_ADD_KEYS_TO_AGENT=no
|
||||
export K9S_SKIN="transparent"
|
||||
echo "Hey there raccoon!"
|
||||
'';
|
||||
#localVariables = {};
|
||||
|
||||
shellAliases = {
|
||||
ssh-add = "ssh-add.exe";
|
||||
ssh = "ssh-add.exe -l > /dev/null || ssh-add.exe && ssh.exe";
|
||||
ls = "eza";
|
||||
cd = "z";
|
||||
cat = "bat";
|
||||
k = "kubectl";
|
||||
m = "micro";
|
||||
h = "helm";
|
||||
t = "teleport";
|
||||
tctl = "talosctl";
|
||||
};
|
||||
};
|
||||
|
||||
fzf = {
|
||||
colors = {
|
||||
fg = "-1";
|
||||
"fg+" = "#d0d0d0";
|
||||
bg = "-1";
|
||||
"bg+" = "#262626";
|
||||
hl = "#5f87af";
|
||||
"hl+" = "#5fd7ff";
|
||||
info = "#afaf87";
|
||||
marker = "#87ff00";
|
||||
prompt = "#d7005f";
|
||||
spinner = "#af5fff";
|
||||
pointer = "#af5fff";
|
||||
header = "#87afaf";
|
||||
border = "#262626";
|
||||
label = "#aeaeae";
|
||||
query = "#d9d9d9";
|
||||
};
|
||||
defaultOptions = [
|
||||
"--border=rounded"
|
||||
"--border-label"
|
||||
"--preview-window=border-rounded"
|
||||
"--prompt=> "
|
||||
"--marker=>"
|
||||
"--pointer=◆"
|
||||
"--separator=─"
|
||||
"--scrollbar=│"
|
||||
];
|
||||
enableZshIntegration = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
eza = {
|
||||
enableZshIntegration = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
bat = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
zoxide = {
|
||||
enableZshIntegration = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
micro = {
|
||||
settings = {
|
||||
colorscheme = "simple";
|
||||
scrollbar = true;
|
||||
};
|
||||
enable = true;
|
||||
};
|
||||
|
||||
k9s = {
|
||||
skins = {
|
||||
transparent = {
|
||||
k9s = {
|
||||
body.bgColor = "default";
|
||||
prompt.bgColor = "default";
|
||||
info.sectionColor = "default";
|
||||
dialog = {
|
||||
bgColor = "default";
|
||||
labelFgColor = "default";
|
||||
fieldFgColor = "default";
|
||||
};
|
||||
frame = {
|
||||
crumbs.bgColor = "default";
|
||||
title = {
|
||||
bgColor = "default";
|
||||
counterColor = "default";
|
||||
};
|
||||
menu.fgColor = "default";
|
||||
};
|
||||
views = {
|
||||
charts.bgColor = "default";
|
||||
table = {
|
||||
bgColor = "default";
|
||||
header = {
|
||||
fgColor = "default";
|
||||
bgColor = "default";
|
||||
};
|
||||
};
|
||||
xray.bgColor = "default";
|
||||
logs = {
|
||||
bgColor = "default";
|
||||
indicator = {
|
||||
bgColor = "default";
|
||||
toggleOnColor = "default";
|
||||
toggleOffColor = "default";
|
||||
};
|
||||
};
|
||||
yaml = {
|
||||
colonColor = "default";
|
||||
valueColor = "default";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
enable = true;
|
||||
};
|
||||
|
||||
home-manager.enable = true;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue