feat(cheetah): refactor and update
Include common `homeManagerModules` Load `home-manager` config automatically Disable some packages to save space Name `reovim` an `outOfStoreSymlink`
This commit is contained in:
parent
b805184777
commit
8701878171
3 changed files with 28 additions and 235 deletions
|
@ -103,6 +103,16 @@ rec {
|
||||||
modules = [
|
modules = [
|
||||||
(root + "/configuration.nix")
|
(root + "/configuration.nix")
|
||||||
{ nix.registry.nixpkgs.flake = nixpkgs; }
|
{ nix.registry.nixpkgs.flake = nixpkgs; }
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
config = (root + "/home.nix");
|
||||||
|
backupFileExtension = "hm-bak";
|
||||||
|
useGlobalPkgs = false;
|
||||||
|
useUserPackages = true;
|
||||||
|
sharedModules = builtins.attrValues homeManagerModules;
|
||||||
|
extraSpecialArgs = { inherit inputs; };
|
||||||
|
};
|
||||||
|
}
|
||||||
] ++ (builtins.attrValues nixOnDroidModules);
|
] ++ (builtins.attrValues nixOnDroidModules);
|
||||||
|
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
|
|
|
@ -18,7 +18,9 @@
|
||||||
system.stateVersion = "22.11";
|
system.stateVersion = "22.11";
|
||||||
|
|
||||||
nix.extraOptions = ''
|
nix.extraOptions = ''
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes repl-flake
|
||||||
|
keep-outputs = true
|
||||||
|
keep-derivations = true
|
||||||
'';
|
'';
|
||||||
|
|
||||||
time.timeZone = "Europe/Sofia";
|
time.timeZone = "Europe/Sofia";
|
||||||
|
@ -31,12 +33,4 @@
|
||||||
fontPath = "share/fonts/truetype/NerdFonts/Fira Code Regular Nerd Font Complete Mono.ttf";
|
fontPath = "share/fonts/truetype/NerdFonts/Fira Code Regular Nerd Font Complete Mono.ttf";
|
||||||
in
|
in
|
||||||
"${firacode}/${fontPath}";
|
"${firacode}/${fontPath}";
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
config = ./home.nix;
|
|
||||||
backupFileExtension = "hm-bak";
|
|
||||||
# useGlobalPkgs = true;
|
|
||||||
|
|
||||||
extraSpecialArgs = { inherit inputs; };
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,18 +44,25 @@
|
||||||
|
|
||||||
# Utils
|
# Utils
|
||||||
ripgrep
|
ripgrep
|
||||||
|
duf
|
||||||
|
|
||||||
# Passwords
|
# Passwords
|
||||||
pass
|
pass
|
||||||
passExtensions.pass-otp
|
passExtensions.pass-otp
|
||||||
|
|
||||||
# Dhall
|
# Dhall
|
||||||
dhall
|
# dhall
|
||||||
dhall-lsp-server
|
# dhall-lsp-server
|
||||||
|
|
||||||
# Zig
|
# Zig
|
||||||
zigpkgs.master
|
# zigpkgs.master
|
||||||
inputs.zls-overlay.packages.aarch64-linux.default
|
# inputs.zls-overlay.packages.aarch64-linux.default
|
||||||
|
|
||||||
|
# Emacs
|
||||||
|
# emacs
|
||||||
|
|
||||||
|
#
|
||||||
|
j
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
|
@ -93,233 +100,15 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zsh = {
|
reo101.shell = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
direnv = true;
|
||||||
defaultKeymap = "viins";
|
zoxide = true;
|
||||||
|
|
||||||
shellAliases = {
|
|
||||||
# ll = "ls -l";
|
|
||||||
# update = "sudo nixos-rebuild switch";
|
|
||||||
};
|
|
||||||
|
|
||||||
history = {
|
|
||||||
size = 10000;
|
|
||||||
path = "${config.xdg.dataHome}/zsh/history";
|
|
||||||
};
|
|
||||||
|
|
||||||
initExtra = ''
|
|
||||||
export SHELL="${pkgs.zsh}/bin/zsh"
|
|
||||||
|
|
||||||
eval "$(direnv hook zsh)"
|
|
||||||
'';
|
|
||||||
|
|
||||||
plugins = [
|
|
||||||
{
|
|
||||||
name = "zsh-nix-shell";
|
|
||||||
file = "nix-shell.plugin.zsh";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "chisui";
|
|
||||||
repo = "zsh-nix-shell";
|
|
||||||
rev = "v0.5.0";
|
|
||||||
sha256 = "0za4aiwwrlawnia4f29msk822rj9bgcygw6a8a6iikiwzjjz0g91";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.starship = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
# Get editor completions based on the config schema
|
|
||||||
"$schema" = "https://starship.rs/config-schema.json";
|
|
||||||
|
|
||||||
# Use custom format
|
|
||||||
format = ''
|
|
||||||
[╭───────┨](bold green)[nix-on-droid](bright-white)[@](bold yellow)$hostname[┠───────>](bold green)$status$cmd_duration$git_branch$git_status$git_state$git_commit
|
|
||||||
[│](bold green)$time$jobs: $directory$package
|
|
||||||
[╰─](bold green)$character
|
|
||||||
'';
|
|
||||||
|
|
||||||
# ${custom.local}\
|
|
||||||
# ${custom.local_root}\
|
|
||||||
# ${custom.ssh}\
|
|
||||||
# ${custom.ssh_root}\
|
|
||||||
|
|
||||||
add_newline = true;
|
|
||||||
|
|
||||||
character = {
|
|
||||||
success_symbol = "[→](bold green)";
|
|
||||||
error_symbol = "[→](red)";
|
|
||||||
};
|
|
||||||
|
|
||||||
git_branch = {
|
|
||||||
symbol = "🌱 ";
|
|
||||||
truncation_length = 15;
|
|
||||||
truncation_symbol = "…"; # …
|
|
||||||
};
|
|
||||||
|
|
||||||
git_commit = {
|
|
||||||
commit_hash_length = 6;
|
|
||||||
tag_symbol = "🔖 ";
|
|
||||||
};
|
|
||||||
|
|
||||||
git_state = {
|
|
||||||
format = "[\($state( $progress_current of $progress_total)\)]($style) ";
|
|
||||||
cherry_pick = "[🍒 PICKING](bold red)";
|
|
||||||
};
|
|
||||||
|
|
||||||
git_status = {
|
|
||||||
# conflicted = "🏳";
|
|
||||||
# ahead = "🏎💨";
|
|
||||||
# behind = "😰";
|
|
||||||
# diverged = "😵";
|
|
||||||
# untracked = "🤷";
|
|
||||||
# stashed = "📦";
|
|
||||||
# modified = "📝";
|
|
||||||
# staged = '[++\($count\)](green)';
|
|
||||||
# renamed = "👅";
|
|
||||||
# deleted = "🗑";
|
|
||||||
format = "[\\[$all_status$ahead_behind\\]]($style) ";
|
|
||||||
conflicted = "=[\($count\)](green) ";
|
|
||||||
ahead = "⇡[\($count\)](green) ";
|
|
||||||
behind = "⇣[\($count\)](green) ";
|
|
||||||
diverged = "⇕[\($count\)](green) ";
|
|
||||||
untracked = "?[\($count\)](green) ";
|
|
||||||
stashed = "$[\($count\)](green) ";
|
|
||||||
modified = "![\($count\)](green) ";
|
|
||||||
staged = "+[\($count\)](green) ";
|
|
||||||
renamed = "»[\($count\)](green) ";
|
|
||||||
deleted = "✘[\($count\)](green) ";
|
|
||||||
};
|
|
||||||
|
|
||||||
status = {
|
|
||||||
style = "bg:blue fg:red";
|
|
||||||
symbol = "🔴";
|
|
||||||
format = "[\[$symbol $common_meaning$signal_name$maybe_int\]]($style) ";
|
|
||||||
map_symbol = true;
|
|
||||||
disabled = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
time = {
|
|
||||||
disabled = false;
|
|
||||||
format = "🕙[$time]($style) ";
|
|
||||||
# format = '🕙[\[ $time \]]($style) ';
|
|
||||||
time_format = "%T";
|
|
||||||
utc_time_offset = "+3";
|
|
||||||
# time_range = "10:00:00-14:00:00";
|
|
||||||
};
|
|
||||||
|
|
||||||
cmd_duration = {
|
|
||||||
min_time = 2000; # miliseconds
|
|
||||||
# show_notifications = true;
|
|
||||||
min_time_to_notify = 45000; # miliseconds
|
|
||||||
format = "took [$duration](bold yellow) ";
|
|
||||||
};
|
|
||||||
|
|
||||||
hostname = {
|
|
||||||
ssh_only = false;
|
|
||||||
format = "[$hostname](bold fg:#CC59B0)";
|
|
||||||
disabled = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
username = {
|
|
||||||
disabled = false;
|
|
||||||
style_user = "white bold";
|
|
||||||
style_root = "red bold";
|
|
||||||
format = "[$user]($style)[@](bold yellow)";
|
|
||||||
show_always = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
directory = {
|
|
||||||
read_only = "🔒";
|
|
||||||
read_only_style = "bold white";
|
|
||||||
style = "fg:#A7F3E4";
|
|
||||||
truncate_to_repo = false;
|
|
||||||
truncation_length = 5;
|
|
||||||
truncation_symbol = "…/";
|
|
||||||
home_symbol = "🏡";
|
|
||||||
format = "[$read_only]($read_only_style)[$path]($style) ";
|
|
||||||
};
|
|
||||||
|
|
||||||
directory.substitutions = {
|
|
||||||
".config" = " ";
|
|
||||||
"nvim" = "";
|
|
||||||
"emacs" = "𝓔";
|
|
||||||
"doom" = "𝓔";
|
|
||||||
"Projects" = "💻";
|
|
||||||
"FMI" = "🏫";
|
|
||||||
"Home" = "🏠";
|
|
||||||
"CPP" = "";
|
|
||||||
"Java" = "";
|
|
||||||
"Python" = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Language Environments
|
|
||||||
package = {
|
|
||||||
style = "bold fg:#5E5E5E";
|
|
||||||
};
|
|
||||||
|
|
||||||
python = {
|
|
||||||
style = "bold fg:#5E5E5E";
|
|
||||||
symbol = "[](bold yellow) ";
|
|
||||||
};
|
|
||||||
|
|
||||||
nodejs = {
|
|
||||||
style = "bold fg:#5E5E5E";
|
|
||||||
symbol = "[⬢](bold green) ";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Custom
|
|
||||||
jobs = {
|
|
||||||
format = "[ $symbol$number ]($style)";
|
|
||||||
style = "bg:#587744 fg:bright-white";
|
|
||||||
symbol = "⚙";
|
|
||||||
};
|
|
||||||
|
|
||||||
custom.local = {
|
|
||||||
shell = [ "zsh" "-d" "-f" ];
|
|
||||||
when = ''[[ -z "$SSH_CLIENT" ]] && [[ `whoami` != "root" ]]'';
|
|
||||||
format = "[$symbol$output]($style)[@](bold yellow)";
|
|
||||||
command = "whoami";
|
|
||||||
style = "fg:bright-white";
|
|
||||||
symbol = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
custom.local_root = {
|
|
||||||
shell = [ "zsh" "-d" "-f" ];
|
|
||||||
when = ''[[ -z "$SSH_CLIENT" ]] && [[ `whoami` == "root" ]]'';
|
|
||||||
format = "[ $output ]($style)[@](bold yellow)";
|
|
||||||
command = "whoami";
|
|
||||||
style = "bg:red fg:bright-white";
|
|
||||||
};
|
|
||||||
|
|
||||||
custom.ssh = {
|
|
||||||
shell = [ "zsh" "-d" "-f" ];
|
|
||||||
when = ''[[ -n "$SSH_CLIENT" ]] && [[ `whoami` != "root" ]]'';
|
|
||||||
format = "[ $symbol$output ]($style)[@](bold yellow)";
|
|
||||||
command = "whoami";
|
|
||||||
style = "bg:blue fg:bright-white";
|
|
||||||
# style = "bg:#FD7208 fg:bright-white";
|
|
||||||
symbol = "⌁";
|
|
||||||
};
|
|
||||||
|
|
||||||
custom.ssh_root = {
|
|
||||||
shell = [ "zsh" "-d" "-f" ];
|
|
||||||
when = ''[[ -n "$SSH_CLIENT" ]] && [[ `whoami` == "root" ]]'';
|
|
||||||
format = "[ $symbol$output ]($style)[@](bold yellow)";
|
|
||||||
command = "whoami";
|
|
||||||
style = "bg:red fg:bright-white";
|
|
||||||
symbol = "⌁";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/nvim" = {
|
".config/nvim" = {
|
||||||
recursive = true;
|
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.local/src/reovim";
|
||||||
source = /data/data/com.termux.nix/files/home/.local/src/reovim;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue