Login shell updates

Fix login shell to bash, remove passthrough.

Set Konsole default command to launch fish, for use as interactive
shell without potential issues that come from being the login shell

Move some configured shell utilities to their own files in shell
directory, stop importing zsh config (replaced by fish)
This commit is contained in:
Evie Litherland-Smith 2024-09-01 12:58:42 +01:00
parent 8c5c6ee528
commit 1e3bbe954e
11 changed files with 80 additions and 56 deletions

View file

@ -41,7 +41,6 @@
inherit inputs; inherit inputs;
username = "pixelifytica"; username = "pixelifytica";
hostName = "Legion"; hostName = "Legion";
loginShell = "bash";
}; };
modules = [ ./system/default.nix ]; modules = [ ./system/default.nix ];
}; };
@ -51,7 +50,6 @@
inherit inputs; inherit inputs;
username = "pixelifytica"; username = "pixelifytica";
hostName = "Vanguard"; hostName = "Vanguard";
loginShell = "bash";
}; };
modules = [ ./system/default.nix ]; modules = [ ./system/default.nix ];
}; };
@ -60,7 +58,6 @@
inherit inputs; inherit inputs;
username = "pixelifytica"; username = "pixelifytica";
hostName = "Northstar"; hostName = "Northstar";
loginShell = "bash";
}; };
modules = [ ./system/default.nix ]; modules = [ ./system/default.nix ];
}; };
@ -70,7 +67,6 @@
inherit inputs; inherit inputs;
username = "elitherl"; username = "elitherl";
hostName = "Tone"; hostName = "Tone";
loginShell = "bash";
}; };
modules = [ ./system/default.nix ]; modules = [ ./system/default.nix ];
}; };
@ -79,7 +75,6 @@
inherit inputs; inherit inputs;
username = "elitherl"; username = "elitherl";
hostName = "Ronin"; hostName = "Ronin";
loginShell = "bash";
}; };
modules = [ ./system/default.nix ]; modules = [ ./system/default.nix ];
}; };

View file

@ -5,7 +5,6 @@
inputs, inputs,
username, username,
hostName, hostName,
loginShell,
... ...
}: }:
{ {
@ -110,9 +109,8 @@
inherit authorizedKeys; inherit authorizedKeys;
}; };
${username} = { ${username} = {
shell = pkgs.${loginShell};
group = "users";
isNormalUser = true; isNormalUser = true;
group = "users";
description = "Evie Litherland-Smith"; description = "Evie Litherland-Smith";
extraGroups = [ extraGroups = [
"networkmanager" "networkmanager"
@ -185,9 +183,9 @@
localBinInPath = true; localBinInPath = true;
}; };
programs = { programs = {
${loginShell} = lib.mkIf (loginShell != "bash") { enable = true; };
command-not-found.enable = false; command-not-found.enable = false;
ssh.startAgent = true; ssh.startAgent = true;
fish.enable = true;
nano = { nano = {
enable = true; enable = true;
syntaxHighlight = true; syntaxHighlight = true;

View file

@ -1,4 +1,9 @@
{ pkgs, fonts, ... }: {
config,
pkgs,
fonts,
...
}:
{ {
home.packages = [ pkgs.yakuake ]; home.packages = [ pkgs.yakuake ];
programs.konsole = { programs.konsole = {
@ -8,6 +13,7 @@
profiles.onelight = { profiles.onelight = {
name = "One-Light"; name = "One-Light";
colorScheme = "onelight"; colorScheme = "onelight";
command = "${config.programs.fish}/bin/fish";
font = { font = {
name = fonts.monospace.name; name = fonts.monospace.name;
size = fonts.sizes.terminal; size = fonts.sizes.terminal;

10
system/home/shell/bat.nix Normal file
View file

@ -0,0 +1,10 @@
{ ... }:
{
programs.bat = {
enable = true;
config = {
theme = "OneHalfLight";
style = "plain,numbers,changes";
};
};
}

View file

@ -1,12 +1,16 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
imports = [ imports = [
./bat.nix
./bottom.nix ./bottom.nix
./direnv.nix
./eza.nix
./fastfetch.nix ./fastfetch.nix
./fzf.nix
./git.nix ./git.nix
./readline.nix
./ssh.nix ./ssh.nix
./starship.nix ./starship.nix
./zsh.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
rclone rclone
@ -14,53 +18,11 @@
du-dust du-dust
]; ];
programs = { programs = {
bash = { bash.enable = true;
enable = true; fish.enable = true;
enableCompletion = true;
};
bat = {
enable = true;
config = {
theme = "OneHalfLight";
style = "plain,numbers,changes";
};
};
eza = {
enable = true;
git = true;
icons = true;
extraOptions = [ "--octal-permissions" ];
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
fd.enable = true; fd.enable = true;
fzf = {
enable = true;
defaultCommand = "${pkgs.fd}/bin/fd --type f";
changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d";
fileWidgetCommand = "${pkgs.fd}/bin/fd --type f";
};
jq.enable = true; jq.enable = true;
nix-index.enable = true; nix-index.enable = true;
readline = {
enable = true;
variables = {
bell-style = "visible";
blink-matching-paren = "On";
colored-completion-prefix = "On";
colored-stats = "On";
completion-ignore-case = "On";
completion-map-case = "On";
editing-mode = "emacs";
expand-tilde = "On";
horizontal-scroll-mode = "On";
mark-directories = "On";
mark-symlinked-directories = "On";
visible-stats = "On";
};
};
ripgrep.enable = true; ripgrep.enable = true;
}; };
} }

View file

@ -0,0 +1,7 @@
{ ... }:
{
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
}

View file

@ -0,0 +1,9 @@
{ ... }:
{
programs.eza = {
enable = true;
git = true;
icons = true;
extraOptions = [ "--octal-permissions" ];
};
}

View file

@ -0,0 +1,7 @@
{ ... }:
{
programs.fish = {
enable = true;
interactiveShellInit = "enable_transience";
};
}

View file

@ -0,0 +1,9 @@
{ pkgs, ... }:
{
programs.fzf = {
enable = true;
defaultCommand = "${pkgs.fd}/bin/fd --type f";
changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d";
fileWidgetCommand = "${pkgs.fd}/bin/fd --type f";
};
}

View file

@ -0,0 +1,20 @@
{ ... }:
{
programs.readline = {
enable = true;
variables = {
bell-style = "visible";
blink-matching-paren = "On";
colored-completion-prefix = "On";
colored-stats = "On";
completion-ignore-case = "On";
completion-map-case = "On";
editing-mode = "emacs";
expand-tilde = "On";
horizontal-scroll-mode = "On";
mark-directories = "On";
mark-symlinked-directories = "On";
visible-stats = "On";
};
};
}

View file

@ -1,8 +1,9 @@
{ ... }: { ... }:
{ {
programs.fish.interactiveShellInit = "enable_transience";
programs.starship = { programs.starship = {
enable = true; enable = true;
enableTransience = false; enableTransience = true;
settings = { settings = {
add_newline = true; add_newline = true;
aws.symbol = " "; aws.symbol = " ";