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": {
|
"locked": {
|
||||||
"lastModified": 1759853171,
|
"lastModified": 1760130406,
|
||||||
"narHash": "sha256-uqbhyXtqMbYIiMqVqUhNdSuh9AEEkiasoK3mIPIVRhk=",
|
"narHash": "sha256-GKMwBaFRw/C1p1VtjDz4DyhyzjKUWyi1K50bh8lgA2E=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1a09eb84fa9e33748432a5253102d01251f72d6d",
|
"rev": "d305eece827a3fe317a2d70138f53feccaf890a1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -72,11 +72,11 @@
|
||||||
"homebrew-cask": {
|
"homebrew-cask": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759948268,
|
"lastModified": 1760211302,
|
||||||
"narHash": "sha256-PKfR49kBk6QWICMiiAZ1gTA6ns2AgJ4PR54POhApPEQ=",
|
"narHash": "sha256-HVl2Z625D3Y7Bh9fPbj0oFt1vGjVWt7ZCaoV1n08ojc=",
|
||||||
"owner": "homebrew",
|
"owner": "homebrew",
|
||||||
"repo": "homebrew-cask",
|
"repo": "homebrew-cask",
|
||||||
"rev": "5fd3508b3552a5c0c28fb4a625b94c6e16253f45",
|
"rev": "f87e2b258ef5fbe8900380227a7215d54de104fd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -88,11 +88,11 @@
|
||||||
"homebrew-core": {
|
"homebrew-core": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759949937,
|
"lastModified": 1760212566,
|
||||||
"narHash": "sha256-XWl8nOFNrjJlYE7MjI1kI3u4X58cV+4JZ8KJr32E3RM=",
|
"narHash": "sha256-AqJpqsm1+WXonanloEoivHhb9WqvFvO38l2Y3Ze0E1Q=",
|
||||||
"owner": "homebrew",
|
"owner": "homebrew",
|
||||||
"repo": "homebrew-core",
|
"repo": "homebrew-core",
|
||||||
"rev": "b6adad21707caea42597e617f676d19a83f05bb9",
|
"rev": "49d48a960dc89c6282a903a8776c946d5c6be362",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -164,11 +164,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759831965,
|
"lastModified": 1760038930,
|
||||||
"narHash": "sha256-vgPm2xjOmKdZ0xKA6yLXPJpjOtQPHfaZDRtH+47XEBo=",
|
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c9b6fb798541223bbb396d287d16f43520250518",
|
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
darwinConfigurations."Dens-MacBook" = nix-darwin.lib.darwinSystem {
|
darwinConfigurations."Dens-MacBook" = nix-darwin.lib.darwinSystem {
|
||||||
system = "aarch64-darwin";
|
system = "aarch64-darwin";
|
||||||
modules = [
|
modules = [
|
||||||
./mbp/configuration.nix
|
./hosts/mbp/configuration.nix
|
||||||
sops-nix.darwinModules.sops
|
sops-nix.darwinModules.sops
|
||||||
|
|
||||||
nix-homebrew.darwinModules.nix-homebrew {
|
nix-homebrew.darwinModules.nix-homebrew {
|
||||||
|
|
@ -58,7 +58,7 @@
|
||||||
home-manager.darwinModules.home-manager {
|
home-manager.darwinModules.home-manager {
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = 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, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
#Disable nix managment, since we use nix-determinate
|
||||||
nix.enable = false;
|
nix.enable = false;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../../modules/homebrew.nix
|
||||||
|
];
|
||||||
homebrew = {
|
homebrew = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|
@ -67,5 +70,4 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
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