diff --git a/nixos/cesium.nix b/nixos/cesium.nix index 9feab0b..ff9ef8d 100644 --- a/nixos/cesium.nix +++ b/nixos/cesium.nix @@ -8,7 +8,7 @@ services.xserver.videoDrivers = [ "nvidia" ]; - hardware.opengl = { + hardware.graphics = { enable = true; }; } diff --git a/nixos/dconf.nix b/nixos/dconf.nix new file mode 100644 index 0000000..d489880 --- /dev/null +++ b/nixos/dconf.nix @@ -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 = ["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 = "t"; + }; + }; +} diff --git a/nixos/home.nix b/nixos/home.nix index 33fc85b..46037af 100644 --- a/nixos/home.nix +++ b/nixos/home.nix @@ -38,12 +38,14 @@ in lutris steam prismlauncher - flakePackages.hytale-launcher + #flakePackages.hytale-launcher # Entwicklung jetbrains-toolbox mkcert gitflow + claude-code + gnomeExtensions.claude-code-usage-indicator gnumake p7zip @@ -78,206 +80,35 @@ in ''; home.shellAliases = { - ll = "ls -lah"; - la = "ls -A"; - l = "ls -CF"; - ".." = "cd .."; - "..." = "cd ../.."; - rebuild = "sudo nixos-rebuild switch"; - update = "sudo nixos-rebuild switch --upgrade"; - c = "composer"; - lzd = "lazydocker"; - gclb = "git-cleanup-local-branches"; - 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 = ["5"]; - }; + ll = "ls -lah"; + la = "ls -A"; + l = "ls -CF"; + ".." = "cd .."; + "..." = "cd ../.."; + rebuild = "sudo nixos-rebuild switch"; + update = "sudo nixos-rebuild switch --upgrade"; + c = "composer"; + lzd = "lazydocker"; + gclb = "git-cleanup-local-branches"; + ngc = "sudo nix-store --optimise && sudo nix-collect-garbage -d"; }; - 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.".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 = { enable = true; diff --git a/nixos/programs.nix b/nixos/programs.nix new file mode 100644 index 0000000..3322f27 --- /dev/null +++ b/nixos/programs.nix @@ -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 + ''; + }; +} diff --git a/nixos/users/sebastian.nix b/nixos/users/sebastian.nix index f10fa59..cad01ba 100644 --- a/nixos/users/sebastian.nix +++ b/nixos/users/sebastian.nix @@ -24,6 +24,8 @@ home-manager.users.sebastian = lib.mkMerge [ (import ../home.nix) + (import ../dconf.nix) + (import ../programs.nix) { programs.git = {