Compare commits

...

2 commits

Author SHA1 Message Date
Jo
5266d697de 📝 update nushell comments 2025-02-09 23:53:19 +01:00
Jo
24fff4ee33 add nushell and vscodium configurations 2025-02-09 23:52:24 +01:00
4 changed files with 161 additions and 71 deletions
flake.lock
homes/x86_64-linux/jo@puzzlevision
modules/home/apps

30
flake.lock generated
View file

@ -115,11 +115,11 @@
"zig": "zig"
},
"locked": {
"lastModified": 1738275804,
"narHash": "sha256-n9cSCLlWjc8Bc5QyZYLo5+c6MfTZjgDpUGx/FGxBiY8=",
"lastModified": 1738619868,
"narHash": "sha256-q4h4SY1kVkZG4t/59CmJvaKjlx+xjojhdU1HqxiQhrQ=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "c5508e7d1922842ecd3160ea73b97da1282168b3",
"rev": "f0d276062b78658fc1f3857e9ea104788f1f4e58",
"type": "github"
},
"original": {
@ -130,11 +130,11 @@
},
"hardware": {
"locked": {
"lastModified": 1737751639,
"narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
"lastModified": 1738638143,
"narHash": "sha256-ZYMe4c4OCtIUBn5hx15PEGr0+B1cNEpl2dsaLxwY2W0=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
"rev": "9bdd53f5908453e4d03f395eb1615c3e9a351f70",
"type": "github"
},
"original": {
@ -151,11 +151,11 @@
]
},
"locked": {
"lastModified": 1738275749,
"narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=",
"lastModified": 1738667255,
"narHash": "sha256-sMMQb9NydZqQ/MvvtPp+Ny0W9P0Jk0moU7SrTBlO5Vo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9",
"rev": "7abcf59a365430b36f84eaa452a466b11e469e33",
"type": "github"
},
"original": {
@ -182,11 +182,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1738136902,
"narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=",
"lastModified": 1738644632,
"narHash": "sha256-DyvJjOOGmTSkkEfHq0oWkwtZOgejYIB5S865wmf/qos=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c",
"rev": "95ea544c84ebed84a31896b0ecea2570e5e0e236",
"type": "github"
},
"original": {
@ -269,11 +269,11 @@
]
},
"locked": {
"lastModified": 1737411508,
"narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=",
"lastModified": 1738291974,
"narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "015d461c16678fc02a2f405eb453abb509d4e1d4",
"rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7",
"type": "github"
},
"original": {

View file

@ -7,6 +7,9 @@
themes.catppuccin = {
gtk.enable = true;
};
apps.nushell.enable = true;
apps.vscodium.enable = true;
};
home.file."~/.config/Yubico/u2f_keys".text = ''
@ -22,60 +25,6 @@
packages = [];
};
programs = {
nushell = {
enable = true;
# for editing directly to config.nu
extraConfig = ''
let carapace_completer = {|spans|
carapace $spans.0 nushell $spans | from json
}
$env.config = {
show_banner: false,
completions: {
case_sensitive: false # case-sensitive completions
quick: true # set to false to prevent auto-selecting completions
partial: true # set to false to prevent partial filling of the prompt
algorithm: "fuzzy" # prefix or fuzzy
external: {
# set to false to prevent nushell looking into $env.PATH to find more suggestions
enable: true
# set to lower can improve completion performance at the cost of omitting some options
max_results: 100
completer: $carapace_completer # check 'carapace_completer'
}
}
}
$env.PATH = ($env.PATH |
split row (char esep) |
prepend /home/myuser/.apps |
append /usr/bin/env
)
'';
shellAliases = {
vi = "hx";
vim = "hx";
nano = "hx";
};
};
carapace.enable = true;
carapace.enableNushellIntegration = true;
starship = {
enable = true;
settings = {
add_newline = true;
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
};
};
};
# TODO: look at git-sync for syncing stuff like obsidian vaults.
programs.git-credential-oauth.enable = true;
@ -102,8 +51,6 @@
devenv
python39
nixd
nil
zed-editor
bruno
deno
carapace

View file

@ -0,0 +1,74 @@
{
lib,
pkgs,
config,
namespace,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.${namespace}.apps.vscodium;
in {
options.${namespace}.apps.vscodium = {
enable = mkEnableOption "vscodium";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
alejandra
];
programs.vscode = {
enable = true;
package = pkgs.vscodium;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
mutableExtensionsDir = false;
extensions = with pkgs; [
### Theming
vscode-extensions.pkief.material-icon-theme
vscode-extensions.catppuccin.catppuccin-vsc
### General
vscode-extensions.usernamehw.errorlens
vscode-extensions.leonardssh.vscord
vscode-extensions.davidlday.languagetool-linter
vscode-extensions.christian-kohler.path-intellisense
vscode-extensions.wakatime.vscode-wakatime
### Language specific
# Nushell
vscode-extensions.thenuprojectcontributors.vscode-nushell-lang
# Nix
vscode-extensions.kamadorueda.alejandra
vscode-extensions.jnoortheen.nix-ide
# Env
vscode-extensions.irongeek.vscode-env
# Deno (JavaScript)
vscode-extensions.denoland.vscode-deno
];
userSettings = {
"files.autoSave" = "on";
"workbench.colorTheme" = "Catppuccin Macchiato";
"[nix]" = {
"editor.tabSize" = 2;
"formatterPath" = "alejandra";
"enableLanguageServer" = true;
"serverPath" = "nixd";
"serverSettings" = {
"nixd" = {
"formatting.command" = ["alejandra"];
};
};
};
};
};
};
}

View file

@ -0,0 +1,69 @@
{
lib,
pkgs,
config,
namespace,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.${namespace}.apps.nushell;
in {
options.${namespace}.apps.nushell = {
enable = mkEnableOption "Whether to enable nushell customization.";
};
config = mkIf cfg.enable {
programs = {
nushell = {
enable = true;
extraConfig = ''
let carapace_completer = {|spans|
carapace $spans.0 nushell ...$spans | from json
}
$env.config = {
completions: {
case_sensitive: false # case-sensitive completions
quick: true # auto complete selections
partial: true # partial filling of prompts
algorithm: "fuzzy" # prefix or fuzzy
external: {
# discover completions using $env.PATH
enable: true
# lowering can improve completion performance at the cost of omitting some options
max_results: 200
completer: $carapace_completer # check 'carapace_completer'
}
}
}
$env.PATH = ($env.PATH |
split row (char esep) |
prepend /run/wrappers/bin |
prepend /home/jo/.nix-profile/bin |
append /usr/bin/env/run/wrappers/bin
)
'';
};
carapace.enable = true;
carapace.enableNushellIntegration = true;
starship = {
enable = true;
settings = {
add_newline = true;
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
};
};
};
home.packages = with pkgs; [
carapace
];
};
}