diff --git a/flake.nix b/flake.nix index 89b160f6..188c9699 100644 --- a/flake.nix +++ b/flake.nix @@ -41,7 +41,6 @@ inherit inputs; username = "pixelifytica"; hostName = "Legion"; - loginShell = "bash"; }; modules = [ ./system/default.nix ]; }; @@ -51,7 +50,6 @@ inherit inputs; username = "pixelifytica"; hostName = "Vanguard"; - loginShell = "bash"; }; modules = [ ./system/default.nix ]; }; @@ -60,7 +58,6 @@ inherit inputs; username = "pixelifytica"; hostName = "Northstar"; - loginShell = "bash"; }; modules = [ ./system/default.nix ]; }; @@ -70,7 +67,6 @@ inherit inputs; username = "elitherl"; hostName = "Tone"; - loginShell = "bash"; }; modules = [ ./system/default.nix ]; }; @@ -79,7 +75,6 @@ inherit inputs; username = "elitherl"; hostName = "Ronin"; - loginShell = "bash"; }; modules = [ ./system/default.nix ]; }; diff --git a/system/default.nix b/system/default.nix index b52a89f1..281ca8cb 100644 --- a/system/default.nix +++ b/system/default.nix @@ -5,7 +5,6 @@ inputs, username, hostName, - loginShell, ... }: { @@ -110,9 +109,8 @@ inherit authorizedKeys; }; ${username} = { - shell = pkgs.${loginShell}; - group = "users"; isNormalUser = true; + group = "users"; description = "Evie Litherland-Smith"; extraGroups = [ "networkmanager" @@ -185,9 +183,9 @@ localBinInPath = true; }; programs = { - ${loginShell} = lib.mkIf (loginShell != "bash") { enable = true; }; command-not-found.enable = false; ssh.startAgent = true; + fish.enable = true; nano = { enable = true; syntaxHighlight = true; diff --git a/system/home/plasma/konsole.nix b/system/home/plasma/konsole.nix index 75fd8935..7e5f7644 100644 --- a/system/home/plasma/konsole.nix +++ b/system/home/plasma/konsole.nix @@ -1,4 +1,9 @@ -{ pkgs, fonts, ... }: +{ + config, + pkgs, + fonts, + ... +}: { home.packages = [ pkgs.yakuake ]; programs.konsole = { @@ -8,6 +13,7 @@ profiles.onelight = { name = "One-Light"; colorScheme = "onelight"; + command = "${config.programs.fish}/bin/fish"; font = { name = fonts.monospace.name; size = fonts.sizes.terminal; diff --git a/system/home/shell/bat.nix b/system/home/shell/bat.nix new file mode 100644 index 00000000..ef4a0181 --- /dev/null +++ b/system/home/shell/bat.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + programs.bat = { + enable = true; + config = { + theme = "OneHalfLight"; + style = "plain,numbers,changes"; + }; + }; +} diff --git a/system/home/shell/default.nix b/system/home/shell/default.nix index 36b07549..0345da0c 100644 --- a/system/home/shell/default.nix +++ b/system/home/shell/default.nix @@ -1,12 +1,16 @@ { pkgs, ... }: { imports = [ + ./bat.nix ./bottom.nix + ./direnv.nix + ./eza.nix ./fastfetch.nix + ./fzf.nix ./git.nix + ./readline.nix ./ssh.nix ./starship.nix - ./zsh.nix ]; home.packages = with pkgs; [ rclone @@ -14,53 +18,11 @@ du-dust ]; programs = { - bash = { - 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; - }; + bash.enable = true; + fish.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; 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; }; } diff --git a/system/home/shell/direnv.nix b/system/home/shell/direnv.nix new file mode 100644 index 00000000..b71ece6d --- /dev/null +++ b/system/home/shell/direnv.nix @@ -0,0 +1,7 @@ +{ ... }: +{ + programs.direnv = { + enable = true; + nix-direnv.enable = true; + }; +} diff --git a/system/home/shell/eza.nix b/system/home/shell/eza.nix new file mode 100644 index 00000000..2048a3a5 --- /dev/null +++ b/system/home/shell/eza.nix @@ -0,0 +1,9 @@ +{ ... }: +{ + programs.eza = { + enable = true; + git = true; + icons = true; + extraOptions = [ "--octal-permissions" ]; + }; +} diff --git a/system/home/shell/fish.nix b/system/home/shell/fish.nix new file mode 100644 index 00000000..8f832d12 --- /dev/null +++ b/system/home/shell/fish.nix @@ -0,0 +1,7 @@ +{ ... }: +{ + programs.fish = { + enable = true; + interactiveShellInit = "enable_transience"; + }; +} diff --git a/system/home/shell/fzf.nix b/system/home/shell/fzf.nix new file mode 100644 index 00000000..8ddf2103 --- /dev/null +++ b/system/home/shell/fzf.nix @@ -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"; + }; +} diff --git a/system/home/shell/readline.nix b/system/home/shell/readline.nix new file mode 100644 index 00000000..19c28418 --- /dev/null +++ b/system/home/shell/readline.nix @@ -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"; + }; + }; +} diff --git a/system/home/shell/starship.nix b/system/home/shell/starship.nix index ce15bb9f..8d25118d 100644 --- a/system/home/shell/starship.nix +++ b/system/home/shell/starship.nix @@ -1,8 +1,9 @@ { ... }: { + programs.fish.interactiveShellInit = "enable_transience"; programs.starship = { enable = true; - enableTransience = false; + enableTransience = true; settings = { add_newline = true; aws.symbol = " ";