diff options
| -rw-r--r-- | custom.nix | 2 | ||||
| -rw-r--r-- | flake.lock | 57 | ||||
| -rw-r--r-- | flake.nix | 13 | ||||
| -rw-r--r-- | gui/apps/dev.nix | 7 | ||||
| -rw-r--r-- | gui/apps/web.nix | 2 | ||||
| -rw-r--r-- | gui/conf/init.el | 23 | ||||
| -rw-r--r-- | gui/conf/metakr.org | 12 | ||||
| -rw-r--r-- | gui/conf/niri.kdl | 5 | ||||
| -rw-r--r-- | gui/emacs.nix | 40 | ||||
| -rw-r--r-- | gui/pass.nix | 2 | ||||
| -rw-r--r-- | gui/rofi.nix | 2 | ||||
| -rw-r--r-- | home.nix | 13 |
12 files changed, 132 insertions, 46 deletions
@@ -10,7 +10,7 @@ in { type = types.attrsOf (types.submodule { options = { description = mkOption { - type = types.uniq types.string; + type = types.uniq types.str; }; directory = mkOption { type = types.str; @@ -6,11 +6,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1761470737, - "narHash": "sha256-ORF+/ByMYBjVid0hD6tAO9XNxFydnIgaz+bQS6Zcscc=", + "lastModified": 1765441709, + "narHash": "sha256-2LRXe8A779U0m1NTHAaCzNy7WngXFAQw4Gc5vBl33F8=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "b6fdc07a59460ffd77b076ae910eafdf7106ae5f", + "rev": "27ced263ed6b7a6968f9f449d66aa299cb0f14a7", "type": "github" }, "original": { @@ -27,27 +27,27 @@ ] }, "locked": { - "lastModified": 1758463745, - "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=", + "lastModified": 1765384171, + "narHash": "sha256-FuFtkJrW1Z7u+3lhzPRau69E0CNjADku1mLQQflUORo=", "owner": "nix-community", "repo": "home-manager", - "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", + "rev": "44777152652bc9eacf8876976fa72cc77ca8b9d8", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.05", + "ref": "release-25.11", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "lastModified": 1765186076, + "narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1761173472, - "narHash": "sha256-m9W0dYXflzeGgKNravKJvTMR4Qqa2MVD11AwlGMufeE=", + "lastModified": 1765363881, + "narHash": "sha256-3C3xWn8/2Zzr7sxVBmpc1H1QfxjNfta5IMFe3O9ZEPw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c8aa8cc00a5cb57fada0851a038d35c08a36a2bb", + "rev": "d2b1213bf5ec5e62d96b003ab4b5cbc42abfc0d0", "type": "github" }, "original": { @@ -89,6 +89,22 @@ "type": "github" } }, + "oldstable": { + "locked": { + "lastModified": 1765363881, + "narHash": "sha256-3C3xWn8/2Zzr7sxVBmpc1H1QfxjNfta5IMFe3O9ZEPw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d2b1213bf5ec5e62d96b003ab4b5cbc42abfc0d0", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, "personal": { "inputs": { "nixpkgs": "nixpkgs_2" @@ -111,6 +127,7 @@ "inputs": { "emacs": "emacs", "home-manager": "home-manager", + "oldstable": "oldstable", "personal": "personal", "stable": "stable", "unstable": "unstable" @@ -118,27 +135,27 @@ }, "stable": { "locked": { - "lastModified": 1761173472, - "narHash": "sha256-m9W0dYXflzeGgKNravKJvTMR4Qqa2MVD11AwlGMufeE=", + "lastModified": 1765311797, + "narHash": "sha256-mSD5Ob7a+T2RNjvPvOA1dkJHGVrNVl8ZOrAwBjKBDQo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c8aa8cc00a5cb57fada0851a038d35c08a36a2bb", + "rev": "09eb77e94fa25202af8f3e81ddc7353d9970ac1b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-25.05", + "ref": "nixos-25.11", "repo": "nixpkgs", "type": "github" } }, "unstable": { "locked": { - "lastModified": 1761349956, - "narHash": "sha256-tH3wHnOJms+U4k/rK2Nn1RfBrhffX92jLP/2VndSn0w=", + "lastModified": 1765270179, + "narHash": "sha256-g2a4MhRKu4ymR4xwo+I+auTknXt/+j37Lnf0Mvfl1rE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "02f2cb8e0feb4596d20cc52fda73ccee960e3538", + "rev": "677fbe97984e7af3175b6c121f3c39ee5c8d62c9", "type": "github" }, "original": { @@ -2,18 +2,19 @@ description = "Computing environment of Adrian Kummerlaender"; inputs = { - stable.url = github:NixOS/nixpkgs/nixos-25.05; + stable.url = github:NixOS/nixpkgs/nixos-25.11; unstable.url = github:NixOS/nixpkgs/nixpkgs-unstable; + oldstable.url = github:NixOS/nixpkgs/nixos-25.05; personal.url = github:KnairdA/pkgs; home-manager = { - url = github:nix-community/home-manager/release-25.05; + url = github:nix-community/home-manager/release-25.11; inputs = { nixpkgs.follows = "stable"; }; }; emacs.url = github:nix-community/emacs-overlay/master; }; outputs = { - self, stable, unstable, personal, emacs, home-manager, ... + self, stable, unstable, oldstable, personal, emacs, home-manager, ... }: let system = "x86_64-linux"; @@ -28,6 +29,11 @@ config = { allowUnfree = true; }; }; + pkgs-oldstable = import oldstable { + inherit system; + config = { allowUnfree = true; }; + }; + pkgs-personal = personal; config = hostname: home-manager.lib.homeManagerConfiguration { @@ -35,6 +41,7 @@ extraSpecialArgs = { inherit pkgs-unstable; + inherit pkgs-oldstable; inherit pkgs-personal; inherit hostname; }; diff --git a/gui/apps/dev.nix b/gui/apps/dev.nix index 5202d3c..55cc56d 100644 --- a/gui/apps/dev.nix +++ b/gui/apps/dev.nix @@ -1,4 +1,4 @@ -{ pkgs, pkgs-unstable, ... }: +{ pkgs, pkgs-unstable, pkgs-oldstable, ... }: { home = { @@ -9,8 +9,9 @@ meld # Visualization and CAD - paraview - pkgs-unstable.blender + pkgs-oldstable.paraview + + blender freecad meshlab diff --git a/gui/apps/web.nix b/gui/apps/web.nix index 3fcb931..53f244b 100644 --- a/gui/apps/web.nix +++ b/gui/apps/web.nix @@ -3,7 +3,7 @@ { home = { packages = [ - pkgs.tdesktop + pkgs.telegram-desktop pkgs.tigervnc pkgs.remmina pkgs.zotero diff --git a/gui/conf/init.el b/gui/conf/init.el index af4bd71..b543c6b 100644 --- a/gui/conf/init.el +++ b/gui/conf/init.el @@ -492,6 +492,9 @@ :init (projectile-mode)) +(use-package ag + :ensure t) + (use-package helm-ag :ensure t) @@ -603,6 +606,9 @@ ad-do-it (message "org-tangle took %f sec" (float-time (time-subtract (current-time) time))))) +(use-package gptel + :ensure t) + (let ((mu4e-config "~/.emacs.d/email.el")) (when (file-exists-p mu4e-config) (load-file mu4e-config))) @@ -614,4 +620,21 @@ (use-package envrc :ensure t) +(use-package gptel + :ensure t + :config + (defun read-file-contents (file-path) + "Read the contents of FILE-PATH and return it as a string." + (with-temp-buffer + (insert-file-contents file-path) + (buffer-string))) + (defun gptel-api-key () + (read-file-contents "~/.kit-ai-api")) + (setq gptel-backend (gptel-make-openai "KIT-Toolbox" + :host "ki-toolbox.scc.kit.edu" + :endpoint "/api/v1/chat/completions" + :stream t + :key #'gptel-api-key + :models '("azure.gpt-5")))) + (envrc-global-mode) diff --git a/gui/conf/metakr.org b/gui/conf/metakr.org index 29643cf..16c9717 100644 --- a/gui/conf/metakr.org +++ b/gui/conf/metakr.org @@ -83,8 +83,8 @@ For quick iteration all colors are stored in a table. | org-tag | #E4E093 | | org-block-line | #161616 | | org-block-bg | #080808 | -| org-agenda-structure-fg | #aaaaaa | -| org-agenda-structure-bg | #080808 | +| org-agenda-structure-fg | #000000 | +| org-agenda-structure-bg | #F2F2F2 | | org-agenda-today-fg | #dddddd | | org-agenda-today-bg | #000000 | | org-special-keyword | #777777 | @@ -335,9 +335,11 @@ For quick iteration all colors are stored in a table. :weight normal) (org-agenda-structure :foreground @org-agenda-structure-fg - :background @bg - :box (:line-width 3 :color @bg) - :underline @org-agenda-structure-bg) + :background @org-agenda-structure-bg) + ;(org-agenda-structural-header + ; :inherit fixed-pitch + ; :weight bold + ; :foreground @org-todo) (org-scheduled :foreground @org-scheduled) (org-scheduled-today diff --git a/gui/conf/niri.kdl b/gui/conf/niri.kdl index f795bcb..3741a60 100644 --- a/gui/conf/niri.kdl +++ b/gui/conf/niri.kdl @@ -13,6 +13,11 @@ output "eDP-1" { scale 1 } +output "HDMI-1" { + mode "1920x1080" + scale 1 +} + input { keyboard { xkb { diff --git a/gui/emacs.nix b/gui/emacs.nix index 8d3e123..d197bce 100644 --- a/gui/emacs.nix +++ b/gui/emacs.nix @@ -31,6 +31,7 @@ (add-to-list 'exec-path "${pkgs.universal-ctags}/bin") (add-to-list 'exec-path "${pkgs.global}/bin") (add-to-list 'exec-path "${pkgs.pandoc}/bin") + (add-to-list 'exec-path "${pkgs.silver-searcher}/bin") ''; }; @@ -43,28 +44,55 @@ cp ${custom-runtime-env-el} $out/share/emacs/site-lisp/custom-runtime-env.el ''; }; + in { enable = true; package = pkgs.emacsWithPackagesFromUsePackage { - override = final: prev: { - org = prev.org.overrideAttrs(old: { patches = []; } ); - }; - package = pkgs.emacs-unstable-pgtk; config = ./conf/init.el; alwaysEnsure = false; - extraEmacsPackages = epkgs: (with epkgs.melpaPackages; [ + override = final: prev: prev // { + org = prev.org.overrideAttrs(old: { patches = []; } ); + + helm-ag = prev.trivialBuild { + pname = "helm-ag"; + version = "0.64"; + src = pkgs.fetchFromGitHub { + owner = "emacsattic"; + repo = "helm-ag"; + rev = "a7b43d9622ea5dcff3e3e0bb0b7dcc342b272171"; + hash = "sha256-bIuZPMsY0iwkUFOfB6rGno0WvlPtbqqgujwhUb6nTLw="; + }; + buildInputs = [ prev.melpaPackages.helm ]; + }; + + helm-swoop = prev.trivialBuild { + pname = "helm-swoop"; + version = "1.7.4"; + src = pkgs.fetchFromGitHub { + owner = "emacsattic"; + repo = "helm-swoop"; + rev = "df90efd4476dec61186d80cace69276a95b834d2"; + hash = "sha256-T93IoHTRkBrX9J//WPbS3zEEjKFqNzBsYrHaKM5U2QY="; + }; + buildInputs = [ prev.melpaPackages.helm ]; + }; + }; + + extraEmacsPackages = epkgs: + (with epkgs.melpaPackages; [ pdf-tools mu4e-alert ]) ++ (with epkgs.elpaPackages; [ auctex ]) ++ (with epkgs.nongnuPackages; [ org-contrib + ]) ++ (with epkgs; [ + mu4e ])++ [ - epkgs.mu4e akr-color-theme custom-runtime-env ]; diff --git a/gui/pass.nix b/gui/pass.nix index b400292..00e66df 100644 --- a/gui/pass.nix +++ b/gui/pass.nix @@ -8,7 +8,7 @@ let text = '' #!/usr/bin/env bash - ${pkgs.rofi-wayland}/bin/rofi -dmenu -p "pass" "$@" + ${pkgs.rofi}/bin/rofi -dmenu -p "pass" "$@" ''; }; diff --git a/gui/rofi.nix b/gui/rofi.nix index 6df45ff..8155f1d 100644 --- a/gui/rofi.nix +++ b/gui/rofi.nix @@ -3,7 +3,7 @@ { programs.rofi = { enable = true; - package = pkgs.rofi-wayland; + package = pkgs.rofi; location = "top"; font = "Iosevka 12"; @@ -29,14 +29,15 @@ programs.git = { enable = true; - package = pkgs.gitAndTools.gitFull; + package = pkgs.gitFull; lfs.enable = true; - difftastic.enable = true; - userName = "Adrian Kummerlaender"; - userEmail = "adrian@kummerlaender.eu"; + settings.user = { + name = "Adrian Kummerlaender"; + email = "adrian@kummerlaender.eu"; + }; - extraConfig = { + settings = { core.editor = "vim"; merge.tool = "${pkgs.meld}/bin/meld"; pull.ff = "only"; @@ -45,6 +46,8 @@ }; }; + programs.difftastic.enable = true; + programs.ssh = { enable = true; matchBlocks = { |
