[TASK] Improve configuration

This commit is contained in:
Sebastian Fischer 2026-03-07 17:42:31 +01:00
parent 248b962d5e
commit 6270603c97
5 changed files with 235 additions and 198 deletions

View File

@ -8,7 +8,7 @@
services.xserver.videoDrivers = [ "nvidia" ]; services.xserver.videoDrivers = [ "nvidia" ];
hardware.opengl = { hardware.graphics = {
enable = true; enable = true;
}; };
} }

47
nixos/dconf.nix Normal file
View File

@ -0,0 +1,47 @@
# In deiner home.nix
{ config, pkgs, ... }:
{
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
accent-color = "green";
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:minimize,maximize,close";
focus-mode = "sloppy";
};
"org/gnome/shell" = {
disable-user-extensions = false;
# Hier die IDs der Extensions eintragen
enabled-extensions = with pkgs.gnomeExtensions; [
appindicator.extensionUuid
caffeine.extensionUuid
dash-to-dock.extensionUuid
];
};
"org/gnome/desktop/background" = {
picture-uri = "file:///etc/nixos/config/crest_iv_black-cut.jpg";
picture-uri-dark = "file:///etc/nixos/config/crest_iv_black-cut.jpg";
picture-options = "centered";
primary-color = "#000000";
};
"org/gnome/shell/extensions/dash-to-dock" = {
show-mounts = false;
show-trash = false;
};
"org/gnome/shell/keybindings" = {
show-screenshot-ui = ["<Shift><Alt>5"];
};
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
name = "Console";
command = "kgx";
binding = "<Control><Alt>t";
};
};
}

View File

