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

@ -62,7 +62,6 @@
pkgs.mobile-broadband-provider-info pkgs.mobile-broadband-provider-info
pkgs.modem-manager-gui pkgs.modem-manager-gui
pkgs.wireshark pkgs.wireshark
pkgs.jetbrains.idea-ultimate
]; ];
# Bootloader. # Bootloader.

View file

@ -17,9 +17,7 @@ with lib;
{ pkgs, ... }: { pkgs, ... }:
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
lutris
prismlauncher prismlauncher
wineWowPackages.stable
dxvk_2 dxvk_2
vkd3d-proton vkd3d-proton
]; ];

View file

@ -59,7 +59,6 @@ with lib;
mumble mumble
element-desktop element-desktop
pkgs.evolution-data-server-gtk4 pkgs.evolution-data-server-gtk4
iamb
deltachat-desktop deltachat-desktop
]; ];
}; };

View file

@ -14,6 +14,6 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
playerctl playerctl
pulsemixer pulsemixer
helvum crosspipe
]; ];
} }

View file

@ -17,29 +17,23 @@
}; };
policies = { policies = {
DefaultDownloadDirectory = "\${home}/Downloads"; DefaultDownloadDirectory = "\${home}/Downloads";
Extensions.Install = Extensions.Install = map (name: "https://addons.mozilla.org/firefox/downloads/latest/${name}") [
builtins.map (name: "https://addons.mozilla.org/firefox/downloads/latest/${name}") "bitwarden-password-manager"
[ "darkreader"
"bitwarden-password-manager" "indie-wiki-buddy"
"darkreader" "kagi-search-for-firefox"
"gruvbox-dark-theme" "multi-account-containers"
"indie-wiki-buddy" "privacy-badger17"
"kagi-search-for-firefox" "return-youtube-dislikes"
"multi-account-containers" "sponsorblock"
"privacy-badger17" "styl-us"
"return-youtube-dislikes" "tabby-cat-friend"
"shinigami-eyes" "torproject-snowflake"
"sponsorblock" "tridactyl-vim"
"styl-us" "ublock-origin"
"tabby-cat-friend" "web-clipper-obsidian"
"terms-of-service-didnt-read" "web-scrobbler"
"torproject-snowflake" ];
"tridactyl-vim"
"ublock-origin"
"view-page-archive"
"web-clipper-obsidian"
"web-scrobbler"
];
Extensions.Uninstall = [ Extensions.Uninstall = [
"ddg@search.mozilla.org" "ddg@search.mozilla.org"
"google@search.mozilla.org" "google@search.mozilla.org"
@ -180,6 +174,21 @@
icon = "https://lib.rs/favicon.png"; icon = "https://lib.rs/favicon.png";
definedAliases = [ "libs" ]; definedAliases = [ "libs" ];
}; };
"gleam packages" = {
urls = [
{
template = "https://packages.gleam.run/";
params = [
{
name = "search";
value = "{searchTerms}";
}
];
}
];
icon = "https://packages.gleam.run/static/packages-icon.svg";
definedAliases = [ "libs" ];
};
"rust docs" = { "rust docs" = {
urls = [ urls = [
{ {
@ -195,6 +204,16 @@
icon = "https://docs.rs/-/static/favicon.ico"; icon = "https://docs.rs/-/static/favicon.ico";
definedAliases = [ "docs" ]; definedAliases = [ "docs" ];
}; };
"gleam docs direct open" = {
urls = [
{
template = "https://hexdocs.pm/{searchTerms}";
}
];
definedAliases = [
"gd"
];
};
"rust docs direct open" = { "rust docs direct open" = {
urls = [ urls = [
{ {
@ -202,8 +221,7 @@
} }
]; ];
definedAliases = [ definedAliases = [
"doc" "rd"
"docd"
]; ];
}; };
"rust std docs" = { "rust std docs" = {

View file

@ -1,4 +1,6 @@
#define PI 3.14159 #define PI 3.14159
#define TAU 6.28319 #define TAU 6.28319
#define WIDTH 3. #define WIDTH 3.

View file

@ -4,7 +4,6 @@
enable = true; enable = true;
font.size = 12; font.size = 12;
font.name = "Departure Mono Nerd Font"; font.name = "Departure Mono Nerd Font";
shellIntegration.enableFishIntegration = false;
keybindings = { keybindings = {
"ctrl+shift+n" = "new_os_window_with_cwd"; "ctrl+shift+n" = "new_os_window_with_cwd";
}; };

View file

@ -105,6 +105,13 @@
}; };
}; };
language = [ language = [
{
name = "gleam";
language-servers = [
"gleam"
"discord-presence-lsp"
];
}
{ {
name = "nu"; name = "nu";
language-servers = [ language-servers = [

View file

@ -1,26 +1,31 @@
{ ... }: { lib, ... }:
let
domains = [
"tiktok.com"
"twitter.com"
"instagram.com"
"facebook.com"
"snapchat.com"
# "youtube.com"
"google-analytics.com"
"stats.g.doubleclick.net"
"googleadservices.com"
"googletagmanager.com"
"googletagservices.com"
"googlesyndication.com"
];
prefixes = [
"www."
""
];
in
{ {
networking.hosts = { networking.hosts =
"127.0.0.1" = [ let
"www.tiktok.com" withPrefixes = prefixes |> map (prefix: map (domain: prefix + domain) domains) |> lib.flatten;
"www.twitter.com" in
"www.instagram.com" {
"www.facebook.com" "127.0.0.1" = withPrefixes;
"www.snapchat.com" };
"tiktok.com"
"twitter.com"
"instagram.com"
"facebook.com"
"snapchat.com"
"lovense.com"
"google-analytics.com"
"stats.g.doubleclick.net"
"googleadservices.com"
"googletagmanager.com"
"googletagservices.com"
"googlesyndication.com"
];
};
} }

View file

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

View file

@ -1,19 +1,23 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
imports = [ imports = [
./nu.nix
./starship.nix
./tty.nix ./tty.nix
./git.nix
./mprocs.nix
./btop.nix
./sudo.nix ./sudo.nix
]; ];
programs.mosh.enable = true; programs.mosh.enable = true;
programs.bat.enable = true; programs.bat.enable = true;
environment.systemPackages = [ pkgs.nushell ];
home-manager.users.jade = home-manager.users.jade =
{ ... }: { ... }:
{ {
imports = [
./btop.nix
./mprocs.nix
./git.nix
./starship.nix
./nu.nix
./elvish.nix
];
programs.broot = { programs.broot = {
enable = true; enable = true;
settings = { 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 = programs.git = {
{ enable = true;
pkgs, settings = {
config, user = {
... name = "Schrottkatze";
}: email = "git@schrottkatze.de";
{
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")),
)
'';
}; };
}; };
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 = home = {
{ packages = [ pkgs.mprocs ];
pkgs, };
lib, xdg.configFile."mprocs/mprocs.yaml" = {
... text = builtins.toJSON {
}: proc_list_width = 15;
{ keymap_procs = {
home = { "<l>" = {
packages = [ pkgs.mprocs ]; c = "toggle-focus";
};
}; };
xdg.configFile."mprocs/mprocs.yaml" = { keymap_term = {
text = builtins.toJSON { "<C-a>" = null;
proc_list_width = 15; # Ctrl-m so it doesnt overlap with zellij or helix
keymap_procs = { "<C-M>" = {
"<l>" = { c = "toggle-focus";
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 = # Needed for nu_scripts background_task
{ pkgs, ... }: services.pueue = {
{ enable = true;
# Needed for nu_scripts background_task settings = {
services.pueue = { shared = {
enable = true; use_unix_socket = 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 b = broot;
alias gg = gitui; alias gg = gitui;
alias ga = git add; 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 clip = xclip -selection c;
alias cr = cargo run; alias cr = cargo run;

View file

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