This commit is contained in:
2026-01-12 22:00:09 +01:00
commit c33f6abe21
21 changed files with 588 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
{ pkgs, ... }:
{
programs.btop = {
enable = true;
settings = {
theme_background = false;
preset = 0;
vim_keys = true;
};
};
}
+24
View File
@@ -0,0 +1,24 @@
{ pkgs, ... }:
{
programs.helix = {
enable = true;
defaultEditor = true;
settings = {
theme = "transparent";
editor = {
line-number = "relative";
bufferline = "multiple";
cursor-shape = {
insert = "bar";
normal = "block";
select = "underline";
};
statusline.left = ["mode" "spinner" "file-name"];
};
keys.normal = {
X = "extend_line_above";
};
};
};
}
+20
View File
@@ -0,0 +1,20 @@
{ config, pkgs, ... }:
{
imports = [
./btop.nix
./helix.nix
./mime-apps.nix
./packages.nix
./shell.nix
];
home.username = "nils";
home.homeDirectory = "/home/nils";
services.nextcloud-client = {
enable = true;
startInBackground = true;
};
home.stateVersion = "25.11";
}
+61
View File
@@ -0,0 +1,61 @@
{ ... }: {
xdg.mimeApps = {
enable = true;
defaultApplications = {
# --- Text ---
"text/plain" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
"text/markdown" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
"text/rust" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
"application/json" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
"application/x-yaml" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
"application/x-docbook+xml" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
"application/x-zerosize" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
"text/x-cmake" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
"text/x-objcsrc" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
"text/x-typst" = [ "Helix.desktop" "org.kde.kwrite.desktop" ];
# --- Audio ---
"audio/mpeg" = [ "org.kde.elisa.desktop" ];
"audio/x-wav" = [ "org.kde.elisa.desktop" ];
"audio/x-vorbis+ogg" = [ "org.kde.elisa.desktop" ];
"audio/flac" = [ "org.kde.elisa.desktop" ];
"audio/mp4" = [ "org.kde.elisa.desktop" ];
"audio/aac" = [ "org.kde.elisa.desktop" ];
"audio/ogg" = [ "org.kde.elisa.desktop" ];
# --- Video ---
"video/mp4" = [ "org.kde.haruna.desktop" ];
"video/x-matroska" = [ "org.kde.haruna.desktop" ];
"video/webm" = [ "org.kde.haruna.desktop" ];
"video/quicktime" = [ "org.kde.haruna.desktop" ];
"video/x-msvideo" = [ "org.kde.haruna.desktop" ];
"video/mpeg" = [ "org.kde.haruna.desktop" ];
"video/x-flv" = [ "org.kde.haruna.desktop" ];
"application/x-matroska" = [ "org.kde.haruna.desktop" ];
# --- Dokumente & Archive ---
"application/pdf" = [ "org.kde.okular.desktop" ];
"application/zip" = [ "org.kde.ark.desktop" ];
"application/x-tar" = [ "org.kde.ark.desktop" ];
"application/x-compressed-tar" = [ "org.kde.ark.desktop" ];
"image/svg+xml" = [ "org.kde.gwenview.desktop" "org.inkscape.Inkscape.desktop" ];
"image/png" = [ "org.kde.gwenview.desktop" ];
"image/jpeg" = [ "org.kde.gwenview.desktop" ];
# --- Ordner ---
"inode/directory" = [ "org.kde.dolphin.desktop" ];
# --- Mail & Kalender ---
"x-scheme-handler/mailto" = [ "thunderbird.desktop" ];
"message/rfc822" = [ "thunderbird.desktop" ];
"text/calendar" = [ "thunderbird.desktop" ];
"x-scheme-handler/webcal" = [ "thunderbird.desktop" ];
"x-scheme-handler/webcals" = [ "thunderbird.desktop" ];
"application/x-extension-ics" = [ "thunderbird.desktop" ];
# --- Messenger ---
"x-scheme-handler/sgnl" = [ "signal.desktop" ];
"x-scheme-handler/signalcaptcha" = [ "signal.desktop" ];
};
};
}
+32
View File
@@ -0,0 +1,32 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
anki
discord
fastfetch
ffmpeg
fzf
haruna
inkscape
kdePackages.filelight
kdePackages.francis
kdePackages.isoimagewriter
kdePackages.kdenlive
krita
libreoffice-qt6
#masterpdfeditor
nextcloud-client
obs-studio
obsidian
pympress
signal-desktop
thunderbird
xournalpp
zotero
];
}
+70
View File
@@ -0,0 +1,70 @@
{ pkgs, ... }: {
programs.fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting
set -g fish_color_param 42a5f5
set -g fish_color_error ff5252
#set -g fish_color_command 82b1ff
'';
};
programs.zellij = {
enable = true;
enableFishIntegration = false;
settings = {
default_shell = "fish";
default_layout = "compact";
show_startup_tips = false;
keybinds = {
normal = {
"bind \"Alt h\"" = { MoveFocus = "Left"; };
"bind \"Alt l\"" = { MoveFocus = "Right"; };
"bind \"Alt j\"" = { MoveFocus = "Down"; };
"bind \"Alt k\"" = { MoveFocus = "Up"; };
};
move = {
"bind \"h\"" = { MovePane = "Left"; };
"bind \"l\"" = { MovePane = "Right"; };
"bind \"j\"" = { MovePane = "Down"; };
"bind \"k\"" = { MovePane = "Up"; };
};
resize = {
"bind \"h\"" = { Resize = "Increase Left"; };
"bind \"l\"" = { Resize = "Increase Right"; };
"bind \"j\"" = { Resize = "Increase Down"; };
"bind \"k\"" = { Resize = "Increase Up"; };
};
};
};
};
programs.zoxide = {
enable = true;
enableFishIntegration = true;
};
programs.starship = {
enable = true;
enableFishIntegration = true;
settings = builtins.fromTOML (builtins.readFile ./starship.toml);
};
programs.git = {
enable = true;
settings.user = { name = "Nils Walther"; email = "mail@nils-walther.de"; };
};
programs.lazygit = {
enable = true;
};
}
+73
View File
@@ -0,0 +1,73 @@
"$schema" = 'https://starship.rs/config-schema.json'
format = """
[░▒▓](#0d47a1)\
$username\
[   ](bg:#0d47a1 fg:#ffffff)\
$directory\
$time\
$git_branch\
$git_status\
$nix_shell\
$character"""
[username]
show_always = true
style_user = "bg:#0d47a1 fg:#ffffff"
format = "[ $user]($style)"
[directory]
style = "fg:#000000 bg:#42a5f5"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = " "
"Pictures" = " "
"Dokumente" = "󰈙 "
"Musik" = " "
"Bilder" = " "
"Dev" = " "
[time]
disabled = false
time_format = "%R"
style = "bg:#37474f"
format = '[[  $time ](fg:#ffffff bg:#37474f)]($style)'
[git_branch]
disabled = false
symbol = " "
style = "bg:#26c6da fg:#000000"
format = '[ $symbol$branch ](bold $style)'
[git_status]
disabled = false
style = "bg:#26c6da fg:#000000"
format = '[$all_status$ahead_behind]($style)'
# up_to_date = " synced "
modified = "modified "
staged = "staged "
untracked = "untracked "
ahead = "ahead ⇡${count} "
behind = "behind ⇣${count} "
diverged = "diverged ⇕⇡${ahead_count}⇣${behind_count} "
conflicted = "conflict "
stashed = "stashed "
renamed = "renamed "
deleted = "deleted "
[nix_shell]
disabled = false
format = '[   <$name> ]($style)'
style = "bg:#78909c fg:#ffffff"
impure_msg = '(impure)'
pure_msg = '(pure)'
[character]
success_symbol = "[ ➜](#42a5f5)"
error_symbol = "[ ERROR ](bold #ff0000)[➜](#ff0000)"