diff --git a/lib/default.nix b/lib/default.nix index 86324cf..5a1e3cc 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -103,6 +103,16 @@ rec { modules = [ (root + "/configuration.nix") { 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); extraSpecialArgs = { diff --git a/machines/nix-on-droid/aarch64-linux/cheetah/configuration.nix b/machines/nix-on-droid/aarch64-linux/cheetah/configuration.nix index 5cd85b2..d90e3c4 100644 --- a/machines/nix-on-droid/aarch64-linux/cheetah/configuration.nix +++ b/machines/nix-on-droid/aarch64-linux/cheetah/configuration.nix @@ -18,7 +18,9 @@ system.stateVersion = "22.11"; nix.extraOptions = '' - experimental-features = nix-command flakes + experimental-features = nix-command flakes repl-flake + keep-outputs = true + keep-derivations = true ''; time.timeZone = "Europe/Sofia"; @@ -31,12 +33,4 @@ fontPath = "share/fonts/truetype/NerdFonts/Fira Code Regular Nerd Font Complete Mono.ttf"; in "${firacode}/${fontPath}"; - - home-manager = { - config = ./home.nix; - backupFileExtension = "hm-bak"; - # useGlobalPkgs = true; - - extraSpecialArgs = { inherit inputs; }; - }; } diff --git a/machines/nix-on-droid/aarch64-linux/cheetah/home.nix b/machines/nix-on-droid/aarch64-linux/cheetah/home.nix index d8f2bff..640d165 100644 --- a/machines/nix-on-droid/aarch64-linux/cheetah/home.nix +++ b/machines/nix-on-droid/aarch64-linux/cheetah/home.nix @@ -44,18 +44,25 @@ # Utils ripgrep + duf # Passwords pass passExtensions.pass-otp # Dhall - dhall - dhall-lsp-server + # dhall + # dhall-lsp-server # Zig - zigpkgs.master - inputs.zls-overlay.packages.aarch64-linux.default + # zigpkgs.master + # inputs.zls-overlay.packages.aarch64-linux.default + + # Emacs + # emacs + + # + j ]; nixpkgs = { @@ -93,233 +100,15 @@ ]; }; - programs.zsh = { + reo101.shell = { enable = true; - enableCompletion = true; - defaultKeymap = "viins"; - - 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 = "⌁"; - }; - }; + direnv = true; + zoxide = true; }; home.file = { ".config/nvim" = { - recursive = true; - source = /data/data/com.termux.nix/files/home/.local/src/reovim; + source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.local/src/reovim"; }; };