diff --git a/configuration.nix b/configuration.nix index 9b008f3..aaa7410 100644 --- a/configuration.nix +++ b/configuration.nix @@ -89,6 +89,11 @@ in # Enable touchpad support (enabled default in most desktopManager). services.xserver.libinput.enable = true; + # root config + users.users.root = { + shell = pkgs.fish; + } + # User config users.users.${user} = { isNormalUser = true; diff --git a/home-manager.nix b/home-manager.nix index 73677d8..56fc36b 100644 --- a/home-manager.nix +++ b/home-manager.nix @@ -10,6 +10,53 @@ in ]; # root home + home-manager.users.root = { pkgs, ... }: { + home.username = "root"; + home.homeDirectory = "/root"; + home.stateVersion = "22.11"; + + programs = { + fish = { + enable = true; + interactiveShellInit = +'' +set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" +''; + shellAliases = { + wget = "wget -c"; + }; + functions = { + fish_prompt = + '' + # Defined in /home/marc/.config/fish/functions/fish_prompt.fish @ line 2 + # slightly modified from defaults + set -l last_pipestatus $pipestatus + set -lx __fish_last_status $status # Export for __fish_print_pipestatus. + set -l normal (set_color normal) + + # Color the prompt differently when we're root + set -l color_cwd $fish_color_cwd + set -l suffix '>' + + # If we're running via SSH, change the host color. + set -l color_host $fish_color_host + + # Write pipestatus + # If the status was carried over (e.g. after `set`), don't bold it. + set -l bold_flag --bold + set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation + if test $__fish_prompt_status_generation = $status_generation + set bold_flag + end + set __fish_prompt_status_generation $status_generation + set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) + + echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " + ''; + }; + }; + }; + }; # keep everything using home manager within this block home-manager.users.${user} = { pkgs, ... }: {