finally getting rid of old terminal structure
This commit is contained in:
parent
7eb8da31e0
commit
4136136d85
10 changed files with 131 additions and 103 deletions
|
@ -225,7 +225,15 @@
|
||||||
];
|
];
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.users.root = {
|
||||||
|
home.stateVersion = "22.11";
|
||||||
|
imports = [
|
||||||
|
home-manager-utils.hmModule
|
||||||
|
#stylix.homeManagerModules.stylix
|
||||||
|
];
|
||||||
|
};
|
||||||
home-manager.users.mainUser = {
|
home-manager.users.mainUser = {
|
||||||
|
home.stateVersion = "22.11";
|
||||||
imports = [
|
imports = [
|
||||||
doom-emacs-nix.hmModule
|
doom-emacs-nix.hmModule
|
||||||
home-manager-utils.hmModule
|
home-manager-utils.hmModule
|
||||||
|
|
|
@ -9,6 +9,8 @@ with lib;
|
||||||
./i3.nix
|
./i3.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# todo slice this configuration file properly
|
||||||
|
# todo a home-manager folder make no sense
|
||||||
config = mkIf config.components.gui.enable {
|
config = mkIf config.components.gui.enable {
|
||||||
|
|
||||||
# don't run autoload -U compinit && compinit before ~/.zshrc
|
# don't run autoload -U compinit && compinit before ~/.zshrc
|
||||||
|
@ -16,8 +18,6 @@ with lib;
|
||||||
|
|
||||||
home-manager.users.mainUser = {
|
home-manager.users.mainUser = {
|
||||||
|
|
||||||
home.stateVersion = "22.11";
|
|
||||||
|
|
||||||
# a better cat
|
# a better cat
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -2,15 +2,20 @@
|
||||||
with lib;
|
with lib;
|
||||||
{
|
{
|
||||||
options.components.terminal = {
|
options.components.terminal = {
|
||||||
enable = lib.mkEnableOption "Terminal configurations";
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./direnv.nix
|
./direnv.nix
|
||||||
|
./git.nix
|
||||||
./hoard.nix
|
./hoard.nix
|
||||||
|
./oh-my-posh.nix
|
||||||
./remote-install.nix
|
./remote-install.nix
|
||||||
./wtf.nix
|
./wtf.nix
|
||||||
./git.nix
|
./zsh.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = mkIf config.components.terminal.enable {
|
config = mkIf config.components.terminal.enable {
|
||||||
|
|
25
nixos/components/terminal/oh-my-posh.nix
Normal file
25
nixos/components/terminal/oh-my-posh.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
options.components.terminal.oh-my-posh.enable = mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = config.components.terminal.enable;
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf (config.components.terminal.oh-my-posh.enable) {
|
||||||
|
|
||||||
|
home-manager.users =
|
||||||
|
let
|
||||||
|
poshConfig = {
|
||||||
|
programs.oh-my-posh = {
|
||||||
|
enable = true;
|
||||||
|
useTheme = "gruvbox";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
mainUser = poshConfig;
|
||||||
|
root = poshConfig;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
49
nixos/components/terminal/zsh.nix
Normal file
49
nixos/components/terminal/zsh.nix
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
options.components.terminal.zsh.enable = mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = config.components.terminal.enable;
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf (config.components.terminal.zsh.enable) {
|
||||||
|
|
||||||
|
home-manager.users =
|
||||||
|
let
|
||||||
|
zshConfig = {
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
defaultKeymap = "viins";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
mainUser = zshConfig;
|
||||||
|
root = zshConfig;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
ls = "ls --color=tty";
|
||||||
|
l = "ls -CFh";
|
||||||
|
la = "ls -Ah";
|
||||||
|
ll = "ls -lh";
|
||||||
|
lt = "ls -lct --reverse";
|
||||||
|
less = "less -S";
|
||||||
|
top = "htop";
|
||||||
|
version = "date '+%Y%m%d%H%M%S'";
|
||||||
|
vclip = "xclip -selection clipboard";
|
||||||
|
df = "df -h";
|
||||||
|
timestamp = "date +%Y%m%d%H%M%S";
|
||||||
|
nix-show-garbadge-roots = "ls -lh /nix/var/nix/gcroots/auto/";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
|
@ -72,7 +72,6 @@
|
||||||
|
|
||||||
networking.hostName = "chungus";
|
networking.hostName = "chungus";
|
||||||
|
|
||||||
programs.custom. zsh.enable = true;
|
|
||||||
users.users.root.shell = pkgs.zsh;
|
users.users.root.shell = pkgs.zsh;
|
||||||
|
|
||||||
# todo : rename to component.init.ssh
|
# todo : rename to component.init.ssh
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
#./programs/ffmpeg.nix
|
#./programs/ffmpeg.nix
|
||||||
#./programs/git.nix
|
#./programs/git.nix
|
||||||
./programs/shell-bash.nix
|
./programs/shell-bash.nix
|
||||||
./programs/shell-tools.nix
|
#./programs/shell-tools.nix
|
||||||
./programs/shell-zsh.nix
|
#./programs/shell-zsh.nix
|
||||||
#./programs/slack.nix
|
#./programs/slack.nix
|
||||||
./programs/steam.nix
|
./programs/steam.nix
|
||||||
#./programs/taskwarrior.nix
|
#./programs/taskwarrior.nix
|
||||||
|
|
|
@ -22,13 +22,13 @@ in
|
||||||
|
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
#autosuggestions.enable = true;
|
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
|
|
||||||
ohMyZsh = {
|
ohMyZsh = {
|
||||||
|
|
||||||
custom = "/etc/zshcustom/";
|
custom = "/etc/zshcustom/";
|
||||||
enable = true;
|
enable = false;
|
||||||
|
|
||||||
# powerline themes
|
# powerline themes
|
||||||
# ----------------
|
# ----------------
|
||||||
|
@ -46,9 +46,10 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
loginShellInit = ''
|
#loginShellInit = ''
|
||||||
export TERM="xterm-256color"
|
# export TERM="xterm-256color"
|
||||||
'';
|
#'';
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
ls = "ls --color=tty";
|
ls = "ls --color=tty";
|
||||||
l = "ls -CFh";
|
l = "ls -CFh";
|
||||||
|
@ -63,11 +64,11 @@ in
|
||||||
|
|
||||||
timestamp = "date +%Y%m%d%H%M%S";
|
timestamp = "date +%Y%m%d%H%M%S";
|
||||||
|
|
||||||
nix-search = "nix-env -qaP";
|
#nix-search = "nix-env -qaP";
|
||||||
nix-list = ''nix-env -qaP "*" --description'';
|
#nix-list = ''nix-env -qaP "*" --description'';
|
||||||
nix-list-haskell = ''nix-env -f "<nixpkgs>" -qaP -A haskellPackages'';
|
#nix-list-haskell = ''nix-env -f "<nixpkgs>" -qaP -A haskellPackages'';
|
||||||
nix-list-node = ''nix-env -f "<nixpkgs>" -qaP -A nodePackages'';
|
#nix-list-node = ''nix-env -f "<nixpkgs>" -qaP -A nodePackages'';
|
||||||
nix-list-beam = ''nix-env -f "<nixpkgs>" -qaP -A beamPackages'';
|
#nix-list-beam = ''nix-env -f "<nixpkgs>" -qaP -A beamPackages'';
|
||||||
#nix-find = "clear ; ${pkgs.nix-index}/bin/nix-locate -1 -w";
|
#nix-find = "clear ; ${pkgs.nix-index}/bin/nix-locate -1 -w";
|
||||||
|
|
||||||
nix-show-garbadge-roots = "ls -lh /nix/var/nix/gcroots/auto/";
|
nix-show-garbadge-roots = "ls -lh /nix/var/nix/gcroots/auto/";
|
||||||
|
@ -75,94 +76,36 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#environment.systemPackages = [
|
|
||||||
# pkgs.nix-index # make nix-index also available to users
|
|
||||||
#];
|
|
||||||
|
|
||||||
# only used to make quick config changes
|
# only used to make quick config changes
|
||||||
# --------------------------------------
|
# --------------------------------------
|
||||||
environment.etc."zshcustom/mainuser.zsh".source =
|
#environment.etc."zshcustom/mainuser.zsh".source =
|
||||||
pkgs.writeText "mainuser-zsh" (if (cfg.mainUser != null) then ''
|
# pkgs.writeText "mainuser-zsh" (if (cfg.mainUser != null) then ''
|
||||||
source ${config.users.users.mainUser.home}/.zshrc
|
# source ${config.users.users.mainUser.home}/.zshrc
|
||||||
'' else
|
# '' else
|
||||||
"# programs.custom.zsh.mainUser not set ");
|
# "# programs.custom.zsh.mainUser not set ");
|
||||||
|
|
||||||
# Theme
|
# Theme
|
||||||
# -----
|
# -----
|
||||||
# make sure powerline-fonts is set in `fonts.fonts`
|
#environment.etc."zshcustom/themes/powerlevel9k".source =
|
||||||
|
# pkgs.fetchFromGitHub {
|
||||||
environment.etc."zshcustom/themes/powerlevel9k".source =
|
# owner = "bhilburn";
|
||||||
pkgs.fetchFromGitHub {
|
# repo = "powerlevel9k";
|
||||||
owner = "bhilburn";
|
# rev = "v0.6.4";
|
||||||
repo = "powerlevel9k";
|
# sha256 = "104wvlni3rilpw9v1dk848lnw8cm8qxl64xs70j04ly4s959dyb5";
|
||||||
rev = "v0.6.4";
|
# };
|
||||||
sha256 = "104wvlni3rilpw9v1dk848lnw8cm8qxl64xs70j04ly4s959dyb5";
|
#environment.etc."zshcustom/powerlevel9kpatch.zsh".source =
|
||||||
};
|
# pkgs.writeText "powerlevel9kpatch.zsh" ''
|
||||||
environment.etc."zshcustom/powerlevel9kpatch.zsh".source =
|
# # prompt elements
|
||||||
pkgs.writeText "powerlevel9kpatch.zsh" ''
|
# # ---------------
|
||||||
|
# POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vi_mode context dir vcs custom_jail background_jobs time status)
|
||||||
# this shows all the colors which are available
|
# POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=()
|
||||||
# ---------------------------------------------
|
#
|
||||||
# for code ({000..255}) print -P -- "$code: %F{$code}This is how your text would look like%f"
|
# # root_indicator
|
||||||
|
# # --------------
|
||||||
# prompt elements
|
|
||||||
# ---------------
|
|
||||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vi_mode context dir vcs custom_jail background_jobs time status)
|
|
||||||
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=()
|
|
||||||
|
|
||||||
# vi mode
|
|
||||||
# -------
|
|
||||||
#POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND="black"
|
|
||||||
#POWERLEVEL9K_VI_MODE_INSERT_BACKGROUND="blue"
|
|
||||||
#POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND="black"
|
|
||||||
#POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND="yellow"
|
|
||||||
|
|
||||||
# context
|
|
||||||
# -------
|
|
||||||
#POWERLEVEL9K_CONTEXT_DEFAULT_FOREGROUND="green"
|
|
||||||
#POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND="008"
|
|
||||||
#POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND="008"
|
|
||||||
#POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND="red"
|
|
||||||
#POWERLEVEL9K_CONTEXT_REMOTE_FOREGROUND="008"
|
|
||||||
#POWERLEVEL9K_CONTEXT_REMOTE_BACKGROUND="red"
|
|
||||||
|
|
||||||
# dir
|
|
||||||
# ---
|
|
||||||
#POWERLEVEL9K_DIR_HOME_FOREGROUND="black"
|
|
||||||
#POWERLEVEL9K_DIR_HOME_BACKGROUND="yellow"
|
|
||||||
#POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="black"
|
|
||||||
#POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND="yellow"
|
|
||||||
#POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="black"
|
|
||||||
#POWERLEVEL9K_DIR_DEFAULT_BACKGROUND="green"
|
|
||||||
|
|
||||||
# root_indicator
|
|
||||||
# --------------
|
|
||||||
# POWERLEVEL9K_ROOT_ICON="#"
|
# POWERLEVEL9K_ROOT_ICON="#"
|
||||||
# POWERLEVEL9K_ROOT_INDICATOR_FOREGROUND="black"
|
# POWERLEVEL9K_ROOT_INDICATOR_FOREGROUND="black"
|
||||||
# POWERLEVEL9K_ROOT_INDICATOR_BACKGROUND="red"
|
# POWERLEVEL9K_ROOT_INDICATOR_BACKGROUND="red"
|
||||||
|
# '';
|
||||||
# background_jobs
|
|
||||||
# ---------------
|
|
||||||
POWERLEVEL9K_BACKGROUND_JOBS_ICON=""
|
|
||||||
|
|
||||||
# status
|
|
||||||
# ------
|
|
||||||
#POWERLEVEL9K_STATUS_OK_BACKGROUND="008"
|
|
||||||
#POWERLEVEL9K_STATUS_ERROR_BACKGROUND="008"
|
|
||||||
|
|
||||||
# time
|
|
||||||
# ----
|
|
||||||
#POWERLEVEL9K_TIME_FOREGROUND="008"
|
|
||||||
#POWERLEVEL9K_TIME_BACKGROUND="006"
|
|
||||||
|
|
||||||
|
|
||||||
# jail indicator
|
|
||||||
# --------------
|
|
||||||
POWERLEVEL9K_CUSTOM_JAIL="[ -z $JAIL ] || echo $JAIL"
|
|
||||||
POWERLEVEL9K_CUSTOM_JAIL_BACKGROUND="red"
|
|
||||||
POWERLEVEL9K_CUSTOM_JAIL_FOREGROUND="black"
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
# -------------------
|
# -------------------
|
||||||
programs.custom = {
|
programs.custom = {
|
||||||
bash.enable = true;
|
bash.enable = true;
|
||||||
zsh.enable = true;
|
#zsh.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# This value determines the NixOS release with which your system is to be
|
# This value determines the NixOS release with which your system is to be
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
colorTheme = "light";
|
colorTheme = "light";
|
||||||
};
|
};
|
||||||
|
|
||||||
shellTools.enable = true;
|
|
||||||
curlScripts.enable = true;
|
curlScripts.enable = true;
|
||||||
citate.enable = true;
|
citate.enable = true;
|
||||||
vim.enable = true;
|
vim.enable = true;
|
||||||
|
|
Loading…
Reference in a new issue