@ -38,12 +38,14 @@ in
lutris lutris
steam steam
prismlauncher prismlauncher
flakePackages.hytale-launcher #flakePackages.hytale-launcher
# Entwicklung # Entwicklung
jetbrains-toolbox jetbrains-toolbox
mkcert mkcert
gitflow gitflow
claude-code
gnomeExtensions.claude-code-usage-indicator
gnumake gnumake
p7zip p7zip
@ -91,193 +93,22 @@ in
ngc = "sudo nix-store --optimise && sudo nix-collect-garbage -d"; ngc = "sudo nix-store --optimise && sudo nix-collect-garbage -d";
}; };
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
accent-color = "green";
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:minimize,maximize,close";
focus-mode = "sloppy";
};
"org/gnome/shell" = {
disable-user-extensions = false;
# Hier die IDs der Extensions eintragen
enabled-extensions = with pkgs.gnomeExtensions; [
appindicator.extensionUuid
caffeine.extensionUuid
dash-to-dock.extensionUuid
];
};
"org/gnome/desktop/background" = {
picture-uri = "file:///etc/nixos/config/crest_iv_black-cut.jpg";
picture-uri-dark = "file:///etc/nixos/config/crest_iv_black-cut.jpg";
picture-options = "centered";
primary-color = "#000000";
};
"org/gnome/shell/extensions/dash-to-dock" = {
show-mounts = false;
show-trash = false;
};
"org/gnome/shell/keybindings" = {
show-screenshot-ui = ["<Shift><Alt>5"];
};
};
programs.git = {
enable = true;
settings = {
aliases = {
prune = "fetch --prune";
undo = "reset --soft HEAD^";
stash-all = "stash save --include-untracked";
graph = "log --graph --decorate --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'";
};
apply.whitespace = "fix";
branch = {
autosetuprebase = "remote";
sort = "-authordate";
};
"branch \"main\"" = {
remote = "origin";
merge = "refs/heads/main";
rebase = true;
};
color = {
ui = "auto";
branch = "auto";
diff = "auto";
status = "auto";
interactive = "auto";
pager = true;
};
"color \"branch\"" = {
current = "yellow reverse";
local = "yellow";
remote = "green";
};
"color \"diff\"" = {
meta = "yellow bold";
frag = "magenta bold";
old = "red bold";
new = "green bold";
whitespace = "red reverse";
};
"color \"diff-highlight\"" = {
oldNormal = "red bold";
oldHighlight = "red bold 52";
newNormal = "green bold";
newHighlight = "green bold 22";
};
"color \"status\"" = {
added = "yellow";
changed = "green";
untracked = "cyan";
};
core = {
pager = "less -FRSX";
whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol";
editor = "vim";
fileMode = false;
autocrlf = "input";
};
credential.helper = "cache";
diff.tool = "vimdiff";
difftool.prompt = false;
fetch.prune = true;
http.sslverify = false;
init.defaultBranch = "main";
merge.tool = "vimdiff";
mergetool.prompt = false;
pull.rebase = false;
push = {
default = "simple";
followTags = true;
};
rerere.enabled = 1;
status.showUntrackedFiles = "all";
};
ignores = [
".idea" # JetBrains IDEs
];
};
programs.vim = {
enable = true;
defaultEditor = true;
settings = {
number = true;
relativenumber = true;
tabstop = 2;
shiftwidth = 2;
expandtab = true;
};
extraConfig = ''
syntax on
set encoding=utf-8
set autoindent
set smartindent
'';
};
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
oh-my-zsh = {
enable = true;
theme = "powerlevel10k/powerlevel10k";
plugins = [
"command-not-found"
"common-aliases"
"docker"
"docker-compose"
"git"
"git-prompt"
"git-flow-avh"
"ssh-agent"
"systemd"
"sudo"
"rsync"
];
custom = "$HOME/.oh-my-zsh/custom";
};
initContent = ''
# Bell deaktivieren
unsetopt BEEP
# Powerlevel10k Konfiguration laden (falls vorhanden)
[[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh
'';
};
home.file.".p10k.zsh".source = ./config/p10k.zsh; home.file.".p10k.zsh".source = ./config/p10k.zsh;
home.file.".ssh" = {
source = config.lib.file.mkOutOfStoreSymlink "/mnt/data/.ssh";
recursive = false;
};
home.file.".thunderbird" = {
source = config.lib.file.mkOutOfStoreSymlink "/mnt/data/Thunderbird";
recursive = false;
};
home.sessionPath = [
"${config.home.homeDirectory}/.local/bin"
];
# GTK Theme (optional, für besseres Aussehen) # GTK Theme (optional, für besseres Aussehen)
gtk = { gtk = {
enable = true; enable = true;

157
nixos/programs.nix Normal file
View File

@ -0,0 +1,157 @@
# In deiner home.nix
{ config, pkgs, ... }:
{
programs.git = {
enable = true;
settings = {
aliases = {
prune = "fetch --prune";
undo = "reset --soft HEAD^";
stash-all = "stash save --include-untracked";
graph = "log --graph --decorate --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'";
};
apply.whitespace = "fix";
branch = {
autosetuprebase = "remote";
sort = "-authordate";
};
"branch \"main\"" = {
remote = "origin";
merge = "refs/heads/main";
rebase = true;
};
color = {
ui = "auto";
branch = "auto";
diff = "auto";
status = "auto";
interactive = "auto";
pager = true;
};
"color \"branch\"" = {
current = "yellow reverse";
local = "yellow";
remote = "green";
};
"color \"diff\"" = {
meta = "yellow bold";
frag = "magenta bold";
old = "red bold";
new = "green bold";
whitespace = "red reverse";
};
"color \"diff-highlight\"" = {
oldNormal = "red bold";
oldHighlight = "red bold 52";
newNormal = "green bold";
newHighlight = "green bold 22";
};
"color \"status\"" = {
added = "yellow";
changed = "green";
untracked = "cyan";
};
core = {
pager = "less -FRSX";
whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol";
editor = "vim";
fileMode = false;
autocrlf = "input";
};
credential.helper = "cache";
diff.tool = "vimdiff";
difftool.prompt = false;
fetch.prune = true;
http.sslverify = false;
init.defaultBranch = "main";
merge.tool = "vimdiff";
mergetool.prompt = false;
pull.rebase = false;
push = {
default = "simple";
followTags = true;
};
rerere.enabled = 1;
status.showUntrackedFiles = "all";
};
ignores = [
".idea" # JetBrains IDEs
];
};
programs.vim = {
enable = true;
defaultEditor = true;
settings = {
number = true;
relativenumber = true;
tabstop = 2;
shiftwidth = 2;
expandtab = true;
};
extraConfig = ''
syntax on
set encoding=utf-8
set autoindent
set smartindent
'';
};
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
oh-my-zsh = {
enable = true;
theme = "powerlevel10k/powerlevel10k";
plugins = [
"command-not-found"
"common-aliases"
"docker"
"docker-compose"
"git"
"git-prompt"
"git-flow-avh"
"ssh-agent"
"systemd"
"sudo"
"rsync"
];
custom = "$HOME/.oh-my-zsh/custom";
};
initContent = ''
# Bell deaktivieren
unsetopt BEEP
# Powerlevel10k Konfiguration laden (falls vorhanden)
[[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh
'';
};
}

View File

@ -24,6 +24,8 @@
home-manager.users.sebastian = lib.mkMerge [ home-manager.users.sebastian = lib.mkMerge [
(import ../home.nix) (import ../home.nix)
(import ../dconf.nix)
(import ../programs.nix)
{ {
programs.git = { programs.git = {