fish, starship, chatterino(not configed yet), mounted shared, pw cleanup

This commit is contained in:
nx2
2024-03-10 23:05:53 +01:00
parent 7229ccbf66
commit 9d1f884eba
4 changed files with 155 additions and 4 deletions

View File

@@ -89,8 +89,16 @@
services.xserver.libinput.enable = true;
hardware.uinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.defaultUserShell = pkgs.fish;
users.defaultUserShell = pkgs.bash; # if interactive, itll switch to fish
programs.bash = {
interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
'';
};
users.users.nx2 = {
isNormalUser = true;

View File

@@ -1,7 +1,7 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ config, lib, user, pkgs, modulesPath, ... }:
{
imports =
@@ -22,6 +22,10 @@
{ device = "/dev/disk/by-uuid/0A97-7A2D";
fsType = "vfat";
};
fileSystems."/home/${user}/shared" =
{ device = "/dev/disk/by-uuid/C494BB0B94BAFF4C";
fsType = "ntfs";
};
swapDevices = [ ];

141
home.nix
View File

@@ -27,7 +27,7 @@
home.packages = with pkgs; [
firefox chromium
firefox chromium chatterino2
vscodium gimp inkscape
kitty
zathura remmina
@@ -346,6 +346,145 @@
];
};
programs.fish = {
enable = true;
shellAliases = {
ls = "eza --icons --git --smart-group --group-directories-first";
ll = "eza --icons --git --smart-group --group-directories-first --long";
la = "eza --icons --git --smart-group --group-directories-first --all";
lla = "eza --icons --git --smart-group --group-directories-first --all --long";
lt = "eza --icons --git --smart-group --group-directories-first --long --tree";
ltd = "eza --icons --git --smart-group --group-directories-first --long --tree -D";
lt2 = "eza --icons --git --smart-group --group-directories-first --long --tree -L 2";
sr = "sudo reboot";
nf = "neofetch";
nxf = "neofetch";
nn = "nano";
m = "micro";
c = "codium";
code = "codium";
# ya = "yazi"; # function
nxfiglet = "figlet";
};
functions = {
ya = {
description = "yazi follow directory wrapper";
body = ''
set tmp (mktemp -t "yazi-cwd.XXXXX")
yazi $argv --cwd-file="$tmp"
if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
cd -- "$cwd"
end
rm -f -- "$tmp"
'';
};
};
# promptInit = ''
# set -x -g STARSHIP_CONFIG "${./shell/starship.toml}"
# ${pkgs.starship}/bin/starship init fish | source
# '';
};
programs.starship = {
enable = true;
settings = {
add_newline = false;
format = "$jobs\$battery\$username\$hostname\$localip\$shlvl\$singularity\$kubernetes\$directory\$vcsh\$git_branch\$git_commit\$git_state\$git_metrics\$git_status\$hg_branch\$docker_context\$package\$c\$cmake\$cobol\$daml\$dart\$deno\$dotnet\$elixir\$elm\$erlang\$golang\$haskell\$helm\$java\$julia\$kotlin\$lua\$nim\$nodejs\$ocaml\$perl\$php\$pulumi\$purescript\$python\$raku\$rlang\$red\$ruby\$rust\$scala\$swift\$terraform\$vlang\$vagrant\$zig\$buf\$nix_shell\$conda\$meson\$spack\$memory_usage\$aws\$gcloud\$openstack\$azure\$env_var\$crystal\$custom\$sudo\$cmd_duration\$time\$status\$container\$shell\$character";
aws.format = "[\\[$symbol($profile)(\\($region\\))(\\[$duration\\])\\]]($style)";
bun.format = "[\\[$symbol($version)\\]]($style)";
c.format = "[\\[$symbol($version(-$name))\\]]($style)";
cmake.format = "[\\[$symbol($version)\\]]($style)";
cmd_duration.format = "[\\[󰔛 $duration\\]]($style)";
cobol.format = "[\\[$symbol($version)\\]]($style)";
conda.format = "[\\[$symbol$environment\\]]($style)";
crystal.format = "[\\[$symbol($version)\\]]($style)";
daml.format = "[\\[$symbol($version)\\]]($style)";
dart.format = "[\\[$symbol($version)\\]]($style)";
deno.format = "[\\[$symbol($version)\\]]($style)";
docker_context.format = "[\\[$symbol$context\\]]($style)";
dotnet.format = "[\\[$symbol($version)(🎯 $tfm)\\]]($style)";
elixir.format = "[\\[$symbol($version \\(OTP $otp_version\\))\\]]($style)";
elm.format = "[\\[$symbol($version)\\]]($style)";
erlang.format = "[\\[$symbol($version)\\]]($style)";
gcloud.format = "[\\[$symbol$account(@$domain)(\\($region\\))\\]]($style)";
git_branch = {
format = "[\\[$symbol$branch:]($style)";
style = "bold green";
};
git_status = {
format = "([$all_status$ahead_behind]($style))(bold green)[\\]]($style)";
style = "blue yellow";
};
golang.format = "[\\[$symbol($version)\\]]($style)";
haskell.format = "[\\[$symbol($version)\\]]($style)";
helm.format = "[\\[$symbol($version)\\]]($style)";
hg_branch.format = "[\\[$symbol$branch\\]]($style)";
java.format = "[\\[$symbol($version)\\]]($style)";
julia.format = "[\\[$symbol($version)\\]]($style)";
kotlin.format = "[\\[$symbol($version)\\]]($style)";
kubernetes.format = "[\\[$symbol$context( \\($namespace\\))\\]]($style)";
lua.format = "[\\[$symbol($version)\\]]($style)";
memory_usage.format = "[\\[$symbol[$ram( | $swap)\\]]($style)";
meson.format = "[\\[$symbol$project\\]]($style)";
nim.format = "[\\[$symbol($version)\\]]($style)";
nix_shell.format = "[\\[$symbol$state( \\($name\\))\\]]($style)";
nodejs.format = "[\\[$symbol($version)\\]]($style)";
ocaml.format = "[\\[$symbol($version)(\\($switch_indicator$switch_name\\))\\]]($style)";
openstack.format = "[\\[$symbol$cloud(\\($project\\))\\]]($style)";
package.format = "[\\[$symbol$version\\]]($style)";
perl.format = "[\\[$symbol($version)\\]]($style)";
php.format = "[\\[$symbol($version)\\]]($style)";
pulumi.format = "[\\[$symbol$stack\\]]($style)";
purescript.format = "[\\[$symbol($version)\\]]($style)";
python = {
format = ''[\\[''${symbol}''${pyenv_prefix}(''${version})(\\($virtualenv\\))\\]]($style)'';
symbol = " ";
};
raku.format = "[\\[$symbol($version-$vm_version)\\]]($style)";
red.format = "[\\[$symbol($version)\\]]($style)";
ruby.format = "[\\[$symbol($version)\\]]($style)";
rust.format = "[\\[$symbol($version)\\]]($style)";
scala.format = "[\\[$symbol($version)\\]]($style)";
spack.format = "[\\[$symbol$environment\\]]($style)";
sudo.format = "[\\[$symbol]\\]";
swift.format = "[\\[$symbol($version)\\]]($style)";
terraform.format = "[\\[$symbol$workspace\\]]($style)";
time.format = "[\\[$time\\]]($style)";
username.format = "[\\[$user\\]]($style)";
vagrant.format = "[\\[$symbol($version)\\]]($style)";
vlang.format = "[\\[$symbol($version)\\]]($style)";
zig.format = "[\\[$symbol($version)\\]]($style)";
directory = {
format = "[\\[]($style)[$lock_symbol]($lock_style)[$path\\]]($style)";
style = "cyan bold";
};
character = {
format = "$symbol";
success_symbol = "[\\[󰽧\\]](bold white) ";
error_symbol = "[\\[\\]](bold red) ";
vimcmd_symbol = "[\\[\\]](bold green) ";
vimcmd_replace_one_symbol = "[\\[1\\]](bold green) ";
vimcmd_replace_symbol = "[\\[R\\]](bold green) ";
vimcmd_visual_symbol = "[\\[V\\]](bold green) ";
};
battery.format = "[\\[$symbol$percentage\\]]($style)";
shlvl.format = "[\\[$symbol$shlvl\\]]($style)";
singularity.format = "[\\[$symbol\\[$env\\]\\]]($style)";
jobs = {
format = "[\\[$symbol $number\\]]($style)";
number_threshold = 1;
};
vcsh.format = "[\\[vcsh [$symbol$repo\\]]($style)";
hostname = {
format = "[\\[$ssh_symbol$hostname\\]]($style)";
ssh_symbol = "";
ssh_only = true;
};
};
};
gtk = {
enable = true;