This commit is contained in:
Schrottkatze 2026-03-28 17:23:29 +01:00
commit 70e5b25e38
No known key found for this signature in database
19 changed files with 286 additions and 236 deletions

View file

@ -1,22 +1,18 @@
{ ... }:
{ pkgs, ... }:
{
home-manager.users.jade =
{ pkgs, ... }:
{
programs.btop = {
enable = true;
package = pkgs.btop-rocm;
settings = {
shown_boxes = "cpu mem net proc gpu0";
color_theme = "gruvbox_dark";
vim_keys = true;
proc_per_core = true;
proc_filter_kernel = true;
proc_aggregate = true;
cpu_graph_upper = "total";
cpu_graph_lower = "user";
update_ms = 500;
};
};
programs.btop = {
enable = true;
package = pkgs.btop-rocm;
settings = {
shown_boxes = "cpu mem net proc gpu0";
color_theme = "gruvbox_dark";
vim_keys = true;
proc_per_core = true;
proc_filter_kernel = true;
proc_aggregate = true;
cpu_graph_upper = "total";
cpu_graph_lower = "user";
update_ms = 500;
};
};
}

View file

@ -1,19 +1,23 @@
{ pkgs, ... }:
{
imports = [
./nu.nix
./starship.nix
./tty.nix
./git.nix
./mprocs.nix
./btop.nix
./sudo.nix
];
programs.mosh.enable = true;
programs.bat.enable = true;
environment.systemPackages = [ pkgs.nushell ];
home-manager.users.jade =
{ ... }:
{
imports = [
./btop.nix
./mprocs.nix
./git.nix
./starship.nix
./nu.nix
./elvish.nix
];
programs.broot = {
enable = true;
settings = {
@ -33,5 +37,6 @@
};
};
users.defaultUserShell = pkgs.nushell;
# TODO: Proper switch
users.defaultUserShell = pkgs.elvish;
}

8
modules/shell/elvish.nix Normal file
View file

@ -0,0 +1,8 @@
{ ... }:
{
xdg.configFile."elvish" = {
recursive = true;
executable = true;
source = ./elvish;
};
}

View file

@ -0,0 +1,18 @@
## hook for direnv
set @edit:before-readline = $@edit:before-readline {
try {
var m = [("/nix/store/kv03kmfwkinhv4ar2hvh79jfkm1n5id5-direnv-2.37.1/bin/direnv" export elvish | from-json)]
if (> (count $m) 0) {
set m = (all $m)
keys $m | each { |k|
if $m[$k] {
set-env $k $m[$k]
} else {
unset-env $k
}
}
}
} catch e {
echo $e
}
}

View file

@ -0,0 +1,28 @@
# <aliases>
fn gnix {|@a| cd ~/nix-configs $@a }
fn grepo {|@a| cd ~/Documents/repos $@a }
fn wh {|@a| wormhole-rs $@a }
fn gc {|@a| git commit $@a }
fn gca {|@a| git commit --all $@a }
fn gp {|@a| git push $@a }
fn gl {|@a| git pull $@a }
fn gs {|@a| git status $@a }
fn cr {|@a| cargo run $@a }
fn cl {|@a| cargo clippy $@a }
fn cb {|@a| cargo build $@a }
fn cch {|@a| cargo check $@a }
fn jb {|@a| just build $@a }
fn px {|@a| pulsemixer $@a }
fn guni {|@a| cd ~/Docs/uni $@a }
fn juts {|@a| just $@a }
# </aliases>
use direnv

View file

@ -5,51 +5,43 @@
...
}:
{
home-manager.users.jade =
{
pkgs,
config,
...
}:
{
programs.git = {
enable = true;
settings = {
user = {
name = "Schrottkatze";
email = "git@schrottkatze.de";
};
};
signing = {
format = "ssh";
key = lib.mkDefault "${pkgs.writeText "blue_nk3.pub" "SHA256:h7d9+w4uACtz63L/MI7B1oB3fYxh8u+q6bs+SsSTKzY ssh:"}";
signByDefault = true;
};
};
programs.jujutsu = {
enable = true;
settings = {
user = {
name = config.programs.git.userName;
email = config.programs.git.userEmail;
};
};
};
programs.gitui = {
enable = true;
keyConfig = ''
(
move_left: Some(( code: Char('h'), modifiers: "")),
move_right: Some(( code: Char('l'), modifiers: "")),
move_up: Some(( code: Char('k'), modifiers: "")),
move_down: Some(( code: Char('j'), modifiers: "")),
stash_open: Some(( code: Char('l'), modifiers: "")),
open_help: Some(( code: F(1), modifiers: "")),
status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")),
)
'';
programs.git = {
enable = true;
settings = {
user = {
name = "Schrottkatze";
email = "git@schrottkatze.de";
};
};
signing = {
format = "ssh";
key = lib.mkDefault "${pkgs.writeText "blue_nk3.pub" "SHA256:h7d9+w4uACtz63L/MI7B1oB3fYxh8u+q6bs+SsSTKzY ssh:"}";
signByDefault = true;
};
};
programs.jujutsu = {
enable = true;
settings = {
user = {
name = config.programs.git.userName;
email = config.programs.git.userEmail;
};
};
};
programs.gitui = {
enable = true;
keyConfig = ''
(
move_left: Some(( code: Char('h'), modifiers: "")),
move_right: Some(( code: Char('l'), modifiers: "")),
move_up: Some(( code: Char('k'), modifiers: "")),
move_down: Some(( code: Char('j'), modifiers: "")),
stash_open: Some(( code: Char('l'), modifiers: "")),
open_help: Some(( code: F(1), modifiers: "")),
status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")),
)
'';
};
}

View file

@ -1,31 +1,23 @@
{ ... }:
{ pkgs, ... }:
{
home-manager.users.jade =
{
pkgs,
lib,
...
}:
{
home = {
packages = [ pkgs.mprocs ];
home = {
packages = [ pkgs.mprocs ];
};
xdg.configFile."mprocs/mprocs.yaml" = {
text = builtins.toJSON {
proc_list_width = 15;
keymap_procs = {
"<l>" = {
c = "toggle-focus";
};
};
xdg.configFile."mprocs/mprocs.yaml" = {
text = builtins.toJSON {
proc_list_width = 15;
keymap_procs = {
"<l>" = {
c = "toggle-focus";
};
};
keymap_term = {
"<C-a>" = null;
# Ctrl-m so it doesnt overlap with zellij or helix
"<C-M>" = {
c = "toggle-focus";
};
};
keymap_term = {
"<C-a>" = null;
# Ctrl-m so it doesnt overlap with zellij or helix
"<C-M>" = {
c = "toggle-focus";
};
};
};
};
}

View file

@ -1,46 +1,42 @@
{ config, ... }:
{ pkgs, ... }:
{
home-manager.users.jade =
{ pkgs, ... }:
{
# Needed for nu_scripts background_task
services.pueue = {
enable = true;
settings = {
shared = {
use_unix_socket = true;
};
};
# Needed for nu_scripts background_task
services.pueue = {
enable = true;
settings = {
shared = {
use_unix_socket = true;
};
home.packages = [
pkgs.pueue
];
home.file."shell-startup" = {
source = ./nu/shell-startup.nu;
target = ".config/nushell/shell-startup.nu";
};
programs.nushell = {
enable = true;
package = config.users.defaultUserShell;
configFile.source = ./nu/config.nu;
envFile.source = ./nu/env.nu;
extraConfig = ''
plugin add ${pkgs.nushellPlugins.query}/bin/nu_plugin_query;
plugin add ${pkgs.nushellPlugins.polars}/bin/nu_plugin_polars;
plugin add ${pkgs.nushellPlugins.formats}/bin/nu_plugin_formats;
plugin use query;
plugin use polars;
plugin use formats;
source ${./nu/custom_commands.nu};
source ${./nu/aliases.nu};
nu ${./nu/shell-startup.nu};
'';
extraEnv = '''';
};
# programs.starship.enableNushellIntegration = true;
programs.carapace.enableNushellIntegration = true;
programs.direnv.enableNushellIntegration = true;
};
};
home.packages = [
pkgs.pueue
];
home.file."shell-startup" = {
source = ./nu/shell-startup.nu;
target = ".config/nushell/shell-startup.nu";
};
programs.nushell = {
enable = false;
# package = config.users.defaultUserShell;
configFile.source = ./nu/config.nu;
envFile.source = ./nu/env.nu;
extraConfig = ''
plugin add ${pkgs.nushellPlugins.query}/bin/nu_plugin_query;
plugin add ${pkgs.nushellPlugins.polars}/bin/nu_plugin_polars;
plugin add ${pkgs.nushellPlugins.formats}/bin/nu_plugin_formats;
plugin use query;
plugin use polars;
plugin use formats;
source ${./nu/custom_commands.nu};
source ${./nu/aliases.nu};
nu ${./nu/shell-startup.nu};
'';
extraEnv = "";
};
# programs.starship.enableNushellIntegration = true;
programs.carapace.enableNushellIntegration = true;
programs.direnv.enableNushellIntegration = true;
}

View file

@ -1,16 +1,8 @@
alias gnix = cd ~/nix-configs;
alias grepo = cd ~/Documents/repos;
alias wh = wormhole-rs;
alias b = broot;
alias gg = gitui;
alias ga = git add;
alias gc = git commit;
alias gca = git commit --all;
alias gp = git push;
alias gl = git pull;
alias gs = git status;
alias clip = xclip -selection c;
alias cr = cargo run;

View file

@ -1,44 +1,40 @@
{ ... }:
{
home-manager.users.jade =
{ pkgs, ... }:
{
programs.starship = {
enable = true;
enableNushellIntegration = false;
settings = {
format = "$all$directory$character";
character = {
success_symbol = "[\\$](green)";
error_symbol = "[X](red)";
};
git_branch = {
format = "\\[[$symbol$branch]($style)\\]";
symbol = " ";
};
git_status = {
format = "([\\[$all_status$ahead_behind\\]]($style))";
};
haskell = {
format = "\\[[$symbol($version)]($style)\\]";
symbol = " ";
};
cmd_duration = {
format = "\\[[ $duration]($style)\\]";
};
nix_shell = {
format = "\\[[$symbol$state( \\($name\\))]($style)\\]";
symbol = " ";
};
rust = {
format = "\\[[$symbol($version)]($style)\\]";
symbol = " ";
};
package = {
format = "\\[[$symbol$version]($style)\\]";
symbol = " ";
};
};
programs.starship = {
enable = true;
enableNushellIntegration = false;
settings = {
format = "$all$directory$character";
character = {
success_symbol = "[\\$](green)";
error_symbol = "[X](red)";
};
git_branch = {
format = "\\[[$symbol$branch]($style)\\]";
symbol = " ";
};
git_status = {
format = "([\\[$all_status$ahead_behind\\]]($style))";
};
haskell = {
format = "\\[[$symbol($version)]($style)\\]";
symbol = " ";
};
cmd_duration = {
format = "\\[[ $duration]($style)\\]";
};
nix_shell = {
format = "\\[[$symbol$state( \\($name\\))]($style)\\]";
symbol = " ";
};
rust = {
format = "\\[[$symbol($version)]($style)\\]";
symbol = " ";
};
package = {
format = "\\[[$symbol$version]($style)\\]";
symbol = " ";
};
};
};
}