feat: configuring shell & add fish shell
This commit is contained in:
parent
f20e3a6b57
commit
e73cc0c0f5
10 changed files with 130 additions and 22 deletions
|
|
@ -1,5 +1,9 @@
|
|||
{ config, pkgs, lib, ... }: {
|
||||
# Import shared cross-platform home configuration
|
||||
imports =
|
||||
[ ../../home/rsydn/base.nix ./programs/aerospace ./programs/ghostty.nix ];
|
||||
imports = [
|
||||
../../home/rsydn/base.nix
|
||||
../../home/rsydn/shell/nushell.nix
|
||||
./programs/aerospace
|
||||
./programs/ghostty.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,10 @@
|
|||
|
||||
environment.shells = [ pkgs.nushell ];
|
||||
|
||||
users.users.${user}.shell = pkgs.nushell;
|
||||
users.users.${user} = {
|
||||
home = lib.mkDefault "/Users/${user}";
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
|
||||
system = {
|
||||
primaryUser = user;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
imports = [
|
||||
./programs/helix.nix
|
||||
./programs/neovim.nix
|
||||
./shell/nushell.nix
|
||||
./shell/tmux.nix
|
||||
./devtools/ai-tools.nix
|
||||
./devtools/languages.nix
|
||||
|
|
@ -57,7 +56,7 @@
|
|||
node.enable = true;
|
||||
};
|
||||
|
||||
rsydn.secrets = {
|
||||
rsydn.secrets = lib.mkIf pkgs.stdenv.hostPlatform.isDarwin {
|
||||
enable = lib.mkDefault true;
|
||||
defaultSopsFile = ../../../secrets/local-ai-tokens.sops.yaml;
|
||||
secrets = {
|
||||
|
|
|
|||
17
modules/home/rsydn/shell/fish.nix
Normal file
17
modules/home/rsydn/shell/fish.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ config, pkgs, lib, ... }: {
|
||||
imports = [ ./oh-my-posh ];
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
set -g fish_greeting ""
|
||||
set -gx EDITOR nvim
|
||||
set -gx VISUAL nvim
|
||||
'';
|
||||
};
|
||||
|
||||
programs.oh-my-posh.enableFishIntegration = lib.mkDefault true;
|
||||
|
||||
# Ensure fish is available for login shells on Linux hosts.
|
||||
home.packages = lib.mkAfter [ pkgs.fish ];
|
||||
}
|
||||
|
|
@ -1,8 +1,5 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
themeName = "capr4n.omp.json";
|
||||
themeSource = ./oh-my-posh/capr4n.omp.json;
|
||||
themeConfigPath = "${config.xdg.configHome}/oh-my-posh/${themeName}";
|
||||
profileBin = "${config.home.profileDirectory}/bin";
|
||||
systemBin = "/run/current-system/sw/bin";
|
||||
defaultBin = "/nix/var/nix/profiles/default/bin";
|
||||
|
|
@ -28,6 +25,8 @@ let
|
|||
formatPathList = paths:
|
||||
lib.concatMapStrings (path: " \"${path}\"\n") paths;
|
||||
in {
|
||||
imports = [ ./oh-my-posh ];
|
||||
|
||||
programs.nushell.enable = lib.mkDefault true;
|
||||
|
||||
programs.nushell.extraConfig = ''
|
||||
|
|
@ -115,11 +114,5 @@ in {
|
|||
load-secret "firecrawl-api-key" "FIRECRAWL_API_KEY"
|
||||
'';
|
||||
|
||||
programs.oh-my-posh = {
|
||||
enable = lib.mkDefault true;
|
||||
enableNushellIntegration = lib.mkDefault true;
|
||||
configFile = themeConfigPath;
|
||||
};
|
||||
|
||||
xdg.configFile."oh-my-posh/${themeName}".source = themeSource;
|
||||
programs.oh-my-posh.enableNushellIntegration = lib.mkDefault true;
|
||||
}
|
||||
|
|
|
|||
13
modules/home/rsydn/shell/oh-my-posh/default.nix
Normal file
13
modules/home/rsydn/shell/oh-my-posh/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
themeName = "capr4n.omp.json";
|
||||
themeSource = ./capr4n.omp.json;
|
||||
themeConfigPath = "${config.xdg.configHome}/oh-my-posh/${themeName}";
|
||||
in {
|
||||
programs.oh-my-posh = {
|
||||
enable = lib.mkDefault true;
|
||||
configFile = themeConfigPath;
|
||||
};
|
||||
|
||||
xdg.configFile."oh-my-posh/${themeName}".source = themeSource;
|
||||
}
|
||||
3
modules/nixos/home/default.nix
Normal file
3
modules/nixos/home/default.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{ config, pkgs, lib, ... }: {
|
||||
imports = [ ../../home/rsydn/base.nix ../../home/rsydn/shell/fish.nix ];
|
||||
}
|
||||
10
modules/nixos/system.nix
Normal file
10
modules/nixos/system.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{ config, pkgs, lib, user, ... }: {
|
||||
users.users.${user} = {
|
||||
isNormalUser = lib.mkDefault true;
|
||||
extraGroups = lib.mkDefault [ "wheel" "networkmanager" ];
|
||||
home = lib.mkDefault "/home/${user}";
|
||||
shell = lib.mkDefault pkgs.fish;
|
||||
};
|
||||
|
||||
programs.fish.enable = lib.mkDefault true;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue