working fish shell

This commit is contained in:
Charlie Root 2024-11-01 15:54:20 +01:00
commit 8b92b025f3
Signed by: faukah
SSH key fingerprint: SHA256:jpYIt4Vkz1NBTQcks/N9OPTfTFxE6KF2W/rV7hrfrIw
17 changed files with 134 additions and 109 deletions

17
flake.lock generated
View file

@ -670,22 +670,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1730327045,
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "080166c15633801df010977d9d7474b4a6c549d7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1729413321, "lastModified": 1729413321,
@ -772,7 +756,6 @@
"impermanence": "impermanence", "impermanence": "impermanence",
"lix-module": "lix-module", "lix-module": "lix-module",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable_2",
"quickshell": "quickshell", "quickshell": "quickshell",
"schizofox": "schizofox", "schizofox": "schizofox",
"spicetify-nix": "spicetify-nix", "spicetify-nix": "spicetify-nix",

View file

@ -2,16 +2,18 @@
description = "My NixOS config flake"; description = "My NixOS config flake";
outputs = inputs: let outputs = inputs: let
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
user = import ./modules/user {inherit pkgs;};
in { in {
nixosConfigurations = import ./hosts inputs; nixosConfigurations = import ./hosts inputs;
formatter.x86_64-linux = pkgs.alejandra; formatter.x86_64-linux = pkgs.alejandra;
devShells.x86_64-linux.default = pkgs.callPackage ./shell.nix {}; devShells.x86_64-linux.default = pkgs.callPackage ./shell.nix {};
packages.x86_64-linux = user.packages;
nixosModules = { nixosModules = {
shell = import ./modules/shell; user = user.module;
shell = import ./modules/shell {inherit pkgs;};
}; };
}; };
inputs = { inputs = {
# Unstable nixpkgs baby! # Unstable nixpkgs baby!
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";

View file

@ -1,6 +1,5 @@
{pkgs, ...}: { {pkgs, ...}: {
environment.systemPackages = with pkgs; environment.systemPackages = with pkgs; [
[
alsa-utils alsa-utils
anki anki
asciinema asciinema

View file

@ -1,6 +1,5 @@
# This is 1:1 copied from https://github.com/sioodmy/homix. # This is 1:1 copied from https://github.com/sioodmy/homix.
# I simply put it here because it's not changing in any way anymore and i save myself a flake input this way. # I simply put it here because it's not changing in any way anymore and i save myself a flake input this way.
{ {
config, config,
lib, lib,

View file

@ -1,4 +1,9 @@
{config, ...}: let {
config,
pkgs,
self,
...
}: let
inherit (config.meta.mainUser) username; inherit (config.meta.mainUser) username;
in { in {
users = { users = {
@ -15,6 +20,7 @@ in {
"nix" "nix"
]; ];
homix = true; homix = true;
shell = self.packages.${pkgs.stdenv.system}.fish;
# hashedPasswordFile = "/etc/passwords/cr"; # hashedPasswordFile = "/etc/passwords/cr";
}; };
# root.hashedPasswordFile = "/persist/passwords/root"; # root.hashedPasswordFile = "/persist/passwords/root";

View file

@ -18,7 +18,7 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.fish.enable = true; programs.fish.enable = false;
# homix.".config/fish/config.fish".source = fishinit; # homix.".config/fish/config.fish".source = fishinit;
# users.users.${username}.shell = pkgs.fish; # users.users.${username}.shell = pkgs.fish;

View file

@ -1,25 +0,0 @@
{
pkgs,
aliasesStr,
}:
pkgs.writeShellScriptBin "config.fish" ''
# source ${pkgs.fishPlugins.sponge}/share/zsh-defer/zsh-defer.plugin.zsh
${pkgs.atuin}/bin/atuin init fish | source
${pkgs.zoxide}/bin/zoxide init fish | source
source ${./starship.fish}
source ${./zoxide.fish}
source ${./config.fish}
# zsh-defer source ${pkgs.zsh-fast-syntax-highlighting}/share/zsh/site-functions/fast-syntax-highlighting.plugin.zsh
# zsh-defer source ${pkgs.zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh
# zsh-defer source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
# zsh-defer source ${pkgs.zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh
# zsh-defer source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh
# zsh-defer source ${pkgs.zsh-autopair}/share/zsh/zsh-autopair/autopair.zsh
${aliasesStr}
''

16
modules/user/default.nix Normal file
View file

@ -0,0 +1,16 @@
{pkgs, ...}: rec {
packages = {
fish = pkgs.callPackage ./shell {};
};
shell = pkgs.mkShell {
name = "bloxx-shell";
buildInputs = [packages.fish];
};
module = {
config = {
environment.systemPackages = [
shell
];
};
};
}

View file

@ -0,0 +1,26 @@
# This shell setup was inspired by sioodmy. Check out his setup!
{pkgs, ...}: let
toml = pkgs.formats.toml {};
starship-config = import ./starship.nix;
aliases = import ./aliases.nix {inherit pkgs;};
fishinit = import ./fishinit.nix {inherit pkgs aliasesStr;};
aliasesStr =
pkgs.lib.concatStringsSep "\n"
(pkgs.lib.mapAttrsToList (k: v: "alias ${k}=\"${v}\"") aliases);
packages = import ./packages.nix pkgs;
in
(pkgs.symlinkJoin {
name = "fish-wrapped";
paths = [pkgs.fish] ++ packages;
buildInputs = [pkgs.makeWrapper];
postBuild = ''
wrapProgram $out/bin/fish --set STARSHIP_CONFIG "${toml.generate "starship.toml" starship-config}" \
'';
})
.overrideAttrs (_: {
passthru = {
shellPath = "/bin/fish";
};
})

View file

@ -0,0 +1,16 @@
{
pkgs,
aliasesStr,
}:
pkgs.writeShellScriptBin "config.fish" ''
# source ${pkgs.fishPlugins.sponge}/share/zsh-defer/zsh-defer.plugin.zsh
${pkgs.atuin}/bin/atuin init fish | source
${pkgs.zoxide}/bin/zoxide init fish | source
source ${./config.fish}
${aliasesStr}
''

View file

@ -16,5 +16,6 @@ in (pkgs.symlinkJoin {
buildInputs = [pkgs.makeWrapper]; buildInputs = [pkgs.makeWrapper];
postBuild = '' postBuild = ''
wrapProgram $out/bin/fish --set STARSHIP_CONFIG "${toml.generate "starship.toml" starship-config}" \ wrapProgram $out/bin/fish --set STARSHIP_CONFIG "${toml.generate "starship.toml" starship-config}" \
--init-command source ${fishinit}
''; '';
}) })

View file

@ -0,0 +1,2 @@
{
}