Add fish wrapper and make it my default shell
This commit is contained in:
parent
b81483f2a1
commit
cd884602d9
4 changed files with 50 additions and 3 deletions
|
@ -3,8 +3,11 @@
|
||||||
configurationName,
|
configurationName,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
inputs',
|
||||||
|
username,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
|
inherit (inputs'.settei.packages) fish;
|
||||||
sharedConfig = {
|
sharedConfig = {
|
||||||
settei.user.config = {
|
settei.user.config = {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
|
@ -22,7 +25,17 @@
|
||||||
push.followTags = true;
|
push.followTags = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.fish.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.fish.enable = true;
|
||||||
|
environment.shells = [fish];
|
||||||
|
users.users.${username}.shell = fish;
|
||||||
|
|
||||||
|
# NixOS' fish module doesn't allow setting what package to use for fish,
|
||||||
|
# so I need to override the fish package.
|
||||||
|
nixpkgs.overlays = [(_: _: {inherit fish;})];
|
||||||
};
|
};
|
||||||
|
|
||||||
linuxConfig = lib.optionalAttrs isLinux {
|
linuxConfig = lib.optionalAttrs isLinux {
|
||||||
|
|
|
@ -18,20 +18,30 @@
|
||||||
./starship
|
./starship
|
||||||
./helix
|
./helix
|
||||||
./rash
|
./rash
|
||||||
|
./fish
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
all-packages = wrapped.config.build.packages;
|
all-packages = wrapped.config.build.packages;
|
||||||
|
|
||||||
|
fish-base = pkgs.fish;
|
||||||
|
fish-wrapped = all-packages.fish;
|
||||||
|
fish = pkgs.symlinkJoin {
|
||||||
|
inherit (fish-base) name meta passthru;
|
||||||
|
paths = [ fish-wrapped fish-base ];
|
||||||
|
};
|
||||||
|
|
||||||
base-packages = pkgs.symlinkJoin {
|
base-packages = pkgs.symlinkJoin {
|
||||||
name = "settei-base";
|
name = "settei-base";
|
||||||
paths = with all-packages; [
|
paths = [
|
||||||
helix
|
all-packages.helix
|
||||||
|
fish
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
packages =
|
packages =
|
||||||
all-packages
|
all-packages
|
||||||
// {
|
// {
|
||||||
inherit base-packages;
|
inherit base-packages fish;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
9
wrappers/fish/config.fish
Normal file
9
wrappers/fish/config.fish
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Abbreviations
|
||||||
|
abbr --add --global -- flake-update 'nix flake lock --update-input'
|
||||||
|
abbr --add --global -- ns 'nix shell'
|
||||||
|
abbr --add --global -- nss 'nix search'
|
||||||
|
abbr --add --global -- vim hx
|
||||||
|
|
||||||
|
# Aliases
|
||||||
|
alias cat bat
|
||||||
|
alias l 'eza -lah --group-directories-first --icons'
|
15
wrappers/fish/default.nix
Normal file
15
wrappers/fish/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{lib, pkgs, ...}: {
|
||||||
|
# TODO: Fix once https://github.com/viperML/wrapper-manager/issues/14 is resolved
|
||||||
|
wrappers.fish = {
|
||||||
|
basePackage = pkgs.runCommandNoCC "fish-binary" {} ''
|
||||||
|
install -D -m555 ${lib.getExe pkgs.fish} "$out/bin/fish"
|
||||||
|
'';
|
||||||
|
|
||||||
|
prependFlags = [
|
||||||
|
"-C"
|
||||||
|
"source ${./config.fish}"
|
||||||
|
];
|
||||||
|
|
||||||
|
pathAdd = with pkgs; [bat eza];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue